[MPlayer-dev-eng] [mplayerosx-devel] [PATCH] vo_macosx: use mmap instead of shmat for MPlayerOSX

Nicolas Plourde nicolas.plourde at gmail.com
Thu Oct 23 03:43:12 CEST 2008


On 12-Oct-08, at 5:32 PM, Adrian Stutz wrote:

> 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
> < 
> vo_macosx_shm 
> .patch 
> ><mplayerosx_shm.patch>_______________________________________________
> mplayerosx-devel mailing list
> mplayerosx-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayerosx-devel

look good on 10.5 x86, I will apply in mplayerosx branch when its  
commited to mplayer.

thanks



More information about the MPlayer-dev-eng mailing list