masmu / pulseaudio-dlna

A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux
GNU General Public License v3.0
1.25k stars 162 forks source link

pulseaudio-dlna on raspberry #110

Closed sartyx closed 8 years ago

sartyx commented 8 years ago

Hi I am having some difficulties to get this working on a raspberry pi. Probably me, not a bug. Hope you can help out.

I manually installed all the dependencies as far as I can see.

When now executing it I get this in return:

 $ pulseaudio-dlna
10-27 12:18:57 pulseaudio_dlna.notification                   ERROR    notify2 could not be initialized! Notifications will most likely not work.
10-27 12:18:58 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-27 12:18:58 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.178.34:8080
10-27 12:18:58 pulseaudio_dlna.application                    INFO     Loaded device config "/home/pi/.local/share/pulseaudio-dlna/devices.json"
10-27 12:18:58 pulseaudio_dlna.application                    INFO     Encoder settings:
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <AacEncoder available="False" bit-rate="192">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <FlacEncoder available="False">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <L16Encoder available="False" sample-rate="44100" channels="2">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <OggEncoder available="False" bit-rate="192">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <OpusEncoder available="False" bit-rate="192">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <WavEncoder available="False">
10-27 12:18:58 pulseaudio_dlna.application                    INFO     Codec settings:
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-27 12:18:58 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-27 12:18:58 pulseaudio_dlna.application                    ERROR    The streaming server could not bind to your specified port (8080). Perhaps this is already in use? Application terminates.

doesn´t matter which port I use with --port so I tried:

 $ pulseaudio-dlna --disable-ssdp-listener --port 10291
10-27 12:24:28 pulseaudio_dlna.notification                   ERROR    notify2 could not be initialized! Notifications will most likely not work.
10-27 12:24:28 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-27 12:24:29 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.178.34:10291
10-27 12:24:29 pulseaudio_dlna.application                    INFO     Loaded device config "/home/pi/.local/share/pulseaudio-dlna/devices.json"
10-27 12:24:29 pulseaudio_dlna.application                    INFO     Encoder settings:
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <AacEncoder available="False" bit-rate="192">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <FlacEncoder available="False">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <L16Encoder available="False" sample-rate="44100" channels="2">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <OggEncoder available="False" bit-rate="192">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <OpusEncoder available="False" bit-rate="192">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <WavEncoder available="False">
10-27 12:24:29 pulseaudio_dlna.application                    INFO     Codec settings:
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-27 12:24:29 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-27 12:24:31 pulseaudio_dlna.renderers                      INFO     Using device configuration:
<CoinedUpnpMediaRenderer name="UpMpd" short="upmpd_dlna" state="idle" udn="uuid:a632e261-f30b-cb3a-cce8-b827eb260085" model_name="UpMPD" model_number="1.0" manufacturer="JF Light Industries" timeout="10.0">
  <Mp3Codec enabled="True" priority="18" mime_type="audio/mpeg">
    <LameEncoder available="True" bit-rate="192">
  <WavCodec enabled="True" priority="15" mime_type="audio/wav">
    <WavEncoder available="False">
  <AacCodec enabled="True" priority="12" mime_type="audio/aac">
    <AacEncoder available="False" bit-rate="192">
  <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
    <FlacEncoder available="False">
  <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
    <OggEncoder available="False" bit-rate="192">
10-27 12:24:31 pulseaudio_dlna.renderers                      INFO     Using device configuration:
<CoinedUpnpMediaRenderer name="airmusic" short="airmusic_dlna" state="idle" udn="uuid:DAMAI-mac=845dd7a08fb4" model_name="airmusic" model_number="1.0.0" manufacturer="DAMAI" timeout="10.0">
  <Mp3Codec enabled="True" priority="18" mime_type="audio/mpeg">
    <LameEncoder available="True" bit-rate="192">
  <WavCodec enabled="True" priority="15" mime_type="audio/x-wav">
    <WavEncoder available="False">
  <AacCodec enabled="True" priority="12" mime_type="audio/aac">
    <AacEncoder available="False" bit-rate="192">
  <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
    <FlacEncoder available="False">
10-27 12:24:36 pulseaudio_dlna.listener                       INFO     Discovery complete.
Connection failure: Timeout
10-27 12:25:07 pulseaudio_dlna.pulseaudio                     ERROR    PulseAudio seems not to be running or PulseAudio dbus module could not be loaded.

So it is detecting the upnp device "airmusic" already but it hangs then. Pulseaudio is running:

$ pulseaudio
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

however reastarting it prints this:

 $ pulseaudio
W: [pulseaudio] pid.c: Stale PID file, overwriting.
W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
 $ pactl load-module module-dbus-protocol
Connection failure: Timeout

Anyway I don´t need X11 and the media files are on the raspberry pi. What am I doing wrong?

masmu commented 8 years ago

You did not do something wrong as far as i can see. The pulseaudio dbus module could not be loaded. But it is absolutely required. Is this a RPiv1? I read about troubles with that device regarding the mentioned module.

BTW: Without X11 you have to change your streams via pactl, which works but is not the best user experience.

sartyx commented 8 years ago

Yes it is a V1 B. The X11 is just for a gui, right? I don´t need that, I just want to play a mp3 from command line. Looks like I need to do some research about the dbus module.

masmu commented 8 years ago

Right. Try googling pulseaudio-dlna raspberry pi dbus-module or something similar ... If pulseaudio-dlna starts up correctly there is a new sink created for your devices. Check it with pactrl list short sinks, you are searching for module-null-sink.c.

After that you can start your music player which will create a stream on pulseaudio and switch that stream to the new sink via pactl. That what is happening when you use a GUI tool like pavucontrol as seen in the projects sample image. Then your device should start playing after some delay.

sartyx commented 8 years ago

For now pactl list short sinks just returns a timeout, probably because pulseaudio-dlna is not properly. I think the problem is somewhere else since dbus is active somehow: ps -ef | grep dbus 104 2128 1 0 15:11 ? 00:00:00 /usr/bin/dbus-daemon --system pi 3480 3142 0 15:38 pts/0 00:00:00 grep --color=auto dbus

Google isn´t very helpful this time, especially cause I have not real clue what I am doing ;-) Maybe it is even in collision with other stuff I tried before. As far as I read now dbus depends on X11 but why is it running then?

masmu commented 8 years ago

Sorry, I don't know whats going on your RPi. I read about problems with the RPiv1 and the pulseaudio dbus-module, thats why i asked if it is model 1 or 2. But if you fix the $ pactl load-module module-dbus-protocol command it should work.

Perhaps try another distribution for the RPi...

sartyx commented 8 years ago

Sigh.. I will try reinstalling pulseaudio, I don´t really want another dist as I already have some other stuff running I require. Anyway if this is not going to work I´ll probably put the raspberry directly to the speaker and use the jack output. Not really the nice solution but anyway.

Cygn commented 8 years ago

