Hi, i'm having some problems trying to redirect the audio output from my computer to a upnp/dlna device using the following:
-Audioplayer (quodliber or rhythmbox)
-pulseaudio (working perfect on gnome 3)
-device (tested on PS3 and WD Live)
The Upnp share appear on the devices but give error when trying to play.
Rygel is working OK, for example if I use it for sharing my files, the played correctly
I tried changing transcoding settings but didn't work.
Also tried to use gstlaunch to redirect the gstreamer pipeline but exactly the same happens, that why my first suspect is pulseaudio
Any suggestion is welcome
I tested with the latest stable version 0.12.7 and with the unstable version 0.13.0 and still isn't working.
I spent a lot of time on this until I finally got it to work. Try this
1. Disable transcoding in /etc/rygel.conf
2. Specify the DLNA pulseaudio device in configuration of the GstLaunch plugin. For me ~/.config/rygel.conf looks like this:
[GstLaunch] enabled=true launch-items=mypulseaudiosink mypulseaudiosink-title=Sound on @HOSTNAME@ mypulseaudiosink-mime=audio/mpeg mypulseaudiosink-launch=pulsesrc device=upnp.monitor ! lamemp3enc target=quality quality=6
Notice two things: 1) the device is specifiedy by device=upnp.monitor, you can get it by looking at the output of pactl list, 2) you can actually transcode the stream to MP3 (if you don't want to, replace everything to the right of "!" with wavenc and change the mime type to audio/x-wav).
3. Start rygel.
For me it works for 0.10.2.
Hope it helps!
A bit closer!
Now it seems that the stream is recognized as a valid format but afterwards rygel start showing the following message endlessly:
WARNING **: rygel-http-request.vala:91: Invalid seek request
The player must be sending a request that rygel doesn't understand, I tried with 0.12.7 and 0.13.0 and is not working, I'll try to downgrade and see what happens
The same error in 0.11.3
0.10 give me some dependencies problem and I dont have time right now to mess with that.
Thank you very much anyway!
I'll get back on this as soon as i can.
I just got this working after a lot of trial and error. I found that the Arch Linux rygel package is compiled without gst-launch-plugin support. With some help from ABS i got it working (added --enable-gst-launch-plugin in PKGBUILD):
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --enable-gst-launch-plugin
After updating to the modified rygel package, "Gst launch" showed up as an UPNP source on my receiver and playback from PulseAudio worked as expected.
i'm trying to get this working too. Can you give me some hints? I already recompiled with "enable-gst-launsch-plugin" but i'm not sure how to use it.
What i expect is that as soon as i switch the output device of a application to "DLNA/Upnp Sharing", the rygel server is started an i can listen to that output on another device. But in fact the rygel server is not even started. When i start it manually, i can see my different laptop devices, but i never accomplished any playback.
There is always this error in the logs:
(rygel:10999): Rygel-CRITICAL **: Fehler in Weiterleitung RygelHTTPGstResponse: gstsouphttpsrc.c(924): gst_soup_http_src_finished_cb (): /GstPipeline:RygelHTTPGstResponse/GstBin:transcoder-source/GstSoupHTTPSrc:souphttpsrc4: libsoup status code 4
Thanks in advance,
Ok, i finally got it working too! But i used a different approach. It seems like that rygel needs the pulseaudio plugin "module-http-protocol-tcp" which is not loaded automatically. I added this module to my "default.pa" in "~./pulse" and now i can connect with a upnp device to my pulseaudio sinks \o/.
I first tried to edit the "/etc/pulseaudio/default.pa", but then the module was loaded, but for the gdm session of pulseaudio.
I think rygel needs some more work... in the default configuration it will share all files found by tracker to every network. This is very dangerous in my oppinion. You can change that by disabling the "tracker" module in "~./config/rygel.conf"