[alsa-devel] [PATCH v2 4/4] ALSA: compress: Be more restrictive about when a drain is allowed
Takashi Iwai
tiwai at suse.de
Tue Jul 23 12:08:52 CEST 2019
On Mon, 22 Jul 2019 11:24:36 +0200,
Charles Keepax wrote:
>
> Draining makes little sense in the situation of hardware overrun, as the
> hardware will have consumed all its available samples. Additionally,
> draining whilst the stream is paused would presumably get stuck as no
> data is being consumed on the DSP side.
>
> Signed-off-by: Charles Keepax <ckeepax at opensource.cirrus.com>
Applied, thanks.
Takashi
> ---
>
> No changes since v1.
>
> Thanks,
> Charles
>
> sound/core/compress_offload.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 6cf5b8440cf30..41905afada63f 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -811,7 +811,10 @@ static int snd_compr_drain(struct snd_compr_stream *stream)
> case SNDRV_PCM_STATE_OPEN:
> case SNDRV_PCM_STATE_SETUP:
> case SNDRV_PCM_STATE_PREPARED:
> + case SNDRV_PCM_STATE_PAUSED:
> return -EPERM;
> + case SNDRV_PCM_STATE_XRUN:
> + return -EPIPE;
> default:
> break;
> }
> @@ -860,7 +863,10 @@ static int snd_compr_partial_drain(struct snd_compr_stream *stream)
> case SNDRV_PCM_STATE_OPEN:
> case SNDRV_PCM_STATE_SETUP:
> case SNDRV_PCM_STATE_PREPARED:
> + case SNDRV_PCM_STATE_PAUSED:
> return -EPERM;
> + case SNDRV_PCM_STATE_XRUN:
> + return -EPIPE;
> default:
> break;
> }
> --
> 2.11.0
>
>
More information about the Alsa-devel
mailing list