Ticket #314 (new enhancement)

Opened 2 years ago

Last modified 20 months ago

OpenAL device does not work on OS X

Reported by: nieder Owned by:
Priority: normal Component: avdevice
Version: git-master Keywords: openal osx
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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

Change History

comment:1 Changed 20 months ago by cehoyos

  • Keywords openal osx added
Note: See TracTickets for help on using tickets.