<html><head></head><body><div class="gmail_quote">Le 29 juin 2017 15:06:40 GMT+03:00, Jean-Baptiste Kempf <jb@videolan.org> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Not against, but that could would love to have some comment...<br /><br />On Wed, 28 Jun 2017, at 19:06, Francois Cartegnie wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> When the demuxer does not reach EOS, the decoders<br /> are not drained and GET_EMPTY can't succeed for<br /> audio as it is in idle/fifo wait state.<br /> Note: The caller knows the fifo won't receive any<br /> further data until GET_EMPTY succeeds.<br /> <br /> refs #18463<br /> ---<br />  src/input/decoder.c | 9 +++++++++<br />  1 file changed, 9 insertions(+)<br /> <br /> diff --git a/src/input/decoder.c b/src/input/decoder.c<br /> index 0a96c04..73c7a29 100644<br /> --- a/src/input/decoder.c<br /> +++ b/src/input/decoder.c<br /> @@ -2092,7 +2092,16 @@ bool input_DecoderIsEmpty( decoder_t * p_dec )<br />      if( p_owner->fmt.i_cat == VIDEO_ES && p_owner->p_vout != NULL )<br />          b_empty = vout_IsEmpty( p_owner->p_vout );<br />      else if( p_owner->fmt.i_cat == AUDIO_ES )<br /> +    {<br />          b_empty = atomic_load( &p_owner->drained );<br /> +        if( !b_empty )<br /> +        {<br /> +            vlc_fifo_Lock( p_owner->p_fifo );<br /> +            if( !p_owner->b_draining )<br /> +                b_empty |= vlc_fifo_IsEmpty( p_owner->p_fifo );<br /> +            vlc_fifo_Unlock( p_owner->p_fifo );<br /> +        }<br /> +    }<br />      else<br />          b_empty = true; /* TODO subtitles support */<br />      vlc_mutex_unlock( &p_owner->lock );<br /> -- <br /> 2.9.4<br /> <br /><hr /><br /> vlc-devel mailing list<br /> To unsubscribe or modify your subscription options:<br /> <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br /></blockquote><br /></pre></blockquote></div><br clear="all">It is entirely possible that the FIFO is empty while audio is playing. In fact, this is very likely as audio outputs tend to have large playout buffers, such that the decoder FIFO is most often empty.<br>
<br>
So this looks totally wrong.<br>
-- <br>
Rémi Denis-Courmont<br>
Typed on an inconvenient virtual keyboard</body></html>