diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-04-20 23:57:44 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-04-20 23:57:44 +0000 |
commit | 5e7e827be5988db0262830886c7c9213fe45b554 (patch) | |
tree | a2882bdf10528b7248c74b78caaa64d83e21c1b9 | |
parent | ba6c0e17cf91b8a93179e9e9f05c492836015f4d (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.c | 4 | ||||
-rw-r--r-- | src/pulse/volume.h | 4 |
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 |