[alsa-devel] bug in alsa-lib/snd_pcm_plugin_delay for capture?

Jaroslav Kysela perex at perex.cz
Tue Nov 23 16:02:49 CET 2010

On Tue, 23 Nov 2010, pl bossart wrote:

>> After rethinking, I believe that the right fix should be to add the
>> 'snd_pcm_mmap_capture_avail(pcm)' to the sd variable - delay(slave) - for
>> the capture direction. You should not bother with avail_update or the slave
>> avail values. The avail_update() capture loop just copied samples from the
>> producer (slave) to the consumer (pcm). It means that the avail becomes
>> lower for the producer (slave) and is increased for the consumer (pcm). The
>> delay(slave) already contains the avail(slave) value.
>> So, the result should be 'delay(slave) + mmap_capture_avail(pcm)'.
> The attached patch implements your recoomendation and makes error
> messages go away in PulseAudio.

I applied your patch to the alsa-lib repo. Thank you for discovering and 


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list