On Sun, Jan 29, 2012 at 11:33:34PM +0100, Tom Gundersen wrote:
ALSA is not using this information in the same way (if at all). It is a well known problem that PA will act crazy if the dB values from ALSA are wrong, but ALSA itself mostly does not care (because the user is setting all the mixer level themselves, unlike in PA where there are heuristics doing clever stuff).
There is *no* way PA or anything could ever guess the correct electrical levels (e.g. setting a -10dB/+4dB switch that some soundcards offer) because that depends on what the user has connected to his/her card. The whole mixer control issue is a complete mess, and it's neither ALSA's or PA's fault. The blame has to go to the manufacturers of the audio HW. In some cases the 'normal' setting for a mixer gain is the maximum one, in others it's way below that because the HW is designed to provide a way to boost PCM levels that are too low. And there's no way to find out - in both cases the maximum will be labeled '0dB'. And that's only *one* control, in most cases there are at least two. A trained audio engineer knows how to find out such things and get them right, but the average user is completely lost if there is more than one control that affects volume. All PA should be doing is to provide sensible digital (pcm) levels. The rest, like it or not, has to be done by the user. Another blame has to go to most apps that provide 'desktop' sounds, in almost all cases the level is way too high. Even if I would want a beep or 'plioung' at some times I don't expect it to be as loud as the music. Yet most such apps output near to maximum level. Ciao, -- FA Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl.