mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-15 06:59:58 -05:00
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:
parent
ba6c0e17cf
commit
5e7e827be5
2 changed files with 4 additions and 4 deletions
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue