[alsa-devel] PulseAudio and softvol

Jaroslav Kysela perex at perex.cz
Wed May 15 12:26:51 CEST 2013

Date 15.5.2013 11:55, Arun Raghavan wrote:
> Hello,
> A number of users have intermittently(?) been hitting a crash in
> alsa-lib 1.0.27 [1, 2] related to the softvol plugin. I'm not able to
> reproduce this reliably, so can't find an easy way to debug/fix.

The problem is that the offsets are not in sync in this case [1]:

src_offset = 38560
dst_offset = 38568
frames = 16374

Could you reproduce this bug in any way? At least snd_pcm_dump() before
the failing snd_pcm_mmap_commit() call might help to determine what was
the status before the assert() was entered.

> However, this raises a tangential question - why do we need softvol to
> be plugged for 'front' at all? David explained to me that this is to
> guarantee the existence of a PCM control. Perhaps I don't fully
> understand this, because I'm unconvinced by the reason. Could someone
> explain/refute?
> This is especially bad for us, from PulseAudio's perspective, because we
> aren't getting a zero-copy path.

If the softvol is set to 0dB (no attenuation or gain), then the ring
buffer pointers are moved without any sample processing, so the
zero-copy functionality is kept.


> Cheers,
> Arun
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=953352
> [2] https://bugs.freedesktop.org/show_bug.cgi?id=64299

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

More information about the Alsa-devel mailing list