Xbox album art reason

  • Anonymous - 2012-02-05

    Good evening,

    Love the software, been using the software for about 3 years now.

    Just wanted to ask for the reason why the xbox album art is not supported.  I know that xbox have a non-standard way of doing this so its not going to get picked up by default. 

    However is it just a case that nobody as done the network capture, analysis and coding to make it work or is there some other more complex reason?

  • Justin Maggard

    Justin Maggard - 2012-02-05

    I believe it's just that nobody has done the work.  Have you used any other server software that can get the Xbox to show album art?

  • Anonymous - 2012-02-05

    I haven't used any other server software.  However I had read that the Windows Media Player does it.

    I just booted into Windows 7 (for the first time in ages) and grabbed a wireshark network capture:

    Frame 107 is when the xbox appears to request the album art, however its appears to be doing a GET request with an added query string parameter of albumArt=true

    I haven't figured out where you are sending the album art, however I saw in upnphttp.c you are looking for "/AlbumArt/", which is clearly different from the xbox request I saw.

  • Justin Maggard

    Justin Maggard - 2012-02-07

    Do you ever see any of that type of request coming to MiniDLNA?

  • Anonymous - 2012-02-07


    GET /WMPNSSv4/2057153819/0_ezlDM0YxMTczLTRGQkYtNEU1Ri05OTg4LUExQzYyOTE1RTNCMH0uMC4yQzE5NTgxOQ.wmv?albumArt=true HTTP/1.1
    User-Agent: Xbox Live Client/2.0.14699.0
    Connection: Keep-alive

    in frame 107 is the only request for artwork.  How is it normally structured?

    Then the server replies with:

    %~FE`:@ (9M(@2PDA_HTTP/1.1 200 OK
    Content-Length: 6473
    Content-Type: image/jpeg
    Server: Microsoft-HTTPAPI/2.0
    Accept-Ranges: bytes
    TransferMode.DLNA.ORG: Interactive
    Date: Sun, 05 Feb 2012 19:36:08 GMT

    and the data follows.

  • Justin Maggard

    Justin Maggard - 2012-02-08

    Right.  I mean when you're browsing your MiniDLNA server, do you see album art requests come in?  I vaguely remember trying it a few years back when I had access to a 360, and I didn't see any cover art requests.

    In any case, I whipped up a quick patch that will respond to those requests.  You can try compiling with the patch I posted in and see if it works for you.

  • Anonymous - 2012-02-08

    Thanks for knocking up the patch, its really awesome of you.

    Well I tried the patch, however the xbox never asked for the albumArt with the get request.

    I've captured the exchange between the xbox and minidlna to look through to see if there is some sort of capability advertisement.  Of course it could just be that it only performs the get if its talking to what it thinks is a Microsoft server. 

  • Justin Maggard

    Justin Maggard - 2012-02-08

    I doubt the flags have anything to do with it, but I just posted a new patch in the same tracker that adds support for DLNA.ORG_FLAGS.

  • Anonymous - 2012-02-09

    You were correct, I retried this morning with your patch and no GET request for the albumArt came from the xbox.

    I'll setup a minidlna instance with the same single folder, single video as the Windows Media Centre and capture the network traffic to see what else is different.

  • Anonymous - 2012-02-09

    Just reviewing this mornings capture I see the xbox post this:

    POST /ctl/X_MS_MediaReceiverRegistrar HTTP/1.1
    User-Agent: Xbox/2.0.14699.0 UPnP/1.0 Xbox/2.0.14699.0
    Connection: Keep-alive
    CONTENT-TYPE: text/xml; charset="utf-8"
    Content-Length: 304

    <s:Envelope xmlns:s="" s:encodingStyle="">
          <u:IsAuthorized xmlns:u="">
    <DeviceID></DeviceID>      </u:IsAuthorized>

    And then after the ACK minidlna replies with:

    HTTP/1.1 500 Internal Server Error
    Content-Type: text/xml; charset="utf-8"
    Connection: close
    Content-Length: 396
    Server: 3.0.0-16-generic DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.0
    Date: Thu, 09 Feb 2012 07:39:15 GMT

    <s:Envelope xmlns:s="" s:encodingStyle="">
    <UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
    <errorDescription>Invalid Args</errorDescription>

  • Anonymous - 2012-02-09

    Looking at upnpsoap.c in IsAuthorizedValidated, you are checking DeviceID is set to something.  However the Microsoft documentation says that an Empty DeviceID is ok and you should use the devices mac address instead:

  • Anonymous - 2012-02-09

    Reading Microsoft  NetCompat_WMP11.docx document suggests two things.  Firstly that the <upnp:albumArtURI> is used for thumbnails, which I haven't seen minidlna use at all.

    However it also says:

    "WMP Sharing provides a thumbnail URI for all images that support transcoding. The most direct method for thumbnail retrieval is for the device to use the resource (<res>) element with the image of the desired format and resolution. For every JPEG and YUV image, WMP Sharing exposes at least one “thumbnail version” of the image with a resolution less than or equal to 160x160 pixels."

    Which reads to me that because Windows Media Centre transcodes (which minidlna does not and doesn't advertise with the DLNA.ORG_CI=0 flag), that the xbox knows to just perform a get request for the thumbnail.

  • Justin Maggard

    Justin Maggard - 2012-02-10

    The IsAuthorizedValidated issue has already been fixed in CVS.  I misunderstood one of the new requirements for UPnP MediaServer compliance, which is required by DLNA.

    Regarding the upnp:albumArtURI tag, the video browse request from the 360 in your pcap asks us to filter out the upnp:albumArtURI element.  You could try forcibly enabling it by always setting the FILTER_UPNP_ALBUMARTURI bit in the set_filter_flags() function.

    The sentence "WMP Sharing provides a thumbnail URI for all images that support transcoding." indicates that it is talking about images, not videos.  We already supply thumbnails for images, and I believe that works fine today on the 360.

  • Anonymous - 2012-02-13

    Ok, I spent probably 3 hours at the weekend tweaking the code and capturing network analysis.

    I haven't bottomed it all out currently, however I suspect its to do with the authorisation with X_MS_MediaReceiverRegistrar.  I was able to pass back an IsAuthroized and IsValidatedResponse soap commands.

    However I then see the xbox do SSDP discovery again and minidlna respond announcing itself for the second time.  Is this something that could reset the X_MS_MediaReceiverRegistrar information on the xbox, because shortly after the xbox then does the browse and I would expect the GET requested to be generated out of the browse response?

  • Anonymous - 2012-02-14

    Nope, the WMC capture also shows that WMC also resends SSDP discovery details.

  • Anonymous - 2012-03-04

    Good afternoon,

    I am back on the case of my xbox albumArt.  I've been looking over the traces and looking more at the initial discovery phase since the later SOAP conversation looks good.

    The SSDP setup does look different and I wanted to share that.  The xbox is searching with:

    M-SEARCH * HTTP/1.1
    Man: "ssdp:discover"
    MX: 2
    ST: uuid:4d696e69-444c-164e-9d41-001966c1693f

    The WMC is responding with:

    HTTP/1.1 200 OK
    OPT:""; ns=01
    Server:Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0

    Then the xbox ask for this:

    GET /upnphost/udhisapi.dll?content=uuid:367de6c5-e9d9-41f7-b18e-47637762429f HTTP/1.1
    User-Agent: Xbox/2.0.14699.0 UPnP/1.0 Xbox/2.0.14699.0
    Connection: Keep-alive

    However minidlna is responding with:

    HTTP/1.1 200 OK
    CACHE-CONTROL: max-age=1810
    DATE: Sat, 11 Feb 2012 13:33:09 GMT
    ST: uuid:4d696e69-444c-164e-9d41-001966c1693f
    USN: uuid:4d696e69-444c-164e-9d41-001966c1693f
    SERVER: 3.0.0-16-generic DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.0
    Content-Length: 0

    There appear to be a lot of things which MS are doing which are "different", there 2869 port number, the addition of the OPT: value, ST being the service to be discovered, it looks like they are breaking the standard by not having upper case names, etc.  What do you think?

  • Justin Maggard

    Justin Maggard - 2012-03-20

    Are you sure WMC is responding to the "ST: uuid:4d696e69-444c-164e-9d41-001966c1693f" search request with "ST:urn:schemas-upnp-org:service:ContentDirectory:1"?  Because that would be a total violation of the spec.  HTTP headers are case-insensitive, so they aren't doing anything strange there.

  • Anonymous - 2012-05-13

    I have installed Serviio and noticed that it actually displays the artwork on the xbox 360.

  • of6

    of6 - 2012-12-03

    Was anyone able to figure out how to get the Xbox to see thumbnails for videos & audio files?

  • Anonymous - 2014-01-13

    I also would like to know if there's any luck getting thumbnails to appear.

    I'm not sure if this will help, but I know that TwonkyServer 7 supports artwork on Xbox 360.

    edit: This seems like it could be important

    Last edit: Anonymous 2014-01-13
  • Anonymous - 2014-01-13

    I installed Twonky and managed to do some packet sniffing. It appears that Twonky presents itself to XBox as a Windows Media Connect client.
    I grabbed any XML responses that seemed important, and uploaded them for someone smarter than I to digest.


Log in to post a comment.

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

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks