]> git.sesse.net Git - vlc/blobdiff - src/audio_output/intf.c
access_avio: cosmetics
[vlc] / src / audio_output / intf.c
index 95e20b880b7802cbdd49f069132a86691ab5b710..3476ad3ce89ad63be192d00f7e923e45ab37e0c6 100644 (file)
@@ -79,7 +79,7 @@ int __aout_VolumeGet( vlc_object_t * p_object, audio_volume_t * pi_volume )
     }
 
     aout_lock_mixer( p_aout );
-    if ( !p_aout->mixer.b_error )
+    if ( p_aout->p_mixer )
     {
         i_result = p_aout->output.pf_volume_get( p_aout, pi_volume );
     }
@@ -110,11 +110,12 @@ int __aout_VolumeSet( vlc_object_t * p_object, audio_volume_t i_volume )
         return VLC_SUCCESS;
 
     int i_result = VLC_SUCCESS;
-    aout_lock_mixer( p_aout );
 
-    if ( !p_aout->mixer.b_error )
+    aout_lock_mixer( p_aout );
+    aout_lock_input_fifos( p_aout );
+    if ( p_aout->p_mixer )
         i_result = p_aout->output.pf_volume_set( p_aout, i_volume );
-
+    aout_unlock_input_fifos( p_aout );
     aout_unlock_mixer( p_aout );
 
     var_SetBool( p_aout, "intf-change", true );
@@ -285,15 +286,16 @@ static int aout_Restart( aout_instance_t * p_aout )
         return -1;
     }
 
-    /* Lock all inputs. */
-    aout_lock_input_fifos( p_aout );
-
     for ( i = 0; i < p_aout->i_nb_inputs; i++ )
     {
         aout_lock_input( p_aout, p_aout->pp_inputs[i] );
+        aout_lock_input_fifos( p_aout );
         aout_InputDelete( p_aout, p_aout->pp_inputs[i] );
+        aout_unlock_input_fifos( p_aout );
     }
 
+    /* Lock all inputs. */
+    aout_lock_input_fifos( p_aout );
     aout_MixerDelete( p_aout );
 
     /* Re-open the output plug-in. */