--- a/src/mediaserver/cdplugins/pycommon/upmplgutils.py
+++ b/src/mediaserver/cdplugins/pycommon/upmplgutils.py
@@ -47,6 +47,17 @@
return
def addSortMethod(self, a, b):
return
+
+default_mime = "audio/mpeg"
+default_samplerate = "44100"
+
+# For now, we pretend that all tracks have the same format (for the
+# resource record). For some services this may not be true, we'll see
+# if it can stay this way.
+def setMimeAndSamplerate(m, s):
+ global default_mime, default_samplerate
+ default_mime = m
+ default_samplerate = s
def trackentries(httphp, pathprefix, objid, tracks):
"""
@@ -67,6 +78,7 @@
http://host:port/pathprefix/track?version=1&trackId=<trackid>
"""
+ global default_mime, default_samplerate
entries = []
for track in tracks:
@@ -91,6 +103,10 @@
li['dc:title'] = track.name
li['discnumber'] = str(track.disc_num)
li['duration'] = track.duration
+ li['upnp:class'] = track.upnpclass
+ li['res:mime'] = default_mime
+ li['res:samplefreq'] = default_samplerate
+
entries.append(li)
return entries
@@ -121,20 +137,13 @@
return trackid
-def direntry(id, pid, title, arturi=None, artist=None):
+def direntry(id, pid, title, arturi=None, artist=None, upnpclass=None):
""" Create container entry in format expected by parent """
ret = {'id':id, 'pid':pid, 'tt':title, 'tp':'ct', 'searchable':'1'}
if arturi:
ret['upnp:albumArtURI'] = arturi
if artist:
ret['upnp:artist'] = artist
+ if upnpclass:
+ ret['upnp:class'] = upnpclass
return ret
-
-
-def direntries(objid, ttidlist):
- """ Create a list of directory entries """
- content = []
- for tt,id in ttidlist:
- content.append(direntry(objid + '$' + id, objid, tt))
- return content
-