Added Opus transcode support

This commit is contained in:
emeric
2019-05-05 23:33:10 +02:00
parent 099d516091
commit d19ed184b3
11 changed files with 139 additions and 100 deletions
+9 -6
View File
@@ -224,17 +224,20 @@ class SettingsModel : public Wt::WFormModel
_encodingModel = std::make_shared<Wt::WStringListModel>();
_encodingModel->addString(Wt::WString::tr("Lms.Settings.auto"));
_encodingModel->addString(Wt::WString::tr("Lms.Settings.encoding.auto"));
_encodingModel->setData(0, 0, Database::AudioEncoding::AUTO, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.mp3"));
_encodingModel->addString(Wt::WString::tr("Lms.Settings.encoding.mp3"));
_encodingModel->setData(1, 0, Database::AudioEncoding::MP3, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.oga"));
_encodingModel->setData(2, 0, Database::AudioEncoding::OGA, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.encoding.ogg_opus"));
_encodingModel->setData(2, 0, Database::AudioEncoding::OGG_OPUS, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.webma"));
_encodingModel->setData(3, 0, Database::AudioEncoding::WEBMA, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.encoding.ogg_vorbis"));
_encodingModel->setData(3, 0, Database::AudioEncoding::OGG_VORBIS, Wt::ItemDataRole::User);
_encodingModel->addString(Wt::WString::tr("Lms.Settings.encoding.webm_vorbis"));
_encodingModel->setData(4, 0, Database::AudioEncoding::WEBM_VORBIS, Wt::ItemDataRole::User);
}
std::shared_ptr<Wt::WStringListModel> _bitrateModel;
+11 -7
View File
@@ -102,18 +102,22 @@ AudioResource::handleRequest(const Wt::Http::Request& request,
switch (LmsApp->getUser()->getAudioEncoding())
{
case Database::AudioEncoding::OGA:
parameters.encoding = Av::Encoding::OGA;
break;
case Database::AudioEncoding::WEBMA:
parameters.encoding = Av::Encoding::WEBMA;
break;
case Database::AudioEncoding::AUTO:
case Database::AudioEncoding::MP3:
parameters.encoding = Av::Encoding::MP3;
break;
case Database::AudioEncoding::AUTO:
case Database::AudioEncoding::OGG_OPUS:
parameters.encoding = Av::Encoding::OGG_OPUS;
break;
case Database::AudioEncoding::OGG_VORBIS:
parameters.encoding = Av::Encoding::OGG_VORBIS;
break;
case Database::AudioEncoding::WEBM_VORBIS:
parameters.encoding = Av::Encoding::WEBM_VORBIS;
break;
default:
parameters.encoding = Av::Encoding::MP3;
break;
}
transcoder = std::make_shared<Av::Transcoder>(track->getPath(), parameters);
}