[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