INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: DLNA client can't find track number metadata  (Read 5711 times)

simoncn

  • Recent member
  • *
  • Posts: 17
DLNA client can't find track number metadata
« on: August 06, 2010, 08:53:00 am »

If I set up MC as a DLNA Client and Renderer (no Server) and use "File/Library/Connect to Library" to bring in a library on another DLNA Media Server, the following metadata from my DLNA library is displayed in the MC "Files" pane:
  Track name
  Artist name
  Album name
  Genre

The following metadata from my DLNA library is not displayed:
  Year (shows as "Unknown year")
  Track # (shows as blank)

The lack of track numbers is a major showstopper as it means I can't play the tracks in the correct order. Is this a current limitation in MC's DLNA client support?

Without the ability to access track numbers across DLNA I'm unable to use MC. This is very disappointing as the audio playback quality is excellent. Is there any chance of adding the missing metadata soon?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72438
  • Where did I put my teeth?
Re: DLNA client can't find track number metadata
« Reply #1 on: August 06, 2010, 08:55:35 am »

Welcome to Interact.

What is the DLNA server and what filetypes are you playing?
Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42372
  • Shoes gone again!
Re: DLNA client can't find track number metadata
« Reply #2 on: August 06, 2010, 09:00:34 am »

What type of DLNA server are you using?

We read upnp:originalTrackNumber, which is the only name for track number I was aware of.  Do you know what the server you are using uses for track number?  

You might need to do a sniff of the network traffic, but if you can tell us the track number name, we'll add support.

Thanks, and welcome to Interact.
Logged
Matt Ashland, JRiver Media Center

simoncn

  • Recent member
  • *
  • Posts: 17
Re: DLNA client can't find track number metadata
« Reply #3 on: August 06, 2010, 09:10:45 am »

Thanks for the quick replies.  I'm using TwonkyMedia 4.4.17 and my files are all in FLAC format.  If I use foobar2000 as the DLNA controller, the track numbers are displayed correctly.  I'll have a go at sniffing the network traffic (it should be interesting to see under the covers of DLNA :)) and I'll post the results.
Logged

simoncn

  • Recent member
  • *
  • Posts: 17
Re: DLNA client can't find track number metadata
« Reply #4 on: August 06, 2010, 10:40:03 am »

The track item data sent from the DLNA server to the MC controller is different from the data sent from the DLNA server to the foobar2000 controller. Some additional information including the track number is being sent to foobar2000. Here is the captured data, formatted for improved readability:

---- track item data sent from DLNA server to foobar2000 controller ----

<item id="1$13$744776851$3026479353" refID="1$268435466$2013265977" parentID="1$13$744776851" restricted="1">
  <dc:title>
    Dixit Dominus
  </dc:title>
  <dc:creator>
    Unknown
  </dc:creator>
  <upnp:artist>
    Ex Cathedra
  </upnp:artist>
  <upnp:album>
    Moon, Sun & All Things
  </upnp:album>
  <upnp:genre>
    Baroque
  </upnp:genre>
  <dc:date>
    2005-01-01
  </dc:date>
  <upnp:originalTrackNumber>
    3
  </upnp:originalTrackNumber>
  <res size="36177587"   protocolInfo="http-get:*:audio/x-flac:*" >
    http://192.168.0.13:9000/disk/music/O1$13$744776851$3026479353.flac
  </res>
  <upnp:class>
    object.item.audioItem.musicTrack
  </upnp:class>
</item>

---- track item data sent from DLNA server to MC controller ----

<item id="1$268435466$2013265969" parentID="1$268435466" restricted="1" >
  <dc:title>
    !Ay, andar!
  </dc:title>
  <upnp:artist>
    Ex Cathedra
  </upnp:artist>
  <upnp:album>
    Moon, Sun & All Things
  </upnp:album>
  <upnp:genre>
    Baroque
  </upnp:genre>
  <res   protocolInfo="http-get:*:audio/x-flac:*" >
    http://192.168.0.13:9000/disk/music/O1$268435466$2013265969.flac
  </res>
  <upnp:class>
    object.item.audioItem.musicTrack
  </upnp:class>
</item>
Logged

simoncn

  • Recent member
  • *
  • Posts: 17
Re: DLNA client can't find track number metadata
« Reply #5 on: August 06, 2010, 10:51:56 am »

I took a look at the requests sent to the DLNA server by foobar2000 and MC. foobar2000 sends a Browse request without filtering and MC sends a Search request with filtering. Here are the requests in full:

---- request sent from foobar2000 to DLNA server ----

<?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>1$13$744776851</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>*</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>50</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>

---- request sent from MC to DLNA server ----

<?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/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<s:Body>
<u:Search xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ContainerID>0</ContainerID>
<SearchCriteria>(upnp:class derivedfrom "object.item.audioItem")</SearchCriteria>
<Filter>dc:title,res,res@protection,res@duration,res@sampleFrequency,res@bitsPerSample,res@bitrate,res@nrAudioChannels,upnp:artist,upnp:artist@role,upnp:genre,upnp:album,upnp:albumArtURI</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>1000</RequestedCount>
<SortCriteria>+dc:title</SortCriteria>
</u:Search>
</s:Body>
</s:Envelope>

Logged

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42372
  • Shoes gone again!
Re: DLNA client can't find track number metadata
« Reply #6 on: August 06, 2010, 10:54:54 am »

Thanks for the sniffs!

As you can see, we're not getting the track number.  But I think there's a simple explanation.

We get a list of all the content by doing a search of the server when we first connect.  When you search, you have to ask for fields you want returned.

We either need to add track # to the list of fields we request, or ask for everything (if servers support this).

Look for a change in a coming build of Media Center.  If things go well, there may be an updated build this weekend otherwise it will be available sometime next week.

Thanks again.
Logged
Matt Ashland, JRiver Media Center

simoncn

  • Recent member
  • *
  • Posts: 17
Re: DLNA client can't find track number metadata
« Reply #7 on: August 06, 2010, 12:20:01 pm »

Thanks! I'll look out for the new build with this change.

I've been playing with MC and internet radio stations as well.  I have set up some URLs for radio stations in a .m3u file on the DLNA server but these aren't being picked up by the MC search request. They do show up in other DLNA controllers such as foobar2000, PlugPlayer and KinskyDesktop. If the MC search could be extended so that these radio stations are returned, I could include radio stations within the same library as my music files. I can work around this by putting the radio station URLs into my default library but this isn't very convenient as it means I need to change libraries when going from music files to radio or vice versa.
Logged
Pages: [1]   Go Up