If you excuse the interruption; pulseaudio-dlna may not be the best solution for what you are trying to do. Instead of sending raw sound data through upnp with pa-dlna, you'd be better serving directly source audio files and let your upnp renderer do the decoding. minidlna works well for this. This is also more robust to network fluctuations and to cpu bottleneck on the rpi. You'll need a upnp control point somewhere in your network, but apparently you have at least the renderer so probably the control point too.

sartyx commented 8 years ago

@Cygn Well actually I don´t want to control from outside nor with some gui. A script on the raspberry should start the playing. So I tried minidlna first already but I couldn´t find out how to push the file from the raspberry to the airmusic box then. I had something like "mpc play airmusic" in mind but it ain´t that easy. How do I define the output device for minidlna as it actually is a server but not a player?

Cygn commented 8 years ago

Actually minidlna does not care about the renderer, it just serves the file. you need the control point to tell the renderer which file to play. http://www.accella.net/sending-a-video-content-to-a-dlnaupnp-softwaredevice-using-curl/ gives a solution on how to push content to a DLNA renderer using only curl. If you are always using the same renderer in your script it should be quite straightforward to automate. dleyna (https://01.org/dleyna/) would also let you do this, in python. see http://jensge.org/2013/04/dlna-client-side/ for some very elegant examples.

Cygn commented 8 years ago

there is apparently also https://github.com/phako/korva which provides a DLNA push function through gupnp.

Cygn commented 8 years ago

another solution, pure perl, quite easy to hack to your needs. https://github.com/amgorb/simple-DLNA-remote-controller

sartyx commented 8 years ago

Thanks for the suggestions, dleyna and korva seem to use dbus too but the curl way might be an option. I will have a closer look at that.

sartyx commented 8 years ago

Man how I dislike pseudo tutorials, however with some research I managed to get some info from the airmusic box That M-SEARCH is just some non-working curiosity so I tried this instead:

sudo tcpdump -vv -A -s 0 -i eth0 udp port 1900 and host 239.255.255.250

this returns a lot of (funny) information: OPT: "http://who.am.i/super/man/yes/"; ns=01 finally also : LOCATION: http://192.168.178.37:49494/description.xml with some useful information for the curl requests

urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /upnp/rendertransportSCPD.xml /upnp/control/rendertransport1

and

urn:schemas-upnp-org:service:RenderingControl:1urn:upnp-org:serviceId:RenderingControl /upnp/rendercontrolSCPD.xml /upnp/control/rendercontrol1 /upnp/event/rendercontrol1 however both controlURL don´t have an xml and when I go to that location 192.168.178.37:49494/upnp/control/rendercontrol1/ returns a 404 So I just gave it a shot: ``` curl -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"' -d '0' 'http://192.168.178.37:49494/upnp/control/renderconnmgr1' ``` and got another useless error message in return (same when using the SCPD Url) ``` s:Client UPnPError -1 Invalid Action ``` I just feel like I am inventing a wheel or something. I just wanna play a damn mp3 :( No matter what way I try it looks like this just ain´t working.
DrAxelbauer commented 8 years ago

I think i have a similar problem Hi! I tried to use pulseaudio-dlna to stream my audio output to my raspberry which is using gmediarenderer … System: Opensuse 13.2 with pulseaudio 7.0 id like to stream the audio output to my raspberry, which is already workin with other devices…

pulseaudio-dlna
10-30 10:20:45 pulseaudio_dlna.application                    ERROR    The streaming server could not bind to your specified port (8080). Perhaps this is already in use? Application terminates.

Actually i don know which app is using this port…so i did

pulseaudio-dlna --disable-ssdp-listener

which is starting up, but it is not recognizing my Raspberry Pi, so it is not showing up in pavucontrol …Am doing something wrong?

Thanks Benjamin.

Here is the full output:

pulseaudio-dlna --disable-ssdp-listener
10-30 10:36:59 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-30 10:36:59 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.0.21:8080
10-30 10:36:59 pulseaudio_dlna.application                    INFO     Loaded device config "/home/benji/.local/share/pulseaudio-dlna/devices.json"
10-30 10:36:59 pulseaudio_dlna.application                    INFO     Encoder settings:
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <AacEncoder available="True" bit-rate="192">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <FlacEncoder available="True">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <L16Encoder available="True" sample-rate="44100" channels="2">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <OggEncoder available="True" bit-rate="192">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <OpusEncoder available="True" bit-rate="192">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <WavEncoder available="True">
10-30 10:36:59 pulseaudio_dlna.application                    INFO     Codec settings:
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-30 10:36:59 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-30 10:37:04 pulseaudio_dlna.listener                       INFO     Discovery complete.
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream39"
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream40"
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     ERROR    Could not get "/org/pulseaudio/core1/playback_stream41" from dbus.
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream40"
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream41"
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream41"
10-30 10:37:24 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream42"
10-30 10:37:25 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0
10-30 10:37:25 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0 finished!

…Actually 192.168.0.21 is the very computer I am running pulseaudio-dlna. My Raspberry is 192.168.0.22 and has the device name "Raspberry" which is recognized as it seems…

sartyx commented 8 years ago

Maybe you just need to kill an old instance of pulseaudio-dlna which occupies the 8080 port ? Check with ps -auxor use a different port, though this may need some changes at the raspberry, not sure. pulseaudio-dlna -port 6060

DrAxelbauer commented 8 years ago

Thanks for the quick reply!!! If I am right this should show the process in question…

ps -aux | grep 8080
benji     6705  0.0  0.0  10540  1580 pts/1    S+   10:57   0:00 grep --color=auto 8080

…does not show anything…

If i try the other options:

pulseaudio-dlna --port 6060
10-30 10:58:17 pulseaudio_dlna.application                    ERROR    The SSDP listener could not bind to the port 1900/UDP. Probably the port is in use by another application. Terminate the application which is using the port or run this application with the "--disable-ssdp-listener" flag.

Still the same and ps does also find nothing…Strange…

sartyx commented 8 years ago

its -port not --port as far as I remember

DrAxelbauer commented 8 years ago

Okay i tried the following, but none of these did work:

pulseaudio-dlna --port=6060 --disable-ssdp-listener                     
10-30 11:11:41 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-30 11:11:41 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.0.21:6060
10-30 11:11:41 pulseaudio_dlna.application                    INFO     Loaded device config "/home/benji/.local/share/pulseaudio-dlna/devices.json"
10-30 11:11:41 pulseaudio_dlna.application                    INFO     Encoder settings:
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <AacEncoder available="True" bit-rate="192">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <FlacEncoder available="True">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <L16Encoder available="True" sample-rate="44100" channels="2">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <OggEncoder available="True" bit-rate="192">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <OpusEncoder available="True" bit-rate="192">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <WavEncoder available="True">
10-30 11:11:41 pulseaudio_dlna.application                    INFO     Codec settings:
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-30 11:11:41 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-30 11:11:46 pulseaudio_dlna.listener                       INFO     Discovery complete.
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream56"
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream57"
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     ERROR    Could not get "/org/pulseaudio/core1/playback_stream57" from dbus.
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream57"
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream58"
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream58"
10-30 11:11:57 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream59"
10-30 11:11:58 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0
10-30 11:11:58 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0 finished!
^CApplication is shutting down.

and:

pulseaudio-dlna --host=192.168.0.22 --disable-ssdp-listener
10-30 11:12:18 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-30 11:12:18 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.0.22:8080
10-30 11:12:18 pulseaudio_dlna.application                    INFO     Loaded device config "/home/benji/.local/share/pulseaudio-dlna/devices.json"
10-30 11:12:18 pulseaudio_dlna.application                    INFO     Encoder settings:
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <AacEncoder available="True" bit-rate="192">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <FlacEncoder available="True">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <L16Encoder available="True" sample-rate="44100" channels="2">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <OggEncoder available="True" bit-rate="192">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <OpusEncoder available="True" bit-rate="192">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <WavEncoder available="True">
10-30 11:12:18 pulseaudio_dlna.application                    INFO     Codec settings:
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-30 11:12:18 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-30 11:12:23 pulseaudio_dlna.listener                       INFO     Discovery complete.
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream59"
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream60"
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream60"
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream61"
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream61"
10-30 11:12:30 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream62"
10-30 11:12:31 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0
10-30 11:12:31 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink0 finished!
^CApplication is shutting down.

So it seems that there is something found but the device "Raspberry" should show up in pavucontrol which is not the case…It is still the same if i change the port to 6060 on 192.168.0.22 (where my raspberry pi rests)…

sartyx commented 8 years ago

Have you tried locating the raspberry, if it is available at all through upnp? sudo tcpdump -vv -A -s 0 -i eth0 udp port 1900 and host 239.255.255.250

for eth0 your network interface of course

DrAxelbauer commented 8 years ago

No i did not, because i could not find the way to do it ;) Thanks anyway. I try to stream over Wlan so do i just have to replace eth0 with my wlan device or do i have to change the whole command?

