Re: [PATCH 2/3] ALSA: compress: document the compress gapless audio state machine

From: Vinod Koul
Date: Mon Jun 22 2020 - 01:34:50 EST


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