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

404 File not Found GET request from Device #103

Closed davekp72 closed 8 years ago

davekp72 commented 8 years ago

Hi I am using a DAMAI Airmusic device. pulseaudio-dlna finds the device and adds it to the sink, however when I try to play from it no sound is heard. Looking at the debug output the device is sending a GET request that is not found on dlna streaming server. I get the same error using the latest from GIT or the packaged version.

10-08 15:42:10 urllib3.connectionpool                         INFO     Starting new HTTP connection (1): 192.168.0.2
10-08 15:42:10 urllib3.connectionpool                         DEBUG    "GET /description.xml HTTP/1.1" 200 2087
10-08 15:42:10 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Response from UPNP device (http://192.168.0.2:49494/description.xml)
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:qq="http://www.tencent.com">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<presentationURL>/renderpres.html</presentationURL>
<friendlyName>23Tang</friendlyName>
<qq:X_QPlay_SoftwareCapability>QPlay:1</qq:X_QPlay_SoftwareCapability>
<manufacturer>DAMAI</manufacturer>
<manufacturerURL>http://bbs.dmsys.com/</manufacturerURL>
<modelDescription>airmusic 1.0.0</modelDescription>
<modelName>airmusic</modelName>
<modelNumber>1.0.0</modelNumber>
<modelURL>http://bbs.dmsys.com/</modelURL>
<UDN>uuid:DAMAI-mac=845dd7a141b0</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.2:49494/</URLBase>
</root>

10-08 15:42:10 urllib3.connectionpool                         INFO     Starting new HTTP connection (1): 192.168.0.2
10-08 15:42:10 urllib3.connectionpool                         DEBUG    "POST /upnp/control/renderconnmgr1 HTTP/1.1" 200 532
10-08 15:42:10 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    Got the following mime types: "http-get:*:audio/ape:*,http-get:*:audio/flac:*,http-get:*:audio/aac:*,http-get:*:audio/mp4a-latm:*,http-get:*:audio/x-wav:*,http-get:*:audio/wav:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mpeg:*"
10-08 15:42:10 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending GET_PROTOCOL_INFO to http://192.168.0.2:49494/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:*:audio/ape:*,http-get:*:audio/flac:*,http-get:*:audio/aac:*,http-get:*:audio/mp4a-latm:*,http-get:*:audio/x-wav:*,http-get:*:audio/wav:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/x-mpeg:*,http-get:*:audio/mpeg:*</Sink>
</u:GetProtocolInfoResponse>
</s:Body> </s:Envelope>
10-08 15:42:11 pulseaudio_dlna.pulseaudio                     INFO     Added the device "23Tang (DLNA)".
10-08 15:43:11 pulseaudio_dlna.pulseaudio                     INFO     on_new_playback_stream "/org/pulseaudio/core1/playback_stream2"
10-08 15:43:12 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink5
10-08 15:43:12 pulseaudio_dlna.pulseaudio                     DEBUG    
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink5" label="23Tang (DLNA)" name="23tang_dlna" index="5" module="34">
        <PulseStream path="/org/pulseaudio/core1/playback_stream2" device="/org/pulseaudio/core1/sink5" index="2">

    <CoinedUpnpMediaRenderer name="23Tang" short="23tang_dlna" state="idle" udn="uuid:DAMAI-mac=845dd7a141b0" model_name="airmusic" model_number="1.0.0" manufacturer="DAMAI">

10-08 15:43:12 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "23Tang (DLNA)" to play ...
10-08 15:43:12 urllib3.connectionpool                         INFO     Starting new HTTP connection (1): 192.168.0.2
10-08 15:43:12 urllib3.connectionpool                         DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 270
10-08 15:43:12 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending REGISTER to http://192.168.0.2:49494/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.3:8080/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/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 x200&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.3:8080/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/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-08 15:43:12 urllib3.connectionpool                         INFO     Starting new HTTP connection (1): 192.168.0.2
10-08 15:43:12 urllib3.connectionpool                         DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 244
10-08 15:43:12 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "host", 
    "192.168.0.3:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "accept", 
    "*/*"
  ], 
  [
    "user-agent", 
    "Lavf52.111.0"
  ]
]
10-08 15:43:12 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending PLAY to http://192.168.0.2:49494/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-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3"
10-08 15:43:12 pulseaudio_dlna.pulseaudio                     INFO     The device "23Tang (DLNA)" is playing.
10-08 15:43:12 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink5 finished!
10-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - 404,File not found: /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3
10-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - GET /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3 HTTP/1.1,404,-
10-08 15:43:12 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "host", 
    "192.168.0.3:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "accept", 
    "*/*"
  ], 
  [
    "user-agent", 
    "Lavf52.111.0"
  ]
]
10-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3"
10-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - 404,File not found: /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3
10-08 15:43:12 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - GET /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3 HTTP/1.1,404,-
10-08 15:43:13 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "host", 
    "192.168.0.3:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "accept", 
    "*/*"
  ], 
  [
    "user-agent", 
    "Lavf52.111.0"
  ]
]
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3"
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - 404,File not found: /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - GET /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3 HTTP/1.1,404,-
10-08 15:43:13 pulseaudio_dlna.streamserver                   DEBUG    Got the following GET request:
[
  [
    "host", 
    "192.168.0.3:8080"
  ], 
  [
    "range", 
    "bytes=0-"
  ], 
  [
    "connection", 
    "close"
  ], 
  [
    "accept", 
    "*/*"
  ], 
  [
    "user-agent", 
    "Lavf52.111.0"
  ]
]
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Error 404: File not found "/dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3"
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - 404,File not found: /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3
10-08 15:43:13 pulseaudio_dlna.streamserver                   INFO     Got request from 192.168.0.2 - GET /dWRuPXV1aWQ6REFNQUktbWFjPTg0NWRkN2ExNDFiMA%3D%3D/stream.mp3 HTTP/1.1,404,-
10-08 15:43:18 pulseaudio_dlna.pulseaudio                     INFO     on_playback_stream_removed "/org/pulseaudio/core1/playback_stream2"
10-08 15:43:19 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink5
10-08 15:43:19 pulseaudio_dlna.pulseaudio                     DEBUG    
<Bridge>
    <PulseSink path="/org/pulseaudio/core1/sink5" label="23Tang (DLNA)" name="23tang_dlna" index="5" module="34">
        -- no streams --
    <CoinedUpnpMediaRenderer name="23Tang" short="23tang_dlna" state="playing" udn="uuid:DAMAI-mac=845dd7a141b0" model_name="airmusic" model_number="1.0.0" manufacturer="DAMAI">

