Posts

FOSDEM2009

Like many other Hacker fellows, I'll also be attending FOSDEM this year. I even have a talk at the GNOME devroom just like last year but this time I'll be mostly talking about Rygel rather than GUPnP . If you are coming to FOSDEM and happen to have any interest in Rygel, especially in how to write plugins for it don't forget to attend it.

Rygel 0.2 is out

Rygel 0.2 is out. Here is the release announcement: The major change after last release (as gupnp-media-server) is the introduction of a simple yet powerful plugin-based architecture/api: Everyone plugin: - is loaded into a separate MediaServer instance. - can implement any kind and number of resources (currently only services). - can export an icon file. - inherit it's ContentDirectory implementation from a base class that does most of the UPnP-related work. More improvements on this planned for next release. - use an intuitive API to easily export media from URIs and live GStreamer source elements over HTTP. Other changes: - Relicense under LGPL to allow proprietary plugins and ease of moving code from/to gupnp libraries. - DVB Daemon integration though a plugin. Now you can watch live channels from your PC on your PS3 for example. - Test plugin that exports one audio and video item, streaming contents from GStreamer's audiotestsrc and videotestsrc elements respect

GUPnP migrates to Git

Thanks to Ross and Richard Purdie, GUPnP moved to Git today. I already updated the jhbuild modulesets to reflect the new repos.

Rygel and DVB

Image
I had been working on adding a DVB plugin to Rygel lately so that people can easily watch TV on all their UPnP-capable Renderers without having to swap DVB cards around (people typically have one). Although I had finished the basic version of the plugin 1-2 weeks ago, the live streams never worked for me. Yesterday, I realized my mistake (wasn't handling the dynamic pads from the gst source element) and when i corrected that, here is what happend: There are still some issues to fix, especially the artifacts that happen because RTP headers are not getting stripped off when Rygel proxies the RTSP stream over HTTP but I am hopeful I'll be able to fix them soon. UPDATE: The artifects issue i mentioned above has already been fixed in the trunk so now you can enjoy a smooth live tv experience. :) Also! before you ask, no this doesn't work with PS3 yet (most probably because of some missing metadata in the DIDL-Lite fragments).

Rygel now part of maemo plan

So it is no secret anymore that Rygel will be part of maemo platform . If you are interested in contributing to maemo, here is yet another chance. I have a big pile of TODO for Rygel so if you are interested, do contact me. In case you prefer IRC like I do, I am always on #gupnp on irc.gimp.org.

DVB-T on Linux

One of the excuses I had to not implement DVB-Daemon integration in Rygel was that I didn't have the needed hardware to do so. Some days ago, I decided to get rid of this excuse by buying myself a Hauppauge Nova-T DVB-T stick. After a few days of trying different things, fiddling around and filing ivalid bugs , I finally manged to get it working with both DVB Daemon and Totem . Here is some advice based on my experience so far: If you happen to have the same DVB card as I do, make sure you have the recent enough (>= 2.6.25) Linux kernel that provides the needed driver (dib0700) out of the box. Get yourself the latest firmware from here and place it under /lib/firmware. The driver still looks for it by it's old filename so make a symlink in the same directory to this file by the name "dvb-usb-dib0700-1.10.fw". Unless you know exactly what kind of channels file needs to be created, DO NOT use w_scan for creating a channels file. Use gnome-dvb-setup.py (part of DVB

Rygel update

Image
For the past few weeks I have been cleaning-up and lately re-designing the source code. I am mostly finished with that and I can hopefully focus mostly on functional features piled in my todo now. The biggest change has been that plugins are now loaded into separate Media Servers and allowed to implement all kinds of resources (currently only service implementation is possible) instead of just providing a Media Provider interface. I decided to make it so when I realized that some plugins will need to implement additional services. For example a DVB plugin will want to implement a UPnP ScheduledRecording service rather than just exporting the channels. On a side-note, our brave user (and now a contributor) Florian Steinel has got Rygel working with his PS3 already. According to him all his audio and image files are discovered and played/rendered without any problems but not all of his video files. Yes, there is still room for improvements but I was expecting quite a lot of work on mak