[vlc-devel] [PATCH 00/14] Move VLM implementation to a module

Alexandre Janniaux ajanni at videolabs.io
Tue Sep 15 23:26:57 CEST 2020


Hi,

On Tue, Sep 15, 2020 at 09:10:16PM +0300, Rémi Denis-Courmont wrote:
> Le tiistaina 15. syyskuuta 2020, 20.37.32 EEST Romain Vimont a écrit :
> Converting VLM or parts of it into an interface module? Fixing bugs? Removing
> useless code? great. Adding a new module type? no thanks.

While I agree that an interface would be an improvement of such
integration of feature outside vlccore, I'm not sure putting
everything behind interface is a good help with regards to how
this rework should go.

VLM definitively has an interface capability so as to let the
user enable it, and be able to initialize at startup, but I
don't think Romain is there yet in its current work. We should
probably discuss on how the VLM core can be interacted rather
than where to move the code first. It's particularily important
in my opinion since it's sort of the same requirement as the
very recent service advertisements features and the intf/vout
window combo, though intf/vout is usually the same plugin for
our current providers, are usually limited to one libvlc
instance and can be much more elegantly solved by a static state.

If we move VLM behind an interface label, other interfaces must
be able to access the VLM entrypoints and then we need, as possible
solutions:

 - we consider VLM to be limited to single libvlc instance too
   like other interfaces, and add a kind of intf prober to get
   an access to it, and then cast into the VLM interface object.

 - same, but we use a VLM prober capability instead, that should
   always give the VLM interface or any object that can proxy to
   it (which is one part of Romain's current work).

 - we have some sort of central service registry to achieve the
   autodiscovery of internal services, which is the same as the
   two previous with a global shared state instead of states
   local to each plugin.

 - we have the usual libvlc singleton slot which we are trying
   to avoid in most cases.

Though you mentioned multiple times that you don't want to involve
time into VLM (and I guess, that it backfires on you given the
current effort needed), a smart generic pattern should probably
be designed here for SA and VLM, and it could probably unify things
like the medialibrary integration too.

Regards,
--
Alexandre Janniaux
Videolabs


More information about the vlc-devel mailing list