[vlc-devel] [PATCH] input: process start time seek before demux loop (fix #9063)

Rémi Denis-Courmont remi at remlab.net
Thu Oct 19 11:41:25 CEST 2017


Le 19 octobre 2017 11:40:13 GMT+03:00, Francois Cartegnie <fcvlcdev at free.fr> a écrit :
>as controls are processed after first demux call, data is always
>going to es_out / decoders / sout even if it's not wanted.
>---
> src/input/input.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
>diff --git a/src/input/input.c b/src/input/input.c
>index 1b22a6281e..505a17811f 100644
>--- a/src/input/input.c
>+++ b/src/input/input.c
>@@ -696,6 +696,15 @@ static void MainLoop( input_thread_t *p_input,
>bool b_interactive )
>     demux_t *p_demux = input_priv(p_input)->master->p_demux;
>     const bool b_can_demux = p_demux->pf_demux != NULL;
> 
>+    /* Process start seek offset */
>+    if( input_priv(p_input)->i_start > 0 &&
>!input_priv(p_input)->master->b_eof )
>+    {
>+        vlc_value_t val;
>+        val.i_int = input_priv(p_input)->i_start;
>+        Control( p_input, INPUT_CONTROL_SET_TIME, val );
>+        /* TODO don't skip if time < es_out buffering */
>+    }
>+
>while( !input_Stopped( p_input ) && input_priv(p_input)->i_state !=
>ERROR_S )
>     {
>         mtime_t i_wakeup = -1;
>@@ -946,13 +955,8 @@ static void StartTitle( input_thread_t * p_input )
> 
>     if( priv->i_start > 0 )
>     {
>-        vlc_value_t s;
>-
>         msg_Dbg( p_input, "starting at time: %"PRId64"s",
>                  priv->i_start / CLOCK_FREQ );
>-
>-        s.i_int = priv->i_start;
>-        input_ControlPush( p_input, INPUT_CONTROL_SET_TIME, &s );
>     }
>     if( priv->i_stop > 0 && priv->i_stop <= priv->i_start )
>     {
>-- 
>2.13.6
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel

We can also move all controls before demux. But that cannot fix the bug, since demuxers can run asynchronously.
-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.


More information about the vlc-devel mailing list