diff options
Diffstat (limited to 'src/audio/include/audio_decoder.hpp')
| -rw-r--r-- | src/audio/include/audio_decoder.hpp | 21 |
1 files changed, 14 insertions, 7 deletions
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 <cstddef> -#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<codecs::ICodec> current_codec_; + std::optional<StreamInfo> stream_info_; - uint8_t *working_buffer_; - - StreamBufferHandle_t input_buffer_; - StreamBufferHandle_t output_buffer_; + uint8_t* chunk_buffer_; }; } // namespace audio |
