The player is supposed to know what window(s) it uses, not the other way around.
HOW can a specific player know which vlc_window_t struct is created upon start of its vout thread, inside an interface module when multiple player's are instantiated?
HOW can I programmatically pair up these structs? Do I have to rely on IMPOSED delays to enforce a certain execution order?
Sorry for being detailed in the following, but I don't see that my SPECIFIC question(s) above has been answered?
Are you saying VLC mandates I use SEPARATE DESKTOP windows for each vlc_player_t I instantiate? (Yes I know this seems to be what happens by default without compositor or other tricks like enclosure of video "window" inside Qt Widget.)
Is the vlc_window_t struct ALWAYS supposed to be tied to its OWN DESKTOP window/OS Windowhandle? If so I am able to run VLC without this restriction and so is the old VLC-Qt library, see below.
Still my question is then, how do I know (programmatically, NOT visually) what player belongs to what window?
NOTE I am talking in-module vlc_player NOT the higher-level libvlc_media_player API where there are OS specific functions binding it to a OS-defined windowhandle, e.g libvlc_media_player_set_hwnd() for Win-platforms.
Incidentally, I don't see any restriction on assigning DIFFERENT player instances to the SAME window handle here. I know this is done in VLC-Qt using Qt Widgets (Granted, unless you impose geometric separation by means of the former or using geometrically separate Compositor surfaces you may see at best, one video of the last vout thread instantiated, or a garbled mix of several player frames mixed up)
Summing up: I have been able by hacking the qt interface module(maininterface) - VLC Player to display multiple videos as geometrically separate DCOMP visuals, superimposed on a COMMON QML UISurface, but my problem is that the display order(ie IDENTITY of visuals) sometimes changes randomly with each execution, as I have not found the LINK between a specific vlc_window_t's and the vlc_player originating it. There is only a partial ordering with respect to execution order of vlc_player_Start) and the invocation of the WindowOpen callback in the vout submodule to the qt module.
With this detailed explanation, I hope you now understand the gist of my question above.