[MPlayer-users] Crashes when menu is activated with xvmc output
Ivan Kalvachev
ikalvachev at gmail.com
Wed Jun 4 01:40:55 CEST 2008
On 6/3/08, Laurent Peltier <moviebox at free.fr> wrote:
> Ivan Kalvachev a e'crit :
>> On 4/28/08, Ulion <ulion2002 at gmail.com> wrote:
>>
>>> 2008/4/28, Laurent Peltier <moviebox at free.fr>:
>>>
>>>> > Hi all,
>>>> Hi again,
>>>>
>>>>
>>>> > Sorry, but gdb is buggy with glibc compilation under GeeXboX,
>>>> > I hope that will be enough for you.
>>>> >
>>>>
>>>> It's corrected.
>>>>
>>>> Gdb information:
>>>>
>>>> http://moviebox.free.fr/geexbox/bug/gdb-mplayer.txt
>>>>
>>>>
>>>> Thank you in advance for your answers.
>>>>
>>> Try following patch, it just let libmenu do passthrough when outfmt is
>>> xvmc, I guess it can stop the crash, but it can not let the menu get
>>> showed when you are using xvmc output.
>>> You should keep one copy of your current mplayer to compare with the
>>> patched one to see whether sometimes the old copy can show menu while
>>> the patched one can not, then report here, I will try to fix it.
>>> I'm not familar with video filter framework of mplayer, so If anyone
>>> can write a patch or supply advice to let libmenu support xvmc output
>>> without crash, it's wellcome.
>>>
>>>
>>> Index: libmenu/vf_menu.c
>>> ===================================================================
>>> --- libmenu/vf_menu.c (revision 26555)
>>> +++ libmenu/vf_menu.c (working copy)
>>> @@ -209,7 +209,7 @@
>>> load_font_ft(width,height,&vo_font,font_name,osd_font_scale_factor);
>>> }
>>> #endif
>>> - if(outfmt == IMGFMT_MPEGPES)
>>> + if(outfmt == IMGFMT_MPEGPES || IMGFMT_IS_XVMC(outfmt))
>>> vf->priv->passthrough = 1;
>>> return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
>>> }
>>>
>>
>> Ulion
>>
>> Would you commit this patch?
>> _______________________________________________
>> MPlayer-users mailing list
>> MPlayer-users at mplayerhq.hu
>> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users
>>
>>
>>
> The problem is always present, why to commit, it is used for nothing !
It is not full solution but it is part of the solution.
XvMC is very similar to mpeg-pes in that it passed structures instead of images.
When vf_menu detects -pes it turns off mangling with put_image(), but
it still clobbers get_image() - probably because it is not used by
mpeg-pes.
The solution is simple you have to passthrough the get_image() too.
BTW, the "crash" I see in the first log are actually assertion failure.
It is there to kick developers to fix their code.
More information about the MPlayer-users
mailing list