diff options
| author | ailurux <ailurux@noreply.codeberg.org> | 2025-04-14 07:22:54 +0000 |
|---|---|---|
| committer | ailurux <ailurux@noreply.codeberg.org> | 2025-04-14 07:22:54 +0000 |
| commit | 20ccf51d2ba386d960e60b993ceaa02e3bda557c (patch) | |
| tree | 02dad507ccf485133f4c5eaca23593790ea5f071 /src | |
| parent | 3804b2e2e89ceb368a92b5ecac4b9273f6c878fa (diff) | |
| parent | c4c6c9df7bb5721ed695667a7f6b6b918330e2e8 (diff) | |
| download | tangara-fw-20ccf51d2ba386d960e60b993ceaa02e3bda557c.tar.gz | |
Merge pull request 'fix premature pause at end of last track of queue' (#317) from Be.ing/tangara-fw:premature_pause into main
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/317
Diffstat (limited to 'src')
| -rw-r--r-- | src/tangara/audio/audio_fsm.cpp | 3 | ||||
| -rw-r--r-- | src/tangara/audio/stream_cues.cpp | 5 | ||||
| -rw-r--r-- | src/tangara/audio/stream_cues.hpp | 2 |
3 files changed, 1 insertions, 9 deletions
diff --git a/src/tangara/audio/audio_fsm.cpp b/src/tangara/audio/audio_fsm.cpp index 1e8e0cf6..7c1b010d 100644 --- a/src/tangara/audio/audio_fsm.cpp +++ b/src/tangara/audio/audio_fsm.cpp @@ -148,9 +148,7 @@ void AudioState::react(const QueueUpdate& ev) { void AudioState::react(const SetTrack& ev) { if (std::holds_alternative<std::monostate>(ev.new_track)) { - ESP_LOGI(kTag, "playback finished, awaiting drain"); sDecoder->open({}); - sStreamCues.clear(); return; } @@ -212,6 +210,7 @@ void AudioState::react(const TtsPlaybackChanged& ev) { } void AudioState::react(const internal::DecodingFinished& ev) { + ESP_LOGD(kTag, "end of file decoded; awaiting playback of buffered audio"); // If we just finished playing whatever's at the front of the queue, then we // need to advanve and start playing the next one ASAP in order to continue // gaplessly. diff --git a/src/tangara/audio/stream_cues.cpp b/src/tangara/audio/stream_cues.cpp index 611138c6..6a9a7674 100644 --- a/src/tangara/audio/stream_cues.cpp +++ b/src/tangara/audio/stream_cues.cpp @@ -43,11 +43,6 @@ auto StreamCues::addCue(std::shared_ptr<TrackInfo> track, uint32_t sample) } } -auto StreamCues::clear() -> void { - upcoming_.clear(); - current_ = {}; -} - auto StreamCues::current() -> std::pair<std::shared_ptr<TrackInfo>, uint32_t> { if (!current_) { return {}; diff --git a/src/tangara/audio/stream_cues.hpp b/src/tangara/audio/stream_cues.hpp index 70ad49a7..cd0782b0 100644 --- a/src/tangara/audio/stream_cues.hpp +++ b/src/tangara/audio/stream_cues.hpp @@ -34,8 +34,6 @@ class StreamCues { auto addCue(std::shared_ptr<TrackInfo>, uint32_t start_at) -> void; - auto clear() -> void; - private: uint32_t now_; |
