summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-04-20 23:57:44 +0000
committerLennart Poettering <lennart@poettering.net>2008-04-20 23:57:44 +0000
commit5e7e827be5988db0262830886c7c9213fe45b554 (patch)
treea2882bdf10528b7248c74b78caaa64d83e21c1b9
parentba6c0e17cf91b8a93179e9e9f05c492836015f4d (diff)
improve dB volume calculation
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2289 fefdeb5f-60dc-0310-8127-8f9354f1896f
-rw-r--r--src/pulse/volume.c4
-rw-r--r--src/pulse/volume.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/pulse/volume.c b/src/pulse/volume.c
index 3688b847..33ab1c5f 100644
--- a/src/pulse/volume.c
+++ b/src/pulse/volume.c
@@ -80,10 +80,10 @@ pa_volume_t pa_sw_volume_multiply(pa_volume_t a, pa_volume_t b) {
return pa_sw_volume_from_linear(pa_sw_volume_to_linear(a)* pa_sw_volume_to_linear(b));
}
-#define USER_DECIBEL_RANGE 30
+#define USER_DECIBEL_RANGE 60
pa_volume_t pa_sw_volume_from_dB(double dB) {
- if (dB <= -USER_DECIBEL_RANGE)
+ if (isinf(dB) < 0 || dB <= -USER_DECIBEL_RANGE)
return PA_VOLUME_MUTED;
return (pa_volume_t) ((dB/USER_DECIBEL_RANGE+1)*PA_VOLUME_NORM);
diff --git a/src/pulse/volume.h b/src/pulse/volume.h
index 245cc129..e7ceb0d7 100644
--- a/src/pulse/volume.h
+++ b/src/pulse/volume.h
@@ -166,10 +166,10 @@ pa_volume_t pa_sw_volume_from_linear(double v) PA_GCC_CONST;
double pa_sw_volume_to_linear(pa_volume_t v) PA_GCC_CONST;
#ifdef INFINITY
-#define PA_DECIBEL_MININFTY (-INFINITY)
+#define PA_DECIBEL_MININFTY ((double) -INFINITY)
#else
/** This value is used as minus infinity when using pa_volume_{to,from}_dB(). */
-#define PA_DECIBEL_MININFTY (-200)
+#define PA_DECIBEL_MININFTY ((double) -200)
#endif
PA_C_DECL_END