At Tue, 9 Sep 2008 13:17:06 +0200 (CEST), Jaroslav Kysela wrote:
On Tue, 9 Sep 2008, Jaroslav Kysela wrote:
On Tue, 9 Sep 2008, Takashi Iwai wrote:
At Mon, 8 Sep 2008 22:21:36 +0200, Lennart Poettering wrote:
Takashi, as Kevin wrote originally, the problem is not that softvol doesn't do any format/layout conversions, but that it claims it does. PA asks softvol for INTERLEAVED samples, softvol agrees to that -- and actually hands us only NONINTERLEAVED samples because it doesn't reformat the from the underlying layer.
So, it *is* a bug in softvol. However, you are right that it doesn't do any conversions.
Does it happen only with softvol? For example, try to put any other conversion, such as, linear plugin instead of softvol. Could you check whether it works?
Basically softvol does nothing special, just like other normal plugins. So I don't think this is specific to softvol.
Also, output from snd_pcm_dump() after initialization (before samples r/w) might help us to determine the problem. I'll try to reproduce this behavior with the snd-dummy module.
I found the culprit. Lennart was right. The softvol plugin does in-place sample recalculation, thus it cannot change the access type as a side effect (which is true for linear plugins).
Ah, right, that's around mmap shadowing.
The fix is available here:
http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=a13707da6bb0161db855a...
Also, for debugging purposes, I added snd_pcm_channel_area_t dump to aplay:
http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=6bd621177dea5afd742...
Thanks!
Takashi