]> code.delx.au - pulseaudio/commitdiff
when calculating volume from dB use ceil()
authorLennart Poettering <lennart@poettering.net>
Wed, 8 Apr 2009 01:47:48 +0000 (03:47 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 8 Apr 2009 01:47:48 +0000 (03:47 +0200)
src/pulse/volume.c

index 9033c326c0facb7d856f563a376bece8e695ee90..ad3b3a49199395a6f613c8e42d820707b81b41a8 100644 (file)
@@ -126,7 +126,7 @@ pa_volume_t pa_sw_volume_from_dB(double dB) {
     if (isinf(dB) < 0 || dB <= -USER_DECIBEL_RANGE)
         return PA_VOLUME_MUTED;
 
-    return (pa_volume_t) lrint((dB/USER_DECIBEL_RANGE+1)*PA_VOLUME_NORM);
+    return (pa_volume_t) lrint(ceil((dB/USER_DECIBEL_RANGE+1.0)*PA_VOLUME_NORM));
 }
 
 double pa_sw_volume_to_dB(pa_volume_t v) {
@@ -144,7 +144,7 @@ pa_volume_t pa_sw_volume_from_linear(double v) {
     if (v > .999 && v < 1.001)
         return PA_VOLUME_NORM;
 
-    return pa_sw_volume_from_dB(20*log10(v));
+    return pa_sw_volume_from_dB(20.0*log10(v));
 }
 
 double pa_sw_volume_to_linear(pa_volume_t v) {