10-08 15:43:19 pulseaudio_dlna.pulseaudio                     INFO     Instructing the device "23Tang (DLNA)" to stop ...
10-08 15:43:19 urllib3.connectionpool                         INFO     Starting new HTTP connection (1): 192.168.0.2
10-08 15:43:19 urllib3.connectionpool                         DEBUG    "POST /upnp/control/rendertransport1 HTTP/1.1" 200 244
10-08 15:43:19 pulseaudio_dlna.plugins.upnp.renderer          DEBUG    sending STOP to http://192.168.0.2:49494/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-08 15:43:19 pulseaudio_dlna.pulseaudio                     INFO     The device "23Tang (DLNA)" was stopped.
10-08 15:43:19 pulseaudio_dlna.pulseaudio                     INFO     _async_handle_sink_update /org/pulseaudio/core1/sink5 finished!
^C10-08 15:45:32 pulseaudio_dlna.pulseaudio                     INFO     Remove "23tang_dlna" sink ...
Application is shutting down.
10-08 15:45:32 pulseaudio_dlna.pulseaudio                     INFO     Remove "23tang_dlna" sink ...
davekp72 commented 8 years ago

Pastebin version of log.

http://pastebin.com/32gCxHTU#

masmu commented 8 years ago

@davekp72 Thanks for the debug.log. I fixed that bug in current master. Could you check it out?

davekp72 commented 8 years ago

Works perfectly. Thanks for fixing.