[PATCH 2/3] ALSA: compress: document the compress gapless audio state machine
Vinod Koul
vkoul at kernel.org
Mon Jun 22 07:34:41 CEST 2020
On 19-06-20, 09:27, Pierre-Louis Bossart wrote:
>
> > +For Gapless, we move from running state to partial drain and back, along
> > +with setting of meta_data and signalling for next track ::
> > +
> > +
> > + +----------+
> > + compr_drain_notify() | |
> > + +------------------------>| RUNNING |
> > + | | |
> > + | +----------+
> > + | |
> > + | |
> > + | | compr_next_track()
> > + | |
> > + | V
> > + | +----------+
> > + | | |
> > + | |NEXT_TRACK|
> > + | | |
> > + | +----------+
> > + | |
> > + | |
> > + | | compr_partial_drain()
> > + | |
> > + | V
> > + | +----------+
> > + | | |
> > + +------------------------ | PARTIAL_ |
> > + | DRAIN |
> > + +----------+
>
> May I suggest having a single state machine, not a big one and an additional
> partial one. It would help explain why in one case compr_drain_notify()
> triggers a transition to RUNNING while in the other one it goes to SETUP.
>
> I realize it's more complicated to edit but it'd be easier on
> reviewers/users.
Ell adding stop and transitions would really make it complicated and
gapless is a bit different handling and it looks cleaner this way IMO,
so lets stick to this. Feel free to create one if you are up for it.
--
~Vinod
More information about the Alsa-devel
mailing list