From 01be69eca1fa89c047fc29f5cb0ea8ba0898dad1 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Wed, 7 Dec 2022 15:36:47 +1100 Subject: better handling of chunk buffer --- src/audio/audio_decoder.cpp | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'src/audio/audio_decoder.cpp') diff --git a/src/audio/audio_decoder.cpp b/src/audio/audio_decoder.cpp index c48756ac..872b7ead 100644 --- a/src/audio/audio_decoder.cpp +++ b/src/audio/audio_decoder.cpp @@ -19,26 +19,9 @@ static const char* kTag = "DEC"; namespace audio { -AudioDecoder::AudioDecoder() - : IAudioElement(), - stream_info_({}), - raw_chunk_buffer_(static_cast( - heap_caps_malloc(kMaxChunkSize, MALLOC_CAP_SPIRAM))), - chunk_buffer_(raw_chunk_buffer_, kMaxChunkSize) +AudioDecoder::AudioDecoder() : IAudioElement(), stream_info_({}) {} -{} - -AudioDecoder::~AudioDecoder() { - free(raw_chunk_buffer_); -} - -auto AudioDecoder::SetInputBuffer(MessageBufferHandle_t* buffer) -> void { - input_buffer_ = buffer; -} - -auto AudioDecoder::SetOutputBuffer(MessageBufferHandle_t* buffer) -> void { - output_buffer_ = buffer; -} +AudioDecoder::~AudioDecoder() {} auto AudioDecoder::ProcessStreamInfo(const StreamInfo& info) -> cpp::result { @@ -75,7 +58,7 @@ auto AudioDecoder::ProcessChunk(const cpp::span& chunk) bool needs_more_input = false; std::optional error = std::nullopt; WriteChunksToStream( - output_buffer_, chunk_buffer_, + output_buffer_, [&](cpp::span buffer) -> std::size_t { std::size_t bytes_written = 0; // Continue filling up the output buffer so long as we have samples -- cgit v1.2.3