Some time ago I posted about our work to bring Grilo content to D-Bus world (rygel-grilo), so other applications (mainly Rygel) could consume it. This was done using a specification written by Zeeshan, MediaServer1 specification, originally intended to be used with Rygel.
During its development, some issues arised with the specification, so Zeeshan and I were refining the specification. Finally, with the help of Lennart, we reached a final version that we expect can fulfill clients requirements.
Thus, what does come with rygel-grilo? First of all, I would say that right now rygel-grilo is not a very good name as other applications than Rygel can consume the content (as we will see later). I think grilo-mediaserver1 would be a better name. Let’s see if we change it in the future.
As I was telling, rygel-grilo consist of two parts:
- A library to implement both MediaServer1 producers and consumers.
- Rygel-grilo program itself, which exports Grilo content through D-Bus.
The library is intended for those who want to develop either a MediaServer1 client or a MediaServer1 server with glib: it provides an easy API to use, hiding all D-Bus stuff. In fact, rygel-grilo itself is implemented using this library.
As said previously, not only Rygel can consume content through this specification: other applications can implement this specification to consume the content too.
As an example, we have implemented a plugin for Totem that is able to get content using this MediaServer1 specification. Again, we have used the library that comes with rygel-grilo to ease the implementation.
The following video shows Totem getting content from Grilo through MediaServer1 specification:
It is worth to note how easy is developing an application or plugin that gets content from MediaServer1. So I would expect more plugins coming soon.