Re: [Patch v2] ALSA: compress: allow to leave draining state when pausing in draining

From: Jaroslav Kysela
Date: Thu Jul 08 2021 - 10:53:34 EST


On 08. 07. 21 15:47, Robert Lee wrote:
> Hi Takashi,
>
> It is a little complex to describe the design in detail, but try to
> explain simply
> what issue we meet.
>
> If w/o the change, after user resumes from the pause, our system would call
> snd_compr_drain() or snd_compr_partial_drain() again after it returns from
> previous drain (when EOF reaches). Then it will block in this drain and no one
> wake it up because EOF has already reached. I add this change to return from
> the previous drain.

It looks like that the driver does not call snd_compr_drain_notify() so the
state is not updated to SETUP on EOF.

> Actually, I am wondering how the pause-during-drain can keep the state in
> DRAINING. It should have a different design. :)

I already proposed to add a new state (because it's a new state), but the
conservative way was elected to avoid user space changes.

Jaroslav

--
Jaroslav Kysela <perex@xxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.