From a7df2855889055976956a58d2a36f23626371ee9 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 23 Nov 2022 17:15:06 +1100 Subject: Mostly done pipeline arch. Now onto cleanup and building. --- src/audio/include/audio_decoder.hpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/audio/include/audio_decoder.hpp') diff --git a/src/audio/include/audio_decoder.hpp b/src/audio/include/audio_decoder.hpp index 2ee43fb7..98ebdc71 100644 --- a/src/audio/include/audio_decoder.hpp +++ b/src/audio/include/audio_decoder.hpp @@ -1,27 +1,34 @@ #pragma once #include -#include "audio_element.hpp" + #include "ff.h" + +#include "audio_element.hpp" #include "codec.hpp" namespace audio { +/* + * An audio element that accepts various kinds of encoded audio streams as + * input, and converts them to uncompressed PCM output. + */ class AudioDecoder : public IAudioElement { public: AudioDecoder(); ~AudioDecoder(); - auto SetInputBuffer(StreamBufferHandle_t) -> void; - auto SetOutputBuffer(StreamBufferHandle_t) -> void; + auto SetInputBuffer(StreamBufferHandle_t*) -> void; + auto SetOutputBuffer(StreamBufferHandle_t*) -> void; + + AudioDecoder(const AudioDecoder&) = delete; + AudioDecoder& operator=(const AudioDecoder&) = delete; private: std::unique_ptr current_codec_; + std::optional stream_info_; - uint8_t *working_buffer_; - - StreamBufferHandle_t input_buffer_; - StreamBufferHandle_t output_buffer_; + uint8_t* chunk_buffer_; }; } // namespace audio -- cgit v1.2.3