From 8a2a2d226558d099243eea0aa9ae22b2791e0e0e Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 6 Jun 2023 10:20:46 +1000 Subject: Get basic audio playback going again --- src/audio/audio_decoder.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/audio/audio_decoder.cpp') diff --git a/src/audio/audio_decoder.cpp b/src/audio/audio_decoder.cpp index 981cca6f..5a2c75c7 100644 --- a/src/audio/audio_decoder.cpp +++ b/src/audio/audio_decoder.cpp @@ -14,7 +14,6 @@ #include #include -#include "cbor/tinycbor/src/cborinternal_p.h" #include "freertos/FreeRTOS.h" #include "esp_heap_caps.h" @@ -36,7 +35,8 @@ AudioDecoder::AudioDecoder() current_codec_(), current_input_format_(), current_output_format_(), - has_samples_to_send_(false) {} + has_samples_to_send_(false), + has_input_remaining_(false) {} AudioDecoder::~AudioDecoder() {} @@ -70,6 +70,10 @@ auto AudioDecoder::ProcessStreamInfo(const StreamInfo& info) -> bool { return true; } +auto AudioDecoder::NeedsToProcess() const -> bool { + return has_samples_to_send_ || has_input_remaining_; +} + auto AudioDecoder::Process(const std::vector& inputs, OutputStream* output) -> void { auto input = inputs.begin(); @@ -124,7 +128,8 @@ auto AudioDecoder::Process(const std::vector& inputs, return; } - if (res.value()) { + has_input_remaining_ = !res.value(); + if (!has_input_remaining_) { // We're out of useable data in this buffer. Finish immediately; there's // nothing to send. input->mark_incomplete(); -- cgit v1.2.3