[alsa-devel] softvol and snd_pcm_rewind() is broken

Lennart Poettering mznyfn at 0pointer.de
Fri Jul 18 21:30:17 CEST 2008

On Thu, 17.07.08 11:56, Takashi Iwai (tiwai at suse.de) wrote:

> > - And snd_pcm_rewind() might return a value that is higher than was
> >   passed in, which as far as I understood should never happen:
> > 
> >   http://mailman.alsa-project.org/pipermail/alsa-devel/2008-April/007308.html
> > 
> > These two issues might be caused by the same error.
> > 
> > Takashi, Jaroslav, how can I bribe you into fixing this? I'd love to
> > release my new PulseAudio version soon which heavily relies on
> > snd_pcm_rewind(), but unfortunately the most important driver (hda
> > with softvol) makes the most problems with it. :-(
> As mentioned earlier, the softvol itself is a simple plain plugin and
> it has no code to do forward/rewind in itself.  Thus, if a bug is
> present in softvol, it must be in the generic plugin code -- or there
> can be a missing piece that the generic code doesn't cover.  I'm not
> sure yet, as I didn't write that code.
> The second problem, the bigger return size, looks like a thinko in the
> code.  Try the patch below.

I just posted three patches that fix those issues for me. Please have
a look. They do basically what your patch does as well, plus fixing
the return issue.

The patches are trivial, look correct to me and fix the issues.

Please merge,


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

More information about the Alsa-devel mailing list