aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinod Koul <vkoul@kernel.org>2020-06-22 12:08:12 +0530
committerVinod Koul <vkoul@kernel.org>2020-07-13 09:45:44 +0530
commit48a5529f2103bf787424a288b9842fe555f420df (patch)
tree58d2dcd78a1a074f82211570403eb08c0e3d881c
parent41e429a8f85ce872eee24d4d209e2421b7fcd4e4 (diff)
downloadkernel-48a5529f2103bf787424a288b9842fe555f420df.tar.gz
ALSA: compress: document the compress gapless audio state machine
Also documented the galpess transitions. Please note that these are not really stream states, but show how the stream steps in gapless mode Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--Documentation/sound/designs/compress-offload.rst32
1 files changed, 32 insertions, 0 deletions
diff --git a/Documentation/sound/designs/compress-offload.rst b/Documentation/sound/designs/compress-offload.rst
index ad4bfbdacc83..a9065f3f6852 100644
--- a/Documentation/sound/designs/compress-offload.rst
+++ b/Documentation/sound/designs/compress-offload.rst
@@ -199,6 +199,38 @@ Sequence flow for gapless would be:
(note: order for partial_drain and write for next track can be reversed as well)
+Gapless Playback SM
+===================
+
+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 |
+ +----------+
Not supported
=============