[vlc-devel] [PATCH] decoder: don't set first picture if decoder is flushing
Thomas Guillem
thomas at gllm.fr
Fri Jun 5 11:33:09 CEST 2015
On Fri, Jun 5, 2015, at 10:04, Rémi Denis-Courmont wrote:
> Le 2015-06-04 17:29, Thomas Guillem a écrit :
> > This can happen when seeking via http.
>
> > ---
> > src/input/decoder.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/input/decoder.c b/src/input/decoder.c
> > index 3fb695f..0b86578 100644
> > --- a/src/input/decoder.c
> > +++ b/src/input/decoder.c
> > @@ -880,7 +880,7 @@ static void DecoderPlayVideo( decoder_t *p_dec,
> > picture_t *p_picture,
> >
> > bool b_reject = DecoderWaitUnblock( p_dec );
> >
> > - if( p_owner->b_waiting )
> > + if( !b_reject && p_owner->b_waiting )
>
> It would seem reasonable, but I fear this might introduce deadlocks.
> Did you check the history of that code path?
Yes, it may had been introduced by the commit
d02721a5a8a6653d6c53e2c2be024c495dc265f0
the following test was removed:
if( p_owner->b_buffering && !p_owner->buffer.b_first )
{
vlc_mutex_unlock( &p_owner->lock );
return;
}
(p_owner->b_buffering was moved to p_owner->b_waiting,
p_owner->buffer.b_first was moved to p_owner->b_waiting)
>
> > {
> > assert( p_owner->b_first );
> > msg_Dbg( p_dec, "Received first picture" );
>
> --
> Rémi Denis-Courmont
> http://www.remlab.net/
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list