psz_filename = TestPlugin( &tmp, name ); \
if( psz_filename ) AllocatePlugin( tmp, p_bank, psz_filename );
+ /* Arch plugins */
SEEK_PLUGIN( "beos" );
+
+ /* Low level Video */
SEEK_PLUGIN( "x11" );
- SEEK_PLUGIN( "dsp" );
- SEEK_PLUGIN( "esd" );
- SEEK_PLUGIN( "gnome" );
- SEEK_PLUGIN( "ggi" );
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" );
#undef SEEK_PLUGIN
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,