I think I have found the root cause of my problem. I make a new post this time to separate from the basic trouble shoting.
So this is the exact catch of the problem:
In the subtree of SVTPlay/A-Z, whenever a directory D contains a subdirectory D1 with a title containing the letter "/", then if entering D1 and then going back to the parent directory D, the TV will present "no media available on server". If there is another subdirectory D2 with a title not containg the letter "/" then entering D2 and then going back to D actually succeds.
I'm pretty sure this has nothing at all to do with SVTPlay. It's just that I haven't been able to find any other channel that contains a directory with a title containing the latter "/".
Note that the SOAP reponse that the TV gets when entering D is the same when going down-tree (working) as when going up-tree (not working). This is the critical part of the SOAP response from UMS:
Code: Select all
<container id="0$3$10$10$18$4$4" childCount="1" parentID="0$3$10$10$18$4" restricted="true">
<dc:title> Rapport - 19/9 19.30 - textat
</dc:title>
<res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN">http://192.168.0.12:5002/get/0$3$10$10$18$4$4/thumbnail0000Rapport+-+19%2F9+19.30+-+textat
</res>
<upnp:class>object.container.storageFolder
</upnp:class>
</container>
In the dc:title part the value contains the "/" letter. I'm not an expert on DLNA so I don't know if the "/" should be escaped or not. But it seems like the TV cannot fully manage to accept the "/". So either it is an error in not escaping "/" (in UMS) or it is an error in the TV (not able to cope with the "/").
However, I still don't understand why the parsing works fine when going down-tree but not up-tree. Secondly, I still don't understand why the parsing works well also when going up-tree if the directory with the "/" in it's title was not seected. It shouldn't matter in the parsing step although it could matter later.
Edit: I have now confirmed the root cause by rewriting the svt.ch file so that the title (or name) group of the regexp will truncate everything after a "/". That means that "Rapport 24/9" will show up as "Rapport 24":
Code: Select all
url=http://www.svtplay.se/
matcher=data-title=\"([^\"\/]+)[^\"]*\".*?<a href=\"([^\"]+)\" class=\"playLink [^\"]+\">.*?<img class=\"playGridThumbnail\" alt=\"[^\"]*\" src=\"([^\"]+)\"
order=name,url,thumb
action_name=crawl
prop=matcher_dotall,monitor,crawl_mode=FLA+HML
With this modification everything works. While it's a confirmation it's not a good solution though since all versions of Rapport will show up with the same title. I also have tried to write a regex that skips over the "/" instead of trunkating but haven't found that it is possible to express as a regex.
I have also searched through the different namespaces related to DLNA and as far as I can see the "/" is allowed in the dc:title value. So that ends up in that there is compliance problem in Samsung with respect to the DLNA standard.
I think that it will be almost impossible to convince Samsung to correct this (I haven't even found a way to post a trouble ticke of this kind).
So I can see the following ways forward:
1. I have to live with the problem, partly helped by using my .ch fix to trunkate titles
2. Sharkhunter helps me to enable a way to configure in a .ch file to replace certain characters in a title. This would end up in two versions of .ch files depending on renderer but I would personally be very happy with this.
3. Sharkhunter or subjunk helps out by always replacing the "/" somehow. Might be annoying for non Samsung owners.
4. Most elegant, provide a way to configure the replacement in the renderer profile.
I have no clue if the Samsung incompliance applies to all generations of TV sets. If it does, it applies to 1/4 of all TV sets (market share). Anyway, the truncating svt.ch file is attached.
I think I have to leave it here. If I was more skilled I would have volontered to change the code, but also in that case a decision on a reasonable way forward (1-4) should be done by the major developers.
EndOfEdit
Edit2
I have now verified that the error applies to both Samsung D and E series of TV sets.
Posted as trouble ticket #81 with proposal 3.
Edit3
I finally found of way of implementing proposal 2 myself in the svt.ch file. Didn't know there could be multiple name groups in one regexp but I learn't by looking into another .ch file. So the attached svt.ch has been updated. The "/" is now replaced with a ":" letter. Still, I hope on a better solution according to proposal 3. Branching .ch is not a good idea.
Pen