MPlayerOSX and vo_macosx use shmget and shmat for the internal video output to get the video image to the GUI process. OSX globally limits the shared memory to 4MB and if other applications already use shared memory mplayer fails to initialize vo_macosx. Steps to reproduce: Either make an application use up most of the shared memory or lower the limit using: > sudo sysctl -w kern.sysv.shmall=1 (reset back to default with "sudo sysctl -w kern.sysv.shmall=1024") Then try to play a video with MPlayerOSX with the internal video output. Audio starts to play but there's no video. In the console following message gets repeated: > vo_mplayer shmget: : Cannot allocate memory > FATAL: Cannot initialize video driver. Solution (see attached patches): Use shm_open and mmap instead of shmget and shmat. This seems to be recommended by Apple over shmat and works even with the low limit set above. I'm not versed in this an made the patch mostly based on the example here: http://www.opengroup.org/onlinepubs/007908799/xsh/shm_open.html I've tested it on Leopard and will try to test it on Tiger next week. The idea of this patch comes from the bug report by Camillo Lists: http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1295
Attachment:
vo_macosx_shm.patch
Description: Binary data
Attachment:
mplayerosx_shm.patch
Description: Binary data
_______________________________________________ MPlayer-dev-eng mailing list MPlayer-dev-eng@xxxxxxxxxxxx https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng