cherezov / dlnap

Simple python over the network media player to playback on DLNA/UPnP devices
MIT License
190 stars 59 forks source link

volumio : fails to set media - requires extra metadatas #7

Open prahal opened 6 years ago

prahal commented 6 years ago

dlna.py run against Volumio returns "ERROR:root:Action Failed". adding: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:arib="urn:schemas-arib-or-jp:elements-1-0/" xmlns:dtcp="urn:schemas-dtcp-com:metadata-1-0/" xmlns:pv="http://www.pv.com/pvns/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0$1$12$16583R2268170" refID="0$1$8I2268170" parentID="0$1$12$16583" restricted="1"><res protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000" >http://example.com/test.wav</res></item></DIDL-Lite> to fixes this.

this I extracted from a test run of gupnp-av-cp (strace of an mp3) and adapted to the wav test file.

volumio runs upmpdcli. I sorted this out by adding logelevel = 6 and logfilename = /var/log/upmpdcli.log and running systemctl restart upmpdcli. With vanilla dlna I get:

:2:src/upmpd.cxx:132::checkContentFormat: didl parse failed
:2:src/avtransport.cxx:393::set(Next)AVTransportURI: unsupported format: uri http://example.com/test.wav metadata :2:libupnpp/device/device.cxx:354::UpnpDevice: Action failed: SetAVTransportURI code -101

this is volumio 2.238 running on an Odroid C2.

PS: playback and stop work fine.

prahal commented 6 years ago

as of now I stressed upmpdcli a bit by removing items of the metadata. The res element URI as content and the protocolInfo attribute are required per upmpdcli log. Other fields are not yet tested (or already removed from previous comment).