improve dB volume calculation

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2289 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2008-04-20 23:57:44 +00:00
parent ba6c0e17cf
commit 5e7e827be5
2 changed files with 4 additions and 4 deletions

View file

@ -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)); 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) { 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_MUTED;
return (pa_volume_t) ((dB/USER_DECIBEL_RANGE+1)*PA_VOLUME_NORM); return (pa_volume_t) ((dB/USER_DECIBEL_RANGE+1)*PA_VOLUME_NORM);

View file

@ -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; double pa_sw_volume_to_linear(pa_volume_t v) PA_GCC_CONST;
#ifdef INFINITY #ifdef INFINITY
#define PA_DECIBEL_MININFTY (-INFINITY) #define PA_DECIBEL_MININFTY ((double) -INFINITY)
#else #else
/** This value is used as minus infinity when using pa_volume_{to,from}_dB(). */ /** 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 #endif
PA_C_DECL_END PA_C_DECL_END