From eadab2ffe303b4bda1dec54dc3cc7476540a4de1 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 20 Jan 2023 09:29:59 +0100 Subject: [PATCH] alsa: clean up volume min/max values --- pipewire-alsa/alsa-plugins/ctl_pipewire.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pipewire-alsa/alsa-plugins/ctl_pipewire.c b/pipewire-alsa/alsa-plugins/ctl_pipewire.c index d793ccd89..04a6df07f 100644 --- a/pipewire-alsa/alsa-plugins/ctl_pipewire.c +++ b/pipewire-alsa/alsa-plugins/ctl_pipewire.c @@ -37,24 +37,23 @@ PW_LOG_TOPIC_STATIC(alsa_log_topic, "alsa.ctl"); #define PW_LOG_TOPIC_DEFAULT alsa_log_topic -#define VOLUME_MAX 65536 -#define VOLUME_MUTED ((uint32_t) 0U) -#define VOLUME_NORM ((uint32_t) 0x10000U) +#define VOLUME_MIN ((uint32_t) 0U) +#define VOLUME_MAX ((uint32_t) 0x10000U) static inline uint32_t volume_from_linear(float vol) { uint32_t v; if (vol <= 0.0f) - v = VOLUME_MUTED; + v = VOLUME_MIN; else - v = SPA_CLAMP((uint64_t) lround(cbrt(vol) * VOLUME_NORM), - VOLUME_MUTED, VOLUME_MAX); + v = SPA_CLAMP((uint64_t) lround(cbrt(vol) * VOLUME_MAX), + VOLUME_MIN, VOLUME_MAX); return v; } static inline float volume_to_linear(uint32_t vol) { - float v = ((float)vol) / VOLUME_NORM; + float v = ((float)vol) / VOLUME_MAX; return v * v * v; } @@ -437,7 +436,7 @@ static int pipewire_get_integer_info(snd_ctl_ext_t * ext, long *imax, long *istep) { *istep = 1; - *imin = 0; + *imin = VOLUME_MIN; *imax = VOLUME_MAX; return 0;