summaryrefslogtreecommitdiffstats
path: root/mixer.c
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2011-12-22 07:19:43 +0100
committerwm4 <wm4@mplayer2.org>2012-01-07 16:43:35 +0100
commit7e3a4578bd99313541c6da4060bcc0bd12fadb46 (patch)
treedcdead07a91c34664374f858bdcfa8105c6c517c /mixer.c
parent685fbf25fecd13524b083f3b05264806d054f21d (diff)
downloadmpv-7e3a4578bd99313541c6da4060bcc0bd12fadb46.tar.bz2
mpv-7e3a4578bd99313541c6da4060bcc0bd12fadb46.tar.xz
mixer: keep balance setting
Similarly to the last commit, restore the balance setting when switching to a new file. Unlike the volume setting, balance is always implemented as filter, so this affects usage without --softvol too.
Diffstat (limited to 'mixer.c')
-rw-r--r--mixer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mixer.c b/mixer.c
index 4c196e4bdf..2f3d57b07e 100644
--- a/mixer.c
+++ b/mixer.c
@@ -43,6 +43,9 @@ void mixer_reinit(mixer_t *mixer)
mixer_setvolume(mixer, mixer->softvol_l, mixer->softvol_r);
mixer->muted = muted;
}
+ if (mixer->balance != 0) {
+ mixer_setbalance(mixer, mixer->balance);
+ }
}
void mixer_getvolume(mixer_t *mixer, float *l, float *r)
@@ -176,6 +179,9 @@ void mixer_setbalance(mixer_t *mixer, float val)
if (!mixer->afilter)
return;
+
+ mixer->balance = val;
+
if (af_control_any_rev(mixer->afilter,
AF_CONTROL_PAN_BALANCE | AF_CONTROL_SET, &val))
return;
@@ -183,6 +189,7 @@ void mixer_setbalance(mixer_t *mixer, float val)
if (!(af_pan_balance = af_add(mixer->afilter, "pan"))) {
mp_tmsg(MSGT_GLOBAL, MSGL_ERR,
"[Mixer] No balance control available.\n");
+ mixer->balance = 0;
return;
}