db/upnp: fix empty song URI

Fall back to UPnPDirObject::url if there is no override.
This commit is contained in:
Max Kellermann 2014-01-21 21:02:21 +01:00
parent 21209ff46b
commit ecac7a629e
1 changed files with 6 additions and 3 deletions

View File

@ -65,7 +65,10 @@ public:
} }
UpnpSong(UPnPDirObject &&object, const char *_uri) UpnpSong(UPnPDirObject &&object, const char *_uri)
:uri2(_uri), tag2(std::move(object.tag)) { :uri2(_uri == nullptr
? std::move(object.url)
: std::string(_uri)),
tag2(std::move(object.tag)) {
directory = nullptr; directory = nullptr;
uri = uri2.c_str(); uri = uri2.c_str();
tag = &tag2; tag = &tag2;
@ -563,7 +566,7 @@ UpnpDatabase::VisitServer(ContentDirectoryService &server,
error)) error))
return false; return false;
if (!visitSong(std::move(dirent), "", selection, if (!visitSong(std::move(dirent), nullptr, selection,
visit_song, error)) visit_song, error))
return false; return false;
} }
@ -594,7 +597,7 @@ UpnpDatabase::VisitServer(ContentDirectoryService &server,
switch (tdirent.item_class) { switch (tdirent.item_class) {
case UPnPDirObject::ItemClass::MUSIC: case UPnPDirObject::ItemClass::MUSIC:
if (visit_song) if (visit_song)
return visitSong(std::move(tdirent), "", return visitSong(std::move(tdirent), nullptr,
selection, visit_song, selection, visit_song,
error); error);
break; break;