[PATCH 2/3] ALSA: compress: document the compress gapless audio state machine

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Jun 22 15:22:00 CEST 2020



On 6/22/20 12:34 AM, Vinod Koul wrote:
> On 19-06-20, 09:27, Pierre-Louis Bossart wrote:
>>
>>> +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   |
>>> +                                        +----------+
>>
>> May I suggest having a single state machine, not a big one and an additional
>> partial one. It would help explain why in one case compr_drain_notify()
>> triggers a transition to RUNNING while in the other one it goes to SETUP.
>>
>> I realize it's more complicated to edit but it'd be easier on
>> reviewers/users.
> 
> Ell adding stop and transitions would really make it complicated and
> gapless is a bit different handling and it looks cleaner this way IMO,
> so lets stick to this. Feel free to create one if you are up for it.

if you don't want to change the visuals then please add a paragraph 
explaining the different uses of compr_drain_notify().


More information about the Alsa-devel mailing list