[FFmpeg-devel] Mac/OSX question about clang + avfoundation + indev support

David Favor david at davidfavor.com
Fri Aug 1 17:21:17 CEST 2014


Summary: No clang or gcc invocation incantation seems to produce
avfoundation indev support.

Need someone smarter than me to suggest how I can debug this, to
produce a Portfile fix for MacPorts.

Thanks.
_______

Yesterday I fired up ffmpeg to capture a MacBook Pro iSight Webcam stream.

Sounds easy... Ugh... Not so...

Here's the problem... (All examples using latest git pull.)

David-Favor-iMac# git describe
n2.0-10562-g229a1e8

First... let's see if configure knows enough to ferret out avfoundation...

David-Favor-iMac# ./configure --list-indevs
alsa			iec61883		pulse
avfoundation		jack			qtkit
bktr			lavfi			sndio
dshow			libcdio			v4l2
dv1394			libdc1394		vfwcap
fbdev			openal			x11grab
gdigrab			oss

Great... configure discovers both avfoundation + old deprecated qtkit...
So far so good...

When configure runs... still looks good...

     Enabled indevs:
     avfoundation            lavfi                   qtkit

And compilation passes...

     ...
     CC      libavdevice/avfoundation.o
     CC      libavdevice/lavfi.o
     CC      libavdevice/qtkit.o
     ...

Adding or leaving out specific indev enabling has no effect on final executable...

    --enable-indev=qtkit --enable-indev=avfoundation

The only effect is if clang is used, qtkit indev available + if gcc-4.8.2 used,
then qtkit indev is missing.

Neither clang or gcc-4.8.2 produces avfoundation indev.

Compile system is latest OSX + XCode + MacPorts.

David-Favor-iMac> xcodebuild -version
Xcode 5.1.1
Build version 5B1008

David-Favor-iMac> clang --version
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-apple-darwin13.3.0
Thread model: posix

David-Favor-iMac> gcc --version
gcc (MacPorts gcc48 4.8.2_2) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
_______

David-Favor-iMac# ffmpeg -devices
ffmpeg version 2.3.1-2014-08-01-65165-g229a1e8 Copyright (c) 2000-2014 the FFmpeg developers
   built on Aug  1 2014 10:13:00 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
   configuration: --cc=/usr/bin/clang --prefix=/david-favor-tools/osx-10.9 --mandir=/david-favor-tools/osx-10.9/share/man --enable-gpl --enable-yasm --arch=x86_64 --enable-version3 --enable-pthreads 
--enable-shared --disable-static --disable-debug --extra-cflags='-I/david-favor-tools/osx-10.9/include -I/opt/local/include -I/usr/local/include -I/usr/include' 
--extra-ldflags='-Wl,-rpath,/david-favor-tools/osx-10.9/lib -Wl,-rpath,/opt/local/lib -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/lib -L/david-favor-tools/osx-10.9/lib -L/opt/local/lib -L/usr/local/lib 
-L/usr/lib' --enable-ffplay --enable-ffprobe --enable-ffserver --enable-indev=qtkit --enable-indev=avfoundation --enable-runtime-cpudetect --enable-nonfree --enable-zlib --enable-bzlib 
--enable-openssl --enable-gnutls --enable-swscale --enable-avfilter --enable-avresample --enable-postproc --enable-vda --enable-libfribidi --enable-libmp3lame --enable-libfaac --enable-libfdk_aac 
--enable-libvpx --enable-libtheora --enable-libvorbis --enable-libxvid --enable-libopus --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libbluray --enable-libx264 
--enable-libx265 --enable-postproc --enable-frei0r --enable-libopencore-amrnb --enable-fontconfig --enable-libfreetype --enable-libmodplug --enable-libass
   libavutil      52. 94.100 / 52. 94.100
   libavcodec     55. 71.100 / 55. 71.100
   libavformat    55. 50.100 / 55. 50.100
   libavdevice    55. 13.102 / 55. 13.102
   libavfilter     4. 11.102 /  4. 11.102
   libavresample   1.  3.  0 /  1.  3.  0
   libswscale      2.  6.100 /  2.  6.100
   libswresample   0. 19.100 /  0. 19.100
   libpostproc    52.  3.100 / 52.  3.100
Devices:
  D. = Demuxing supported
  .E = Muxing supported
  --
  D  lavfi           Libavfilter virtual input device
  D  qtkit           QTKit input device
   E sdl             SDL output device
   E xv              XV (XVideo) output device


More information about the ffmpeg-devel mailing list