PlaybackPipeline state handling could be enhanced:
Playing and Paused are set as variants of Initialized when they could use their own state.
Some workflows are currently handled by MainController when they should probably take place in PlaybackPipeline. E.g.: TwoStepsSeek and the post_seek state. PlaybackPipeline could notify the UI with its internal state instead of the two state machines updating individually.
In EOS, the PlaybackPipeline sets the dbl_audio_buffer to Paused. Even if this behaviour seems sufficient currently, it should be worth passing EOS and updating the WaveformBuffer to use this instead of using a state from the AudioBuffer.
PlaybackPipeline
state handling could be enhanced:Playing
andPaused
are set as variants ofInitialized
when they could use their own state.MainController
when they should probably take place inPlaybackPipeline
. E.g.:TwoStepsSeek
and thepost_seek
state.PlaybackPipeline
could notify the UI with its internal state instead of the two state machines updating individually.EOS
, thePlaybackPipeline
sets thedbl_audio_buffer
toPaused
. Even if this behaviour seems sufficient currently, it should be worth passingEOS
and updating theWaveformBuffer
to use this instead of using a state from theAudioBuffer
.