Ticket #43 (reopened enhancement)

Opened 2 years ago

Last modified 8 months ago

JACK input device doesn't link on OS X

Reported by: nieder Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: jack osx roundup
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

This is copied from the old roundup #976
 https://roundup.libav.org/issue976

On OS X, using --enable-indev=jack, the build fails with

CC	libavdevice/jack_audio.o
/src/ffmpeg/libavdevice/jack_audio.c: In function 'audio_read_packet':
/src/ffmpeg/libavdevice/jack_audio.c:277: warning: implicit declaration of function 'sem_timedwait'
AR	libavdevice/libavdevice.a
LD	libavdevice/libavdevice.52.dylib
Undefined symbols:
  "_sem_timedwait", referenced from:
      _audio_read_packet in jack_audio.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libavdevice/libavdevice.52.dylib] Error 1

sem_* is semaphore_* on OS X.

Attachments

ffmpeg-jack-osx.patch Download (3.5 KB) - added by nieder 2 years ago.
provides semaphore_* when HAVE_MACH_SEMAPHORE_H is set

Change History

Changed 2 years ago by nieder

provides semaphore_* when HAVE_MACH_SEMAPHORE_H is set

comment:1 Changed 2 years ago by cbsrobot

this patch fixes the issue on osx 10.6.6

comment:2 Changed 2 years ago by michael

  • Status changed from new to closed
  • Resolution set to fixed

Fixed by disabling jack when sem_timedwait() is unavailable.
About the patch, i think thread synchronization functions should be used that are available on a wider range of platforms, not tons of #ifdefs to make it work on osx & linux and then still fail on openbsd which the patch would sadly.

comment:3 Changed 2 years ago by michael

  • Status changed from closed to reopened
  • Type changed from defect to enhancement
  • Component changed from undetermined to avformat
  • Priority changed from normal to wish
  • Version changed from git to git-master
  • Resolution fixed deleted

Rethinking this should be a enhancement request of course, as our jack code should use wider available therad sync functions.

comment:4 Changed 19 months ago by cehoyos

  • Keywords jack osx added

comment:5 Changed 8 months ago by cehoyos

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