Implement the new OpenSubsonic API transcoding extension fixes #787
This commit is contained in:
@@ -71,4 +71,38 @@ namespace lms::core::media
|
||||
|
||||
return "Unknown";
|
||||
}
|
||||
} // namespace lms::core::media
|
||||
|
||||
bool isCodecLossless(CodecType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case CodecType::ALAC:
|
||||
case CodecType::APE:
|
||||
case CodecType::DSD:
|
||||
|
||||
case CodecType::FLAC:
|
||||
case CodecType::MP4ALS:
|
||||
case CodecType::PCM:
|
||||
case CodecType::Shorten:
|
||||
case CodecType::TrueAudio:
|
||||
case CodecType::WavPack:
|
||||
case CodecType::WMA9Lossless:
|
||||
return true;
|
||||
|
||||
case CodecType::AAC:
|
||||
case CodecType::AC3:
|
||||
case CodecType::EAC3:
|
||||
case CodecType::MP3:
|
||||
case CodecType::MPC7:
|
||||
case CodecType::MPC8:
|
||||
case CodecType::Opus:
|
||||
case CodecType::Vorbis:
|
||||
case CodecType::WMA1:
|
||||
case CodecType::WMA2:
|
||||
case CodecType::WMA9Pro:
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
} // namespace lms::core::media
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
@@ -49,3 +50,15 @@ namespace lms::core::stringUtils
|
||||
std::optional<UUID>
|
||||
readAs(std::string_view str);
|
||||
}
|
||||
|
||||
namespace std
|
||||
{
|
||||
template<>
|
||||
struct hash<lms::core::UUID>
|
||||
{
|
||||
size_t operator()(const lms::core::UUID& str) const
|
||||
{
|
||||
return hash<std::string_view>{}(str.getAsString());
|
||||
}
|
||||
};
|
||||
} // namespace std
|
||||
|
||||
@@ -49,4 +49,6 @@ namespace lms::core::media
|
||||
};
|
||||
|
||||
core::LiteralString codecTypeToString(CodecType type);
|
||||
} // namespace lms::core::media
|
||||
|
||||
bool isCodecLossless(CodecType type);
|
||||
} // namespace lms::core::media
|
||||
|
||||
Reference in New Issue
Block a user