[vlc-devel] [RFC PATCH] vout: add the window provider module

Steve Lhomme robux4 at ycbcr.xyz
Fri Apr 5 07:45:00 CEST 2019

On 4/4/2019 1:18 PM, Thomas Guillem wrote:
> On Thu, Apr 4, 2019, at 09:40, RĂ©mi Denis-Courmont wrote:
>> This patch is completely broken.
> This is a RFC, used to introduce a discussion on the window provider 
> subject. OK I forgot to mention in the commit log, my bad.
>> It does not work at all on Wayland.
> Why ?
>> It barely works on X11, is not compatible with the existing semantics.
>> It includes stuff that makes no sense for an embedded video window.
> Which one ?
>> It contradicts the design aspects agreed upon at the window and 
>> surface workshop.
> We just agreed on using callbacks, I don't remember any more details.
>> I am not forcing you or anyone to implement this. If you are 
>> unwilling or unable to do it, then don't. But don't force me to 
>> review such a half-baked "RFC".
> I'm not forcing you to review anything, but could you just stop 
> comparing work of other people as a joke ? This is always hurful. Such 
> comment should never take place on VideoLAN mailing-list.
> And yes, I'm not mastering the "vout window" very well... I mostly 
> worked on the "vout display" side

Same here until I implemented the standalone vout_window_t for Windows. 
I know vout_window_t existed but never understood what it does. I never 
realised there was one in Qt (the one we mostly use). And never 
understood why some code was marked deprecated and still not used. Now I 
know that because the vout window stuff was implemented in the display 
modules, hence the total confusion.

The documentation on the vout window is scarce in the code, let alone 
the callback ones.

And I'm still blurry on the display calls, that seem to have the same 
vout window calls which also have some report calls. The type of the 
object to use gives who should use what. And the "Report" names means it 
should be done after it's done (in the vout window). But it's hard to 
tell what is mandatory to work, what is optional, in what order it happens.

An example of confusion call: vout_window_ReportClose() 
"Reportsarequesttoclosethewindow." Does it mean it's done ? Should be 
done ? It calls a closed() callback. The receiver assumes it's closed ? 
The core implementation does nothing with it (just an error log ?!).

More information about the vlc-devel mailing list