On Wed, 17 Feb 2010, Lennart Poettering wrote:
Yepp, that's the exactly what I was asking, Jaroslav's measurements suggested to shift one of the mixer controls from 0..x dB to -x..0 dB and I was just wondering why, since we don't define the ref level in ALSA, hence the shift is kinda arbitrary...
I think that having a reference level is good for users. For example, some AC97 codecs have Line Out range from -94.5dB .. 0dB , Mixed Line In is in range -34.5dB .. 12dB. So if I set 0dB to Line In and 0dB to Line Out, I would expect to get (if analog parts of soundcard are not assymetric) identical output level as input level.
For USB card as I mentioned, I got Line Out from range -48dB..0dB and Line In in 0dB..48dB. I would assume from the first look to the alsamixer volume bars that the Line In gain is too much.
It's about consistency for users. Rule <0dB attenuation >0dB gain matches this criterium.
The second question is if the represented dB range and scale reported from the driver (hardware and audio chip datasheets) really matches the hardware and how we can measure these values. I suspect a lot of trouble here, because the analog parts of soundcards might have strange curves - it's probably thing you deal with in PA now.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.