Tag Archives: Gnome

Introducing Helium

What’s Helium?

Helium is a UPnP control point that is supposed to accompany Rygel, but can of course work without it. It offers browsing of media servers, selecting a renderer from a list of devices available on the network and can (currently) play back a single media files from the current server listing to the currently selected renderer (by long-push). This is supposed to change in short-term, giving proper playlist and player controls. Also it needs to get aware of servers and renderers disappearing from the network and get some proper error reporting.

Where’s the code?

Current state is available at Gitorious


Rygel in the wild

It looks like the PR1.2 update for the N9 is starting to get rolled out now, so your favourite MediaServer implementation will reach your phone soon.
A short hint if you’re eager to try it and you don’t see any files shared: For complicated and mostly non-technical reasons the device needs to assign so-called DLNA media profiles to images and media files. To start this, the device needs to go into idle mode once, so just let it rest for a while and all media created on the device should be available after that. This is a one-shot thing after the update, any files added afterwards will be fine.

GStreamer 0.11 + JHbuild

If you try to test GStreamer 0.11 there’s this nice gst-uninstalled script; somehow that didn’t work for me as soon as I tried to use more non-gst interdependent libraries so I opted to use jhbuild. Luckily that’s quite easy with the stock gnome jhbuild moduleset.
To do that, I created a new .jhbuildrc-gst-0.11 with the following modifications. skip and modules can of course be adjusted to own needs.

moduleset = 'gnome-world-3.4'
modules = [ 'vala', 'libgee', 'gstreamer', 'gst-plugins-good', 'gst-plugins-bad', 'gst-plugins-ugly', 'gst-ffmpeg', 'gssdp', 'gupnp', 'gupnp-av' ]
skip = ['gtk+', 'atk', 'gcr', 'gtk+-2', 'rarian', 'NetworkManager', 'gnutls', 'polkit', 'p11-kit', 'gnutls', 'cantarell-fonts', 'gtk-engines', 'librsvg', 'gnome-themes-standard', 'libgnome-keyring', 'pango', 'expat', 'libgpg-error', 'libgcrypt', 'glib-networking']
os.environ['JHBUILDPS1'] = '[gst-0.11] '
branches = {
    'gstreamer' : '0.11',
    'gst-plugins-base' : '0.11',
    'gst-plugins-good' : '0.11',
    'gst-plugins-bad' : '0.11',
    'gst-plugins-ugly' : '0.11',
    'gst-ffmpeg' : '0.11'

Lately, in Rygel land…

In General

I know I have been quite silent about Rygel in general lately because I was quite busy with my day job. Since Zeeshan left Nokia after the MeeGo turmoil I took over his task of bringing Rygel in good shape to form the basis for Harmattan’s DLNA functionality.

These efforts, started long ago by Zeeshan, are finally coming to a close and entering the wild. With the release of PR1.2 beta for the N950, the alert reader might have spotted the release note entry “Media sharing with DLNA compatible devices”. You can probably guess what that’s powered by 😉

One of the goals that we’d set ourselves has already been reached. The device is UPnP certified. The DLNA compatibility is in really good shape as well.

That is one of the reasons why the upstream Rygel development looks kind of stalled. The other one is that we’ve been focusing on ironing out the rough edges with emphasis on stability. Naturally, all of the patches that resulted here have been upstreamed, either to Rygel, GUPnP or libsoup.

On the device

So what’s on the device? A more or less pristine upstream snapshot taken several commits after 0.11.3 with later patches cherry-picked and some minor adjustments to adapt ourselves to the environment, like different device details and icons.

What can it do?

It implements a M-DMS, a mobile media server, enabling you to share the media content of your phone in your home network.
In addition to the rather useless mandatory media formats defined by DLNA we have decided to include a LPCM transcoder and the necessary profiles to share all the videos and images you’re going to take or already have taken on the device.
The server runs in a strict sharing mode where only media files that conform to one of the supported DLNA profiles are shared. This is configurable and we plan to release a “tweaking app” later to help the average end user to fine-tune and undo some of the limitations that had to be done due to the DLNA guidelines.
So, to all that already can, enjoy Rygel on your mobile phone.

Rygel & pulseaudio

Looks like we have found and fixed the recent issues in the PulseAudio MediaServer2 implementation that led to weird behavior when trying to browse the PA server; it is available in PulseAudio master.
So after applying this, streaming from PA should be possible again if your client natively supports LPCM. If not, then most likely not. There seems to be an issue in setting up the transcoding (this includes the XBox e.g.)

Properties and Probabilities

I just tagged version 0.2 of my tracker browser tool

What’s new?

  • It has a location bar with backward and forward navigation buttons
  • It is also possible to use prefixed names instead of IRIs
  • You can use your keyboard to navigate backward and forward
  • It has a in-page search bar which can be reached by familiar keystrokes like “/” or “Ctrl-f”
  • If you browse a rdf:Property, you will now be shown all resources with the value the property has

Where to get it?


Mandatory screenshots