[vlc-devel] [vlc-commits] skins2: ensure playlist gets stopped before terminating vlc.

Rémi Denis-Courmont 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 
to exist.

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 mailing list