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

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



+
+ +----------+
+ | |
+ | OPEN |
+ | |
+ +----------+
+ |
+ |
+ | compr_set_params()
+ |
+ V
+ +----------+
+ compr_drain_notify() | |
+ +------------------------>| SETUP |
+ | | |
+ | +----------+
+ | |
+ | |
+ | | compr_write()
+ | |
+ | V
+ | +----------+
+ | | |
+ | | PREPARE |
+ | | |
+ | +----------+
+ | |
+ | |
+ | | compr_start()
+ | |
+ | V
+ +----------+ +----------+ compr_pause() +----------+
+ | | | |----------------------->| |
+ | DRAIN |<-------------------| RUNNING | | PAUSE |
+ | | | |<-----------------------| |
+ +----------+ +----------+ compr_resume() +----------+
+ | |
+ | |
+ | | compr_free()
+ | |
+ | V
+ | +----------+
+ | compr_free() | |
+ +------------------------>| |
+ | STOP |
+ | |
+ +----------+


The STOP state doesn't seem quite right to me, sorry.

the direction of the DRAIN-STOP comp_free() arrow seems wrong? Of if it is correct, then something's missing to exit the STOP state so that the stream can be opened again.