[vlc-devel] [PATCH 0/8 v4] surface rendering callbacks

Rémi Denis-Courmont remi at remlab.net
Mon Jan 21 18:41:53 CET 2019

Le maanantaina 21. tammikuuta 2019, 19.15.51 EET Rémi Denis-Courmont a écrit :
> Le maanantaina 21. tammikuuta 2019, 18.38.43 EET Steve Lhomme a écrit :
> > This is another variant of the same patches. This time there's only one
> > callback and the different calls are passed via control "messages" which
> > all have an input pointer and an output pointer (unused most of the time).
> This is even worse than the previous version IMO. Zero type safety. Awful.

Besides binding writers do not like varags callbacks. So they should only be 
used when actually justified by the use case. That is to say when the argument 
list is actually variable such as printf/scanf/D-Bus.

It took me more than a decade to understand how vararg actually works, and 
most C programmers still don't understand, though many think they do. So when 
there are no actual reasons to use them, I don't want to use them.

Also this is again multiplexing, albeit at a different layer than the previous 
version. I can see why you may need multiplexed function calls on context 
boundaries such as system calls, IPC, network/RPC, or binary compatibility. 
But I really don't see why you need multiplexing here.

As Thomas already noted in the previous thread, you could just add a new 
function with whatever suitable and typed parameter(s) and/or callback(s).


More information about the vlc-devel mailing list