diff options
| author | Be <be.0@gmx.com> | 2025-04-09 22:52:42 -0500 |
|---|---|---|
| committer | Be <be.0@gmx.com> | 2025-04-11 10:20:48 -0500 |
| commit | c4c6c9df7bb5721ed695667a7f6b6b918330e2e8 (patch) | |
| tree | bc05e76f1485e028e9e70061a0071402adda122e /lib/lua-repl/dev | |
| parent | 71ac67bad3a694b2cd11450bf7bfec76a8293393 (diff) | |
| download | tangara-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/lua-repl/dev')
0 files changed, 0 insertions, 0 deletions
