Opened 7 years ago
Closed 7 years ago
#13146 closed Patch - Bug Fix (Won't Fix)
Empty UPnP Recodings/Music/Videos folder on Samsung TV
Reported by: | 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><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="Music/Track" parentID="Music" restricted="1" searchable="1" childCount="764" childContainerCount="0" > <dc:title>All Tracks</dc:title> <upnp:class>object.container</upnp:class> </container> <container id="Music/Artist" parentID="Music" restricted="1" searchable="1" childCount="19" childContainerCount="19" > <dc:title>Artist</dc:title> <upnp:class>object.container</upnp:class> </container> <container id="Music/Album" parentID="Music" restricted="1" searchable="1" childCount="73" childContainerCount="73" > <dc:title>Album</dc:title> <upnp:class>object.container</upnp:class> </container> <container id="Music/Genre" parentID="Music" restricted="1" searchable="1" childCount="18" childContainerCount="18" > <dc:title>Genre</dc:title> <upnp:class>object.container</upnp:class> </container> </DIDL-Lite></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:
Closing any remaining tickets for 0.28, if the issue persists, feel free to reopen and align to v29 or master