]> git.sesse.net Git - vlc/commitdiff
auhal: do not change volume when muted
authorDavid Fuhrmann <david.fuhrmann@googlemail.com>
Wed, 16 Oct 2013 20:36:44 +0000 (22:36 +0200)
committerDavid Fuhrmann <david.fuhrmann@googlemail.com>
Wed, 16 Oct 2013 20:37:02 +0000 (22:37 +0200)
modules/audio_output/auhal.c

index 3dab151226e09173ea81fb6354b7af3eeb77f279..e2b9068f4ae92597a2a3e607126c52a2bb6e697b 100644 (file)
@@ -1275,7 +1275,7 @@ static int SwitchAudioDevice(audio_output_t *p_aout, const char *name)
 static int VolumeSet(audio_output_t * p_aout, float volume)
 {
     struct aout_sys_t *p_sys = p_aout->sys;
-    OSStatus ostatus;
+    OSStatus ostatus = 0;
 
     if(p_sys->b_digital)
         return VLC_EGENERIC;
@@ -1284,12 +1284,14 @@ static int VolumeSet(audio_output_t * p_aout, float volume)
     aout_VolumeReport(p_aout, volume);
 
     /* Set volume for output unit */
-    ostatus = AudioUnitSetParameter(p_sys->au_unit,
-                                    kHALOutputParam_Volume,
-                                    kAudioUnitScope_Global,
-                                    0,
-                                    volume * volume * volume,
-                                    0);
+    if(!p_sys->b_mute) {
+        ostatus = AudioUnitSetParameter(p_sys->au_unit,
+                                        kHALOutputParam_Volume,
+                                        kAudioUnitScope_Global,
+                                        0,
+                                        volume * volume * volume,
+                                        0);
+    }
 
     if (var_InheritBool(p_aout, "volume-save"))
         config_PutInt(p_aout, "auhal-volume", lroundf(volume * AOUT_VOLUME_DEFAULT));