Re: Questions about using rygel with a DBus data source



Hi Dominic,

I can answer some of your questions.

>
- Rygel allows me to separate out the (difficult) boilerplate
nitty-gritty of doing all the UPNP/DLNA/SSDP, etc, from the (easier)
generation and transmission of media metadata;


Exactly

- All I have to do is to write a separate out-of-process "metadata
server" which registers itself using DBus and which serves up
information about the available media;


This is one option. However, there is another way you can achieve the same effect which may turn out to be more efficient and less work. In short you can create a new Rygel DMS server plugin in C or Vala. This plugin will implement a few classes that provide Rygel with a way to extract data from your media database, and optionally to update it. There are some examples of how to do this on the Rygel web site:

http://developer.gnome.org/librygel-server/unstable/implementing-server-plugins.html#implementing-server-plugins-overview

I believe these plugins can be compiled outside the Rygel source tree so you can keep your code completely separate from Rygel if you like.

BTW., Rygel ships with two DMS plugins, one which uses tracker to discover media and a second, mediaexport, which publishes media found in a number of standard folders, e.g/. ~/Pictures, ~/Music. Internally, MediaExport uses an sqlite database to store the meta data it needs for the files it publishes. You may find these plugins helpful if you chose to implement your own plugin.


- This "metadata server" is language-independent, as long as it "talks" DBus;


Yes

- The "heavy lifting" (e.g. streaming) of the media itself to the
client is taken care of by Rygel;


Yes.

- I can have several such "metadata servers" simultaneously connected
over DBus (all of which presumably identify themselves uniquely), and
only need a single Rygel server to make the media available;

Yes, but if I understand correctly, each meta server will appear as a separate DMS on the network.


I'm afraid I don't know enough about the d-bus interface to answer your remaining questions.

Best Regards,

Mark



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]