[vlc-devel] [vlc-commits] skins2: ensure playlist gets stopped before terminating vlc.
remi at remlab.net
Mon Dec 2 22:36:56 CET 2019
Le maanantaina 2. joulukuuta 2019, 22.22.46 EET erwan.tulou at gmail.com a écrit
> The problem is that :
> - we cannot delete the playlist before stopping the interfaces (both Qt
> and skins2 expects a valid playlist throughout their lifetime)
That's not a valid reason. That's UI dev (in)convenience.
Really, if you want to be able to provision singletons for the playlist or the
VLC instance, you should expect to be created early - earlier than the
playlist. This includes not only the video window provider, but also, e.g.,
the logging callback, etc.
> - we cannot stop the interface before deleting the playlist, because
> vout_window_close() is still expected to be called (this is a callback
> function linked to the interface)
That's likewise also not a valid reason. The video window needs to be
available, its underlying resources need to be referenced (and its plugin
still loaded in memory). That does not imply the interface object per se has
Obviously there has to be one order - and I don't really care either way, as
long as it is anti-symmetric / LIFO order. But, you can't have it both ways,
even if it would be convenient for you.
The playlist deactivation was just a short-term kludge that Laurent and I made
to work-around the races and lack of design in the pre-existing window
embedding; it had its own bugs and is not a good reference.
More information about the vlc-devel