[mythtv-users] UPnP enless query
Philipp Matthias Hahn
pmhahn+mythtv at pmhahn.de
Mon May 5 07:34:29 UTC 2014
Hi,
after fixing libupnp-1.6.19 to build correct URLs VLC is now able to
issue some requests, but VLC get's stuck in an endless query:
Query 86 is:
POST /CDS_Control HTTP/1.1
...
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
...
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>RecTv/4</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>id,dc:title,res,sec:CaptionInfo,sec:CaptionInfoEx</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>0</RequestedCount>
<SortCriteria/>
</u:Browse>
</s:Body>
</s:Envelope>
which is answered by
Server: Linux 3.13-1-amd64, UPnP/1.0, MythTV 0.27.20140103-1
...
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<Result><![CDATA[
<?xml version="1.0"?>
<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/">
<container id="RecTv/4/key=1010" parentID="RecTv/4" childCount="75" restricted="1" searchable="0">
<dc:title>22 SAT.1</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=12301" parentID="RecTv/4" childCount="3" restricted="1" searchable="0">
<dc:title>1 Das Erste</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=13110" parentID="RecTv/4" childCount="1" restricted="1" searchable="0">
<dc:title>2 ZDF</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=19502" parentID="RecTv/4" childCount="11" restricted="1" searchable="0">
<dc:title>24 kabel eins</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30006" parentID="RecTv/4" childCount="1" restricted="1" searchable="0">
<dc:title>2 ZDF</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30007" parentID="RecTv/4" childCount="3" restricted="1" searchable="0">
<dc:title>3 3sat</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30106" parentID="RecTv/4" childCount="1" restricted="1" searchable="0">
<dc:title>1 Das Erste</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30108" parentID="RecTv/4" childCount="1" restricted="1" searchable="0">
<dc:title>31 hr-fernsehen</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30721" parentID="RecTv/4" childCount="3" restricted="1" searchable="0">
<dc:title>10 tagesschau24</dc:title>
<upnp:class>object.container</upnp:class>
</container>
<container id="RecTv/4/key=30725" parentID="RecTv/4" childCount="1" restricted="1" searchable="0">
<dc:title>5PHOENIX</dc:title>
<upnp:class>object.container</upnp:class>
</container>
</DIDL-Lite>
]]></Result>
<NumberReturned>10</NumberReturned>
<TotalMatches>11</TotalMatches>
<UpdateID>1</UpdateID>
</u:BrowseResponse>
</s:Body>
</s:Envelope>
As only the first 10 entries of 11 were returned, VLC does a second
query 87:
POST /CDS_Control HTTP/1.1
...
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
...
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>RecTv/4</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>id,dc:title,res,sec:CaptionInfo,sec:CaptionInfoEx</Filter>
<StartingIndex>10</StartingIndex>
<RequestedCount>0</RequestedCount>
<SortCriteria/>
</u:Browse>
</s:Body>
</s:Envelope>
This is answered by
HTTP/1.1 200 OK
...
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<Result><![CDATA[
<?xml version="1.0"?>
<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"/>
]]></Result>
<NumberReturned>0</NumberReturned>
<TotalMatches>11</TotalMatches>
<UpdateID>1</UpdateID>
</u:BrowseResponse>
</s:Body>
</s:Envelope>
This same request is then repeated until VLC crashes.
Is this (another) bug in libupnp6 or does someon see why things don't
work?
Sincerely
Philipp
--
/ / (_)__ __ ____ __ Philipp Hahn
/ /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ pmhahn at pmhahn.de
More information about the mythtv-users
mailing list