Debugging UPnP/DLNA traffic to a Sony LCD TV

The issue I have is that my Sony LCD TV seems to be very picky regarding the UPnP/DLNA protocol when playing media from a control point to the television. The Android App BubbleUPnP does a good job here as playing music works out of the box. Initial tests with the Cling Java library to play music does not work out of the box. Therefore I wanted to debug the HTTP SOAP protocol in order to see where the differences are. ...

October 8, 2012 · 3 min · Michael Rumpf

Radio presets

One important feature for the audio renderer is the support for presets. I do not want to search for my mobile phone in order to select a music source when I enter the kitchen in the morning. The use-case where you turn on your analog radio and the tuning wheel is right at the position of your favorite radio station is unbeatable simple. Therefore the audio-renderer has a list of MP3 streaming URLs where the first one will be played upon startup of the process. The channels can be switched by sending a signal to the server process: ...

June 27, 2011 · 1 min · Michael Rumpf

UPnP audio renderer released

A very early version of my UPnP audio-renderer had been released on Gitorius https://gitorious.org/gupnp-audio-renderer (Update 2011-08-01: It has been renamed to m3player and been moved to here). It implements the necessary parts of the UPnP MediaRenderer specification. The implementation is based on excellent frameworks like: GUPnP GStreamer GLib The initial target for the renderer is the OpenWRT platform (see previous articles about a WiFi music player). I decided to use C instead of Vala (that was a decision against Rygel) as the memory constraints are very limited and I need to save memory whereever possible. Although my C language skills are a bit rusty, I did not want to learn another language. Additionally, the usage of Vala would increase the effort to port the whole vala stuff to the OpenWRT build-system. Luckily GStreamer and GLib are already available on OpenWRT. ...

June 27, 2011 · 2 min · Michael Rumpf

Compile a development version of GUPnP from HEAD

Follow the commands below in order to setup a local environment for working with the latest development version of the GUPNP framework. mkdir $(pwd)/base git clone http://git.gnome.org/browse/gssdp cd gssdp ./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base make && make install cd .. git clone http://git.gnome.org/browse/gupnp cd gupnp PKG_CONFIG_PATH=$(pwd)/../base/lib/pkgconfig ./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base cd .. git clone http://git.gnome.org/browse/gupnp-tools cd gupnp-tools PKG_CONFIG_PATH=$(pwd)/../base/lib/pkgconfig ./autogen.sh --prefix=$(pwd)/../base --exec-prefix=$(pwd)/../base cd .. Run the following commands for setting the environment to use the fresh compiled libraries instead of the OS provided ones (Empathy under Ubuntu 11.04 uses an older version of the GUPNP libraries. I ran into segmentation faults because the libraries did not match): ...

June 13, 2011 · 1 min · Michael Rumpf

GUPNP: Failed to get SCPD: Cannot resolve hostname ((null))

The following message occurs when the <urlbase></urlbase> tag of the root device description is empty when trying to autoconnect actions: ** (process:25888): WARNING **: Failed to get SCPD: Cannot resolve hostname ((null)) Changing it to http://localhost fixes the issue. <?xml version="1.0"?> <root xmlns="urn:schemas-upnp-org:device-1-0"> <specVersion> <major>1</major> <minor>0</minor> </specVersion> <URLBase>http://localhost</URLBase> <device> <!-- ... --> </device> </root> The message is a bit misleading. I was first trying to find an issue with my DNS configuration.

June 5, 2011 · 1 min · Michael Rumpf

Compiling GUPnP on Ubuntu 11.04

Because the GUPnP stack is lacking some documentation I describe my experiences with getting it complied under Ubuntu 11.04. The commands will setup an environment that does not interfere with the Ubuntu provided packages, which are older than the ones compiled here. The library files will be installed under the location: ~/workspaces/openwrt/upnp Download: mkdir -p ~/workspaces/openwrt/upnp cd ~/workspaces/openwrt/upnp wget -O - http://gupnp.org/sites/all/files/sources/gupnp-igd-0.1.11.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-0.16.1.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-igd-0.1.10.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-tools-0.8.3.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-dlna-0.6.1.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-av-0.8.0.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gssdp-0.10.0.tar.gz | tar xvfz - wget -O - http://gupnp.org/sites/all/files/sources/gupnp-vala-0.8.0.tar.gz | tar xvfz - Prerequisites: ...

June 3, 2011 · 2 min · Michael Rumpf