summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorailurux <ailurux@noreply.codeberg.org>2025-04-14 07:22:54 +0000
committerailurux <ailurux@noreply.codeberg.org>2025-04-14 07:22:54 +0000
commit20ccf51d2ba386d960e60b993ceaa02e3bda557c (patch)
tree02dad507ccf485133f4c5eaca23593790ea5f071
parent3804b2e2e89ceb368a92b5ecac4b9273f6c878fa (diff)
parentc4c6c9df7bb5721ed695667a7f6b6b918330e2e8 (diff)
downloadtangara-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
-rw-r--r--src/tangara/audio/audio_fsm.cpp3
-rw-r--r--src/tangara/audio/stream_cues.cpp5
-rw-r--r--src/tangara/audio/stream_cues.hpp2
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_;