Signed-off-by: Yaroslav Isakov <yaroslav.isakov@gmail.com>
---
audio/paaudio.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 4c100bc318..d25df102ab 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -724,8 +724,13 @@ static int qpa_ctl_out (HWVoiceOut *hw, int cmd, ...)
va_end (ap);
v.channels = 2;
- v.values[0] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * sw->vol.l) / UINT32_MAX;
- v.values[1] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * sw->vol.r) / UINT32_MAX;
+ if (sw->vol.db_known) {
+ v.values[0] = pa_sw_volume_from_dB(sw->vol.l_db);
+ v.values[1] = pa_sw_volume_from_dB(sw->vol.r_db);
+ } else {
+ v.values[0] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * sw->vol.l) / UINT32_MAX;
+ v.values[1] = ((PA_VOLUME_NORM - PA_VOLUME_MUTED) * sw->vol.r) / UINT32_MAX;
+ }
pa_threaded_mainloop_lock (g->mainloop);
--
2.18.1