dlnap
dlnap copied to clipboard
volumio : fails to set media - requires extra metadatas
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 <CurrentURIMetaData> 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.
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).