[vlc-devel] [PATCH 1/2] es_out: ask for decoder drain on es_out_Del
Steve Lhomme
robux4 at gmail.com
Fri Jul 28 17:40:16 CEST 2017
On Fri, Jul 28, 2017 at 5:06 PM, Francois Cartegnie <fcvlcdev at free.fr> wrote:
> because when the es deletion is triggered by
> demuxer and not on EOF, it enters a dead loop
> waiting for input_DecoderIsEmpty (p_owner->drained).
> non set p_owner->draining can't trigger p_owner->drained.
Doesn't that mean the remaining data for that ES that are not yet
decoder/rendered will be lost ? That doesn't seem right for gapless
playback.
> ---
> src/input/es_out.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/input/es_out.c b/src/input/es_out.c
> index 6a2e1cd..1e191d8 100644
> --- a/src/input/es_out.c
> +++ b/src/input/es_out.c
> @@ -2114,6 +2114,7 @@ static void EsOutDel( es_out_t *out, es_out_id_t *es )
> { /* FIXME: This might hold the ES output caller (i.e. the demux), and
> * the corresponding thread (typically the input thread), for a little
> * bit too long if the ES is deleted in the middle of a stream. */
> + input_DecoderDrain( es->p_dec );
> while( !input_Stopped(p_sys->p_input) && !p_sys->b_buffering )
> {
> if( input_DecoderIsEmpty( es->p_dec ) &&
> --
> 2.9.4
>
> _______________________________________________
> 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