]> git.sesse.net Git - vlc/blobdiff - src/audio_output/intf.c
Use <vlc_cpu.h>
[vlc] / src / audio_output / intf.c
index ed0c78b70d751022c412893a547df5297e04df0f..1e0d8b9315f673120112fee83740cc5d035b452a 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 );
@@ -122,33 +123,6 @@ int __aout_VolumeSet( vlc_object_t * p_object, audio_volume_t i_volume )
     return i_result;
 }
 
-/*****************************************************************************
- * aout_VolumeInfos : get the boundary pi_soft
- *****************************************************************************/
-int __aout_VolumeInfos( vlc_object_t * p_object, audio_volume_t * pi_soft )
-{
-    aout_instance_t * p_aout = vlc_object_find( p_object, VLC_OBJECT_AOUT,
-                                                FIND_ANYWHERE );
-    int i_result;
-
-    if ( p_aout == NULL ) return 0;
-
-    aout_lock_mixer( p_aout );
-    if ( p_aout->mixer.b_error )
-    {
-        /* The output module is destroyed. */
-        i_result = -1;
-    }
-    else
-    {
-        i_result = p_aout->output.pf_volume_infos( p_aout, pi_soft );
-    }
-    aout_unlock_mixer( p_aout );
-
-    vlc_object_release( p_aout );
-    return i_result;
-}
-
 /*****************************************************************************
  * aout_VolumeUp : raise the output volume
  *****************************************************************************
@@ -228,7 +202,6 @@ void aout_VolumeSoftInit( aout_instance_t * p_aout )
 {
     int i_volume;
 
-    p_aout->output.pf_volume_infos = aout_VolumeSoftInfos;
     p_aout->output.pf_volume_get = aout_VolumeSoftGet;
     p_aout->output.pf_volume_set = aout_VolumeSoftSet;
 
@@ -245,14 +218,6 @@ void aout_VolumeSoftInit( aout_instance_t * p_aout )
     aout_VolumeSoftSet( p_aout, (audio_volume_t)i_volume );
 }
 
-/* Placeholder for pf_volume_infos(). */
-int aout_VolumeSoftInfos( aout_instance_t * p_aout, audio_volume_t * pi_soft )
-{
-    (void)p_aout;
-    *pi_soft = 0;
-    return 0;
-}
-
 /* Placeholder for pf_volume_get(). */
 int aout_VolumeSoftGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
 {
@@ -277,18 +242,10 @@ int aout_VolumeSoftSet( aout_instance_t * p_aout, audio_volume_t i_volume )
 /* Meant to be called by the output plug-in's Open(). */
 void aout_VolumeNoneInit( aout_instance_t * p_aout )
 {
-    p_aout->output.pf_volume_infos = aout_VolumeNoneInfos;
     p_aout->output.pf_volume_get = aout_VolumeNoneGet;
     p_aout->output.pf_volume_set = aout_VolumeNoneSet;
 }
 
-/* Placeholder for pf_volume_infos(). */
-int aout_VolumeNoneInfos( aout_instance_t * p_aout, audio_volume_t * pi_soft )
-{
-    (void)p_aout; (void)pi_soft;
-    return -1;
-}
-
 /* Placeholder for pf_volume_get(). */
 int aout_VolumeNoneGet( aout_instance_t * p_aout, audio_volume_t * pi_volume )
 {