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@xxxxxxxxxx> --- .../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 ================ -- 2.26.2