Code Monkey home page Code Monkey logo

gmrender-resurrect's Introduction

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 INSTALL.md 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.

Installation

For installation instructions, see INSTALL.md

You can reach me via [email protected].

gmrender-resurrect's People

Contributors

ashkitten avatar badfortrains avatar bennofs avatar christiscarborough avatar coldtobi avatar debfx avatar eamartin avatar emilcarr avatar ffontaine avatar hrittich avatar hu55a1n1 avatar hualet avatar hzeller avatar jsiverskog avatar mill1000 avatar mstefany avatar reiujiutsuho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gmrender-resurrect's Issues

killing process freezes Raspberry Pi

I have been having periodic clicking and popping of audio. When I have this issue, I restart the pulseaudio and gmediarender. There is not a service called gmediarender, so I use the command "sudo killall gmediarender" When I do, the pi freezes requiring a power cycle to return.

It would be awesome if there was a service or such. The way I start it is to run
(gmediarender -f "Raspberry Pi" &> /dev/null &)

I have also noted this behavior when I kill the running process from a terminal window. I run this headless, so I am SSH'd in and running it from putty under windows, mostly.

i migrate gmrender-resurrect to mips ,and when i use windows 7 median player to find device,the render print error !!

INFO [2011-09-08 18:08:15.013088 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml',info=0x75a3b970)
INFO [2011-09-08 18:08:15.013899 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml/index.html',info=0x75a3b970)
ERROR [2011-09-08 18:08:15.014586 | webserver] Not found.
INFO [2011-09-08 18:08:15.022656 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.023208 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.023530 | webserver] Not found.
INFO [2011-09-08 18:08:15.039878 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml',info=0x75a3b970)
INFO [2011-09-08 18:08:15.041353 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml/index.html',info=0x75a3b970)
INFO [2011-09-08 18:08:15.044410 | webserver] webserver_get_info:(filename='/upnp/rendertransportSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.045812 | webserver] webserver_get_info:(filename='/upnp/rendertransportSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.046132 | webserver] Not found.
INFO [2011-09-08 18:08:15.048419 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.049013 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.049329 | webserver] Not found.
ERROR [2011-09-08 18:08:15.043518 | webserver] Not found.
INFO [2011-09-08 18:08:15.053855 | webserver] webserver_get_info:(filename='/upnp/rendertransportSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.054679 | webserver] webserver_get_info:(filename='/upnp/rendertransportSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.054980 | webserver] Not found.
INFO [2011-09-08 18:08:15.065116 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.066176 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.066505 | webserver] Not found.
INFO [2011-09-08 18:08:15.080738 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml',info=0x75e3b970)
INFO [2011-09-08 18:08:15.081198 | webserver] webserver_get_info:(filename='/upnp/renderconnmgrSCPD.xml/index.html',info=0x75e3b970)
ERROR [2011-09-08 18:08:15.081542 | webserver] Not found.
INFO [2011-09-08 18:08:15.093902 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml',info=0x75a3b970)
INFO [2011-09-08 18:08:15.094364 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml/index.html',info=0x75a3b970)
ERROR [2011-09-08 18:08:15.094666 | webserver] Not found.
INFO [2011-09-08 18:08:15.098931 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml',info=0x7543b970)
INFO [2011-09-08 18:08:15.099687 | webserver] webserver_get_info:(filename='/upnp/rendercontrolSCPD.xml/index.html',info=0x7543b970)
ERROR [2011-09-08 18:08:15.099985 | webserver] Not found.

OpenMAX Support

Hello,
thanks for resurrecting gmrenderer.

As far as I read about video decoding on RPi OpenMAX should be the way to gain hardware decoding.
How far does gmrenderer make use of this techonology already?

Even though wheezy uses gstreamer 0.10 the next generation (gstreamer 1.0) would bring the omx module. And there seem to be precompiled packages around: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=34250
Is a setup with gst 1.0 worth a try or a waste of time?

can we re-name this as gmediarender

hzeller has done a great job bringing functionality to this and it has far surpassed the original gmrender. There appears to be no support for the original attempt. How do we get this defined as the 'default' gmediarender package? Same issue with daapd and forked_daapd, btw... Curious as to the protocol.

Keith

XBMC Compatibility

I quickly want to say how awesome this project is. Very.

Anyway, one problem I'm coming across is that while this works fantastically with other UPnP clients, it doesn't seem to work properly with XBMC. Now this might be an issue with XBMC but, in all honesty, I just don't know. XBMC's UPnP implementation isn't very strong (as admitted by their team) so so it's entirely possible but I wanted to raise this here in case it's not the case.

When selecting a song in XBMC, I can use the "Play Using" context menu item and see the gmrender instance, but when I click play the file doesn't start.

gmrender log:
http://pastebin.com/tMamL0RS

XBMC log:
http://pastebin.com/f8EYHufR

Error about "A Plugin "text/html-Decoder" is required

Hi, I am trying to play a file via DLNA on a Raspberry Pi using this project, but it fails with the strange error about plugin for "text/html-Decoder" missing. This is the same for audio and video. I already tried various suggestions on the net for installing additional plugins or adding other pieces, but to no avail. I pretty much followed the description at http://blog.scphillips.com/2013/07/playing-music-on-a-raspberry-pi-using-upnp-and-dlna-revisited/ I tried it with two different DLNA clients on an Android phone, the same happens with both.

The full output to the logfile is as follows.

INFO  [2013-08-15 20:14:30.526067 | transport] TransportState: STOPPED
INFO  [2013-08-15 20:14:30.527260 | transport] CurrentTransportActions: PLAY,SEEK
INFO  [2013-08-15 20:14:30.529044 | transport] LastChange: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportState val="STOPPED"></TransportState>
<CurrentTransportActions val="PLAY,SEEK"></CurrentTransportActions>
</InstanceID>
</Event>
INFO  [2013-08-15 20:14:30.580687 | transport] AVTransportURI: http://192.168.1.103:8200/MediaItems/34534.mp3
INFO  [2013-08-15 20:14:30.582013 | transport] AVTransportURIMetaData: <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sec="http://www.sec.co.kr/"><item id="1$4$26" parentID="1$4" refID="64$4$3$D$3$6" restricted="true"><dc:title>08 - Mr bojangles</dc:title><dc:creator>Robbie Williams</dc:creator><upnp:class>object.item.audioItem.musicTrack</upnp:class><upnp:artist role="">Robbie Williams</upnp:artist><upnp:album>Swing When You're Winning</upnp:album><upnp:genre>Swing</upnp:genre><dc:description>http://canna.c4.to</dc:description><dc:date>2001-01-01</dc:date><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="3166168" duration="0:03:17.885" bitrate="128000" sampleFrequency="44100" nrAudioChannels="2">http://192.168.1.103:8200/MediaItems/34534.mp3</res></item></DIDL-Lite>
INFO  [2013-08-15 20:14:30.583624 | gstreamer] Set uri to http://192.168.1.103:8200/MediaItems/34534.mp3
INFO  [2013-08-15 20:14:30.585853 | transport] LastChange: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<AVTransportURI val="http://192.168.1.103:8200/MediaItems/34534.mp3"></AVTransportURI>
<AVTransportURIMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;1$4$26&quot; parentID=&quot;1$4&quot; refID=&quot;64$4$3$D$3$6&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;08 - Mr bojangles&lt;/dc:title&gt;&lt;dc:creator&gt;Robbie Williams&lt;/dc:creator&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;upnp:artist role=&quot;&quot;&gt;Robbie Williams&lt;/upnp:artist&gt;&lt;upnp:album&gt;Swing When You&apos;re Winning&lt;/upnp:album&gt;&lt;upnp:genre&gt;Swing&lt;/upnp:genre&gt;&lt;dc:description&gt;http://canna.c4.to&lt;/dc:description&gt;&lt;dc:date&gt;2001-01-01&lt;/dc:date&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&quot; size=&quot;3166168&quot; duration=&quot;0:03:17.885&quot; bitrate=&quot;128000&quot; sampleFrequency=&quot;44100&quot; nrAudioChannels=&quot;2&quot;&gt;http://192.168.1.103:8200/MediaItems/34534.mp3&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"></AVTransportURIMetaData>
</InstanceID>
</Event>
INFO  [2013-08-15 20:14:30.634486 | transport] TransportState: PLAYING
INFO  [2013-08-15 20:14:30.635648 | transport] CurrentTransportActions: PAUSE,STOP,SEEK
INFO  [2013-08-15 20:14:30.636838 | transport] CurrentTrackURI: http://192.168.1.103:8200/MediaItems/34534.mp3
INFO  [2013-08-15 20:14:30.638055 | transport] CurrentTrackMetaData: <DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sec="http://www.sec.co.kr/"><item id="1$4$26" parentID="1$4" refID="64$4$3$D$3$6" restricted="true"><dc:title>08 - Mr bojangles</dc:title><dc:creator>Robbie Williams</dc:creator><upnp:class>object.item.audioItem.musicTrack</upnp:class><upnp:artist role="">Robbie Williams</upnp:artist><upnp:album>Swing When You're Winning</upnp:album><upnp:genre>Swing</upnp:genre><dc:description>http://canna.c4.to</dc:description><dc:date>2001-01-01</dc:date><res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000" size="3166168" duration="0:03:17.885" bitrate="128000" sampleFrequency="44100" nrAudioChannels="2">http://192.168.1.103:8200/MediaItems/34534.mp3</res></item></DIDL-Lite>
INFO  [2013-08-15 20:14:30.640541 | transport] LastChange: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportState val="PLAYING"></TransportState>
<CurrentTransportActions val="PAUSE,STOP,SEEK"></CurrentTransportActions>
<CurrentTrackURI val="http://192.168.1.103:8200/MediaItems/34534.mp3"></CurrentTrackURI>
<CurrentTrackMetaData val="&lt;DIDL-Lite xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:sec=&quot;http://www.sec.co.kr/&quot;&gt;&lt;item id=&quot;1$4$26&quot; parentID=&quot;1$4&quot; refID=&quot;64$4$3$D$3$6&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;08 - Mr bojangles&lt;/dc:title&gt;&lt;dc:creator&gt;Robbie Williams&lt;/dc:creator&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;upnp:artist role=&quot;&quot;&gt;Robbie Williams&lt;/upnp:artist&gt;&lt;upnp:album&gt;Swing When You&apos;re Winning&lt;/upnp:album&gt;&lt;upnp:genre&gt;Swing&lt;/upnp:genre&gt;&lt;dc:description&gt;http://canna.c4.to&lt;/dc:description&gt;&lt;dc:date&gt;2001-01-01&lt;/dc:date&gt;&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000&quot; size=&quot;3166168&quot; duration=&quot;0:03:17.885&quot; bitrate=&quot;128000&quot; sampleFrequency=&quot;44100&quot; nrAudioChannels=&quot;2&quot;&gt;http://192.168.1.103:8200/MediaItems/34534.mp3&lt;/res&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"></CurrentTrackMetaData>
</InstanceID>
</Event>
ERROR [2013-08-15 20:14:30.670521 | gstreamer] source: Error: Not Found (Debug: gstsouphttpsrc.c(1119): gst_soup_http_src_parse_status (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstSoupHTTPSrc:source:
Not Found (404), URL: http://192.168.1.103:8200/MediaItems/34534.mp3)
ERROR [2013-08-15 20:14:30.694439 | gstreamer] decodebin21: Error: Ihrer Installation von GStreamer fehlt ein Plugin. (Debug: gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin21:
no suitable plugins found)
ERROR [2013-08-15 20:14:30.696843 | gstreamer] decodebin21: Error: Ein Plugin »text/html-Decoder« wird zum Abspielen dieses Datenstroms benötigt, ist aber nicht installiert. (Debug: gstdecodebin2.c(1699): analyze_new_pad (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin21:
No decoder to handle media type 'text/html')
ERROR [2013-08-15 20:14:30.704746 | gstreamer] queue23: Error: Interner Fehler im Datenfluss. (Debug: gstqueue2.c(2573): gst_queue2_loop (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstQueue2:queue23:
streaming task paused, reason not-linked (-1))

ipad/AudioRemote compatibility

Hello,

let me thank you for resurrecting this project. It compiled nicely on an ubuntu quantal
based atom mainboard that I'm setting up.

I've tested some DLNA compatible apps and found quite
a few with good interoperability:

Fusion Stream, from Smartstor
Sitecom's media controller

media:connect has some issues.. it detects gmrender
and shows the playing track, but it's not reliable and it
seems it cant set the track.

Network Audio Remote, a product of Sony, is able to detect and
control gmrender (play, pause, vol, pos info).

It probably the one with the best UI, however it works only if
the track is already playing.

I think there are problems when the app tries to send the
URI to gmrender, but I see no related debug output
to the console nor any relevant network traffic.

When the song ends it can be restarted, but the app
loses song info and position.

It must be an app thing because I can see the report
being sent with tcpdump. maybe it's the missing TrackURI?

<u:GetPositionInfoResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
<Track>0</Track>
<TrackDuration>0:03:03.144</TrackDuration>
<TrackMetaData></TrackMetaData>
<TrackURI></TrackURI>
<RelTime>0:00:05.166</RelTime>
<AbsTime>NOT_IMPLEMENTED</AbsTime>
<RelCount>2147483647</RelCount>
<AbsCount>2147483647</AbsCount>
</u:GetPositionInfoResponse>
</s:Body> </s:Envelope>

LPCM stream not supported?

When i try to listen music using foobar with UPnP MediaRenderer Output component (http://goo.gl/qwlSh) it doesent work with 16bit output
16bit

[UPnP] Stream address: http://192.168.1.109:49623/stream.l16
[UPnP] transport op: Play
[UPnP] HTTP request: GET /stream.l16
[UPnP] Source: 192.168.1.111:53597
[UPnP] Connection: close
[UPnP] Host: 192.168.1.109:49623
[UPnP] icy-metadata: 1
[UPnP] transferMode.dlna.org: Streaming
[UPnP] User-Agent: GStreamer souphttpsrc libsoup/2.38.1
[UPnP] Serving LPCM
[UPnP] Connection: close
[UPnP] Content-Type: audio/L16;rate=44100;channels=2
[UPnP] TransferMode.dlna.org: Streaming
[UPnP] User-Agent: Windows/7.0 UPnP/1.1 foobar2000/1.x
[UPnP] Returned time: 0:00:00.000
[UPnP] transport op OK
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] transport op: Stop
[UPnP] transport op OK

But if i change 16bit to 24bit it plays well

24bit

[UPnP] Stream address: http://192.168.1.109:49653/stream.wav
[UPnP] transport op: Play
[UPnP] HTTP request: GET /stream.wav
[UPnP] Source: 192.168.1.111:51810
[UPnP] Connection: close
[UPnP] Host: 192.168.1.109:49653
[UPnP] icy-metadata: 1
[UPnP] transferMode.dlna.org: Streaming
[UPnP] User-Agent: GStreamer souphttpsrc libsoup/2.38.1
[UPnP] Serving WAV
[UPnP] Connection: close
[UPnP] Content-Type: audio/wav
[UPnP] TransferMode.dlna.org: Streaming
[UPnP] User-Agent: Windows/7.0 UPnP/1.1 foobar2000/1.x
[UPnP] transport op OK
[UPnP] Returned time: 0:00:00.000
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:02.887
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:07.952
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:12.961
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:17.983
[UPnP] Transport state: PLAYING
[UPnP] Returned time: 0:00:23.000
[UPnP] Transport state: PLAYING
[UPnP] transport op: Stop
[UPnP] transport op OK

MP3 with image - tested with XBMC and mediatomb as sources

Hi

Running debian wheezy on arm with gstreamer 0.10 (which is the packaged version). Brilliant idea - I have been looking for something like this for ages. In current version, there seems to be a problem with MP3 files which include an image. I have tested with three sources - mediatomb and xbmc (which both display the problem) and the bubble upnp android app (which works - but i suspect it is stripping out the image).

If an mp3 has no embedded image it is fine. If it has an embedded image, it fails with "source: Error: Not Found (Debug: gstsouphttpsrc.c(1119): gst_soup_http_src_parse_status". I have attached the log for files which work and those which don't below, for both xbmc and mediatomb below.

Thanks again for this software.
log is at https://gist.github.com/Jonjump/6397589

Cannot find on wifi

Probably a user error, but I cannot figure out why I cannot see the renderer on wifi. It works perfectly on cat5, but on the same subnet, I cannot see it from winmedia or bubble upnp or any other player. I have been using it woth a wired connection and now I must use wifi.

I start it using the init script and it starts at boot. Do not know why it is not showing up. I am using the /etc/init.d/gmrenderer script verbatim. If I start it from the command line, it appears to show up.

autogen.sh fails on arm based ubuntu installation

Running autogen.sh on a x86 based machine works fine, fails on an arm based ubuntu install though:

~/source/gmrender-resurrect$ ./autogen.sh 
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.in: tracing
autoreconf: configure.in: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
configure.in:53: error: possibly undefined macro: AC_SUBST
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
uname -r
3.1.10-6-ac100
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.10
Release:        12.10
Codename:       quantal

Fullscreen or Maximize with aspect ratio preservation

Is there a way to render a video in full screen mode, or at least in a maximized window that keeps the video's aspect ratio unaltered? Currently I get a non-maximized window, and when I try to resize it i see that the proportions are not locked. Thanks!

(running the program built from source, on debian wheezy)

Problem using gmrender-resurrect with Java Cling: Incorrect namespace

Hi,

I'm writing currently a Java application, based on the Java Cling library.

When I tried to subscribe my app for an Upnp event, everything works fine for events published by AVTransportService. But if I listen to events of the RenderingControlService, cling failed to parse the xml.
The reason is, that you're using the wrong namespace for the special RenderingControlService.
Your xml looks like this for both event types:

<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">...</Event>

This is correct for AVTransportService-Events. But for RenderingControlService-Events, the right syntax would look like this:

<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/">...</Event>

Can you please fix this?
Thank's in advance and best regards,
Andreas

gmrender doesn't gives backup audio to other players

First: Thank you for picking up gmediarender!

Following Problem:
After playing music via gmrender-resurrect other mediaplayers (VLC, Totem) can't give out audio.
I can reproduce this issue. Only thing that helps so far is rebooting the mashine.

Using: ubuntu 11.10 with latest gmrender-resurrect.

Regards,

Schuft69

pre-fill buffer?

I know the raspberry pi community has been complaining about audio quality with gmrender. In my case it was pops/clicks/garble/stutter. I isolated this to network activity, specifically on the little usb-wifi adapters which are very popular on the pi's. It's not RF, but seems to be USB traffic.

Having said all that, is there a way to pre-fill the gstreamer buffer to minimize network activity? I've been combing the source, but I don't see anything obvious. Even if we could pre-buffer a meg or so, on audio, that'd be no more than four clicks or pops during a song. A configurable parameter would be even better. I think a lot of us would rather deal with lag than constant clicks and pops every time a packet comes in.

curiously,
edfardos

Error Internal Server Errror while playing

Hi

i've recently had this issue while playing mp3 :

ERROR [2013-12-29 18:05:10.398485 | gstreamer] source: Error: Internal Server Errror (Debug: gstsouphttpsrc.c(1119): gst_soup_http_src_parse_status (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstSoupHTTPSrc:source:
Internal Server Errror (500), URL: http://192.168.1.15:8200/MediaItems/12031.mp3)
ERROR [2013-12-29 18:05:17.157539 | gstreamer] decodebin21: Error: Il manque un greffon dans votre installation de GStreamer. (Debug: gstdecodebin2.c(3576): gst_decode_bin_expose (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin21:
no suitable plugins found)
ERROR [2013-12-29 18:05:18.838749 | gstreamer] decodebin21: Error: Un greffon Décodeur text/html est requis pour lire ce flux, mais il n'est pas installé. (Debug: gstdecodebin2.c(1699): analyze_new_pad (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin21:
No decoder to handle media type 'text/html')
ERROR [2013-12-29 18:05:18.848646 | gstreamer] queue211: Error: Erreur interne de flux de données. (Debug: gstqueue2.c(2573): gst_queue2_loop (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstQueue2:queue211:
streaming task paused, reason not-linked (-1))

My configuration is raspberry with gmrender-resurrect and minidlna as media server with nfs share ( my music is on nas )

Any idea ?

thanks in advance

windows 7 media player support compatibility

INFO  [2011-09-08 16:35:37.299757 | upnp] Subscription request for urn:upnp-org:serviceId:AVTransport (uuid:GMediaRender-1_0-000-000-002)
INFO  [2011-09-08 16:35:37.301843 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportStatus val="OK"></TransportStatus>
<NextAVTransportURI val=""></NextAVTransportURI>
<NextAVTransportURIMetaData val=""></NextAVTransportURIMetaData>
<CurrentTrackMetaData val=""></CurrentTrackMetaData>
<RelativeCounterPosition val="2147483647"></RelativeCounterPosition>
<A_ARG_TYPE_InstanceID val="0"></A_ARG_TYPE_InstanceID>
<A_ARG_TYPE_SeekTarget val=""></A_ARG_TYPE_SeekTarget>
<PlaybackStorageMedium val="UNKNOWN"></PlaybackStorageMedium>
<RelativeTimePosition val="0:00:00"></RelativeTimePosition>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"></PossibleRecordStorageMedia>
<CurrentPlayMode val="NORMAL"></CurrentPlayMode>
<TransportPlaySpeed val="1"></TransportPlaySpeed>
<PossiblePlaybackStorageMedia val="NETWORK,UNKNOWN"></PossiblePlaybackStorageMedia>
<AbsoluteTimePosition val="NOT_IMPLEMENTED"></AbsoluteTimePosition>
<CurrentTrack val="0"></CurrentTrack>
<CurrentTrackURI val=""></CurrentTrackURI>
<CurrentTransportActions val="PLAY"></CurrentTransportActions>
<NumberOfTracks val="0"></NumberOfTracks>
<AVTransportURI val=""></AVTransportURI>
<AbsoluteCounterPosition val="2147483647"></AbsoluteCounterPosition>
<CurrentRecordQualityMode val="NOT_IMPLEMENTED"></CurrentRecordQualityMode>
<CurrentMediaDuration val=""></CurrentMediaDuration>
<A_ARG_TYPE_SeekMode val="TRACK_NR"></A_ARG_TYPE_SeekMode>
<AVTransportURIMetaData val=""></AVTransportURIMetaData>
<RecordStorageMedium val="NOT_IMPLEMENTED"></RecordStorageMedium>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"></RecordMediumWriteStatus>
<CurrentTrackDuration val="0:00:00"></CurrentTrackDuration>
<TransportState val="STOPPED"></TransportState>
<PossibleRecordQualityModes val="NOT_IMPLEMENTED"></PossibleRecordQualityModes>
</InstanceID>
</Event>
INFO  [2011-09-08 16:35:37.637760 | upnp] Subscription request for urn:upnp-org:serviceId:RenderingControl (uuid:GMediaRender-1_0-000-000-002)
INFO  [2011-09-08 16:35:37.639415 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<GreenVideoGain val="0"></GreenVideoGain>
<BlueVideoBlackLevel val="0"></BlueVideoBlackLevel>
<VerticalKeystone val="0"></VerticalKeystone>
<GreenVideoBlackLevel val="0"></GreenVideoBlackLevel>
<Volume val="100"></Volume>
<Loudness val="0"></Loudness>
<A_ARG_TYPE_InstanceID val="0"></A_ARG_TYPE_InstanceID>
<RedVideoGain val="0"></RedVideoGain>
<ColorTemperature val="0"></ColorTemperature>
<Sharpness val="0"></Sharpness>
<A_ARG_TYPE_PresetName val=""></A_ARG_TYPE_PresetName>
<RedVideoBlackLevel val="0"></RedVideoBlackLevel>
<BlueVideoGain val="0"></BlueVideoGain>
<Mute val="0"></Mute>
<A_ARG_TYPE_Channel val=""></A_ARG_TYPE_Channel>
<HorizontalKeystone val="0"></HorizontalKeystone>
<VolumeDB val="0"></VolumeDB>
<PresetNameList val=""></PresetNameList>
<Contrast val="0"></Contrast>
<Brightness val="0"></Brightness>
</InstanceID>
</Event>
INFO  [2011-09-08 16:35:48.435933 | webserver] Access /upnp/rendertransportSCPD.xml (text/xml) len=15697
INFO  [2011-09-08 16:35:48.436896 | webserver] attempt to open /upnp/rendertransportSCPD.xml 
INFO  [2011-09-08 16:35:48.478433 | upnp] Subscription request for urn:upnp-org:serviceId:AVTransport (uuid:GMediaRender-1_0-000-000-002)
INFO  [2011-09-08 16:35:48.489455 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportStatus val="OK"></TransportStatus>
<NextAVTransportURI val=""></NextAVTransportURI>
<NextAVTransportURIMetaData val=""></NextAVTransportURIMetaData>
<CurrentTrackMetaData val=""></CurrentTrackMetaData>
<RelativeCounterPosition val="2147483647"></RelativeCounterPosition>
<A_ARG_TYPE_InstanceID val="0"></A_ARG_TYPE_InstanceID>
<A_ARG_TYPE_SeekTarget val=""></A_ARG_TYPE_SeekTarget>
<PlaybackStorageMedium val="UNKNOWN"></PlaybackStorageMedium>
<RelativeTimePosition val="0:00:00"></RelativeTimePosition>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"></PossibleRecordStorageMedia>
<CurrentPlayMode val="NORMAL"></CurrentPlayMode>
<TransportPlaySpeed val="1"></TransportPlaySpeed>
<PossiblePlaybackStorageMedia val="NETWORK,UNKNOWN"></PossiblePlaybackStorageMedia>
<AbsoluteTimePosition val="NOT_IMPLEMENTED"></AbsoluteTimePosition>
<CurrentTrack val="0"></CurrentTrack>
<CurrentTrackURI val=""></CurrentTrackURI>
<CurrentTransportActions val="PLAY"></CurrentTransportActions>
<NumberOfTracks val="0"></NumberOfTracks>
<AVTransportURI val=""></AVTransportURI>
<AbsoluteCounterPosition val="2147483647"></AbsoluteCounterPosition>
<CurrentRecordQualityMode val="NOT_IMPLEMENTED"></CurrentRecordQualityMode>
<CurrentMediaDuration val=""></CurrentMediaDuration>
<A_ARG_TYPE_SeekMode val="TRACK_NR"></A_ARG_TYPE_SeekMode>
<AVTransportURIMetaData val=""></AVTransportURIMetaData>
<RecordStorageMedium val="NOT_IMPLEMENTED"></RecordStorageMedium>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"></RecordMediumWriteStatus>
<CurrentTrackDuration val="0:00:00"></CurrentTrackDuration>
<TransportState val="STOPPED"></TransportState>
<PossibleRecordQualityModes val="NOT_IMPLEMENTED"></PossibleRecordQualityModes>
</InstanceID>
</Event>
INFO  [2011-09-08 16:35:48.529205 | webserver] Access /upnp/renderconnmgrSCPD.xml (text/xml) len=4783
INFO  [2011-09-08 16:35:48.530674 | webserver] attempt to open /upnp/renderconnmgrSCPD.xml 
INFO  [2011-09-08 16:35:48.601515 | upnp] Subscription request for urn:upnp-org:serviceId:ConnectionManager (uuid:GMediaRender-1_0-000-000-002)
INFO  [2011-09-08 16:35:48.603138 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<A_ARG_TYPE_ConnectionManager val="/"></A_ARG_TYPE_ConnectionManager>
<SinkProtocolInfo val="http-get:*:audio/x-iec958:*,http-get:*:audio/x-raw-float:*,http-get:*:audio/x-raw-int:*,http-get:*:application/x-icy:*,http-get:*:application/x-id3:*,http-get:*:audio/L16;rate=44100;channels=2:*,http-get:*:audio/x-scpls:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mpeg:*,http-get:*:application/x-annodex:*,http-get:*:application/x-kate:*,http-get:*:subtitle/x-kate:*,http-get:*:text/x-cmml:*,http-get:*:video/x-smoke:*,http-get:*:video/x-dirac:*,http-get:*:audio/x-celt:*,http-get:*:audio/x-speex:*,http-get:*:audio/x-flac:*,http-get:*:audio/x-vorbis:*,http-get:*:video/x-theora:*,http-get:*:application/x-ogm-audio:*,http-get:*:application/x-ogm-video:*,http-get:*:application/x-ogm-text:*,http-get:*:application/ogg:*,http-get:*:audio/*:*,http-get:*:application/x-ogg-avi:*"></SinkProtocolInfo>
<A_ARG_TYPE_ConnectionStatus val="Unknown"></A_ARG_TYPE_ConnectionStatus>
<A_ARG_TYPE_AVTransportID val="0"></A_ARG_TYPE_AVTransportID>
<A_ARG_TYPE_Direction val="Input"></A_ARG_TYPE_Direction>
<A_ARG_TYPE_RcsID val="0"></A_ARG_TYPE_RcsID>
<A_ARG_TYPE_ProtocolInfo val=":::"></A_ARG_TYPE_ProtocolInfo>
<A_ARG_TYPE_ConnectionID val="-1"></A_ARG_TYPE_ConnectionID>
<SourceProtocolInfo val=""></SourceProtocolInfo>
<CurrentConnectionIDs val="0"></CurrentConnectionIDs>
</InstanceID>
</Event>
INFO  [2011-09-08 16:35:51.644685 | webserver] Access /upnp/rendercontrolSCPD.xml (text/xml) len=13317
INFO  [2011-09-08 16:35:51.646089 | webserver] attempt to open /upnp/rendercontrolSCPD.xml 
INFO  [2011-09-08 16:35:51.708009 | upnp] Subscription request for urn:upnp-org:serviceId:RenderingControl (uuid:GMediaRender-1_0-000-000-002)
INFO  [2011-09-08 16:35:51.709804 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<GreenVideoGain val="0"></GreenVideoGain>
<BlueVideoBlackLevel val="0"></BlueVideoBlackLevel>
<VerticalKeystone val="0"></VerticalKeystone>
<GreenVideoBlackLevel val="0"></GreenVideoBlackLevel>
<Volume val="100"></Volume>
<Loudness val="0"></Loudness>
<A_ARG_TYPE_InstanceID val="0"></A_ARG_TYPE_InstanceID>
<RedVideoGain val="0"></RedVideoGain>
<ColorTemperature val="0"></ColorTemperature>
<Sharpness val="0"></Sharpness>
<A_ARG_TYPE_PresetName val=""></A_ARG_TYPE_PresetName>
<RedVideoBlackLevel val="0"></RedVideoBlackLevel>
<BlueVideoGain val="0"></BlueVideoGain>
<Mute val="0"></Mute>
<A_ARG_TYPE_Channel val=""></A_ARG_TYPE_Channel>
<HorizontalKeystone val="0"></HorizontalKeystone>
<VolumeDB val="0"></VolumeDB>
<PresetNameList val=""></PresetNameList>
<Contrast val="0"></Contrast>
<Brightness val="0"></Brightness>
</InstanceID>
</Event>
INFO  [2011-09-08 16:35:52.165195 | control] cmd_obtain_variable: CurrentVolume for instance 0
INFO  [2011-09-08 16:35:52.293083 | control] cmd_obtain_variable: CurrentMute for instance 0

SGS3 stock media player support

The stock media player on the Samsung Galaxy S3 can act as a UPnP controller, but when setting output to gmediarenderer, it shows a Loading dialog that never disappears, but music playback works fine.

I'm not very familiar with UPnP at the moment (coming from an almost-Apple-ish environment I'm familiar with AirPlay (well, shairport)), otherwise I would've provided patches.

The stock player works fine with XBMC's UPnP Renderer though.

This might be useful, https://github.com/xbmc/xbmc/blob/master/xbmc/network/upnp/UPnPRenderer.cpp

Ready to provide logs if needed to help with this.

Thanks for the forked version! :)

Problem on building gstreamer1.0 for gmediarender on raspberry wheezy 2013-09-10

On the install.md of gmediarender is explained that it is possible to install gstreamer1.0 using libgstreamer1.0-dev
gstreamer1.0-plugins-base gstreamer1.0-plugins-good
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
gstreamer1.0-libav

Trying happens that immediately gstreamer library are not in the repository (also after a sudo apt-get update). So I added
sudo echo "deb http://vontaene.de/raspbian-updates/ . main" >> /etc/apt/sources.list

.In this way I installed all the library unless of gstreamer1.0-libav that is not in the repository. So I tried to install it downloading from the git and building but I receive the following message during the ./autogen.sh

checking for GST... yes
configure: using GStreamer tools in /usr/bin
configure: using GStreamer plug-ins in /usr/lib/arm-linux-gnueabihf/gstreamer-1.0
checking for GST_BASE... yes
checking for GST_PLUGINS_BASE... no
configure: No package 'gstreamer-plugins-base-1.0' found
configure: error: no gstreamer-plugins-base-1.0 >= 1.0.0 (GStreamer Base Plugins) found
configure failed

In other word, how is it possible to install gstreamer1.0 on raspberry in a way that after during the configure gmediarender is able to say
GST .. YES

Thanks
G.

Adding command line option for "insert silence before playing 1st song on the list"

Hi, hzeller!!

My name is Jerry and I am the 1st-distributor of gmrender-resurrect in Korea.

You can check it in my blog:

http://blog.naver.com/casteraprn/80199922944

First of all, As one of the members of Linux UPNP user group in Korea,

I deeply appreciate your state-of-the-art work of gmrender-resurrect.

I applied your program to Pogo and Alix, so many of their users are really enjoying UPNP feature of each device.

Here I wrote this issue because I want to suggest making an option of your future release, if possible.

Whenever I started to play a list of music files, 1~3 seconds of beginning of the 1st file in the list is skipped always and it makes me really crazy.

So if you add "insert silence" option with user-input duration and inset that silence whenever gmrender-resurrect just starts to playing a list of music,

It will be very useful to users like me.

Thank you so much for reading this message.

With all my honers and respects,
Jerry

compatible problem with 8player on ipad

thank you for your good project!!!
i've test gmrender on my computer in ubuntu OS and play from bubbleUPnP, it works great!
but i got some issues when i try to play from ipad, i tried several players, as far as i experienced, 8player is the only one app that can continuously play music via dlna when the screen is off, but it cannot play to gmrender(works well with other dlna media renderer), when i try to play, it shows error msg "open command faild"

thanks again!

Last.fm

Would it be possible to add in Last.fm scrobbling using the following library? http://www.red-bean.com/decklin/lastfmsubmitd/

I'll hopefully have a look at trying this over the next few days. I wasn't sure if it was something you had on your roadmap.

Thanks

Lee

Stock Galaxy Note 3 player

Hi, unable to find the render with the stock samsung's music player.
(It's working perfectly with BunnleUPnP so it's not a network issue)
I've also an other Raspberry Pi with XBMC on it (RaspMBC) and I see it from the samsung's player.

(This is a metabug to test a bug in the github bugtracker - ignore)

INFO  [2013-07-25 21:38:07.105282 | upnp] Initial variable sync: <?xml version="1.0"?>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/">
<InstanceID val="0">
<TransportStatus val="OK"></TransportStatus>
<NextAVTransportURI val=""></NextAVTransportURI>
<NextAVTransportURIMetaData val=""></NextAVTransportURIMetaData>
<CurrentTrackMetaData val=""></CurrentTrackMetaData>
<RelativeCounterPosition val="2147483647"></RelativeCounterPosition>
<A_ARG_TYPE_InstanceID val="0"></A_ARG_TYPE_InstanceID>
<A_ARG_TYPE_SeekTarget val=""></A_ARG_TYPE_SeekTarget>
<PlaybackStorageMedium val="UNKNOWN"></PlaybackStorageMedium>
<RelativeTimePosition val="0:00:00"></RelativeTimePosition>
<PossibleRecordStorageMedia val="NOT_IMPLEMENTED"></PossibleRecordStorageMedia>
<CurrentPlayMode val="NORMAL"></CurrentPlayMode>
<TransportPlaySpeed val="1"></TransportPlaySpeed>
<PossiblePlaybackStorageMedia val="NETWORK,UNKNOWN"></PossiblePlaybackStorageMedia>
<AbsoluteTimePosition val="NOT_IMPLEMENTED"></AbsoluteTimePosition>
<CurrentTrack val="0"></CurrentTrack>
<CurrentTrackURI val=""></CurrentTrackURI>
<CurrentTransportActions val="PLAY"></CurrentTransportActions>
<NumberOfTracks val="0"></NumberOfTracks>
<AVTransportURI val=""></AVTransportURI>
<AbsoluteCounterPosition val="2147483647"></AbsoluteCounterPosition>
<CurrentRecordQualityMode val="NOT_IMPLEMENTED"></CurrentRecordQualityMode>
<CurrentMediaDuration val=""></CurrentMediaDuration>
<A_ARG_TYPE_SeekMode val="TRACK_NR"></A_ARG_TYPE_SeekMode>
<AVTransportURIMetaData val=""></AVTransportURIMetaData>
<RecordStorageMedium val="NOT_IMPLEMENTED"></RecordStorageMedium>
<RecordMediumWriteStatus val="NOT_IMPLEMENTED"></RecordMediumWriteStatus>
<CurrentTrackDuration val="0:00:00"></CurrentTrackDuration>
<TransportState val="STOPPED"></TransportState>
<PossibleRecordQualityModes val="NOT_IMPLEMENTED"></PossibleRecordQualityModes>
</InstanceID>
</Event>
INFO  [2013-07-25 21:38:07.106008 | gstreamer] Query volume fraction: 1.000000
INFO  [2013-07-25 21:38:07.106140 | control] Output inital volume is 1.000000; setting control variables accordingly.

Getting track info out of gmrender

I suppose i can tail the log file and extract the info i need, but maybe there's a neater way to get artist, title, duration, position and other track info?
I'm using gmrender as part of a car audio player which interfaces to the CD changer port of the car stereo. I'd like to present this info on the lcd display i have connected to it regardless of audio source.

Strange pulsing tone

Hi,

After some more testing today, I'm noticing a strange pulsing tone in the background. This is not there until I play a track through gmrender via ALSA or Pulse over USB into my DAC. Pausing the audio stream makes it easier to hear. If I restart gmrender then it kills the tone, only for it to reappear on playing audio.

I'm not finding the same issue with Mplayer into ALSA or Pulse into the DAC.

Any thoughts?

Edit:

I've also checked gstreamer via playbin with the following command "gst-launch-1.0 playbin uri=file:///path/to/file" this was output without any issue via both ALSA and Pulseaudio.

Cheers
L

about stop gmrender problem

Hi,Hzller,I want to ask you a question that about stop gmrender problem. If gmrender process receive a signal , I want to initiatively stop gmrender by itself. Throught call stop() function in upnp_transport.c,yes, the gstreamer is stopped playing,but gmrender will continue to play next song if BubbleUPnp client's playlist have many songs, Do you have any suggestions?

stop();
inform_play_transition_from_output(PLAY_STOPPED);

whether it can? thanks!

ReplayGain Support?

This may already be implemented, but I can't find any reference to it in the issue tracker or the code. Granted, my coding skills are pretty subpar...

Nevertheless, Gstreamer has support for replaygain via its "Good" plugin. Could replaygain be implemented on client-side, as most servers (especially linux-based) lack this functionality, and those that do support it require transcoding?

Looks like all that needs to happen is to call the "rgvolume" plugin when launching the stream. Album mode can be toggled with the "album-mode" flag (default TRUE).

renderer stops being able to play tracks when selected after a while

I find that I usually have to restart gmrender after a while because of this problem. It will take
commands to play new tracks but the track remains at 0:00 in the control point and does not play.

I have reproduced this with gstreamer versions < 1 and gstreamer 1.2.2 on the RasPi running raspbian.

I can reproduce this bug by frequently changing tracks until it manifests. I am happy to help with further debugging.

Compile issue on Raspberry Pi

The July 24 version that has code for printing version numbers does not compile on a Raspberry Pi:

gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I..  -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include   -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/libxml2   -pthread -I/usr/include/upnp   -DPKG_DATADIR=\"/usr/local/share/gmediarender\"   -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
In file included from main.c:48:0:
/usr/include/glib-2.0/glib/gversion.h:28:2: error: #error "Only <glib.h> can be included directly."

Audio does not play

I tried to get gmrender-ressurect to work on archlinux arm with a RPi.

My problem is, that an error occurs, when I want to stream audio.

This is the log:

HZ:
upnp:classobject.item.audioItem.musicTrack/upnp:classdc:titleBack Like that (Remix) (ft. Ghostface & Ne-Yo)/dc:titledc:creatorKanye West/dc:creatorupnp:artistKanye West/upnp:artist<upnp:artist upnp:role="Composer">Xtreme/upnp:artistupnp:albumArtURIhttp://192.168.178.43:57645/external/audio/albums/3.jpg/upnp:albumArtURIupnp:albumFreshmen Adjustment Vol. 3/upnp:albumupnp:originalTrackNumber12/upnp:originalTrackNumberdc:date2007-01-01/dc:datehttp://192.168.178.43:57645/external/audio/media/7275.mp3
2.0.171.137: Action 'SetAVTransportURI' was a success!
upnp_set_error: Playing failed
upnp_set_error: Playing failed
2.0.230.169: Action 'GetTransportInfo' was a success!

audio stops after some ammount of listening + strange thing with threads

Thank you for gmrender! I use it on Raspberry Pi but i have one problem. Please help me!
When i listen to 2 or 3 albums in a row or long gapless mix (like this for example http://goo.gl/PmMAk) using BubbleUPnP on phone or tablet , its never plays till then end, just stops on random time but mostly about more than 1 hour. If i restart gmrender than its just well play again for next ~2 hours. I try to push songs from MiniDLNA on Pi, Home Media Server on Win7 or just directly from BubbleUPnP local media server and always same problem. Also gmrender create new thread after each song. Is this OK?

threads

here is the log file i can get, dont know where to see else:

Action 'GetPositionInfo' was a success!
Action 'GetPositionInfo' was a success!
Action 'GetPositionInfo' was a success!
GStreamer: Got tags from element flacparse18
Action 'GetPositionInfo' was a success!
Action 'GetPositionInfo' was a success!
Action 'GetPositionInfo' was a success!
GStreamer: Got tags from element flacparse18
Action 'GetPositionInfo' was a success!
Action 'GetPositionInfo' was a success!
GStreamer: Got tags from element flacparse18
HZ: about-to-finish cb: setting uri http://192.168.1.111:8200/MediaItems/7295.flac
---------------------------------- Done playing....1
HZ: notify all uris changed ------






HZ:
upnp:classobject.item.audioItem.musicTrack/upnp:classdc:titleInner Disbelief (Acapella)/dc:titledc:creatorD-Bridge/dc:creatorupnp:artistD-Bridge/upnp:artistupnp:albumArtURIhttp://192.168.1.111:8200/AlbumArt/4613-7295.jpg/upnp:albumArtURIupnp:genreExperimental/upnp:genreupnp:albumFabricLive. 50/upnp:albumupnp:originalTrackNumber19/upnp:originalTrackNumberdc:date2010-01-01/dc:datehttp://192.168.1.111:8200/MediaItems/7295.flac
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: src: unhandled message type 8192 (stream-status)
GStreamer: source: unhandled message type 262144 (duration)

Windows Phone 8 Compatibility (Not a bug)

just a note:

AV Remote: no output
MyMediaHub: no output
Lindada: plays some
2 mp3's, both 16384bitrate audio/mpeg - one pops/clicks, the other plays but a bit 'scratchy'. Could by the PSU/cord.

Current pull does not build on Raspberry Pi

Just updated the source by 'git pull' and the result will not compile. I tried a full update of my PRi as well with apt-get update and rpi-update and tried again and get the same error:

make all-recursive
make[1]: Entering directory /home/pi/gmrender-resurrect' Making all in src make[2]: Entering directory/home/pi/gmrender-resurrect/src'
gcc -DHAVE_CONFIG_H -I. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/upnp -DPKG_DATADIR="/usr/local/share/gmediarender" -Wall -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
Inconsistency detected by ld.so: dl-lookup.c: 867: _dl_setup_hash: Assertion (bitmask_nwords & (bitmask_nwords - 1)) == 0' failed! make[2]: *** [main.o] Error 1 make[2]: Leaving directory/home/pi/gmrender-resurrect/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/pi/gmrender-resurrect'
make: *** [all] Error 2

Compatibility with Glib 2.18

I use gmrender with my old chumby that has glib 2.18.

Every time I need to recompile I've to apply a simple patch in order to support old way of initializing thread in glib

Here the snippet if you really want I can do a merge request:

http://pastebin.com/3J1FYK2E

Thanks for the software.

Color shift

Hi, I'm using minidlna as a upnp server on a linux computer, bubbleupnp as controller on an android device and gmrender-resurrect as upnp renderer on another linux computer.
When I try to play a video it's all ok except for a "color shift", like blue people, etc.
Another thing is that gmrenderer doesn't use the whole screen, leaving a black bar at the bottom.
Anyone have a solution, idea?

gmrender-resurrect crashes after reaching the end of the playlist

Hi HZeller,

I found the following issue on Debian Wheezy on PC:
gmrender-res seems to crash after it reached the end of the list of songs to play in the remote app.
The error is:

ERROR [2013-09-05 21:46:13.485001 | gstreamer] setting play state failed (1)ERROR [2013-09-05 21:46:13.485016 | gstreamer]
uridecodebin2: Error: Invalid URI "". (Debug: gsturidecodebin.c(1262): gen_source_element (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin2)
ERROR [2013-09-05 21:46:13.485179 | gstreamer] setting play state failed (2)
ERROR [2013-09-05 21:46:13.485198 | upnp] upnp_set_error: Playing failed
ERROR [2013-09-05 21:46:13.485454 | gstreamer] uridecodebin2: Error: Invalid URI "". (Debug: gsturidecodebin.c(1262): gen_source_element (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin2)

what can I do to fix/prevent this?

best regards,

Hendrik-Jan

P.S. this is stock Wheezy, so gstreamer 0.10

Playback Stopping after a few songs

Hey! I know you have a bug like this already on here, but i can't help but feel like mine is different.

This is the log right up to the failure.

http://pastebin.com/g4XeTHeg

Any ideas on how to get more information for you?

Server: foobar2000 running in wine on the same machine. Usually plays fine for a few songs, sometimes just throws a "could not connect" and playback does not start. When playing it can randomly stop playing and not show any errors on either log, but the time on foobar2000 does not advance.

leak memory and libupnp "total jobs = 100, too many job"

hi, I meet some problem, I feel that gmediarender have leak memory problem,
when I play mp3 music,it have 4762K memory throught free command,but it just have 3602K memory after play ten songs.After take some time,it only have 2862K memory.
gstreamer 0.10.36
gst-plugins-base-0.10.36
gst-plugins-good-0.10.31
gst-plugins-ugly-0.10.19
gst-plugins-bad-0.10.23
glib-2.24.1
libupnp-1.6.18

And,my libupnp have the problem that "total jobs= 100, too many job". In configure libnpnp with '--disable-blocking_tcp_connections',but I don't known why the problem still appear. The CPU is mips,so the compile is mipsel-linux-gcc.
Do you have any suggestions? ThankS!

Help Needed?

I'm currently using this library and I'm pretty impressed by it...good work! Out of curiosity though are there any enhancements you're planning on making or other things that people can assist with?

mutex_unlock problem

Hi,
i just succeeded in playing mp3-files to gmrender on Raspberry Pi via network. But gmrender crashes in many cases when handling events due to mutex-problems. Events maybe pausing/playing or stopping music as well as setting the speaker-volume:

---------- Console Output ------------------------------------------------------------------------------
[~]$ /home/pulse/opt/gmrender-resurrect/bin/gmediarender -u "68001818-e0c2-4df6-bd04-aa73f879fd9a" -f "Renderer"
gmediarender 0.0.7-git started [ gmediarender 2013-10-29_e2eb785 (libupnp-1.6.19; glib-2.38.2; gstreamer-1.2.2) ].
Logging switched off. Enable with --logfile= (e.g. --logfile=/dev/stdout for console)
Ready for rendering.
Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:110, function pa_mutex_unlock(). Aborting.

Abgebrochen (Speicherabzug geschrieben)

my system:

OS : archlinuxarm for Raspberry Pi, most recent version 3.10.28-1-ARCH
gstreamer 1.2.2-1
pulseaudio 4.0-6

gmrender has been compiled locally on the RaspPi from source without errors.

Are there any special flags or library settings related to mutex-handling in the archlinux environment?

BR
Hans-Peter

Grating/popping sound at the end of wav file

Hi HZeller,

not sure you can do anything about this, but here goes:
At the end of playing a .wav file, there is an audible grating or popping noise.
This seems to be related to metadata that is added to the wav file.
More on this here: http://www.psaudio.com/vanilla/discussion/3135/white-noise-at-end-of-wav-files/p1

It seems this is not only happening to gmrender-resurrect, but to more devices. The solution is to disable meta information in the wav, which is a problem again on the dlna "remote" side in finding the right song.

Is there anything you can do about this?

thanks,

Hendrik-Jan

Does now show up on the network and compile errors

I saw some updates today gmrender and compiled it on dockstar debian wheezy. I am still using gstreamer0.10. (I did not see gstreamer 1.0 in wheezy)
Here are some warnings that I got on the compile.
In file included from /usr/include/gstreamer-0.10/gst/gstpad.h:30:0,
from /usr/include/gstreamer-0.10/gst/gstelement.h:57,
from /usr/include/gstreamer-0.10/gst/gstbin.h:27,
from /usr/include/gstreamer-0.10/gst/gst.h:35,
from output_gstreamer.c:35:
/usr/include/gstreamer-0.10/gst/gstbuffer.h: In function ‘gst_buffer_ref’:
/usr/include/gstreamer-0.10/gst/gstbuffer.h:349:10: warning: cast increases required alignment of target type [-Wcast-align]
/usr/include/gstreamer-0.10/gst/gstbuffer.h: In function ‘gst_buffer_copy’:
/usr/include/gstreamer-0.10/gst/gstbuffer.h:387:10: warning: cast increases required alignment of target type [-Wcast-align]
In file included from /usr/include/gstreamer-0.10/gst/gstpad.h:33:0,
from /usr/include/gstreamer-0.10/gst/gstelement.h:57,
from /usr/include/gstreamer-0.10/gst/gstbin.h:27,
from /usr/include/gstreamer-0.10/gst/gst.h:35,
from output_gstreamer.c:35:
/usr/include/gstreamer-0.10/gst/gstevent.h: In function ‘gst_event_ref’:
/usr/include/gstreamer-0.10/gst/gstevent.h:404:10: warning: cast increases required alignment of target type [-Wcast-align]
/usr/include/gstreamer-0.10/gst/gstevent.h: In function ‘gst_event_copy’:
/usr/include/gstreamer-0.10/gst/gstevent.h:439:10: warning: cast increases required alignment of target type [-Wcast-align]
In file included from /usr/include/gstreamer-0.10/gst/gstbus.h:29:0,
from /usr/include/gstreamer-0.10/gst/gstelement.h:58,
from /usr/include/gstreamer-0.10/gst/gstbin.h:27,
from /usr/include/gstreamer-0.10/gst/gst.h:35,
from output_gstreamer.c:35:
/usr/include/gstreamer-0.10/gst/gstmessage.h: In function ‘gst_message_ref’:
/usr/include/gstreamer-0.10/gst/gstmessage.h:330:10: warning: cast increases required alignment of target type [-Wcast-align]
/usr/include/gstreamer-0.10/gst/gstmessage.h: In function ‘gst_message_copy’:
/usr/include/gstreamer-0.10/gst/gstmessage.h:368:10: warning: cast increases required alignment of target type [-Wcast-align]
output_gstreamer.c: In function ‘output_gstreamer_init’:
output_gstreamer.c:507:29: warning: cast increases required alignment of target type [-Wcast-align]
mv -f .deps/output_gstreamer.Tpo .deps/output_gstreamer.Po

gcc -Wall -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -o gmediarender main.o upnp.o upnp_control.o upnp_connmgr.o upnp_transport.o song-meta-data.o upnp_device.o upnp_renderer.o webserver.o output.o output_dummy.o xmldoc.o xmlescape.o output_gstreamer.o -pthread -lgthread-2.0 -lrt -lglib-2.0 -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 -pthread -lupnp -lthreadutil -lixml -lm

When I run the program, I get following warnings and the DLNA devices on the network do not see gmrender. I am not running X11 on dockstar.
(gmediarender:8306): GConf-WARNING *: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
GConf Error: No D-BUS daemon running
(gmediarender:8306): GConf-WARNING *
: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
GConf Error: No D-BUS daemon running
(gmediarender:8306): GConf-WARNING *: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
GConf Error: No D-BUS daemon running
(gmediarender:8306): GConf-WARNING *
: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
GConf Error: No D-BUS daemon running

debug level two shows following errors

(gmediarender:2547): GStreamer-CRITICAL **: gst_pad_new_from_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gmediarender:2547): GStreamer-CRITICAL **: gst_pad_template_get_caps: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(gmediarender:2547): GStreamer-CRITICAL **: gst_pad_set_caps: assertion `GST_IS_PAD (pad)' failed

(gmediarender:2547): GStreamer-CRITICAL **: gst_element_add_pad: assertion `GST_IS_PAD (pad)' failed

about NAT!

hello,hzeller:
can this tools support going through NAT, if can do,how to configure it ?

Cannot find the renderer due to invalid value of GetDeviceCapabilities and GetTransportSettings

The renderer (gmrenderer) have 2 issues: It don't return correct values for GetDeviceCapabilities and GetTransportSettings.

These 2 functions have output parameters and this renderer doesn't fill these output parameters. It's an issue from this renderer and it can't be acceptable since it doesn't follow UPnP rules. (Output parameters have to be present in the response even if they are empty).

BubbleUPnP should be able to discover this renderer because it don't take care about these output values (And it's also an issue...).

avahi

Hello,

Great job, I can now use my raspberry pi as renderer.
But gupnp-av-cp (simple av controller) is not working with mp4 audio files...

Anyway, this is not the point, I'd like to know how the renderer is advertise through avahi, in order to ask for the description.xml file, because it seems the listening port is not always the same.
I'm supposing this is done through avahi, or else is there any other way to get the listening port from a remote host ?
I'm writing a simple bash script to set media uri to play, then play and stop.

regards,
Thomas

Cinnarch Cannot See on network

The other day I got this compiled and running on my ubuntu box, now I have been testing it out on cinnarch in a Virtualbox VM on my windows 7 machine. I have it compiled and it runs fine saying ready for renedering, but I cannot connect to it with a control point. I am using a bridged connection so the VM is getting a IP from the router and I can access the ssh server installed, this makes me think that there is not a problem with the network or firewall. I also have the firewall (ufw) turned off. I scanned the ports with nmap and only port 22 ssh shows to be open but when I scan the ubuntu box it shows another port around 49153 unknown open.

I am not sure where to start troubleshooting from here any advice would be great, if anyone needs some other debug data, please let me know,

this is a great project, planning on getting and a rasb pi if my testing goes well.

Thanks,
Daniel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.