[vlc-devel] [vlc-commits] playlist: service discovery nodes must set flags (refs #16923)
Pierre Ynard
linkfanel at yahoo.fr
Thu Nov 17 06:57:29 CET 2016
> vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> |
> Sun May 8 15:51:33 2016 +0200| [a9b1f3f3916a896f30bc4f2bbedfacd0867f34f0] |
> committer: Francois Cartegnie
>
> playlist: service discovery nodes must set flags (refs #16923)
>
> RO and must stop playback on failure
>
> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a9b1f3f3916a896f30bc4f2bbedfacd0867f34f0
This breaks deletion of SD playlist nodes, after it's been somehow
working that way, maybe by accident, for 6 years. Now, repeatedly
loading and unloading the same SD module, from the CLI for example, adds
and leaves a stray playlist node every time. Certainly that's not a
desirable behavior.
I guess I get the point of the skip flag, but I'm not sure about the RO
flag, and sources are elusive. Archeology shows it has a bit of a bumpy
history.
In 2004, the RO flag gets introduced in the SAP SD.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=613773eec2579ae94554f7533fb6642af85957e4
2 months later, more RO flag and the b_force parameter gets passed by SD
modules to delete playlist node, for the express purpose of making sure
it gets removed.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=8b3d3c15aa8e7d510751a1eb1800d4429538c631
In 2006, SD node creation, with the RO flag, gets moved from SD modules
to the core.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=c6e29a7dda6734857ce5e28d03ea953b9e12fe35
In 2007, SD node removal is added in the core, but without the b_force
parameter. I haven't checked if forced removal was still ensured by
individual SD modules.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=716d5bf2f23ca759a3558558cb900e7039ba5e5c
In 2010, the RO flag is apparently lost during a refactoring in the
core. Node removal works.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=defbc4a490e65cfa1d587dceef1b7cb5c230e8e0
In 2016, the RO flag gets brought back along with the skip flag,
apparently for the sake of putting it back like before.
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a9b1f3f3916a896f30bc4f2bbedfacd0867f34f0
Can we explain the use of the RO flag? I do see the reassuring benefit
of preventing the user from deleting SD nodes while the SD is still
running.
And then can we either pass b_force when stopping an SD, or stop setting
the RO flag?
--
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."
More information about the vlc-devel
mailing list