alsa-mixer: Fix rounding direction on mixer initialisation
authorColin Guthrie <colin@mageia.org>
Mon, 18 Jul 2011 09:48:25 +0000 (10:48 +0100)
committerColin Guthrie <colin@mageia.org>
Wed, 10 Aug 2011 08:28:50 +0000 (10:28 +0200)
src/modules/alsa/alsa-mixer.c

index 4542ac3..3a2ed6a 100644 (file)
@@ -1175,7 +1175,7 @@ static int element_set_constant_volume(pa_alsa_element *e, snd_mixer_t *m) {
             if (e->db_fix) {
                 long dB = 0;
 
-                volume = decibel_fix_get_step(e->db_fix, &dB, +1);
+                volume = decibel_fix_get_step(e->db_fix, &dB, (e->direction == PA_ALSA_DIRECTION_OUTPUT ? +1 : -1));
                 volume_set = TRUE;
             }
             break;
@@ -1201,7 +1201,7 @@ static int element_set_constant_volume(pa_alsa_element *e, snd_mixer_t *m) {
         if (e->direction == PA_ALSA_DIRECTION_OUTPUT)
             r = snd_mixer_selem_set_playback_dB_all(me, 0, +1);
         else
-            r = snd_mixer_selem_set_capture_dB_all(me, 0, +1);
+            r = snd_mixer_selem_set_capture_dB_all(me, 0, -1);
     }
 
     if (r < 0)