summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/filter/af_volume.c2
-rw-r--r--player/audio.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/audio/filter/af_volume.c b/audio/filter/af_volume.c
index fb7a87f9d0..cc97ac8b2c 100644
--- a/audio/filter/af_volume.c
+++ b/audio/filter/af_volume.c
@@ -106,7 +106,7 @@ static int control(struct af_instance *af, int cmd, void *arg)
}
case AF_CONTROL_SET_VOLUME:
s->vol = *(float *)arg;
- s->level = pow(s->vol, 3);
+ s->level = *(float *)arg;
MP_VERBOSE(af, "volume gain: %f\n", s->level);
return AF_OK;
case AF_CONTROL_GET_VOLUME:
diff --git a/player/audio.c b/player/audio.c
index dd464614d9..ea013b02e2 100644
--- a/player/audio.c
+++ b/player/audio.c
@@ -176,6 +176,7 @@ void audio_update_volume(struct MPContext *mpctx)
return;
float gain = MPMAX(opts->softvol_volume / 100.0, 0);
+ gain = pow(gain, 3);
gain *= compute_replaygain(mpctx);
if (opts->softvol_mute == 1)
gain = 0.0;