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

From: Pierre-Louis Bossart
Date: Mon Jun 22 2020 - 09:46:46 EST




On 6/22/20 12:34 AM, Vinod Koul wrote:
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.

if you don't want to change the visuals then please add a paragraph explaining the different uses of compr_drain_notify().