[vlc-devel] [PATCH] vout: fix low framerate stuttering

Francois Cartegnie fcvlcdev at free.fr
Wed Aug 7 11:38:45 CEST 2019


Le 06/08/2019 à 15:07, Romain Vimont a écrit :
> In ThreadDisplayPicture(), when "refresh" was true, the output parameter
> deadline was not written and the function returned a non-zero value.
> 

Unsure how it works in that case, but the pause since now to set
deadline when drop_next_frame is true.

> diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
> index 4a2cde9f98..ef0d9488ae 100644
> --- a/src/video_output/video_output.c
> +++ b/src/video_output/video_output.c
> @@ -1243,13 +1243,14 @@ static int ThreadDisplayPicture(vout_thread_t *vout, vlc_tick_t *deadline)
>      }
>      bool force_refresh = !drop_next_frame && refresh;
>  
> +    if (!frame_by_frame) {
> +        if (date_refresh != VLC_TICK_INVALID)
> +            *deadline = date_refresh;
> +        if (date_next != VLC_TICK_INVALID && date_next < *deadline)
> +            *deadline = date_next;
> +    }
> +
>      if (!first && !refresh && !drop_next_frame) {
> -        if (!frame_by_frame) {
> -            if (date_refresh != VLC_TICK_INVALID)
> -                *deadline = date_refresh;
> -            if (date_next != VLC_TICK_INVALID && date_next < *deadline)
> -                *deadline = date_next;
> -        }
>          return VLC_EGENERIC;
>      }
>  
> 


-- 
Francois Cartegnie
VideoLAN - VLC Developer


More information about the vlc-devel mailing list