[vlc-devel] [PATCH 11/11] decoder: use defines for the unset/forced preroll values
Thomas Guillem
thomas at gllm.fr
Mon Sep 2 10:04:03 CEST 2019
On Fri, Aug 30, 2019, at 08:27, Steve Lhomme wrote:
> ---
> src/input/decoder.c | 20 ++++++++++++--------
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/src/input/decoder.c b/src/input/decoder.c
> index 4170e942e2..86ef7efae6 100644
> --- a/src/input/decoder.c
> +++ b/src/input/decoder.c
> @@ -109,6 +109,10 @@ struct decoder_owner
> /* -- Theses variables need locking on read *and* write -- */
> /* Preroll */
> vlc_tick_t i_preroll_end;
> +
> +#define PREROLL_NONE ((vlc_tick_t) INT64_MIN)
> +#define PREROLL_FORCED ((vlc_tick_t) INT64_MAX)
I think RĂ©mi said that the cast were useless. Why are you keeping them ?
> +
> /* Pause & Rate */
> bool reset_out_state;
> vlc_tick_t pause_date;
> @@ -773,11 +777,11 @@ static void DecoderWaitUnblock( struct
> decoder_owner *p_owner )
> static inline void DecoderUpdatePreroll( vlc_tick_t *pi_preroll, const
> block_t *p )
> {
> if( p->i_flags & BLOCK_FLAG_PREROLL )
> - *pi_preroll = (vlc_tick_t)INT64_MAX;
> + *pi_preroll = PREROLL_FORCED;
> /* Check if we can use the packet for end of preroll */
> else if( (p->i_flags & BLOCK_FLAG_DISCONTINUITY) &&
> (p->i_buffer == 0 || (p->i_flags & BLOCK_FLAG_CORRUPTED))
> )
> - *pi_preroll = (vlc_tick_t)INT64_MAX;
> + *pi_preroll = PREROLL_FORCED;
> else if( p->i_dts != VLC_TICK_INVALID )
> *pi_preroll = __MIN( *pi_preroll, p->i_dts );
> else if( p->i_pts != VLC_TICK_INVALID )
> @@ -986,7 +990,7 @@ static int DecoderPlayVideo( struct decoder_owner
> *p_owner, picture_t *p_picture
> }
>
> vlc_mutex_lock( &p_owner->lock );
> - bool prerolled = p_owner->i_preroll_end != (vlc_tick_t)INT64_MIN;
> + bool prerolled = p_owner->i_preroll_end != PREROLL_NONE;
> if( prerolled && p_owner->i_preroll_end > p_picture->date )
> {
> vlc_mutex_unlock( &p_owner->lock );
> @@ -994,7 +998,7 @@ static int DecoderPlayVideo( struct decoder_owner
> *p_owner, picture_t *p_picture
> return VLC_SUCCESS;
> }
>
> - p_owner->i_preroll_end = (vlc_tick_t)INT64_MIN;
> + p_owner->i_preroll_end = PREROLL_NONE;
>
> if( unlikely(prerolled) )
> {
> @@ -1116,7 +1120,7 @@ static int DecoderPlayAudio( struct decoder_owner
> *p_owner, block_t *p_audio )
> }
>
> vlc_mutex_lock( &p_owner->lock );
> - bool prerolled = p_owner->i_preroll_end != (vlc_tick_t)INT64_MIN;
> + bool prerolled = p_owner->i_preroll_end != PREROLL_NONE;
> if( prerolled && p_owner->i_preroll_end > p_audio->i_pts )
> {
> vlc_mutex_unlock( &p_owner->lock );
> @@ -1124,7 +1128,7 @@ static int DecoderPlayAudio( struct decoder_owner
> *p_owner, block_t *p_audio )
> return VLC_SUCCESS;
> }
>
> - p_owner->i_preroll_end = (vlc_tick_t)INT64_MIN;
> + p_owner->i_preroll_end = PREROLL_NONE;
>
> if( unlikely(prerolled) )
> {
> @@ -1446,7 +1450,7 @@ static void DecoderProcessFlush( struct
> decoder_owner *p_owner )
> }
> }
>
> - p_owner->i_preroll_end = (vlc_tick_t)INT64_MIN;
> + p_owner->i_preroll_end = PREROLL_NONE;
> vlc_mutex_unlock( &p_owner->lock );
> }
>
> @@ -1744,7 +1748,7 @@ static struct decoder_owner * CreateDecoder(
> vlc_object_t *p_parent,
> p_dec = &p_owner->dec;
>
> p_owner->p_clock = p_clock;
> - p_owner->i_preroll_end = (vlc_tick_t)INT64_MIN;
> + p_owner->i_preroll_end = PREROLL_NONE;
> p_owner->p_resource = p_resource;
> p_owner->cbs = cbs;
> p_owner->cbs_userdata = cbs_userdata;
> --
> 2.17.1
>
> _______________________________________________
> 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