Post Reply 
UPNP / DIDL additional tag support
23-10-2020, 08:05
Post: #3
RE: UPNP / DIDL additional tag support
Use case: I am developing a control point with rating support. The rating information is stored back into the music file (as rating TAG). For this to work the music files must be clearly indentified. Most music administration applications (like SongKong, Piccard, etc.) clearly identify a song by acoustID or musicBrainzID, embedding those ID's (as TAGs) in the music file.

Since a control point has only access to the information the content directory server delivers, the missing link is how to acquire those ID's. The obviously rather slow way is to download the track from the supplied resource url and extract those information.

Therefore I've asked if you could possible embed them, while browsing the content directory.

I see your point in staying as compatible as possible. But I still ask you to think about it.

I've read Section 2.8.11 of ContentDirectory:1 Service Template

Quote:2.8.11.Vendor Metadata Extensions

Vendors may extend DIDL-Lite metadata by placing blocks of vendor-specific metadata into <desc> blocks. In DIDL-Lite, a <desc> element identifies a descriptor. The required nameSpace attribute identifies the namespace of the contained metadata. <desc> elements may appear as child elements of <DIDL-Lite> root elements, <container>, and <item> elements. The contents of each <desc> must be associated with only one namespace.
A descriptor is employed to associate blocks of other XML-based metadata with a given CDS object. Examples of other XML-based metadata include DIG35, MPEG7, RDF, XrML, and etc. descriptor blocks could also be employed to contain vendor-specific content ratings information, digitally signed rights descriptions, and etc.
Allowing the <desc> to contain only elements from the namespace defined by the nameSpace attribute allows control points vendors to selectively deploy support for a given namespace using parser 'plug-in' techniques. <desc> blocks designating unfamiliar namespaces are ignored by the control point.

Reading that I'd say the desc element might look like this:

Code:
<DIDL-Lite>

[...]
    <item id="0$folders$f60$f61$f63$*i39" parentID="0$folders$f60$f61$f63" restricted="1">
[...]
        <upnp:class>
            object.item.audioItem.musicTrack
        </upnp:class>
        <desc type="id" id="1" nameSpace="http://minimserver.com">
            <acoustID>ed72e5d0-9edf-3c8d-8d21-4c8dace569a6</acoustID>            
            <acoustIdFingerprint>ed72e5d0-9edf-3c8d-8d21-4c8dace569a6</acoustIdFingerprint>            
            <musicBrianzID>ed72e5d0-9edf-3c8d-8d21-4c8dace569a6</musicBrianzID>            
            <rating>128</rating>            
        </desc>
    </item>
</DIDL-Lite>
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: UPNP / DIDL additional tag support - sf666 - 23-10-2020 08:05

Forum Jump:


User(s) browsing this thread: 1 Guest(s)