1 Index: alsa-utils-1.0.24.2/alsamixer/volume_mapping.c
2 ===================================================================
3 --- alsa-utils-1.0.24.2.orig/alsamixer/volume_mapping.c 2011-03-11 13:26:29.000000000 +0100
4 +++ alsa-utils-1.0.24.2/alsamixer/volume_mapping.c 2011-03-11 13:27:58.000000000 +0100
6 if (use_linear_dB_scale(min, max))
7 return (value - min) / (double)(max - min);
9 - normalized = exp10((value - max) / 6000.0);
10 + normalized = pow(10, (value - max) / 6000.0);
11 if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
12 - min_norm = exp10((min - max) / 6000.0);
13 + min_norm = pow(10, (min - max) / 6000.0);
14 normalized = (normalized - min_norm) / (1 - min_norm);
20 if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
21 - min_norm = exp10((min - max) / 6000.0);
22 + min_norm = pow(10, (min - max) / 6000.0);
23 volume = volume * (1 - min_norm) + min_norm;
25 value = lrint_dir(6000.0 * log10(volume), dir) + max;