[vlc-devel] Current master doesn't compile on an intel Mac

Juho Vähä-Herttua juhovh at iki.fi
Thu May 6 11:49:51 CEST 2010


On 6.5.2010, at 11.00, Mick Weiss wrote:
> On 06.05.10 03:53, Juho Vähä-Herttua wrote:
>> 
>> To answer the first question, I'm using Lunettes as an interface with master and it somewhat works.
>> 
>> About the crash, I can confirm that if I play a video with current master it crashes. Audio files play just fine, that's why I didn't notice it immediately. It must be broken quite recently, because it still worked fine with all that vout refactoring thing. Should check it out...
> 
> I can confirm that audio does indeed work (from the commandline).

I should've remembered the discussion on IRC yesterday, but I seem to have problems with basic maths. (counting 1+1=2) It's the ffmpeg-mt patch that crashes on Mac, because it uses vlc_sem_init and sem_init is not implemented on Mac.

The reason for this as far as I know is that Mac OS X uses a Mach microkernel as its main kernel, but POSIX compatibility is done by using a modified FreeBSD module running on top of Mach. Basic functionality like semaphores are forwarded to the Mach kernel however, and since doesn't support unnamed semaphores they are not implemented.

Does anyone have opinions how to continue from this? The semaphores are not used in many places, one solution would be to simply not allow use of vlc_sem_init and use vlc_sem_open instead. Downside is that with named semaphores sem_unlink should be called as well, needs a bit more management. I could work on a patch too if someone would point a direction, I'd like to get avcodec working again however. :)


Juho




More information about the vlc-devel mailing list