From 61c91b3cdb2c9dd655f3adf0f461f5cefb3b2e9b Mon Sep 17 00:00:00 2001 From: jacqueline Date: Fri, 10 Feb 2023 15:32:21 +1100 Subject: Mostly working pipeline, including proper EOF signalling --- src/audio/audio_decoder.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/audio/audio_decoder.cpp') diff --git a/src/audio/audio_decoder.cpp b/src/audio/audio_decoder.cpp index 27b9cca3..d90ca496 100644 --- a/src/audio/audio_decoder.cpp +++ b/src/audio/audio_decoder.cpp @@ -84,6 +84,16 @@ auto AudioDecoder::ProcessChunk(const cpp::span& chunk) return {}; } +auto AudioDecoder::ProcessEndOfStream() -> void { + has_samples_to_send_ = false; + needs_more_input_ = true; + current_codec_.reset(); + + SendOrBufferEvent( + std::unique_ptr( + StreamEvent::CreateEndOfStream(input_events_))); +} + auto AudioDecoder::Process() -> cpp::result { if (has_samples_to_send_) { ESP_LOGI(kTag, "sending samples"); @@ -132,7 +142,7 @@ auto AudioDecoder::Process() -> cpp::result { has_samples_to_send_ = true; if (needs_more_input_) { - chunk_reader_->HandleLeftovers(current_codec_->GetInputPosition()); + chunk_reader_->HandleBytesUsed(current_codec_->GetInputPosition()); } } -- cgit v1.2.3