Refactor PlaybackPipeline states
fengalin opened this issue · 1 comments
fengalin commented
PlaybackPipeline
state handling could be enhanced:
Playing
andPaused
are set as variants ofInitialized
when they could use their own state.- Some workflows are currently handled by
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. - In
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
.
fengalin commented
DblAudioBuffer
and SampleExtractor
both use gst::State
which doesn't include EOS
, so let's just use Playing
and Paused
for now.