sartyx commented 8 years ago

replacing with your wlan device should do

DrAxelbauer commented 8 years ago

Here is the outpu…so my raspberry is not recognized…Strange when i try it with my smartphone it is showing up…

tcpdump -vv -A -s 0 -i wlo1 udp port 1900 and host 239.255.255.250
root's password:
tcpdump: listening on wlo1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:08:13.490675 IP (tos 0x0, ttl 1, id 62647, offset 0, flags [none], proto UDP (17), length 155)
    192.168.0.15.65062 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 127
E....................&.l....M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 10
ST: urn:dial-multiscreen-org:service:dial:1

.

Any hints. Do have to check the gmediarenderer on my raspberry?

Hmm gmediarenderer should be compatible: "GMediaRender should work with any compliant UPnP media server and control point, but unfortunately many implementations are not fully compliant." – http://gmrender.nongnu.org/#intro

Do you think, that the renderer engine (upnp) is not recognized or compatible with pulseaudio-dlna?

sartyx commented 8 years ago

Hmm can´t tell if it is visible as upnp device on the phone it should work with tcpdump too.

DrAxelbauer commented 8 years ago

Is it possible to use tcpdump also with the device name or the ip?

DrAxelbauer commented 8 years ago
sudo tcpdump -vv -A -s 0 -i wlo1 host 192.168.0.22
tcpdump: listening on wlo1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:56:46.173334 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.0.22 tell 192.168.0.1, length 46
..............................................

Just an idea: Do I have to open a port at the router so that i can tunnel to the raspberry through tcpdump

sartyx commented 8 years ago

not likely, just test it: nc 192.168.0.22 6060 &> /dev/null; echo $? should return 0 or 1 (1=closed) or nc -zv 192.168.0.22 6060 or for your local machine 127.0.0.1 then of course

DrAxelbauer commented 8 years ago

okay port is open…and gmediarender is excatly running through this port …again my smartphone is finding gmediarender (the raspi) but tcpdump not…

sudo tcpdump -vv -A -s 0 -i wlo1 udp port 49152
masmu commented 8 years ago

To find out which process is using 1900/udp use:

ps aux | grep -i $(fuser 1900/udp | awk '{ print $1; }')
masmu commented 8 years ago

@DrAxelbauer : Can i get the output of ifconfig and route -n from the Raspberry Pi and your PC?

You do not have to struggle with the ports. Important is that the tcp port is not used. In your case: pulseaudio-dlna --port=6060 works. If you want pulseaudio-dlna to find your renderers while running and not just at application startup, you also need 1900/udp. Find out which application is using it and close it or disable the automatic finding with --disable-ssdp-listener.

Regarding your question if pulseaudio-dlna is compatible. I guess you have a network problem, because the discovery cannot find your renderer. That part of the application is very robust. If it finds the renderer we can talk about compatibility. :wink:

Do you use an Android phone?

DrAxelbauer commented 8 years ago

Hi! Thanks…i found out, that it was rygel which was blocking…I disabled it and now pulseaudio-dlna is workin without the --disable-ssdp-listener Flag. But still the device is not showing up in pavucpontrol...

Here are the outputs of my PC:

sudo ifconfig
eno1      Link encap:Ethernet  Hardware Adresse A4:5D:36:BC:19:37  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:58 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:0 
          RX bytes:4596 (4.4 Kb)  TX bytes:4596 (4.4 Kb)

wlo1      Link encap:Ethernet  Hardware Adresse BC:85:56:F1:C7:01  
          inet Adresse:192.168.0.21  Bcast:192.168.0.255  Maske:255.255.255.0
          inet6 Adresse: fe80::be85:56ff:fef1:c701/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:49681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2799 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:1000 
          RX bytes:72342186 (68.9 Mb)  TX bytes:433283 (423.1 Kb)

sudo route -n
Kernel IP Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    1024   0        0 wlo1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlo1

And from the Raspberry:

sudo ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:a2:fa:ac  
          inet addr:192.168.0.22  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:751760 errors:0 dropped:0 overruns:0 frame:0
          TX packets:925818 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:136047196 (129.7 MiB)  TX bytes:474764768 (452.7 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:202464 errors:0 dropped:0 overruns:0 frame:0
          TX packets:202464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:137717126 (131.3 MiB)  TX bytes:137717126 (131.3 MiB)

sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Yes Iḿ using an Androidphone…

masmu commented 8 years ago

We make a manual test. Please install BubbleUPnP from the play store. As you mentioned it should be able to find the Pi.

Run the following on your pc:

pulseaudio-dlna --renderer-urls='http://192.168.1.100:4732/8df2498/description.xml'

If you get the tcp port issue again, select port 6060 as that worked for you before.

pulseaudio-dlna --port 6060 --renderer-urls='http://192.168.1.100:4732/8df2498/description.xml'
DrAxelbauer commented 8 years ago

Ola! Becoming better ;)

