[alsa-devel] [PATCH alsa-lib] pcm: fix return value of snd_pcm_share_slave_avail
Takashi Iwai
tiwai at suse.de
Tue Sep 2 07:21:23 CEST 2014
At Tue, 2 Sep 2014 01:29:36 +0600,
Alexander E. Patrakov wrote:
>
> The return value was wrong for playback if slave->hw_ptr was near the
> boundary and *pcm->appl.ptr was near zero. The wrong result was greater
> than the boundary.
>
> Signed-off-by: Alexander E. Patrakov <patrakov at gmail.com>
Applied, thanks.
Takashi
> ---
> src/pcm/pcm_share.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> Only compile-tested, as I don't know how to setup the "share" pcm.
>
> diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c
> index 9770544..c301c7a 100644
> --- a/src/pcm/pcm_share.c
> +++ b/src/pcm/pcm_share.c
> @@ -128,6 +128,8 @@ static snd_pcm_uframes_t snd_pcm_share_slave_avail(snd_pcm_share_slave_t *slave)
> avail += pcm->buffer_size;
> if (avail < 0)
> avail += pcm->boundary;
> + else if ((snd_pcm_uframes_t) avail >= pcm->boundary)
> + avail -= pcm->boundary;
> return avail;
> }
>
> --
> 2.1.0
>
More information about the Alsa-devel
mailing list