[vlc-devel] [PATCH v2 01/11] core: move all actions handling in actions.c

Rémi Denis-Courmont remi at remlab.net
Fri Aug 11 14:23:51 CEST 2017


On vendredi 11 août 2017 12:01:24 EEST Hugo Beauzée-Luyssen wrote:
> > You can´t have a default with variadic parameters. You need to know if
> > there
> > will be a first variadic parameter, and if so, of what type, from the
> > fixed
> > parameters. And none of the three fixed parameters allow that.
> 
> This is what patch 2 does. I can rebase 1 & 2 together if you feel it
> should be done that way.

At this point, the origin context can only either be an interface or a video 
window. I imagine it could be a LibVLC media player, or maybe an audio output 
in the future.

So right now, there are two cases. In the future, we could have maybe three or 
four cases, all of them just one object pointer. Frankly, I don't see the 
benefit of using a variadic prototype to vary the type of one single pointer. 
You could use a single void or vlc_object_t pointer, or  you could just have 
different functions with full type safety. Heck, we could even pass this via a 
new vout_window_t event on the one hand, and a new intf-specific function or 
callback on the other hand.

And regardless, I still don't see how the action handler knows what type of 
context to expect. It can't be from the context (chicken-and-egg problem). It 
can't be from the OSD flag or from the action ID either so what's left as 
determinant?

-- 
Rémi Deniois-Courmont


More information about the vlc-devel mailing list