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:
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.
Update 2011-07-31: Porting Vala packages to OpenWRT seems to be less complex as many source tarballs already contain the C source, generated by the valac pre-compiler, so no valac must be available during the OpenWRT build process.
The requirements for the implementation are:
- audio-only renderer (usually routers do not have displays) with a focus on MP3
- small memory footprint (my router has only 32MB available)
- easy porting to different platforms (not dependent to where Vala has been ported)
- support for presets (which can be switched by pressing a button on the router device)
The renderer is being tested with the UPnP Control Point UPnPlay on my HTC Legend.
The next steps are:
- Rounding the rough edges
- Packaging for Debian/Ubuntu
- Makefiles for OpenWRT
- Cleaning up the codebase
Update 2011-07-31: The gupnp-audio-renderer has been renamed to m3ddity-player and it found a home here.