Commit d0af37c8 authored by Vinod Koul's avatar Vinod Koul Committed by Takashi Iwai
Browse files

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: default avatarVinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20200629134737.105993-3-vkoul@kernel.org


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 2441bf4d
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -250,6 +250,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
=============