No AlbumArt on Samsung F-Series TV

2013-09-11
2014-03-13
  • Jan Hehenberger

    Jan Hehenberger - 2013-09-11

    The album art (cover.jpg in folder next to mkv file) for the files and folders is not displayed on my samsung tv (UE46F5370). With bubble upnp on android the album art is correctly displayed for every folder and the file in it.

    I ran tcpdump and this is the xml transmitted for an file (item) to the samsung tv. You can see, the album art jpg is contained (res tag, protocolInfo), but not displayed on the F-Series TV. What could be the reason? Is anything wrong in the xml?

    I tried minidlan 1.1.0 and 1.0.24. os is debian.

    <?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/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">
    <item id="2$15$2EE$2$0" parentID="2$15$2EE$2" restricted="1" refID="64$2EE$2$0">
    <dc:title>Casablanca (DL.720p.BluRay)</dc:title>
    <upnp:class>object.item.videoItem</upnp:class>
    <dc:date>2013-04-08T18:46:04</dc:date>
    <res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN">http://192.168.0.2:8200/AlbumArt/3558-68698.jpg</res>
    <res size="4696648329" duration="1:42:34.592" bitrate="48000" sampleFrequency="48000" nrAudioChannels="1" resolution="1280x720" protocolInfo="http-get:*:video/x-mkv:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://192.168.0.2:8200/MediaItems/68698.mkv
    </res>
    </item>
    </DIDL-Lite>
    </Result>
    <NumberReturned>1</NumberReturned>
    <TotalMatches>1</TotalMatches>
    <UpdateID>37</UpdateID>
    </u:BrowseResponse>
    </s:Body>
    </s:Envelope>
    
     
    Last edit: Jan Hehenberger 2013-09-11
  • Jan Hehenberger

    Jan Hehenberger - 2013-09-16

    I found out the Samsung TV is sending GetFeatureList requests (below) all the time. The android client is not sending such a request.

    Maybe the response to this request is not adequate? And therefore the TV is never fetching the cover JPG offered in the BrowseResponse?

    POST /ctl/ContentDir HTTP/1.1
    Accept: */*
    User-Agent: SEC_HHP_[TV]Samsung LED46/1.0 DLNADOC/1.50
    Host: 192.168.0.2:8200
    SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#X_GetFeatureList"
    CONTENT-TYPE:  text/xml; charset="utf-8"
    Content-Length: 291
    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:X_GetFeatureList xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
    </u:X_GetFeatureList>
    </s:Body>
    </s:Envelope>
    
     
    Last edit: Jan Hehenberger 2013-09-16
  • Jan Hehenberger

    Jan Hehenberger - 2013-09-16

    The response from minidlna for the GetFeatureList is:

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <s:Body>
    <u:X_GetFeatureListResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
    <FeatureList><?xml version="1.0" encoding="utf-8"?>
    <Features xmlns="urn:schemas-upnp-org:av:avs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:av:avs http://www.upnp.org/schemas/av/avs.xsd">
    <Feature name="samsung.com_BASICVIEW" version="1">
    <container id="1" type="object.item.audioItem"/>
    <container id="2" type="object.item.videoItem"/>
    <container id="3" type="object.item.imageItem"/>
    </Feature>
    </FeatureList>
    </u:X_GetFeatureListResponse>
    </s:Body>
    </s:Envelope>
    

    The "Features" tag is not closed. Maybe this is the reason, why the tv continues sending the getFeatureList Request.

     
    Last edit: Jan Hehenberger 2013-09-16
  • Douglas Carmichael

    Try this quick patch which closes the Features tag.

    (Let me know how it works.)

     
  • Jan Hehenberger

    Jan Hehenberger - 2013-09-19

    Thanks for the reply! Tried it with closed tag, but there is no difference. Still no cover art for the videos.

    Tried it with allshare server on windows. Coverart works for files. But for the directories appears no cover too.

    I suppose Samsung TVs support no coverart for directories.

    But the coverart for files should work with minidlna, because other servers achieve it.

    Maybe the "missing" infos in the res tag are the problem.

    res tag with minidlna:

    <res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN">http://192.168.0.2:8200/AlbumArt/3558-68697.jpg</res>
    

    res tag with all share server on windows:

    <res resolution=&quot;160x90&quot; size=&quot;4843&quot; protocolInfo=&quot;http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000&quot;>http://192.168.0.112:17679/FileProvider/M$0/O$0/S$/P$JPEG_TN/I$image/jpeg/212&</res>
    

    The bottom line is, samsung dlna client refuses to fetch the cover jpg from minidlna, altough it is delivered with the res tag.

     
    Last edit: Jan Hehenberger 2013-09-19
  • joao feijo

    joao feijo - 2013-12-01

    Same problem here

     
  • scoobynz

    scoobynz - 2013-12-07

    This seems to be a problem across many media servers, e.g. serviio, twonky etc. It would appear that the samsung firmware is creating an issue. Hopefully a fix can be found at some point, either from the server or firmware side....

     
  • Piero

    Piero - 2014-01-12

    I'm experiencing the same problem too, on a UE22F5400.
    With the stock f/w (rel. 1108, I guess) thumbnails were OK; but after the "upgrade" to rel. 1111 (...that Samsung's boys delivered due to some changes to their "Smart Hub" web systems) thumbnails are gone :(
    No way to obtain a solution by Samsung's support, obviously :(

    Anyway: there are some servers that still work (...as already stated); one of these is Mezzmo. Here are two logs for (almost) the same file (and thumbnail), the first from minidlna:

    <?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/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">;
    
    <item id="64$1$0" parentID="64$1" restricted="1">;
    <dc:title>;Test_file<;/dc:title>;
    <upnp:class>;object.item.videoItem<;/upnp:class>;
    <dc:creator>;DiVX<;/dc:creator>;
    <dc:date>;2013-05-05T22:08:09<;/dc:date>;
    
    <res protocolInfo="http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN">;http://192.168.1.201:8200/AlbumArt/1-42.jpg<;/res>;
    
    <res size="737030144" duration="1:33:44.285" bitrate="131044" sampleFrequency="48000" nrAudioChannels="2" resolution="640x360" protocolInfo="http-get:*:video/x-msvideo:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000">;http://192.168.1.201:8200/MediaItems/42.avi<;/res>;
    
    </item>;
    </DIDL-Lite>;
    </Result>
    <NumberReturned>1</NumberReturned>
    <TotalMatches>1</TotalMatches>
    <UpdateID>2</UpdateID>
    </u:BrowseResponse>
    </s:Body>
    </s:Envelope>
    

    ...and the other from Mezzmo:

    <?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/"; xmlns:av=";urn:schemas-sony-com:av"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/"; xmlns:sec=";http://www.sec.co.kr/";>;
    
    <item id=";taz1l0z1l15z2l23zvl5z"; parentID=";taz1l0z1l15z2l23"; searchable=";0"; restricted=";1";>;
    <upnp:class>;object.item.videoItem<;/upnp:class>;
    <dc:creator>;Unknown Creator<;/dc:creator>;
    <upnp:artist>;Unknown Artist<;/upnp:artist>;
    <upnp:album>;Unknown Album<;/upnp:album>;
    <upnp:genre>;Unknown Genre<;/upnp:genre>;
    <av:mediaClass>;V<;/av:mediaClass>;
    
    <res nrAudioChannels=";2"; duration=";01:33:50.000"; bitrate=";113374"; sampleFrequency=";44100"; resolution=";640x360"; dlna:profileID=";AVI"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/"; protocolInfo=";http-get:*:video/avi:DLNA.ORG_PN=AVI;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000"; size=";638344974"; importUri=";http://192.168.1.201:53168/content/AVI/taz1l0z1l15z2l23zvl5zx0721";>;http://192.168.1.201:53168/content/AVI/taz1l0z1l15z2l23zvl5zx0721<;/res>;
    
    <sec:dcmInfo>;CREATIONDATE=0,BM=135<;/sec:dcmInfo>;
    
    <res dlna:profileID=";JPEG_SM"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/"; protocolInfo=";http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=01;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000"; resolution=";320x320";>;http://192.168.1.201:53168/content/JPEG_SM/9lF1854E47-A3F1-438b-84E7-20570DB317ABz8lzjpeg_smzjpegzjpegz320z320z24zvl5x15e3<;/res>;
    
    <upnp:albumArtURI dlna:profileID=";JPEG_SM"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/";>;http://192.168.1.201:53168/content/9lF1854E47-A3F1-438b-84E7-20570DB317ABz8lzjpeg_smzjpegzjpegz320z320z24zvl5x15e3<;/upnp:albumArtURI>;
    
    <res dlna:profileID=";JPEG_TN"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/"; protocolInfo=";http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN;DLNA.ORG_OP=01;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000"; resolution=";320x320";>;http://192.168.1.201:53168/content/JPEG_TN/9lF1854E47-A3F1-438b-84E7-20570DB317ABz8lzjpeg_tnzjpegzjpegz320z320z24zvl5x15e5<;/res>;
    
    <upnp:albumArtURI dlna:profileID=";JPEG_TN"; xmlns:dlna=";urn:schemas-dlna-org:metadata-1-0/";>;http://192.168.1.201:53168/content/9lF1854E47-A3F1-438b-84E7-20570DB317ABz8lzjpeg_tnzjpegzjpegz320z320z24zvl5x15e5<;/upnp:albumArtURI>;
    
    <dc:date>;2013-05-04T01:10:31Z<;/dc:date>;
    <dc:title>;Test_file<;/dc:title>;
    </item>;
    </DIDL-Lite>;
    </Result>
    
    <NumberReturned>1</NumberReturned>
    <TotalMatches>1</TotalMatches>
    <UpdateID>0</UpdateID>
    </u:BrowseResponse>
    </s:Body>
    </s:Envelope>
    

    ...The way the image is offered is really different :(

    Maybe someone could prepare a patch, since I guess that keeping our breath waiting for Samsung to correct that bug is not a great idea...

    Thank you in advance for your help :)

    Regards

    ps: sorry for the ugly logs formatting, and for my poor English...

     
    • Piero

      Piero - 2014-01-19

      Ok, my little Samsung TV finally is back in displaying video thumbnails :)

      To fix the problem, in upnpsoap.c:

      <               ret = strcatf(str, "&lt;res protocolInfo=\"http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN\"&gt;"
      ---
      >               ret = strcatf(str, "&lt;res dlna:profileID=\"JPEG_SM\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" protocolInfo=\"http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=01;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=00D00000000000000000000000000000\" resolution=\"320x320\"&gt;"
      

      (...but it could be enough just changing "JPEG_TN" into "JPEG_SM"...)

      Regards

       
      Last edit: Piero 2014-01-19
  • Piero

    Piero - 2014-01-20
    (...but it could be enough just changing "JPEG_TN" into "JPEG_SM"...)
    

    Confirmed

    Regards

     
  • joao feijo

    joao feijo - 2014-01-20

    It really works just changing to JPEG_TN. Compiled and tested here.
    HOWEVER it brakes old models thumbnail compatibility. I have a mix of series D E and F. In the next weekend i will try to change to model dependance.

     
  • Piero

    Piero - 2014-01-20

    I had a similar problem with music track's thumbnails. I didn't find a way (...a tag) to have an LG BD570 BRplayer working together with the above Samsung TV, and eventually I had to change the xml's syntax according to the client's type (another little patch to upnpsoap.c).
    But...maybe the simpliest approach (...even if not really elegant..) should be to present the thumbnail in all the possible ways, as Mezzmo seems to do.

    Regards

     
  • joao feijo

    joao feijo - 2014-01-25

    I´ve tried your approach and added :
    & strcatf(str, "<res protocolInfo=\"http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM\">"
    "http://%s:%d/AlbumArt/%s-%s.jpg"
    "</res>",
    lan_addr[passed_args->iface].str, runtime_vars.port, album_art, detailID)

    BEFORE the ;

    It worked, easy to do. Thank you !!!

    One more question, do you managed to make the folders thumnail to work ?

     
  • Piero

    Piero - 2014-01-27

    You're welcome :)

    For your question... no, I didn't. My clients don't support folders' thumbnails, I guess.

    Regards

     
    Last edit: Piero 2014-01-27
  • HPP8140

    HPP8140 - 2014-02-19

    Cool, I've been looking for the thumbnail solution since upgrading my C-series to F-series samsung.

    Now, has anyone else noticed that the F series samsung client does not refresh content? I sometimes have to turn the tv off. My C series refreshed everytime a dlna folder was accessed.

     
  • HPP8140

    HPP8140 - 2014-03-12

    Here is my solution to get thumbnails working for both Samsung F and C series TVs on minidlna-1.1.1, by detecting the client. I probably should have used a case statement, oh well.


    if( passed_args->client == ESamsungSeriesESTV){
    ret = strcatf(str, "<res protocolInfo=\"http-get::image/jpeg:DLNA.ORG_PN=JPEG_SM\">"
    "http://%s:%d/AlbumArt/%s-%s.jpg"
    "</res>",
    lan_addr[passed_args->iface].str, runtime_vars.port, album_art, detailID);}
    else {
    ret = strcatf(str, "<res protocolInfo=\"http-get:
    :image/jpeg:DLNA.ORG_PN=JPEG_TN\">"
    "http://%s:%d/AlbumArt/%s-%s.jpg"
    "</res>",
    lan_addr[passed_args->iface].str, runtime_vars.port, album_art, detailID);}

     
  • Justin Maggard

    Justin Maggard - 2014-03-12

    Is this only a problem for video files? Does audio cover art work without modification?

     
  • HPP8140

    HPP8140 - 2014-03-13

    cover art works fine for me on Samsung C and F series TV. Video was the problem.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks