summaryrefslogtreecommitdiffstats
path: root/mixer.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixer.c')
-rw-r--r--mixer.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mixer.c b/mixer.c
index d01cab8b71..8b52145d62 100644
--- a/mixer.c
+++ b/mixer.c
@@ -32,10 +32,15 @@ static void checkvolume(struct mixer *mixer)
if (!mixer->ao)
return;
+ if (mixer->softvol == SOFTVOL_AUTO) {
+ mixer->softvol = mixer->ao->per_application_mixer
+ ? SOFTVOL_NO : SOFTVOL_YES;
+ }
+
ao_control_vol_t vol;
if (mixer->softvol || CONTROL_OK != ao_control(mixer->ao,
AOCONTROL_GET_VOLUME, &vol)) {
- mixer->softvol = true;
+ mixer->softvol = SOFTVOL_YES;
if (!mixer->afilter)
return;
float db_vals[AF_NCH];