diff --git a/src/av/AvTranscoder.cpp b/src/av/AvTranscoder.cpp index 4d02191c..35ea8162 100644 --- a/src/av/AvTranscoder.cpp +++ b/src/av/AvTranscoder.cpp @@ -43,7 +43,7 @@ static std::vector encodingInfos = {Encoding::M4A, "audio/mp4", 5}, }; -std::string encoding_to_mimetype(Encoding encoding) +std::string encodingToMimetype(Encoding encoding) { for (auto encodingInfo : encodingInfos) { @@ -54,7 +54,7 @@ std::string encoding_to_mimetype(Encoding encoding) throw std::logic_error("encoding_to_mimetype failed!"); } -int encoding_to_int(Encoding encoding) +int encodingToInt(Encoding encoding) { for (auto encodingInfo : encodingInfos) { @@ -65,7 +65,7 @@ int encoding_to_int(Encoding encoding) throw std::logic_error("encoding_to_int failed!"); } -Encoding encoding_from_int(int encodingId) +Encoding encodingFromInt(int encodingId) { for (auto encodingInfo : encodingInfos) { @@ -136,10 +136,10 @@ Transcoder::start() args.push_back("-nostdin"); // input Offset - if (_parameters.offset.total_seconds() > 0) + if (_parameters.offset) { args.push_back("-ss"); - args.push_back(std::to_string(_parameters.offset.total_seconds())); + args.push_back(std::to_string((*_parameters.offset).count())); } // Input file diff --git a/src/av/AvTranscoder.hpp b/src/av/AvTranscoder.hpp index 73e10ec5..144ea5d6 100644 --- a/src/av/AvTranscoder.hpp +++ b/src/av/AvTranscoder.hpp @@ -24,7 +24,6 @@ #include -#include //no i/o just types #include #include @@ -42,16 +41,16 @@ enum class Encoding M4A, }; -std::string encoding_to_mimetype(Encoding encoding); -int encoding_to_int(Encoding encoding); -Encoding encoding_from_int(int encoding); +std::string encodingToMimetype(Encoding encoding); +int encodingToInt(Encoding encoding); +Encoding encodingFromInt(int encoding); struct TranscodeParameters { Encoding encoding = Encoding::MP3; - boost::optional stream = boost::none; // Id of the stream to be transcoded (auto detect by default) std::size_t bitrate = 128000; - boost::posix_time::time_duration offset = boost::posix_time::seconds(0); + boost::optional stream = boost::none; // Id of the stream to be transcoded (auto detect by default) + boost::optional offset; TranscodeParameters() {} }; diff --git a/src/ui/MediaPlayer.cpp b/src/ui/MediaPlayer.cpp index b4fd2816..f2fbe015 100644 --- a/src/ui/MediaPlayer.cpp +++ b/src/ui/MediaPlayer.cpp @@ -56,7 +56,7 @@ MediaPlayer::playTrack(Database::Track::id_type trackId) { Av::MediaFile mediaFile(track->getPath()); - auto resource = LmsApp->getTranscodeResource()->getUrl(trackId, Av::Encoding::MP3, boost::posix_time::seconds(0)); + auto resource = LmsApp->getTranscodeResource()->getUrl(trackId, Av::Encoding::MP3); auto imgResource = LmsApp->getImageResource()->getTrackUrl(trackId, 64); std::ostringstream oss; diff --git a/src/ui/resource/TranscodeResource.cpp b/src/ui/resource/TranscodeResource.cpp index f1b0755d..926dd040 100644 --- a/src/ui/resource/TranscodeResource.cpp +++ b/src/ui/resource/TranscodeResource.cpp @@ -40,10 +40,9 @@ TranscodeResource:: ~TranscodeResource() } std::string -TranscodeResource::getUrl(Database::Track::id_type trackId, Av::Encoding encoding, boost::posix_time::time_duration offset) const +TranscodeResource::getUrl(Database::Track::id_type trackId, Av::Encoding encoding) const { - std::string res = url()+ "&trackid=" + std::to_string(trackId) + "&encoding=" + std::to_string(Av::encoding_to_int(encoding)); - res += "&offset=" + std::to_string(offset.seconds()); + std::string res = url()+ "&trackid=" + std::to_string(trackId) + "&encoding=" + std::to_string(Av::encodingToInt(encoding)); return res; } @@ -81,11 +80,11 @@ TranscodeResource::handleRequest(const Wt::Http::Request& request, auto offsetStr = request.getParameter("offset"); if (offsetStr) - parameters.offset = boost::posix_time::seconds(std::stol(*offsetStr)); + parameters.offset = std::chrono::seconds(std::stol(*offsetStr)); auto encodingStr = request.getParameter("encoding"); if (encodingStr) - parameters.encoding = Av::encoding_from_int(std::stol(*encodingStr)); + parameters.encoding = Av::encodingFromInt(std::stol(*encodingStr)); auto streamStr = request.getParameter("stream"); if (streamStr) @@ -116,7 +115,7 @@ TranscodeResource::handleRequest(const Wt::Http::Request& request, transcoder = std::make_shared(track->getPath(), parameters); } - std::string mimeType = Av::encoding_to_mimetype(transcoder->getParameters().encoding); + std::string mimeType = Av::encodingToMimetype(transcoder->getParameters().encoding); LMS_LOG(UI, DEBUG) << "Mime type set to '" << mimeType << "'"; response.setMimeType(mimeType); diff --git a/src/ui/resource/TranscodeResource.hpp b/src/ui/resource/TranscodeResource.hpp index 02847e53..b3842541 100644 --- a/src/ui/resource/TranscodeResource.hpp +++ b/src/ui/resource/TranscodeResource.hpp @@ -35,7 +35,7 @@ class TranscodeResource : public Wt::WResource TranscodeResource(Database::Handler& db); ~TranscodeResource(); - std::string getUrl(Database::Track::id_type trackId, Av::Encoding encoding, boost::posix_time::time_duration offset) const; + std::string getUrl(Database::Track::id_type trackId, Av::Encoding encoding) const; void handleRequest(const Wt::Http::Request& request, Wt::Http::Response& response); diff --git a/src/utils/Utils.cpp b/src/utils/Utils.cpp index f65287b5..07700578 100644 --- a/src/utils/Utils.cpp +++ b/src/utils/Utils.cpp @@ -21,7 +21,6 @@ #include #include -#include #include #include @@ -77,18 +76,6 @@ bool readList(const std::string& str, const std::string& separators, std::listtime_duration_format(format.c_str()); - std::ostringstream oss; - oss.imbue(std::locale(oss.getloc(), facet)); - oss << duration; - - return oss.str(); -} - std::vector splitString(std::string string, std::string separators) { diff --git a/src/utils/Utils.hpp b/src/utils/Utils.hpp index 61674756..497eac91 100644 --- a/src/utils/Utils.hpp +++ b/src/utils/Utils.hpp @@ -32,9 +32,6 @@ bool readList(const std::string& str, const std::string& separators, std::list& results); -//std::string -//durationToString(boost::posix_time::time_duration duration, std::string format); - std::vector splitString(std::string string, std::string separators);