summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/out/ao_openal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/audio/out/ao_openal.c b/audio/out/ao_openal.c
index 9381d2a906..c1f405bf12 100644
--- a/audio/out/ao_openal.c
+++ b/audio/out/ao_openal.c
@@ -95,6 +95,9 @@ static int control(struct ao *ao, enum aocontrol cmd, void *arg)
case AOCONTROL_GET_MUTE:
case AOCONTROL_SET_MUTE: {
bool mute = *(bool *)arg;
+
+ // openal has no mute control, only gain.
+ // Thus reverse the muted state to get required gain
ALfloat al_mute = (ALfloat)(!mute);
if (cmd == AOCONTROL_SET_MUTE) {
alSourcef(source, AL_GAIN, al_mute);