Opened 2 years ago

Closed 21 months ago

#13146 closed Patch - Bug Fix (Won't Fix)

Empty UPnP Recodings/Music/Videos folder on Samsung TV

Reported by: Valentin.Vidic@… Owned by: dblain
Priority: minor Milestone: 0.28.2
Component: MythTV - UPnP Version: 0.28.1
Severity: medium Keywords:
Cc: Ticket locked: no

Description

After upgrading to 0.28.1 UPnP browsing with Samsung TV (F6500) stopped working correctly. MythTV was still visible in the device list and the first level of directories were displayed: Music, Recordings, Videos.

Entering any of these directories however displayed an empty folder. The problem seems to be that Samsung TV sends a first browse request with a RequestCount? of 1 and breaks if there is more than 1 result returned.

So for example in the Music folder 1 result is requested:

POST /CDS_Control HTTP/1.1
Accept: */*
User-Agent: SEC_HHP_[TV] Samsung/1.0 DLNADOC/1.50
Host: 192.168.0.1:6544
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
CONTENT-TYPE:  text/xml; charset="utf-8"
Content-Length: 455
Connection: close

<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>Music</ObjectID><BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>*</Filter><StartingIndex>0</StartingIndex>
<RequestedCount>1</RequestedCount><SortCriteria></SortCriteria></u:Browse>
</s:Body></s:Envelope>

but MythTV returns all 4 available elements:

HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: Close
Content-Language: en-us
Content-Length: 1812
Content-Type: text/xml; charset="UTF-8"
Date: Fri, 06 Oct 2017 13:17:09 GMT
EXT: 
Server: MythTV/0.28.1 Linux/4.9.0-3-686-pae UPnP/1.0
transferMode.dlna.org: Interactive

<?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>&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;container id=&quot;Music/Track&quot; parentID=&quot;Music&quot; restricted=&quot;1&quot; searchable=&quot;1&quot; childCount=&quot;764&quot; childContainerCount=&quot;0&quot; &gt;
&lt;dc:title&gt;All Tracks&lt;/dc:title&gt;
&lt;upnp:class&gt;object.container&lt;/upnp:class&gt;
&lt;/container&gt;
&lt;container id=&quot;Music/Artist&quot; parentID=&quot;Music&quot; restricted=&quot;1&quot; searchable=&quot;1&quot; childCount=&quot;19&quot; childContainerCount=&quot;19&quot; &gt;
&lt;dc:title&gt;Artist&lt;/dc:title&gt;
&lt;upnp:class&gt;object.container&lt;/upnp:class&gt;
&lt;/container&gt;
&lt;container id=&quot;Music/Album&quot; parentID=&quot;Music&quot; restricted=&quot;1&quot; searchable=&quot;1&quot; childCount=&quot;73&quot; childContainerCount=&quot;73&quot; &gt;
&lt;dc:title&gt;Album&lt;/dc:title&gt;
&lt;upnp:class&gt;object.container&lt;/upnp:class&gt;
&lt;/container&gt;
&lt;container id=&quot;Music/Genre&quot; parentID=&quot;Music&quot; restricted=&quot;1&quot; searchable=&quot;1&quot; childCount=&quot;18&quot; childContainerCount=&quot;18&quot; &gt;
&lt;dc:title&gt;Genre&lt;/dc:title&gt;
&lt;upnp:class&gt;object.container&lt;/upnp:class&gt;
&lt;/container&gt;
&lt;/DIDL-Lite&gt;</Result>
<NumberReturned>4</NumberReturned>
<TotalMatches>4</TotalMatches>
<UpdateID>0</UpdateID>
</u:BrowseResponse>
</s:Body>
</s:Envelope>

Pull request on github fixes the issue by making sure no more than the requested number of elements is returned:

https://github.com/MythTV/mythtv/pull/156

Change History (1)

comment:1 Changed 21 months ago by Stuart Auchterlonie

Resolution: Won't Fix
Status: newclosed

Closing any remaining tickets for 0.28, if the issue persists, feel free to reopen and align to v29 or master

Note: See TracTickets for help on using tickets.