[vlc-devel] [PATCH 3/3] Add microdns services_advertisement submodule

Rémi Denis-Courmont remi at remlab.net
Tue Sep 3 17:44:43 CEST 2019


Le tiistaina 3. syyskuuta 2019, 18.27.35 EEST Thomas Guillem a écrit :
> On Tue, Sep 3, 2019, at 17:19, Rémi Denis-Courmont wrote:
> > Le maanantaina 2. syyskuuta 2019, 19.34.58 EEST Thomas Guillem a écrit :
> > > One other concern:
> > > 
> > > SA modules should not annonce anything by default but the core should
> > > ask
> > > for it.
> > > 
> > > I propose the following changes:
> > >  - The sa module initialize from Open but doesn't annonce anything, it
> > >  just
> > > 
> > > registers an annonce callback. - Add vlc_sa_annonce( libvlc, const char
> > > *name, const char *type, unsigned port ), that will call the annonce
> > > callback of the main SA.
> > 
> > What makes you think a port number describe any and all types of service
> > announcements?
> 
> Nothing, I agree with you but you could have said it more softly.
> 
> > The only currently supported announce types is SDP, and that's
> > definitely carrying a hell of a lot more data than a port number.
> > 
> > I rather think that the activation callback should start advertising
> > straight away, because I don't see how you can make a generic "add" or
> > "start" callback for this.
> 
> In that case, the same module will be loaded several time if there are more
> than one interfaces that want to announce themselves.

That sounds like the only way to have different advertisement protocols 
provided by different plug-ins, so actually that seems right. And still, how do 
you make a generic add/start callback when the set of parameters is so tightly 
coupled with the protocol?

IMO, it's still highly questionable if there should at all be a SA 
abstraction, precisely because the service and announcement protocol are so 
tightly coupled. So far, all iterations of this patchset have really provided 
a Bonjour SA interface, not a generic SA interface.

> I don't think it's a
> good idea. For mdns, this will be one thread per services then.

I don't see why. You can still have one shared thread per-LibVLC or per-
process with a reference counting mechanism.

-- 
Rémi Denis-Courmont
http://www.remlab.net/





More information about the vlc-devel mailing list