[vlc-devel] [PATCH 02/17] es_out_timeshift: use int_i64_i64 for SET_PCR

Steve Lhomme robux4 at ycbcr.xyz
Wed Mar 10 07:14:52 UTC 2021


On 2021-03-09 16:15, Thomas Guillem wrote:
> ---
>   src/input/es_out_timeshift.c | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/input/es_out_timeshift.c b/src/input/es_out_timeshift.c
> index 573a0fd8e86..da01feb8b9c 100644
> --- a/src/input/es_out_timeshift.c
> +++ b/src/input/es_out_timeshift.c
> @@ -1527,11 +1527,14 @@ static int CmdInitControl( ts_cmd_control_t *p_cmd, input_source_t *in,
>           p_cmd->u.i_int = va_arg( args, int );
>           break;
>   
> -    case ES_OUT_SET_PCR:                /* arg1=vlc_tick_t i_pcr(microsecond!) (using default group 0)*/
>       case ES_OUT_SET_NEXT_DISPLAY_TIME:  /* arg1=int64_t i_pts(microsecond) */
>           p_cmd->u.i_i64 = va_arg( args, int64_t );
>           break;
>   
> +    case ES_OUT_SET_PCR:
> +        p_cmd->u.int_i64_i64.i_i64_1 = va_arg( args, vlc_tick_t );
> +        break;

If you're putting a vlc_tick_t in a variable it's better if it's the 
same type. It's also more readable when you read the value.

And you change the structure you're using but then you don't initialize 
the i_i64_2 value.

BTW the vlc_tick_t handling is also odd for ES_OUT_SET_NEXT_DISPLAY_TIME.

> +
>       case ES_OUT_SET_GROUP_PCR:          /* arg1= int i_group, arg2=vlc_tick_t i_pcr(microsecond!)*/
>           p_cmd->u.int_i64_i64.i_int = va_arg( args, int );
>           p_cmd->u.int_i64_i64.i_i64_1 = va_arg( args, vlc_tick_t );
> @@ -1663,10 +1666,12 @@ static int CmdExecuteControl( es_out_t *p_tsout, ts_cmd_control_t *p_cmd )
>       case ES_OUT_DEL_GROUP:   /* arg1=int i_group */
>           return es_out_in_Control( p_sys->p_out, in, i_query, p_cmd->u.i_int );
>   
> -    case ES_OUT_SET_PCR:                /* arg1=vlc_tick_t i_pcr(microsecond!) (using default group 0)*/
>       case ES_OUT_SET_NEXT_DISPLAY_TIME:  /* arg1=int64_t i_pts(microsecond) */
>           return es_out_in_Control( p_sys->p_out, in, i_query, p_cmd->u.i_i64 );
>   
> +    case ES_OUT_SET_PCR:
> +        return es_out_in_Control( p_sys->p_out, in, i_query, p_cmd->u.int_i64_i64.i_i64_1 );
> +
>       case ES_OUT_SET_GROUP_PCR:          /* arg1= int i_group, arg2=vlc_tick_t i_pcr(microsecond!)*/
>           return es_out_in_Control( p_sys->p_out, in, i_query, p_cmd->u.int_i64_i64.i_int,
>                                     p_cmd->u.int_i64_i64.i_i64_1 );
> -- 
> 2.30.0
> 
> _______________________________________________
> 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