Skip to content
Go to file

Latest commit

* Drastically reduce memory usage by using static GST factories and elements when scanning for MIME types
* Fix memory leak in scan_mime_list due from failing to free the feature list
* Fix additional memory leak in parsing of command line options
* Fix white space to match existing file format

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Headless UPnP Renderer

I needed a small headless UPnP media renderer for Linux (for small footprint-use in a Raspberry Pi or CuBox), but there was not much available.

Found this old project GMediaRender - but it was incomplete, several basic features missing and the project has been abandoned several years ago.

So this is a fork of those sources to resurrect this renderer and add the missing features to be useful (Original sources in savannah cvs). To distinguish this project from the original one, this is called gmrender-resurrect.

After many features added, this is now a very usable, headless UPnP renderer that I would consider stable. You don't see many changes in this git - don't worry, this project is not abandoned, but it just works as intended (I use it every day). If you run into problems, please file bugs, write me directly or send a pull request; I am busy but will try to respond.

If you have tested gmrender resurrect with your control point, please add it to the Compatibility Wiki page (even if there is a problem). At this point, it should work with all media controllers, if not, please file a bug so that we can figure out the issue and I can make it work for you. See how to create a logfile that helps to narrow down things.

If you're running this on a Raspberry Pi, you might be interested to connect a little LCD display. Check out the upnp-display github project.


For installation instructions, see

You can reach me via


Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.



You can’t perform that action at this time.