Subsonic API: getCoverArt: serve raw image if size is not provided

This commit is contained in:
emeric
2024-12-07 18:27:01 +01:00
parent 350e213529
commit def4d8c3e3
25 changed files with 305 additions and 372 deletions
@@ -19,24 +19,19 @@
#include "RawImage.hpp"
#include <algorithm>
#include <array>
#include <magick/resource.h>
#include "core/ILogger.hpp"
#include "core/ITraceLogger.hpp"
#include "image/Exception.hpp"
#include "JPEGImage.hpp"
namespace lms::image::GraphicsMagick
{
RawImage::RawImage(const std::byte* encodedData, std::size_t encodedDataSize)
RawImage::RawImage(std::span<const std::byte> encodedData)
{
try
{
Magick::Blob blob{ encodedData, encodedDataSize };
Magick::Blob blob{ encodedData.data(), encodedData.size() };
_image.read(blob);
}
catch (Magick::WarningCoder& e)
@@ -102,14 +97,8 @@ namespace lms::image::GraphicsMagick
}
}
std::unique_ptr<IEncodedImage> RawImage::encodeToJPEG(unsigned quality) const
{
return std::make_unique<JPEGImage>(*this, quality);
}
Magick::Image RawImage::getMagickImage() const
{
return _image;
}
} // namespace lms::image::GraphicsMagick