[FFmpeg-trac] #314(avdevice:new): OpenAL device does not work on OS X
FFmpeg
trac at avcodec.org
Mon Jun 27 17:22:47 CEST 2011
#314: OpenAL device does not work on OS X
----------------------+--------------------------
Reporter: nieder | Type: enhancement
Status: new | Priority: normal
Component: avdevice | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced: 0
Analyzed: 0 |
----------------------+--------------------------
configure is not set to find openal on OS X.
The fix for the linker check is easy: add "-Wl,-framework,OpenAL" to the
list of flags to check
{{{
-enabled openal && { { for al_libs in "${OPENAL_LIBS}" "-lopenal"
"-lOpenAL32"; do
+enabled openal && { { for al_libs in "${OPENAL_LIBS}" "-lopenal"
"-lOpenAL32" "-Wl,-framework,OpenAL"; do
}}}
I don't know how to fix the header check to look for multiple
possibilities, but on OS X the header in the OpenAL framework is found in
OpenAL/al.h (not AL/al.h like in linux). If I change the header check in
configure and the includes in libavdevice/openal-dec.c, the build and
linkage works well.
However, running 'ffmpeg -f openal' as suggested in the manual fails with
an malloc error, so this might just not be doable on OS X.
{{{
nieder $ /usr/local/ffmpeg-git/bin/ffmpeg -list_devices true -f openal -i
dummy out.ogg
ffmpeg version N-31036-g65eae2a, Copyright (c) 2000-2011 the FFmpeg
developers
built on Jun 27 2011 10:29:19 with gcc 4.0.1 (Apple Inc. build 5493)
configuration: --prefix=/usr/local/ffmpeg-git --mandir=/usr/local
/ffmpeg-git/share/man --disable-static --enable-shared --enable-gpl
--enable-version3 --enable-postproc --enable-pthreads --enable-x11grab
--enable-bzlib --enable-libcelt --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libdirac --enable-libfreetype --enable-
libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxvid --enable-openal --enable-zlib --disable-
debug --extra-cflags='-I/sw/lib/libspeex1/include -I/sw/include
-I/usr/X11R6/include' --extra-ldflags='-L/sw/lib/libspeex1/lib -L/sw/lib
-L/usr/X11R6/lib'
libavutil 51. 10. 0 / 51. 10. 0
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 24. 0 / 2. 24. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
[openal @ 0x200a800] List of OpenAL capture devices on this system:
[openal @ 0x200a800] Built-in Microphone
dummy: Immediate exit requested
nieder $ /usr/local/ffmpeg-git/bin/ffmpeg -f openal -i 'Built-in
Microphone' out.ogg
ffmpeg version N-31036-g65eae2a, Copyright (c) 2000-2011 the FFmpeg
developers
built on Jun 27 2011 10:29:19 with gcc 4.0.1 (Apple Inc. build 5493)
configuration: --prefix=/usr/local/ffmpeg-git --mandir=/usr/local
/ffmpeg-git/share/man --disable-static --enable-shared --enable-gpl
--enable-version3 --enable-postproc --enable-pthreads --enable-x11grab
--enable-bzlib --enable-libcelt --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libdirac --enable-libfreetype --enable-
libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
--enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxvid --enable-openal --enable-zlib --disable-
debug --extra-cflags='-I/sw/lib/libspeex1/include -I/sw/include
-I/usr/X11R6/include' --extra-ldflags='-L/sw/lib/libspeex1/lib -L/sw/lib
-L/usr/X11R6/lib'
libavutil 51. 10. 0 / 51. 10. 0
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 24. 0 / 2. 24. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
mpeg(49840,0xa025b720) malloc: *** error for object 0x1e2c0e0: incorrect
checksum for freed object - object was probably modified after being
freed.
*** set a breakpoint in malloc_error_break to debug
mpeg(49840,0xa025b720) malloc: *** error for object 0x1e2c0e0: incorrect
checksum for freed object - object was probably modified after being
freed.
*** set a breakpoint in malloc_error_break to debug
[openal @ 0x200a800] Error: ALC Invalid Device
Bus error
}}}
--
Ticket URL: <http://ffmpeg.org/trac/ffmpeg/ticket/314>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list