Menu

#140 Search for "music albums" fails for compilation albums

open
nobody
None
5
2014-07-26
2012-05-20
No

I use MiniDLNA in conjunction with aVia. aVia offers a view "Music by Album" as the most (or all) media players. Generally, it works, but for compilation albums (e.g. sound tracks or greatest hits), the MiniDLNA's result is not correct (in my opinion)
All my albums are listed in the view, but if I open a compilation album, I got only one song, not all songs of the album. For listing all albums, aVia does a search action with the following parameters:

2012/05/20 11:40:06] upnpsoap.c:1426: debug: Searching ContentDirectory:
* ObjectID: 0
* Count: 10
* StartingIndex: 0
* SearchCriteria: upnp:class derivedfrom "object.container.album.musicAlbum"
* Filter: *
* SortCriteria: +dc:title

This request ends in the following SQL
SELECT
o.OBJECT_ID, o.PARENT_ID, o.REF_ID, o.DETAIL_ID, o.CLASS, d.SIZE, d.TITLE, d.DURATION, d.BITRATE, d.SAMPLERATE, d.ARTIST, d.ALBUM, d.GENRE, d.COMMENT, d.CHANNELS, d.TRACK, d.DATE, d.RESOLUTION, d.THUMBNAIL, d.CREATOR, d.DLNA_PN, d.MIME, d.ALBUM_ART,d.DISC
from OBJECTS o
left join DETAILS d on (d.ID = o.DETAIL_ID)
where OBJECT_ID glob '*$*'
and (o.CLASS like "container.album.musicAlbum%")
group by DETAIL_ID
order by d.TITLE

For my compilation album, MiniDLNA returns the following

<container id="1$6$21F$1" parentID="1$6$21F" restricted="1" childCount="1">
<dc:title>Mamma Mia!</dc:title>
<upnp:class>object.container.album.musicAlbum</upnp:class>
<dc:creator>Various Artists</dc:creator>
<upnp:genre>Unbekannt</upnp:genre>
<upnp:artist>Various Artists</upnp:artist>
</container>

MiniDLNA claims, that the album has only 1 child. But, following the value of "parentID" shows us, that this is the album information depending on only one artist of the compilation album. But MiniDLNA should return the complete album independent of the artist. (more concrete, the album with the "container.storageFolder" as parent.)

In the following, aVia does a directory browse for the objectID 1$6$21F$1. Of course, this shows only 1 entry.

So in my opinion, MiniDLNA returns the wrong album-object in the case of a compilation album (maybe, this depends on the simple group by clause of the resulting SQL).

Please let me know, if I can provide additional informations.

Stefan

Discussion


Log in to post a comment.