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

From: Pierre-Louis Bossart
Date: Fri Jun 19 2020 - 12:19:01 EST



+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.