From a2c1dfbabddc2b4abaf8bf27c9ed9d1b99594859 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 15 Jun 2023 10:33:46 +1000 Subject: Add vorbis and flac decoders, flesh out codec interface vorbis doesn't quite work yet, not sure why. will pick it up again later. --- src/codecs/include/foxenflac.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/codecs/include/foxenflac.hpp (limited to 'src/codecs/include/foxenflac.hpp') diff --git a/src/codecs/include/foxenflac.hpp b/src/codecs/include/foxenflac.hpp new file mode 100644 index 00000000..cce1b762 --- /dev/null +++ b/src/codecs/include/foxenflac.hpp @@ -0,0 +1,38 @@ +/* + * Copyright 2023 jacqueline + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "foxen/flac.h" +#include "span.hpp" + +#include "codec.hpp" + +namespace codecs { + +class FoxenFlacDecoder : public ICodec { + public: + FoxenFlacDecoder(); + ~FoxenFlacDecoder(); + + auto BeginStream(cpp::span) -> Result override; + auto ContinueStream(cpp::span, cpp::span) + -> Result override; + auto SeekStream(cpp::span input, std::size_t target_sample) + -> Result override; + + private: + fx_flac_t* flac_; +}; + +} // namespace codecs -- cgit v1.2.3