[vlc-devel] [PATCH] Revert "input: use VLC_TICK_INVALID for time/length"
Thomas Guillem
thomas at gllm.fr
Mon Dec 14 12:01:58 CET 2020
On Mon, Dec 14, 2020, at 11:46, Francois Cartegnie wrote:
> microseconds duration != microseconds timestamps + offset
Ok for length, but time is a timestamp no ?
>
> Unknown duration is always 0. Empty duration is straight EOF.
>
> This reverts commit d34852727700e98ef5533bfdaead574ec1700f2a.
> ---
> src/input/es_out.c | 11 ++++-------
> src/input/input.c | 14 +++++++-------
> 2 files changed, 11 insertions(+), 14 deletions(-)
>
> diff --git a/src/input/es_out.c b/src/input/es_out.c
> index ab3134ab9f..5c15604465 100644
> --- a/src/input/es_out.c
> +++ b/src/input/es_out.c
> @@ -3694,14 +3694,11 @@ static int EsOutVaPrivControlLocked( es_out_t
> *out, int query, va_list args )
> else
> i_delay = 0;
>
> - if( i_time != VLC_TICK_INVALID )
> - {
> - i_time -= i_delay;
> - if( i_time < VLC_TICK_0 )
> - i_time = VLC_TICK_0;
> - }
> + i_time -= i_delay;
> + if( i_time < 0 )
> + i_time = 0;
>
> - if( i_length != VLC_TICK_INVALID )
> + if( i_length > 0 )
> f_position -= (double)i_delay / i_length;
> if( f_position < 0 )
> f_position = 0;
> diff --git a/src/input/input.c b/src/input/input.c
> index dafead8408..cebb54a5fc 100644
> --- a/src/input/input.c
> +++ b/src/input/input.c
> @@ -534,7 +534,7 @@ static void MainLoopDemux( input_thread_t *p_input,
> bool *pb_changed )
> {
> vlc_tick_t i_time;
> if( demux_Control( p_demux, DEMUX_GET_TIME, &i_time ) )
> - i_time = VLC_TICK_INVALID;
> + i_time = 0;
>
> if( p_priv->i_stop <= i_time )
> i_ret = VLC_DEMUXER_EOF;
> @@ -618,8 +618,8 @@ static void MainLoopStatistics( input_thread_t *p_input )
> {
> input_thread_private_t *priv = input_priv(p_input);
> double f_position = 0.0;
> - vlc_tick_t i_time;
> - vlc_tick_t i_length;
> + vlc_tick_t i_time = 0;
> + vlc_tick_t i_length = 0;
>
> /* update input status variables */
> if( demux_Control( priv->master->p_demux,
> @@ -627,10 +627,10 @@ static void MainLoopStatistics( input_thread_t *p_input )
> f_position = 0.0;
>
> if( demux_Control( priv->master->p_demux, DEMUX_GET_TIME, &i_time ) )
> - i_time = VLC_TICK_INVALID;
> + i_time = 0;
>
> if( demux_Control( priv->master->p_demux, DEMUX_GET_LENGTH, &i_length ) )
> - i_length = VLC_TICK_INVALID;
> + i_length = 0;
>
> /* In case of failure (not implemented or in case of seek), use the last
> * normal_time value (that is VLC_TICK_0 by default). */
> @@ -1288,8 +1288,8 @@ static int Init( input_thread_t * p_input )
> /* Init length */
> vlc_tick_t i_length;
> if( demux_Control( master->p_demux, DEMUX_GET_LENGTH, &i_length ) )
> - i_length = VLC_TICK_INVALID;
> - if( i_length == VLC_TICK_INVALID )
> + i_length = 0;
> + if( i_length == 0 )
> i_length = input_item_GetDuration( priv->p_item );
>
> input_SendEventTimes( p_input, 0.0, VLC_TICK_INVALID, priv->normal_time,
> --
> 2.26.2
>
> _______________________________________________
> 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