[vlc-devel] [PATCH v4 1/3] Introduce media source and media tree API

Rémi Denis-Courmont remi at remlab.net
Tue Jul 10 18:34:49 CEST 2018


Le tiistaina 10. heinäkuuta 2018, 19.09.54 EEST Rémi Denis-Courmont a écrit :
> Le tiistaina 10. heinäkuuta 2018, 18.36.43 EEST Romain Vimont a écrit :
> > On Tue, Jul 10, 2018 at 06:18:31PM +0300, Rémi Denis-Courmont wrote:
> > > Le tiistaina 10. heinäkuuta 2018, 12.24.44 EEST Romain Vimont a écrit :
> > > > > If you don't instantiate a module, you don't need an object. It
> > > > > would
> > > > > probably be simpler to just make this a "normal" opaque structure.
> > > > 
> > > > vlc_media_source_provider_t creates media sources, which in the end
> > > > calls vlc_sd_Create(), which requires an object (it instantiates a
> > > > module).
> > > 
> > > Yes but no. vlc_sd_Create() already creates the (SD) object with which
> > > to
> > > instantiate the SD plugin.
> > > 
> > > The media source per se does not instantiate any module: it does not
> > > call
> > > vlc_module_load() or any of its wrappers. And it does not also not
> > > implement any legacy programming interface based on VLC object variables
> > > either.
> > > 
> > > With neither of those two artifacts, it does not really require a VLC
> > > object.
> > 
> > OK, so you are suggesting to make libvlc a direct parent of all SD
> > objects?
> 
> If you want to maintain "backward compatibility" with the tree layout,

*current object tree layout

Anyway, even if you did have a need to allocate a VLC object, you still would 
not need to expose the structure. The external API users should not need to 
know that the media source provider is a VLC object or is not.

-- 
Реми Дёни-Курмон
http://www.remlab.net/





More information about the vlc-devel mailing list