db/upnp: pass char* to visitSong()
Don't use std::string, reduce bloat.
This commit is contained in:
parent
f703d4fc3e
commit
3ac15ca8d1
@ -350,7 +350,7 @@ UpnpDatabase::SearchSongs(const ContentDirectoryService &server,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
visitSong(const UPnPDirObject &meta, std::string &&path,
|
visitSong(const UPnPDirObject &meta, const char *path,
|
||||||
const DatabaseSelection &selection,
|
const DatabaseSelection &selection,
|
||||||
VisitSong visit_song, Error& error)
|
VisitSong visit_song, Error& error)
|
||||||
{
|
{
|
||||||
@ -359,7 +359,7 @@ visitSong(const UPnPDirObject &meta, std::string &&path,
|
|||||||
|
|
||||||
LightSong song;
|
LightSong song;
|
||||||
song.directory = nullptr;
|
song.directory = nullptr;
|
||||||
song.uri = path.c_str();
|
song.uri = path;
|
||||||
song.real_uri = meta.url.c_str();
|
song.real_uri = meta.url.c_str();
|
||||||
song.tag = &meta.tag;
|
song.tag = &meta.tag;
|
||||||
song.mtime = 0;
|
song.mtime = 0;
|
||||||
@ -414,9 +414,9 @@ UpnpDatabase::SearchSongs(const ContentDirectoryService &server,
|
|||||||
// course, 'All Music' is very big.
|
// course, 'All Music' is very big.
|
||||||
// So we return synthetic and ugly paths based on the object id,
|
// So we return synthetic and ugly paths based on the object id,
|
||||||
// which we later have to detect.
|
// which we later have to detect.
|
||||||
if (!visitSong(std::move(dirent),
|
const std::string path = songPath(server.getFriendlyName(),
|
||||||
songPath(server.getFriendlyName(),
|
dirent.m_id);
|
||||||
dirent.m_id),
|
if (!visitSong(std::move(dirent), path.c_str(),
|
||||||
selection, visit_song,
|
selection, visit_song,
|
||||||
error))
|
error))
|
||||||
return false;
|
return false;
|
||||||
@ -574,7 +574,7 @@ UpnpDatabase::VisitServer(const ContentDirectoryService &server,
|
|||||||
case UPnPDirObject::ItemClass::MUSIC:
|
case UPnPDirObject::ItemClass::MUSIC:
|
||||||
if (visit_song)
|
if (visit_song)
|
||||||
return visitSong(std::move(tdirent),
|
return visitSong(std::move(tdirent),
|
||||||
std::string(selection.uri),
|
selection.uri.c_str(),
|
||||||
selection, visit_song,
|
selection, visit_song,
|
||||||
error);
|
error);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user