[vlc-devel] [PATCH] decoder: empty the input fifo on delete

Thomas Guillem thomas at gllm.fr
Thu Sep 3 10:15:12 CEST 2015



On Thu, Sep 3, 2015, at 09:03, Rémi Denis-Courmont wrote:
> Le 2015-09-03 09:53, Thomas Guillem a écrit :
> >> > If DecodeFlush don't wait for flushed state, we can solve this 
> >> issue
> >> > either by calling DecoderFlush from input_DecoderDelete or by 
> >> calling
> >> > input_DecoderFlush from ES out when deleting the decoder, right ?
> >>
> >> I think so.
> >
> > Then, a FLUSH packet will be sent to decoders just before closing. Do 
> > we
> > want that ?
> > (For the async MediaCodec, I flush from close because it's the only 
> > way
> > to unblock the output thread but not all decoders want to flush from
> > close.)
> 
> All decoders should flush on close. You can no longer output anything 
> by that point. If the decoder owner wanted to drain cleanly, it would 
> have called decode(NULL) prior to close.
> 
> Still, performance at exit does not seem like the top priority item. If 
> it were me, I would solve more important issues before adding more code 
> for minor ones. If you really want to solve this now, adding a 
> vlc_testcancel() call in the outer most decoder thread loop is the 
> easiest.

OK I'll try that, this fix is important for android.
Currently, we have a bigger file/network cache for MediaCodec (that will
be removed with the async decoder). Therefore there is still a lot of
input to process when we close MediaCodec. 

> 
> -- 
> 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