/* 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" );
/* Audio pluins */
SEEK_PLUGIN( "dsp" );
SEEK_PLUGIN( "esd" );
+ SEEK_PLUGIN( "alsa" );
/* Dummy plugin */
SEEK_PLUGIN( "dummy" );
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 );
}
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 );
#ifdef SYS_BEOS
if( *p_plugin_id >= 0 )
#else
- if( *p_plugin_id != NULL )
+ if( *p_plugin_id != NULL )
#endif
{
/* plugin successfuly dlopened */
/* 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,