From 62d51a304eb02f0eab0645488c0b922b4a45e1c9 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 19 Dec 2023 18:11:23 +1100 Subject: replace foxenflac with miniflac it's better! --- src/codecs/include/foxenflac.hpp | 48 ------------------------------------- src/codecs/include/miniflac.hpp | 51 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 48 deletions(-) delete mode 100644 src/codecs/include/foxenflac.hpp create mode 100644 src/codecs/include/miniflac.hpp (limited to 'src/codecs/include') diff --git a/src/codecs/include/foxenflac.hpp b/src/codecs/include/foxenflac.hpp deleted file mode 100644 index 7522d967..00000000 --- a/src/codecs/include/foxenflac.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2023 jacqueline - * - * SPDX-License-Identifier: GPL-3.0-only - */ - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include "foxen/flac.h" -#include "sample.hpp" -#include "source_buffer.hpp" -#include "span.hpp" - -#include "codec.hpp" - -namespace codecs { - -class FoxenFlacDecoder : public ICodec { - public: - FoxenFlacDecoder(); - ~FoxenFlacDecoder(); - - auto OpenStream(std::shared_ptr input) - -> cpp::result override; - - auto DecodeTo(cpp::span destination) - -> cpp::result override; - - auto SeekTo(std::size_t target_sample) -> cpp::result override; - - FoxenFlacDecoder(const FoxenFlacDecoder&) = delete; - FoxenFlacDecoder& operator=(const FoxenFlacDecoder&) = delete; - - private: - std::shared_ptr input_; - SourceBuffer buffer_; - - fx_flac_t* flac_; -}; - -} // namespace codecs diff --git a/src/codecs/include/miniflac.hpp b/src/codecs/include/miniflac.hpp new file mode 100644 index 00000000..d57b08a3 --- /dev/null +++ b/src/codecs/include/miniflac.hpp @@ -0,0 +1,51 @@ +/* + * Copyright 2023 jacqueline + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "miniflac.h" +#include "sample.hpp" +#include "source_buffer.hpp" +#include "span.hpp" + +#include "codec.hpp" + +namespace codecs { + +class MiniFlacDecoder : public ICodec { + public: + MiniFlacDecoder(); + ~MiniFlacDecoder(); + + auto OpenStream(std::shared_ptr input) + -> cpp::result override; + + auto DecodeTo(cpp::span destination) + -> cpp::result override; + + auto SeekTo(std::size_t target_sample) -> cpp::result override; + + MiniFlacDecoder(const MiniFlacDecoder&) = delete; + MiniFlacDecoder& operator=(const MiniFlacDecoder&) = delete; + + private: + std::shared_ptr input_; + SourceBuffer buffer_; + + std::unique_ptr flac_; + std::array samples_by_channel_; + std::optional current_sample_; +}; + +} // namespace codecs -- cgit v1.2.3