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

Pierre-Louis Bossart
2020-06-19T16:19:19Z

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