First step: make the player handle both transcode and native audio streams

This commit is contained in:
emeric
2020-04-19 14:59:39 +02:00
parent 1fe87fec4c
commit 7d8ec6ff1e
3 changed files with 48 additions and 25 deletions
+6 -14
View File
@@ -62,26 +62,18 @@ MediaPlayer::loadTrack(Database::IdType trackId, bool play)
const auto track {Database::Track::getById(LmsApp->getDbSession(), trackId)};
const std::string imgResourceMimeType {LmsApp->getImageResource()->getMimeType()};
std::string resource;
bool transcode;
if (LmsApp->getUser()->getAudioTranscodeEnable())
{
resource = LmsApp->getAudioTranscodeResource()->getUrlForUser(trackId, LmsApp->getUser());
transcode = true;
}
else
{
resource = LmsApp->getAudioFileResource()->getUrl(trackId);
transcode = false;
}
std::string nativeResource;
const std::string transcodeResource {LmsApp->getAudioTranscodeResource()->getUrlForUser(trackId, LmsApp->getUser())};
// if (!LmsApp->getUser()->getAudioTranscodeEnable())
nativeResource = LmsApp->getAudioFileResource()->getUrl(trackId);
const auto artists {track->getArtists()};
std::ostringstream oss;
oss
<< "var params = {"
<< " mode: " << (transcode ? "Mode.Transcode" : "Mode.File") << ","
<< " resource: \"" << resource << "\","
<< " native_resource: \"" << nativeResource << "\","
<< " transcode_resource: \"" << transcodeResource << "\","
<< " duration: " << std::chrono::duration_cast<std::chrono::seconds>(track->getDuration()).count() << ","
<< " title: \"" << StringUtils::jsEscape(track->getName()) << "\","
<< " artist: \"" << (!artists.empty() ? StringUtils::jsEscape(artists.front()->getName()) : "") << "\","