pulseaudio-dlna --renderer-urls='http://192.168.0.22:49152/description.xml'

This one works with bubbleupnp with my smartphone. And in pavucontroll the renderer is now showing up. But when i select it still there is no sound from my raspberry … So in short: pulseaudio-dlna is running proberly and showing up but there is not sound output at the raspi…

masmu commented 8 years ago

Are you able to stream music to your Pi via BubbleUPnP?

The following command will create a debug.log in the current directory.

pulseaudio-dlna --debug --renderer-urls='http://192.168.0.22:49152/description.xml' 2>&1 | tee -a debug.log

Can you retry to stream something and pastebin the debug.log here?

DrAxelbauer commented 8 years ago

Yes with my smartphone it works like a charm! But not with the PC…

Here is the output:

10-30 16:45:42 pulseaudio_dlna.rules                          DEBUG    Loaded rules:
10-30 16:45:42 pulseaudio_dlna.rules                          DEBUG      DISABLE_DEVICE_STOP = <class 'pulseaudio_dlna.rules.DISABLE_DEVICE_STOP'>
10-30 16:45:42 pulseaudio_dlna.rules                          DEBUG      FAKE_HTTP_CONTENT_LENGTH = <class 'pulseaudio_dlna.rules.FAKE_HTTP_CONTENT_LENGTH'>
10-30 16:45:42 pulseaudio_dlna.rules                          DEBUG      REQUEST_TIMEOUT = <class 'pulseaudio_dlna.rules.REQUEST_TIMEOUT'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG    Loaded encoders:
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.AacEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.FlacEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.L16Encoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.LameEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.NullEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.OggEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.OpusEncoder'>
10-30 16:45:42 pulseaudio_dlna.encoder                        DEBUG      <class 'pulseaudio_dlna.encoders.WavEncoder'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG    Loaded codecs:
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      aac = <class 'pulseaudio_dlna.codecs.AacCodec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      flac = <class 'pulseaudio_dlna.codecs.FlacCodec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      l16 = <class 'pulseaudio_dlna.codecs.L16Codec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      mp3 = <class 'pulseaudio_dlna.codecs.Mp3Codec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      ogg = <class 'pulseaudio_dlna.codecs.OggCodec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      opus = <class 'pulseaudio_dlna.codecs.OpusCodec'>
10-30 16:45:42 pulseaudio_dlna.codecs                         DEBUG      wav = <class 'pulseaudio_dlna.codecs.WavCodec'>
10-30 16:45:42 pulseaudio_dlna.application                    INFO     Using version: 0.4.6
10-30 16:45:42 pulseaudio_dlna.application                    INFO     Using localhost: 192.168.0.21:8080
10-30 16:45:42 pulseaudio_dlna.application                    DEBUG    Device configuration:
{}
10-30 16:45:42 pulseaudio_dlna.application                    INFO     Loaded device config "/home/benji/.local/share/pulseaudio-dlna/devices.json"
10-30 16:45:42 pulseaudio_dlna.application                    INFO     Encoder settings:
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <AacEncoder available="True" bit-rate="192">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <FlacEncoder available="True">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <L16Encoder available="True" sample-rate="44100" channels="2">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <LameEncoder available="True" bit-rate="192">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <NullEncoder available="True">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <OggEncoder available="True" bit-rate="192">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <OpusEncoder available="True" bit-rate="192">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <WavEncoder available="True">
10-30 16:45:42 pulseaudio_dlna.application                    INFO     Codec settings:
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <AacCodec enabled="True" priority="12" mime_type="audio/aac">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <L16Codec enabled="True" priority="0" mime_type="audio/L16">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <OpusCodec enabled="True" priority="3" mime_type="audio/opus">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <Mp3Codec enabled="True" priority="18" mime_type="audio/mp3">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <FlacCodec enabled="True" priority="9" mime_type="audio/flac">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <WavCodec enabled="True" priority="15" mime_type="audio/wav">
10-30 16:45:42 pulseaudio_dlna.application                    INFO       <OggCodec enabled="True" priority="6" mime_type="audio/ogg">
10-30 16:45:42 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:42 requests.packages.urllib3.connectionpool       DEBUG    "GET /description.xml HTTP/1.1" 200 2071
10-30 16:45:42 pulseaudio_dlna.plugins.chromecast.renderer    DEBUG    Response from chromecast device (http://192.168.0.22:49152/description.xml)
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<presentationURL></presentationURL>
<friendlyName>gmediarender</friendlyName>
<manufacturer>Ivo Clarysse, Henner Zeller</manufacturer>
<manufacturerURL>http://github.com/hzeller/gmrender-resurrect</manufacturerURL>
<modelDescription>gmediarender 0.0.7-git</modelDescription>
<modelName>gmediarender</modelName>
<modelNumber>2015-05-06_aa3d02c</modelNumber>
<modelURL>http://github.com/hzeller/gmrender-resurrect</modelURL>
<UDN>uuid:GMediaRender-1_0-000-000-002</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>64</width>
<height>64</height>
<depth>24</depth>
<url>/upnp/grender-64x64.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>128</width>
<height>128</height>
<depth>24</depth>
<url>/upnp/grender-128x128.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/upnp/rendertransportSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendertransport1</controlURL>
<eventSubURL>/upnp/event/rendertransport1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/upnp/renderconnmgrSCPD.xml</SCPDURL>
<controlURL>/upnp/control/renderconnmgr1</controlURL>
<eventSubURL>/upnp/event/renderconnmgr1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/upnp/rendercontrolSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendercontrol1</controlURL>
<eventSubURL>/upnp/event/rendercontrol1</eventSubURL>
</service>
</serviceList>
</device>
<URLBase>http://192.168.0.22:49152/</URLBase>
</root>

10-30 16:45:42 pulseaudio_dlna.plugins.chromecast.renderer    INFO     The Chromecast seems not to be an original Chromecast! Model name: "gmediarender" Skipping device ...
10-30 16:45:42 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:42 requests.packages.urllib3.connectionpool       DEBUG    "GET /description.xml HTTP/1.1" 200 2071
10-30 16:45:42 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Response from UPNP device (http://192.168.0.22:49152/description.xml)
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<presentationURL></presentationURL>
<friendlyName>gmediarender</friendlyName>
<manufacturer>Ivo Clarysse, Henner Zeller</manufacturer>
<manufacturerURL>http://github.com/hzeller/gmrender-resurrect</manufacturerURL>
<modelDescription>gmediarender 0.0.7-git</modelDescription>
<modelName>gmediarender</modelName>
<modelNumber>2015-05-06_aa3d02c</modelNumber>
<modelURL>http://github.com/hzeller/gmrender-resurrect</modelURL>
<UDN>uuid:GMediaRender-1_0-000-000-002</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>64</width>
<height>64</height>
<depth>24</depth>
<url>/upnp/grender-64x64.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>128</width>
<height>128</height>
<depth>24</depth>
<url>/upnp/grender-128x128.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/upnp/rendertransportSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendertransport1</controlURL>
<eventSubURL>/upnp/event/rendertransport1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/upnp/renderconnmgrSCPD.xml</SCPDURL>
<controlURL>/upnp/control/renderconnmgr1</controlURL>
<eventSubURL>/upnp/event/renderconnmgr1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/upnp/rendercontrolSCPD.xml</SCPDURL>
<controlURL>/upnp/control/rendercontrol1</controlURL>
<eventSubURL>/upnp/event/rendercontrol1</eventSubURL>
</service>
</serviceList>
</device>
<URLBase>http://192.168.0.22:49152/</URLBase>
</root>

10-30 16:45:42 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:42 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/renderconnmgr1 HTTP/1.1" 200 5563
10-30 16:45:42 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Got the following mime types: "http-get:*:application/x-teletext:*,http-get:*:audio/x-private1-lpcm:*,http-get:*:application/vnd.ms-sstr+xml:*,http-get:*:application/x-id3:*,http-get:*:video/x-mimic:*,http-get:*:application/x-gdp:*,http-get:*:application/x-bzip:*,http-get:*:application/x-srtcp:*,http-get:*:application/x-srtp:*,http-get:*:application/x-subtitle-qttext:*,http-get:*:application/x-subtitle-dks:*,http-get:*:application/x-subtitle-mpl2:*,http-get:*:application/x-subtitle-tmplayer:*,http-get:*:application/x-subtitle-sami:*,http-get:*:application/x-subtitle:*,http-get:*:application/mxf:*,http-get:*:video/x-pwc2:*,http-get:*:video/x-pwc1:*,http-get:*:video/x-sonix:*,http-get:*:raw/x-pcap:*,http-get:*:audio/x-au:*,http-get:*:application/x-apetag:*,http-get:*:application/x-ogg-avi:*,http-get:*:application/x-ogm-text:*,http-get:*:text/x-cmml:*,http-get:*:application/x-ogm-audio:*,http-get:*:video/x-daala:*,http-get:*:video/x-smoke:*,http-get:*:application/x-ogm-video:*,http-get:*:application/kate:*,http-get:*:audio/x-vgm:*,http-get:*:audio/x-spc:*,http-get:*:audio/x-sap:*,http-get:*:audio/x-nsf:*,http-get:*:audio/x-kss:*,http-get:*:audio/x-hes:*,http-get:*:audio/x-gym:*,http-get:*:audio/x-gbs:*,http-get:*:audio/x-ay:*,http-get:*:application/x-kate:*,http-get:*:application/x-subtitle-avi:*,http-get:*:video/x-msvideo:*,http-get:*:audio/ms-gsm:*,http-get:*:audio/x-wavpack:*,http-get:*:audio/x-private1-dts:*,http-get:*:audio/x-private1-ac3:*,http-get:*:audio/x-amr-wb-sh:*,http-get:*:audio/x-amr-nb-sh:*,http-get:*:video/x-cdxa:*,http-get:*:image/jp2:*,http-get:*:audio/x-nellymoser:*,http-get:*:video/x-vp6-alpha:*,http-get:*:video/x-flash-screen:*,http-get:*:video/x-flv:*,http-get:*:application/x-hls:*,http-get:*:application/x-subtitle-unknown:*,http-get:*:application/x-usf:*,http-get:*:application/x-ass:*,http-get:*:application/x-ssa:*,http-get:*:subtitle/x-kate:*,http-get:*:audio/x-wma:*,http-get:*:audio/x-pn-realaudio:*,http-get:*:audio/x-tta:*,http-get:*:audio/x-dts:*,http-get:*:audio/x-eac3:*,http-get:*:video/x-pn-realvideo:*,http-get:*:video/x-huffyuv:*,http-get:*:video/webm:*,http-get:*:audio/webm:*,http-get:*:video/x-matroska-3d:*,http-get:*:video/x-matroska:*,http-get:*:audio/x-matroska:*,http-get:*:audio/x-stm:*,http-get:*:audio/x-s3m:*,http-get:*:audio/x-it:*,http-get:*:audio/x-xm:*,http-get:*:audio/x-mod:*,http-get:*:video/x-ms-asf:*,http-get:*:application/x-yuv4mpeg:*,http-get:*:application/sdp:*,http-get:*:audio/x-opus:*,http-get:*:audio/aiff:*,http-get:*:audio/x-aiff:*,http-get:*:audio/x-flac:*,http-get:*:multipart/x-mixed-replace:*,http-get:*:application/x-rtcp:*,http-get:*:application/x-rdt:*,http-get:*:application/x-pn-realaudio:*,http-get:*:application/vnd.rn-realmedia:*,http-get:*:audio/riff-midi:*,http-get:*:audio/midi:*,http-get:*:video/x-bayer:*,http-get:*:video/ogg:*,http-get:*:audio/ogg:*,http-get:*:application/ogg:*,http-get:*:audio/x-vorbis:*,http-get:*:audio/x-siren:*,http-get:*:audio/x-sbc:*,http-get:*:video/mpegts:*,http-get:*:video/x-jpeg:*,http-get:*:audio/x-gsm:*,http-get:*:audio/G729:*,http-get:*:audio/G723:*,http-get:*:audio/G722:*,http-get:*:audio/x-iLBC:*,http-get:*:audio/x-celt:*,http-get:*:audio/x-bv:*,http-get:*:audio/x-ac3:*,http-get:*:audio/ac3:*,http-get:*:audio/x-midi-event:*,http-get:*:audio/x-lpcm:*,http-get:*:image/svg+xml:*,http-get:*:image/svg:*,http-get:*:image/x-pcx:*,http-get:*:image/x-tga:*,http-get:*:image/x-bitmap:*,http-get:*:image/vnd.wap.wbmp:*,http-get:*:image/x-MS-bmp:*,http-get:*:image/x-bmp:*,http-get:*:image/bmp:*,http-get:*:image/x-portable-pixmap:*,http-get:*:image/x-portable-graymap:*,http-get:*:image/x-portable-bitmap:*,http-get:*:image/x-portable-anymap:*,http-get:*:image/tiff:*,http-get:*:image/x-pixmap:*,http-get:*:image/x-sun-raster:*,http-get:*:image/x-cmu-raster:*,http-get:*:application/x-navi-animation:*,http-get:*:image/x-icon:*,http-get:*:image/gif:*,http-get:*:image/png:*,http-get:*:subpicture/x-pgs:*,http-get:*:subpicture/x-dvd:*,http-get:*:video/x-fli:*,http-get:*:text/x-
raw:*,http-get:*:subpicture/x-dvb:*,http-get:*:application/x-icy:*,http-get:*:audio/x-speex:*,http-get:*:text/plain:*,http-get:*:image/x-jpc:*,http-get:*:image/x-j2c:*,http-get:*:video/x-mp4-part:*,http-get:*:video/x-qt-part:*,http-get:*:video/x-dirac:*,http-get:*:image/jpeg:*,http-get:*:video/x-dv:*,http-get:*:video/x-svq:*,http-get:*:audio/alac:*,http-get:*:audio/x-alac:*,http-get:*:audio/AMR-WB:*,http-get:*:audio/AMR:*,http-get:*:audio/x-mulaw:*,http-get:*:audio/x-alaw:*,http-get:*:audio/x-adpcm:*,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-rtp:*,http-get:*:application/x-3gp:*,http-get:*:audio/mp4:*,http-get:*:audio/m4a:*,http-get:*:audio/x-m4a:*,http-get:*:video/mj2:*,http-get:*:video/quicktime:*,http-get:*:video/x-raw:*,http-get:*:audio/x-raw:*,http-get:*:application/dash+xml:*,http-get:*:video/x-wmv:*,http-get:*:video/x-flash-video:*,http-get:*:video/mpeg:*,http-get:*:video/x-msmpeg:*,http-get:*:video/x-divx:*,http-get:*:video/x-vp9:*,http-get:*:video/x-vp8:*,http-get:*:video/x-vp6-flash:*,http-get:*:video/x-vp6:*,http-get:*:video/x-theora:*,http-get:*:video/x-h263:*,http-get:*:video/x-h264:*,http-get:*:audio/*:*,http-get:*:audio/x-wav:*"
10-30 16:45:42 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending GET_PROTOCOL_INFO to http://192.168.0.22:49152/upnp/control/renderconnmgr1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:ConnectionManager:1#GetProtocolInfo"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:GetProtocolInfo xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1">
        </u:GetProtocolInfo>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:GetProtocolInfoResponse xmlns:u="urn:schemas-upnp-org:service:ConnectionManager:1">
<Source></Source>
<Sink>http-get:*:application/x-teletext:*,http-get:*:audio/x-private1-lpcm:*,http-get:*:application/vnd.ms-sstr+xml:*,http-get:*:application/x-id3:*,http-get:*:video/x-mimic:*,http-get:*:application/x-gdp:*,http-get:*:application/x-bzip:*,http-get:*:application/x-srtcp:*,http-get:*:application/x-srtp:*,http-get:*:application/x-subtitle-qttext:*,http-get:*:application/x-subtitle-dks:*,http-get:*:application/x-subtitle-mpl2:*,http-get:*:application/x-subtitle-tmplayer:*,http-get:*:application/x-subtitle-sami:*,http-get:*:application/x-subtitle:*,http-get:*:application/mxf:*,http-get:*:video/x-pwc2:*,http-get:*:video/x-pwc1:*,http-get:*:video/x-sonix:*,http-get:*:raw/x-pcap:*,http-get:*:audio/x-au:*,http-get:*:application/x-apetag:*,http-get:*:application/x-ogg-avi:*,http-get:*:application/x-ogm-text:*,http-get:*:text/x-cmml:*,http-get:*:application/x-ogm-audio:*,http-get:*:video/x-daala:*,http-get:*:video/x-smoke:*,http-get:*:application/x-ogm-video:*,http-get:*:application/kate:*,http-get:*:audio/x-vgm:*,http-get:*:audio/x-spc:*,http-get:*:audio/x-sap:*,http-get:*:audio/x-nsf:*,http-get:*:audio/x-kss:*,http-get:*:audio/x-hes:*,http-get:*:audio/x-gym:*,http-get:*:audio/x-gbs:*,http-get:*:audio/x-ay:*,http-get:*:application/x-kate:*,http-get:*:application/x-subtitle-avi:*,http-get:*:video/x-msvideo:*,http-get:*:audio/ms-gsm:*,http-get:*:audio/x-wavpack:*,http-get:*:audio/x-private1-dts:*,http-get:*:audio/x-private1-ac3:*,http-get:*:audio/x-amr-wb-sh:*,http-get:*:audio/x-amr-nb-sh:*,http-get:*:video/x-cdxa:*,http-get:*:image/jp2:*,http-get:*:audio/x-nellymoser:*,http-get:*:video/x-vp6-alpha:*,http-get:*:video/x-flash-screen:*,http-get:*:video/x-flv:*,http-get:*:application/x-hls:*,http-get:*:application/x-subtitle-unknown:*,http-get:*:application/x-usf:*,http-get:*:application/x-ass:*,http-get:*:application/x-ssa:*,http-get:*:subtitle/x-kate:*,http-get:*:audio/x-wma:*,http-get:*:audio/x-pn-realaudio:*,http-get:*:audio/x-tta:*,http-get:*:audio/x-dts:*,http-get:*:audio/x-eac3:*,http-get:*:video/x-pn-realvideo:*,http-get:*:video/x-huffyuv:*,http-get:*:video/webm:*,http-get:*:audio/webm:*,http-get:*:video/x-matroska-3d:*,http-get:*:video/x-matroska:*,http-get:*:audio/x-matroska:*,http-get:*:audio/x-stm:*,http-get:*:audio/x-s3m:*,http-get:*:audio/x-it:*,http-get:*:audio/x-xm:*,http-get:*:audio/x-mod:*,http-get:*:video/x-ms-asf:*,http-get:*:application/x-yuv4mpeg:*,http-get:*:application/sdp:*,http-get:*:audio/x-opus:*,http-get:*:audio/aiff:*,http-get:*:audio/x-aiff:*,http-get:*:audio/x-flac:*,http-get:*:multipart/x-mixed-replace:*,http-get:*:application/x-rtcp:*,http-get:*:application/x-rdt:*,http-get:*:application/x-pn-realaudio:*,http-get:*:application/vnd.rn-realmedia:*,http-get:*:audio/riff-midi:*,http-get:*:audio/midi:*,http-get:*:video/x-bayer:*,http-get:*:video/ogg:*,http-get:*:audio/ogg:*,http-get:*:application/ogg:*,http-get:*:audio/x-vorbis:*,http-get:*:audio/x-siren:*,http-get:*:audio/x-sbc:*,http-get:*:video/mpegts:*,http-get:*:video/x-jpeg:*,http-get:*:audio/x-gsm:*,http-get:*:audio/G729:*,http-get:*:audio/G723:*,http-get:*:audio/G722:*,http-get:*:audio/x-iLBC:*,http-get:*:audio/x-celt:*,http-get:*:audio/x-bv:*,http-get:*:audio/x-ac3:*,http-get:*:audio/ac3:*,http-get:*:audio/x-midi-event:*,http-get:*:audio/x-lpcm:*,http-get:*:image/svg+xml:*,http-get:*:image/svg:*,http-get:*:image/x-pcx:*,http-get:*:image/x-tga:*,http-get:*:image/x-bitmap:*,http-get:*:image/vnd.wap.wbmp:*,http-get:*:image/x-MS-bmp:*,http-get:*:image/x-bmp:*,http-get:*:image/bmp:*,http-get:*:image/x-portable-pixmap:*,http-get:*:image/x-portable-graymap:*,http-get:*:image/x-portable-bitmap:*,http-get:*:image/x-portable-anymap:*,http-get:*:image/tiff:*,http-get:*:image/x-pixmap:*,http-get:*:image/x-sun-raster:*,http-get:*:image/x-cmu-raster:*,http-get:*:application/x-navi-animation:*,http-get:*:image/x-icon:*,http-get:*:image/gif:*,http-get:*:image/png:*,http-get:*:subpicture/x-pgs:*,http-get:*:subpicture/x-dvd:*,http-get:*:video/x-fli:*,http-get:*:text/x-raw:*,http-get:*:subpicture/x-dvb:*,http-get:*:application/x-icy:*,http-get:*:audio/x-speex:*,http-
get:*:text/plain:*,http-get:*:image/x-jpc:*,http-get:*:image/x-j2c:*,http-get:*:video/x-mp4-part:*,http-get:*:video/x-qt-part:*,http-get:*:video/x-dirac:*,http-get:*:image/jpeg:*,http-get:*:video/x-dv:*,http-get:*:video/x-svq:*,http-get:*:audio/alac:*,http-get:*:audio/x-alac:*,http-get:*:audio/AMR-WB:*,http-get:*:audio/AMR:*,http-get:*:audio/x-mulaw:*,http-get:*:audio/x-alaw:*,http-get:*:audio/x-adpcm:*,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-rtp:*,http-get:*:application/x-3gp:*,http-get:*:audio/mp4:*,http-get:*:audio/m4a:*,http-get:*:audio/x-m4a:*,http-get:*:video/mj2:*,http-get:*:video/quicktime:*,http-get:*:video/x-raw:*,http-get:*:audio/x-raw:*,http-get:*:application/dash+xml:*,http-get:*:video/x-wmv:*,http-get:*:video/x-flash-video:*,http-get:*:video/mpeg:*,http-get:*:video/x-msmpeg:*,http-get:*:video/x-divx:*,http-get:*:video/x-vp9:*,http-get:*:video/x-vp8:*,http-get:*:video/x-vp6-flash:*,http-get:*:video/x-vp6:*,http-get:*:video/x-theora:*,http-get:*:video/x-h263:*,http-get:*:video/x-h264:*,http-get:*:audio/*:*,http-get:*:audio/x-wav:*</Sink>
</u:GetProtocolInfoResponse>
</s:Body> </s:Envelope>
10-30 16:45:42 pulseaudio_dlna.pulseaudio                     INFO     Could not get default sink. Perhaps there is no one set?
10-30 16:45:43 pulseaudio_dlna.pulseaudio                     INFO     Added the device "gmediarender (DLNA)".
10-30 16:45:43 pulseaudio_dlna.pulseaudio                     INFO     on_device_updated "/org/pulseaudio/core1/sink3"
10-30 16:45:44 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3
10-30 16:45:44 pulseaudio_dlna.pulseaudio                     DEBUG    
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink3" label="gmediarender (DLNA)" name="gmediarender_dlna" index="3" module="35">
        <PulseStream path="/org/pulseaudio/core1/playback_stream39" device="/org/pulseaudio/core1/sink3" index="39">

    <CoinedUpnpMediaRenderer name="gmediarender" short="gmediarender_dlna" state="idle" udn="uuid:GMediaRender-1_0-000-000-002" model_name="gmediarender" model_number="2015-05-06_aa3d02c" manufacturer="Ivo Clarysse, Henner Zeller" timeout="10.0">

10-30 16:45:44 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "gmediarender (DLNA)" to play ...
10-30 16:45:44 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:44 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 270
10-30 16:45:44 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.0.22:49152/upnp/control/rendertransport1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <CurrentURI>http://192.168.0.21:8080/dWRuPSJ1dWlkOkdNZWRpYVJlbmRlci0xXzAtMDAwLTAwMC0wMDIi/stream.mp3</CurrentURI>
            <CurrentURIMetaData>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"&gt;
    &lt;item id="0" parentID="0" restricted="1"&gt;
        &lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;
        &lt;dc:title&gt;Live Audio&lt;/dc:title&gt;
        &lt;dc:creator&gt;PulseAudio&lt;/dc:creator&gt;
        &lt;upnp:artist&gt;PulseAudio on linux-29po.site&lt;/upnp:artist&gt;
        &lt;upnp:albumArtURI&gt;&lt;/upnp:albumArtURI&gt;
        &lt;upnp:album&gt;Stream&lt;/upnp:album&gt;
        &lt;res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"&gt;http://192.168.0.21:8080/dWRuPSJ1dWlkOkdNZWRpYVJlbmRlci0xXzAtMDAwLTAwMC0wMDIi/stream.mp3&lt;/res&gt;
    &lt;/item&gt;
&lt;/DIDL-Lite&gt;
</CurrentURIMetaData>
        </u:SetAVTransportURI>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse>
</s:Body> </s:Envelope>
10-30 16:45:44 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:45 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 244
10-30 16:45:45 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.0.22:49152/upnp/control/rendertransport1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Play"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <Speed>1</Speed>
        </u:Play>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse>
</s:Body> </s:Envelope>
10-30 16:45:45 pulseaudio_dlna.pulseaudio                     INFO     The device "gmediarender (DLNA)" is playing.
10-30 16:45:45 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3 finished!
10-30 16:45:51 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream39"
10-30 16:45:52 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3
10-30 16:45:52 pulseaudio_dlna.pulseaudio                     DEBUG    
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink3" label="gmediarender (DLNA)" name="gmediarender_dlna" index="3" module="35">
        -- no streams --
    <CoinedUpnpMediaRenderer name="gmediarender" short="gmediarender_dlna" state="playing" udn="uuid:GMediaRender-1_0-000-000-002" model_name="gmediarender" model_number="2015-05-06_aa3d02c" manufacturer="Ivo Clarysse, Henner Zeller" timeout="10.0">

10-30 16:45:52 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "gmediarender (DLNA)" to stop ...
10-30 16:45:52 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:45:52 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 244
10-30 16:45:52 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending STOP to http://192.168.0.22:49152/upnp/control/rendertransport1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Stop"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Stop xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
        </u:Stop>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:StopResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:StopResponse>
</s:Body> </s:Envelope>
10-30 16:45:52 pulseaudio_dlna.pulseaudio                     INFO     The device "gmediarender (DLNA)" was stopped.
10-30 16:45:52 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3 finished!
10-30 16:46:06 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream40"
10-30 16:46:07 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3
10-30 16:46:07 pulseaudio_dlna.pulseaudio                     DEBUG    
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink3" label="gmediarender (DLNA)" name="gmediarender_dlna" index="3" module="35">
        <PulseStream path="/org/pulseaudio/core1/playback_stream40" device="/org/pulseaudio/core1/sink3" index="40">

    <CoinedUpnpMediaRenderer name="gmediarender" short="gmediarender_dlna" state="idle" udn="uuid:GMediaRender-1_0-000-000-002" model_name="gmediarender" model_number="2015-05-06_aa3d02c" manufacturer="Ivo Clarysse, Henner Zeller" timeout="10.0">

10-30 16:46:07 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "gmediarender (DLNA)" to play ...
10-30 16:46:07 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:46:07 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 270
10-30 16:46:07 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.0.22:49152/upnp/control/rendertransport1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <CurrentURI>http://192.168.0.21:8080/dWRuPSJ1dWlkOkdNZWRpYVJlbmRlci0xXzAtMDAwLTAwMC0wMDIi/stream.mp3</CurrentURI>
            <CurrentURIMetaData>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:sec="http://www.sec.co.kr/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"&gt;
    &lt;item id="0" parentID="0" restricted="1"&gt;
        &lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;
        &lt;dc:title&gt;Live Audio&lt;/dc:title&gt;
        &lt;dc:creator&gt;PulseAudio&lt;/dc:creator&gt;
        &lt;upnp:artist&gt;PulseAudio on linux-29po.site&lt;/upnp:artist&gt;
        &lt;upnp:albumArtURI&gt;&lt;/upnp:albumArtURI&gt;
        &lt;upnp:album&gt;Stream&lt;/upnp:album&gt;
        &lt;res protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"&gt;http://192.168.0.21:8080/dWRuPSJ1dWlkOkdNZWRpYVJlbmRlci0xXzAtMDAwLTAwMC0wMDIi/stream.mp3&lt;/res&gt;
    &lt;/item&gt;
&lt;/DIDL-Lite&gt;
</CurrentURIMetaData>
        </u:SetAVTransportURI>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SetAVTransportURIResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:SetAVTransportURIResponse>
</s:Body> </s:Envelope>
10-30 16:46:07 requests.packages.urllib3.connectionpool       INFO     Starting new HTTP connection (1): 192.168.0.22
10-30 16:46:07 requests.packages.urllib3.connectionpool       DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 244
10-30 16:46:07 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.0.22:49152/upnp/control/rendertransport1:
 - headers:
{u'SOAPAction': u'"urn:schemas-upnp-org:service:AVTransport:1#Play"', u'Content-Type': u'text/xml; charset="utf-8"'}
 - data:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1">
            <InstanceID>0</InstanceID>
            <Speed>1</Speed>
        </u:Play>
    </s:Body>
</s:Envelope>
 - result: 200
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse>
</s:Body> </s:Envelope>
10-30 16:46:07 pulseaudio_dlna.pulseaudio                     INFO     The device "gmediarender (DLNA)" is playing.
10-30 16:46:07 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink3 finished!
masmu commented 8 years ago

Thanks. Your PC successfully instructs the Pi to play the stream, but the Pi does not connect to your computer. Can you ping 192.168.0.21 from your Pi? Is there a firewall / iptables installed on your computer?

DrAxelbauer commented 8 years ago

Okay here is the output:

ping 192.168.0.21
PING 192.168.0.21 (192.168.0.21) 56(84) bytes of data.
64 bytes from 192.168.0.21: icmp_req=1 ttl=64 time=1.16 ms
64 bytes from 192.168.0.21: icmp_req=2 ttl=64 time=1.03 ms
64 bytes from 192.168.0.21: icmp_req=3 ttl=64 time=4.45 ms
64 bytes from 192.168.0.21: icmp_req=4 ttl=64 time=3.77 ms
64 bytes from 192.168.0.21: icmp_req=5 ttl=64 time=3.02 ms
64 bytes from 192.168.0.21: icmp_req=6 ttl=64 time=1.10 ms
64 bytes from 192.168.0.21: icmp_req=7 ttl=64 time=5.29 ms
64 bytes from 192.168.0.21: icmp_req=9 ttl=64 time=1.09 ms
64 bytes from 192.168.0.21: icmp_req=10 ttl=64 time=1.63 ms
^C
--- 192.168.0.21 ping statistics ---
10 packets transmitted, 9 received, 10% packet loss, time 9015ms
rtt min/avg/max/mdev = 1.039/2.508/5.295/1.568 ms

Seems everything okay. Yes there is the suse firewall installed by default… And:

iptables v1.4.21
masmu commented 8 years ago

I think that's it. For both problems, the discovery thing and why the Pi does not starts to play. Disable the firewall and try again. If that works open tcp port 8080 and udp port 1900 in your firewall.

DrAxelbauer commented 8 years ago

That was the case!!!!! Thanks a LOT and have a good weekend :) Now everything works!

masmu commented 8 years ago

You are welcome!

DrAxelbauer commented 8 years ago

Just another short question: I have about 1400ms delay…in smplayer or vlc this is not a problem, but when i stream some content in the browser i cannot set a delay…is there a way to compensate this delay for the pulseaudio stream like in the videoplayers? (i thought of a setting box in pavucontrol, what would be cool…) Any solutions to that?

masmu commented 8 years ago

There is a delay about a few seconds

Since there is HTTP streaming used for the audio data to transport, there is always a buffer involved. This device buffer ensures that even if you suffer from a slow network (e.g. weak wifi) small interruptions won't affect your playback. On the other hand devices will first start to play when this buffer is filled. Most devices do this based on the received amount of data. Therefore inefficient codecs such as wav fill that buffer much faster than efficient codecs do. The result is a noticeable shorter delay in contrast to e.g. mp3 or others. Note, that in this case your network should be pretty stable, otherwise your device will quickly run out of data and stop playing. This is normally not a problem with cable connections. E.g. I have a delay about 1-2 seconds with wav and a delay of about 5 seconds with mp3 with the same cable connected device. You can decrease the delay when using wav or using high bit rates, but you won't get rid of it completely. My advice: If you have a reliable network, use wav. It is lossless and you will get a short delay. If you have not, use another encoder which does not require that much bandwidth to make sure your device will keep playing. Of course you will be affected from a higher delay.

To sum it up: Try using wav of l16. pulseaudio-dlna --encoder wav

masmu commented 8 years ago

Closed due to inactivity.

BaReinhard commented 7 years ago

Is there anyway you could post how to install pulseaudio-dlna on the raspberry pi? I've been bashing my head on the keyboard for a few hours now.

DrAxelbauer commented 7 years ago

Quite unclear what you mean and a little bit off-topc ;)...But check out: sudo apt-get update && sudo apt-get install pulseaudio-dlna For the config check out: http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2015/10/Umleitung

BaReinhard commented 7 years ago

Sorry I should have been more clear, I was interested in getting it installed on Raspbian Jessie, but from my experience it is not compatible. I ended up running Ubuntu MATE on the Pi and got things working pretty well. I've been using it with 2 chromecast audios (which are on sale at the moment by the way). I setup the Pi to allow for AirPlay connection as well as A2DP bluetooth connection then loopback the sink to output to the Multiroom group I made in the Google Home app. AirPlay worked great with a minimal delay, A2DP had a tremendous amout of delay which should be fixable within the pulseaudio configuration files.