summaryrefslogtreecommitdiff
path: root/lib/esp-idf-lua/lua/lfunc.c
diff options
context:
space:
mode:
authorBe <be.0@gmx.com>2025-04-09 22:52:42 -0500
committerBe <be.0@gmx.com>2025-04-11 10:20:48 -0500
commitc4c6c9df7bb5721ed695667a7f6b6b918330e2e8 (patch)
treebc05e76f1485e028e9e70061a0071402adda122e /lib/esp-idf-lua/lua/lfunc.c
parent71ac67bad3a694b2cd11450bf7bfec76a8293393 (diff)
downloadtangara-fw-c4c6c9df7bb5721ed695667a7f6b6b918330e2e8.tar.gz
fix premature pause at end of last track of queue
The SetTrack event is sent when *decoding* finishes, not when *playback* finishes so the decoder can start buffering the next track in advance of its playback to ensure gapless playback. Clearing StreamCues causes Playback::react(const internal::StreamHeartbeat& ev) to transit the Playback FSM to Standby, which sets the IAudioOutput to stop reading from the output buffer. Thus, clearing StreamCues in response to the SetTrack event paused playback with the end of the track stuck waiting in the output buffer. When a new queue was loaded and started playing, the end of the previous track would be played before the new track was played. Fixes https://codeberg.org/cool-tech-zone/tangara-fw/issues/313
Diffstat (limited to 'lib/esp-idf-lua/lua/lfunc.c')
0 files changed, 0 insertions, 0 deletions