[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

-- 
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