]> git.sesse.net Git - vlc/blobdiff - plugins/alsa/aout_alsa.c
* Ported Glide and MGA plugins to the new module API. MGA never worked,
[vlc] / plugins / alsa / aout_alsa.c
index 895995855bc7915ed36a37d13ffa272341d1e2a8..f7a1b93d28ac09648708e9b2a4eb7894b9c13938 100644 (file)
@@ -22,6 +22,7 @@
  *****************************************************************************/
 
 #define MODULE_NAME alsa
+#include "modules_inner.h"
 
 /*****************************************************************************
  * Preamble
@@ -41,6 +42,7 @@
 #include "common.h"                                     /* boolean_t, byte_t */
 #include "threads.h"
 #include "mtime.h"
+#include "tests.h"
 
 #include "audio_output.h"                                   /* aout_thread_t */
 
@@ -48,9 +50,6 @@
 #include "main.h"
 
 #include "modules.h"
-#include "modules_inner.h"
-
-
 
 typedef struct alsa_device_s
 {
@@ -84,12 +83,11 @@ static void    aout_Play        ( aout_thread_t *p_aout,
                                           byte_t *buffer, int i_size );
 static void    aout_Close       ( aout_thread_t *p_aout );
 
-
 /*****************************************************************************
  * Functions exported as capabilities. They are declared as static so that
  * we don't pollute the namespace too much.
  *****************************************************************************/
-void aout_getfunctions( function_list_t * p_function_list )
+void _M( aout_getfunctions )( function_list_t * p_function_list )
 {
     p_function_list->pf_probe = aout_Probe;
     p_function_list->functions.aout.pf_open = aout_Open;
@@ -98,7 +96,6 @@ void aout_getfunctions( function_list_t * p_function_list )
     p_function_list->functions.aout.pf_play = aout_Play;
     p_function_list->functions.aout.pf_close = aout_Close;
 }
-    
 
 /*****************************************************************************
  * aout_Probe: probes the audio device and return a score
@@ -127,9 +124,7 @@ static int aout_Probe( probedata_t *p_data )
         return ( 0 );
     }
 
-    /* Otherwise, we may think it'll work */ 
-
-    /* Close */
+    /* Close it */
     i_close_return = snd_pcm_close ( local_sys.p_alsa_handle );
     
     if( i_close_return )
@@ -137,10 +132,16 @@ static int aout_Probe( probedata_t *p_data )
         intf_ErrMsg( "Error closing alsa device in aout_probe; exit=%i",
                      i_close_return );
         intf_ErrMsg( "This means : %s",snd_strerror( i_close_return ) );
+        return( 0 );
     }
     
+    if( TestMethod( AOUT_METHOD_VAR, "alsa" ) )
+    {
+        return( 999 );
+    }
+
     /* And return score */
-    return( 100 );
+    return( 50 );
 }    
 
 /*****************************************************************************