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

Srinivas Kandagatla
2020-06-19T09:29:42Z

On 19/06/2020 05:54, Vinod Koul wrote:
> So we had some discussions of the stream states, so I thought it is a
> good idea to document the state transitions, so add it documentation
>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---

Thanks Vinod for doing this,
Makes things much clear on the state-machine side!

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

> .../sound/designs/compress-offload.rst | 52 +++++++++++++++++++
> 1 file changed, 52 insertions(+)
>
> diff --git a/Documentation/sound/designs/compress-offload.rst b/Documentation/sound/designs/compress-offload.rst
> index ad4bfbdacc83..7292717c43bf 100644
> --- a/Documentation/sound/designs/compress-offload.rst
> +++ b/Documentation/sound/designs/compress-offload.rst
> @@ -151,6 +151,58 @@ Modifications include:
> - Addition of encoding options when required (derived from OpenMAX IL)
> - Addition of rateControlSupported (missing in OpenMAX AL)
>
> +State Machine
> +=============
> +
> +The compressed audio stream state machine is described below ::
> +
> + +----------+
> + | |
> + | 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 |
> + | |
> + +----------+
> +
>
> Gapless Playback
> ================
>