# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <signal.h>
/*****************************************************************************
* Module descriptor.
*****************************************************************************/
-vlc_module_begin();
- set_description( _("Miscellaneous stress tests") );
+vlc_module_begin ()
+ set_description( N_("Miscellaneous stress tests") )
var_Create( p_module->p_libvlc, "foo-test",
VLC_VAR_VOID | VLC_VAR_ISCOMMAND );
var_AddCallback( p_module->p_libvlc, "foo-test", Foo, NULL );
var_Create( p_module->p_libvlc, "signal",
VLC_VAR_STRING | VLC_VAR_ISCOMMAND );
var_AddCallback( p_module->p_libvlc, "signal", Signal, NULL );
-vlc_module_end();
+vlc_module_end ()
/*****************************************************************************
* Foo: put anything here
var_Change( p_this, "honk", VLC_VAR_SETDEFAULT, &val, NULL );
var_Get( p_this, "honk", &val ); printf( "value: %s\n", val.psz_string );
+ free( val.psz_string );
val.psz_string = "foo";
var_Set( p_this, "honk", val );
var_Get( p_this, "honk", &val ); printf( "value: %s\n", val.psz_string );
+ free( val.psz_string );
val.psz_string = "blork";
var_Set( p_this, "honk", val );
var_Get( p_this, "honk", &val ); printf( "value: %s\n", val.psz_string );
+ free( val.psz_string );
val.psz_string = "baz";
var_Change( p_this, "honk", VLC_VAR_DELCHOICE, &val, NULL );
for( i = 0; i < 10; i++ )
{
- pp_objects[i] = vlc_object_create( p_this, VLC_OBJECT_GENERIC );
+ pp_objects[i] = vlc_object_create( p_this, sizeof( vlc_object_t ) );
vlc_object_attach( pp_objects[i], p_this );
- vlc_thread_create( pp_objects[i], "foo", MyThread, 0, VLC_TRUE );
+ vlc_thread_create( pp_objects[i], "foo", MyThread, 0, true );
}
msleep( 3000000 );
vlc_object_kill( pp_objects[i] );
vlc_thread_join( pp_objects[i] );
vlc_object_detach( pp_objects[i] );
- vlc_object_destroy( pp_objects[i] );
+ vlc_object_release( pp_objects[i] );
}
/* Clean our mess */
val.i_int = 42;
- while( !p_this->b_die )
+ while( vlc_object_alive (p_this) )
{
int i = (int) (100.0 * rand() / (RAND_MAX));
+ /* FIXME: not thread-safe */
sprintf( psz_var, "blork-%i", i );
val.i_int = i + 200;
+ int canc = vlc_savecancel ();
var_Set( p_parent, psz_var, val );
+ vlc_restorecancel (canc);
/* This is quite heavy, but we only have 10 threads. Keep cool. */
msleep( 1000 );
/* Allocate required data */
ppsz_name = malloc( MAXVAR * i_level * sizeof(char*) );
- psz_blob = malloc( 20 * MAXVAR * i_level * sizeof(char) );
+ psz_blob = malloc( 20 * MAXVAR * i_level );
for( i = 0; i < MAXVAR * i_level; i++ )
{
ppsz_name[i] = psz_blob + 20 * i;
start = mdate();
for( i = 0; i < MAXOBJ * i_level; i++ )
{
- pp_objects[i] = vlc_object_create( p_this, VLC_OBJECT_GENERIC );
+ pp_objects[i] = vlc_object_create( p_this, sizeof( vlc_object_t ) );
}
printf( " - randomly looking up %i objects\n", MAXLOOK * i_level );
for( i = MAXLOOK * i_level; i--; )
{
int id = (int) (MAXOBJ * i_level * 1.0 * rand() / (RAND_MAX));
- vlc_object_get( p_this, pp_objects[id]->i_object_id );
+ vlc_object_get( pp_objects[id]->i_object_id );
vlc_object_release( p_this );
}
printf( " - destroying the objects (LIFO)\n" );
for( i = MAXOBJ * i_level; i--; )
{
- vlc_object_destroy( pp_objects[i] );
+ vlc_object_release( pp_objects[i] );
}
printf( "done (%fs).\n", (mdate() - start) / 1000000.0 );
MAXTH * i_level, MAXOBJ/MAXTH );
for( i = 0; i < MAXTH * i_level; i++ )
{
- pp_objects[i] = vlc_object_create( p_this, VLC_OBJECT_GENERIC );
- vlc_thread_create( pp_objects[i], "foo", Dummy, 0, VLC_TRUE );
+ pp_objects[i] = vlc_object_create( p_this, sizeof( vlc_object_t ) );
+ vlc_thread_create( pp_objects[i], "foo", Dummy, 0, true );
}
printf( " - killing the threads (LIFO)\n" );
for( i = MAXTH * i_level; i--; )
{
- pp_objects[i]->b_die = VLC_TRUE;
+ pp_objects[i]->b_die = true;
vlc_thread_join( pp_objects[i] );
- vlc_object_destroy( pp_objects[i] );
+ vlc_object_release( pp_objects[i] );
}
printf( "done (%fs).\n", (mdate() - start) / 1000000.0 );
for( i = 0; i < MAXOBJ/MAXTH; i++ )
{
- pp_objects[i] = vlc_object_create( p_this, VLC_OBJECT_GENERIC );
+ pp_objects[i] = vlc_object_create( p_this, sizeof( vlc_object_t ) );
}
vlc_thread_ready( p_this );
- while( !p_this->b_die )
+ while( vlc_object_alive (p_this) )
{
msleep( 10000 );
}
for( i = MAXOBJ/MAXTH; i--; )
{
- vlc_object_destroy( pp_objects[i] );
+ vlc_object_release( pp_objects[i] );
}
return NULL;