At Fri, 18 Jul 2008 21:30:17 +0200, Lennart Poettering wrote:
On Thu, 17.07.08 11:56, Takashi Iwai (tiwai@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,
Committed now. Thanks.
Takashi