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

Akshay V vvaakshay at gmail.com
Thu Jan 9 13:25:23 CET 2020


On Thu, Jan 9, 2020 at 5:50 PM Alexandre Janniaux <ajanni at videolabs.io>
wrote:

> Hi,
>
> On Thu, Jan 09, 2020 at 10:35:23AM +0100, Steve Lhomme wrote:
> > On 2020-01-09 10:28, Alexandre Janniaux wrote:
> > > Hi,
> > >
> > > According to documentation, vlc_player_vout_HoldAll can
> > > return NULL and thus vouts must be checked before usage.
> >
> > In that case the size is 0 so it won't have any impact.
>
> Unfortunately the documentation doesn't tell so, it might
> be a good addition if we consider this behaviour to be the
> correct one.
>
> I checked and only the addition of the first line
var_SetChecked(player, name, type, val);
would do the job.

> >
> > > 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
> > > _______________________________________________
> > > vlc-devel mailing list
> > > To unsubscribe or modify your subscription options:
> > > https://mailman.videolan.org/listinfo/vlc-devel
> > >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



-- 
Regards,
Akshay V
GitHub <http://github.com/akshayaky> | Amrita Vishwa Vidyapeetham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20200109/65742180/attachment.html>


More information about the vlc-devel mailing list