On 18 June 2013 11:35, Jussi Kukkonen <[email protected]> wrote:
>> I have a question, with rygel being typically run per-user/session on
>> desktop, how do you make these services work? I haven't looked into
>> the code but it this a plugin? If so, then it could work. In which
>> case, wouldn't it be better to keep it in a standalone tree since
>> typical desktop user won't need/want this and rygel is supposed to be
>> multimedia-only?
>
> It's not currently a plugin -- just code in rygel-core -- but that
> sounds like a sensible approach. I'll take a look at how it would
> work.
I believe the plugin idea can not work. The BasicManagement service is
expected to be found in the same UPnP device as the renderer (or
mediaserver). Since a plugin is in effect a UPnP device, it doesn't
make sense to implement BasicManagement as a plugin.
Backing off from the implementation details for a moment, I believe
these are the requirements:
* diagnostics is essentially a device feature: diagnostics should be
enabled per-device
* "Enabling diagnostics" means
- BasicManagement Service runs on the device
- Device capabilities includes "+DIAGE+"
The simplest design inside of rygel I can think for this is:
1. there is a plugin specific configuration item "diagnostics=true"
if diagnostics==true
2. plugin dlna capabilities includes "+DIAGE+"
3. plugin adds a resource for diagnostics service when constructed
The other option I see is that these 3 steps are not done by Plugin
and anyone who wants to support DLNA diagnostics, should create their
own plugin(s) that do the 3 steps above. In this case the code could
live outside of rygel, in an external library.
I think either option will work, but personally I'd still like to see
this as part of rygel: it does add a DLNA feature (that folks using
rygel are requesting). I can understand the reluctance to adding code
that doesn't really add new media sharing features, but It's worth
noting that existing rygel-core code does _not_ really get more
complicated because of this: it is a separate service after all. Even
the configuration option wouldn't really pollute the config file if
the default is disabled.
- Jussi
_______________________________________________
rygel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/rygel-list