[vlc-devel] Core input code race condition

xxcv xxcv07 at gmail.com
Fri Mar 6 02:55:43 CET 2009

Rémi Denis-Courmont wrote:
> Le mercredi 4 mars 2009 09:14:25 xxcv, vous avez écrit :
>> #0  0x6a55bee6 in decoder_SynchroNewPicture (p_synchro=0x0,
>> i_coding_type=2,
>>     i_repeat_field=2, next_pts=877466, next_dts=777366, b_low_delay=false)
>>     at input/decoder_synchro.c:404
>> #1  0x66741b77 in DecodeBlock (p_dec=0x1f350968, pp_block=0x13f0fe54)
>>     at libmpeg2.c:420
>> #2  0x6a55a760 in DecoderDecodeVideo (p_dec=0x1f350968,
>>     p_block=<incomplete type>) at input/decoder.c:1350
>> #3  0x6a559de2 in DecoderProcess (p_dec=0x1f350968, p_block=<incomplete
>> type>)
>>     at input/decoder.c:1818
>> #4  0x6a55a1b7 in DecoderThread (p_this=0x1f350968) at input/decoder.c:884
>> #5  0x6a58aa2f in thread_entry (data=0x19cdae18) at misc/threads.c:960
>> #6  0x6a58a717 in vlc_entry (data=0x1f2dd160) at misc/threads.c:647
> Hmm. This is simply the mpeg2 decoder passing an invalid NULL pointer to the 
> picture synchro helper. As there are no thread-safety considerations here, I 
> would simply assume that you managed to fail the MPEG2 decoder state machine 
> with some invalid input.

This one is rather easy to re-produce on win32, simply drag and drop two 
resolution MPEG files (must be different resolution to trigger this race 

(Press and hold "N")

It happens within seconds during vout resets with changing input.

With it been p_synchro=0x0 there's probably something gone terribly 
wrong in libvlccore.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090306/02feed6f/attachment.html>

More information about the vlc-devel mailing list