[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