diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-03-26 16:45:20 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-03-26 16:45:20 +1100 |
| commit | 4cec85af2d779ea8f6e3b46dfbea61ef5b0419f8 (patch) | |
| tree | 05ff61516ea62e0dea7017d7801f29f9320ca260 /src/audio/include | |
| parent | 078b77d0f796be3c787f62b9b830512e38d3b076 (diff) | |
| download | tangara-fw-4cec85af2d779ea8f6e3b46dfbea61ef5b0419f8.tar.gz | |
implement handling of stream/playback ending
Diffstat (limited to 'src/audio/include')
| -rw-r--r-- | src/audio/include/audio_fsm.hpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/audio/include/audio_fsm.hpp b/src/audio/include/audio_fsm.hpp index c00813ac..60afb321 100644 --- a/src/audio/include/audio_fsm.hpp +++ b/src/audio/include/audio_fsm.hpp @@ -67,6 +67,8 @@ class AudioState : public tinyfsm::Fsm<AudioState> { protected: auto clearDrainBuffer() -> void; + auto awaitEmptyDrainBuffer() -> void; + auto playTrack(database::TrackId id) -> void; auto commitVolume() -> void; @@ -83,10 +85,12 @@ class AudioState : public tinyfsm::Fsm<AudioState> { static std::shared_ptr<TrackInfo> sCurrentTrack; static uint64_t sCurrentSamples; - static std::optional<IAudioOutput::Format> sCurrentFormat; + static std::optional<IAudioOutput::Format> sDrainFormat; + static bool sCurrentTrackIsFromQueue; static std::shared_ptr<TrackInfo> sNextTrack; static uint64_t sNextTrackCueSamples; + static bool sNextTrackIsFromQueue; static bool sIsResampling; static bool sIsPaused; |
