From f6dcd845fc80da4e3043146e4362258dd8e0c0a1 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 26 Jan 2023 15:02:57 +1100 Subject: Switch from MessageBuffer to Queue for pipeline comms --- src/audio/include/audio_decoder.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 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 0a2df76d..a2591d25 100644 --- a/src/audio/include/audio_decoder.hpp +++ b/src/audio/include/audio_decoder.hpp @@ -4,6 +4,7 @@ #include #include +#include "chunk.hpp" #include "ff.h" #include "span.hpp" @@ -30,11 +31,13 @@ class AudioDecoder : public IAudioElement { return 1024; } + auto HasUnprocessedInput() -> bool override; + auto ProcessStreamInfo(const StreamInfo& info) -> cpp::result override; auto ProcessChunk(const cpp::span& chunk) -> cpp::result override; - auto ProcessIdle() -> cpp::result override; + auto Process() -> cpp::result override; AudioDecoder(const AudioDecoder&) = delete; AudioDecoder& operator=(const AudioDecoder&) = delete; @@ -42,8 +45,11 @@ class AudioDecoder : public IAudioElement { private: std::unique_ptr current_codec_; std::optional stream_info_; + std::optional chunk_reader_; - std::unique_ptr chunk_writer_; + std::size_t chunk_size_; + bool has_samples_to_send_; + bool needs_more_input_; }; } // namespace audio -- cgit v1.2.3