[vlc-devel] [PATCH] vout: Update vlc_player_vout_SetVar to fix fullscreen toggle hotkey

Alexandre Janniaux ajanni at videolabs.io
Thu Jan 9 10:28:25 CET 2020


Hi,

According to documentation, vlc_player_vout_HoldAll can
return NULL and thus vouts must be checked before usage.

I'm not sure setting variable on all vouts is a correct fix
for the issue you are mentioning. In particular, if you
enable a visualization with a video, or have a video with
multiple video track, you'll get the two vout in
fullscreen.

The fix is probably in the hotkey module instead IMHO.

Regards,
--
Alexandre Janniaux
Videolabs

On Thu, Jan 09, 2020 at 12:20:40AM +0530, vvaakshay at gmail.com wrote:
> From: akshayaky <akymaster007 at gmail.com>
>
> this commit fixes:
>    -the fullscreen hotkey not exiting fullscreen
>    -wallpaper mode hotkey not disabling wallpaper mode
>
> this commit issue #22418
> ---
>  src/player/vout.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/src/player/vout.c b/src/player/vout.c
> index b28599288f..4ba7b1c89c 100644
> --- a/src/player/vout.c
> +++ b/src/player/vout.c
> @@ -157,9 +157,16 @@ static void
>  vlc_player_vout_SetVar(vlc_player_t *player, const char *name, int type,
>                         vlc_value_t val)
>  {
> -    vout_thread_t *vout = vlc_player_vout_Hold(player);
> -    var_SetChecked(vout, name, type, val);
> -    vout_Release(vout);
> +    var_SetChecked(player, name, type, val);
> +
> +    size_t count;
> +    vout_thread_t **vouts = vlc_player_vout_HoldAll(player, &count);
> +    for (size_t i = 0; i < count; i++)
> +    {
> +        var_SetChecked(vouts[i], name, type, val);
> +        vout_Release(vouts[i]);
> +    }
> +    free(vouts);
>  }
>
>
> --
> 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