From 9c4fd2a2c75b958c22442d2b83e75021bd096be5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 1 Sep 2004 12:48:47 +0000 Subject: add support for dB volumes git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@166 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/sample.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'polyp/sample.c') diff --git a/polyp/sample.c b/polyp/sample.c index edfe1959..3019f93b 100644 --- a/polyp/sample.c +++ b/polyp/sample.c @@ -25,6 +25,7 @@ #include #include +#include #include "sample.h" @@ -104,3 +105,17 @@ pa_volume_t pa_volume_multiply(pa_volume_t a, pa_volume_t b) { return (pa_volume_t) p; } + +pa_volume_t pa_volume_from_dB(double f) { + if (f <= -200) + return PA_VOLUME_MUTED; + + return (pa_volume_t) (pow(10, f/20)*PA_VOLUME_NORM); +} + +double pa_volume_to_dB(pa_volume_t v) { + if (v == PA_VOLUME_MUTED) + return -200; + + return 20*log10((double) v/PA_VOLUME_NORM); +} -- cgit