]> git.sesse.net Git - vlc/blobdiff - src/misc/plugins.c
Added : alsa support
[vlc] / src / misc / plugins.c
index bec5b9de48d796fba51295d9bc8277afdd9703d7..ccb34a6a7535a98feeb7e902fa269660e70b82b3 100644 (file)
@@ -88,18 +88,18 @@ void bank_Init( plugin_bank_t * p_bank )
 
     /* Arch plugins */
     SEEK_PLUGIN( "beos" );
-    
-    /* High level Video */
-    SEEK_PLUGIN( "gnome" );
-    SEEK_PLUGIN( "ggi" );
-    SEEK_PLUGIN( "sdl" );
-    
+
     /* Low level Video */
     SEEK_PLUGIN( "x11" );
     SEEK_PLUGIN( "fb" );
     SEEK_PLUGIN( "glide" );
     SEEK_PLUGIN( "mga" );
-    
+     
+    /* High level Video */
+    SEEK_PLUGIN( "gnome" );
+    SEEK_PLUGIN( "ggi" );
+    SEEK_PLUGIN( "sdl" );
+   
     /* Video calculus */
     SEEK_PLUGIN( "yuvmmx" );
     SEEK_PLUGIN( "yuv" );
@@ -107,6 +107,7 @@ void bank_Init( plugin_bank_t * p_bank )
     /* Audio pluins */
     SEEK_PLUGIN( "dsp" );
     SEEK_PLUGIN( "esd" );
+    SEEK_PLUGIN( "alsa" );
     
     /* Dummy plugin */
     SEEK_PLUGIN( "dummy" );
@@ -116,6 +117,15 @@ void bank_Init( plugin_bank_t * p_bank )
 
 void bank_Destroy( plugin_bank_t * p_bank )
 {
+    int i;
+    for( i = 0 ; i < p_bank->i_plugin_count ; i++ )
+    {
+        if( p_bank->p_info[ i ] != NULL )
+        {
+            free( p_bank->p_info[ i ]-> psz_filename );
+        }
+    }
+
     free( p_bank );
 }
 
@@ -144,7 +154,7 @@ char * TestPlugin ( plugin_id_t *p_plugin_id, char * psz_name )
         
         psz_program_path = beos_GetProgramPath();
         psz_plugin = malloc( strlen(psz_plugin_path[i_count]) +
-                             strlen(psz_program_path) + i_length + 5 );
+                             strlen(psz_program_path) + i_length + 6 );
         sprintf( psz_plugin, "%s/%s/%s.so", psz_program_path,
                  psz_plugin_path[i_count], psz_name );        
 
@@ -159,7 +169,7 @@ char * TestPlugin ( plugin_id_t *p_plugin_id, char * psz_name )
 #ifdef SYS_BEOS
         if( *p_plugin_id >= 0 )
 #else
-       if( *p_plugin_id != NULL )
+        if( *p_plugin_id != NULL )
 #endif
         {
             /* plugin successfuly dlopened */
@@ -214,6 +224,8 @@ int AllocatePlugin( plugin_id_t plugin_id, plugin_bank_t * p_bank,
     /* run the plugin function to initialize the structure */
     p_bank->p_info[ i ]            = p_func( );
     p_bank->p_info[ i ]->plugin_id = plugin_id;
+    p_bank->p_info[ i ]->psz_filename = strdup( psz_filename );
+
 
     /* Tell the world we found it */
     intf_Msg( "Plugin %i: %s %s [0x%x]\n", i,