GET_VAR( align, 0, 10 );
if( p_sys->i_align == 3 || p_sys->i_align == 7 )
- p_sys->i_align = 5;
+ p_sys->i_align = 5; /* FIXME: NOT THREAD SAFE w.r.t. callback */
GET_VAR( borderw, 0, INT_MAX );
GET_VAR( borderh, 0, INT_MAX );
GET_VAR( position, 0, 2 );
GET_VAR( delay, 100, INT_MAX );
#undef GET_VAR
- p_sys->i_delay *= 1000;
+ p_sys->i_delay *= 1000; /* FIXME: NOT THREAD SAFE w.r.t. callback */
p_sys->b_ar = var_CreateGetBoolCommand( p_filter,
CFG_PREFIX "keep-aspect-ratio" );
{
filter_t *p_filter = (filter_t*)p_this;
filter_sys_t *p_sys = p_filter->p_sys;
- int i_index;
- vlc_mutex_lock( &p_sys->lock );
+ /* FIXME: destroy callbacks first! */
if( !p_sys->b_keep )
{
if( p_sys->i_order_length )
{
- for( i_index = 0; i_index < p_sys->i_order_length; i_index++ )
+ for( int i_index = 0; i_index < p_sys->i_order_length; i_index++ )
{
free( p_sys->ppsz_order[i_index] );
}
p_sys->i_offsets_length = 0;
}
- vlc_mutex_unlock( &p_sys->lock );
vlc_mutex_destroy( &p_sys->lock );
free( p_sys );
}
if( p_sys->p_menu == NULL )
goto error;
+ /* FIXME: this plugin is not at all thread-safe w.r.t. callbacks */
p_sys->p_menu->i_position = p_sys->i_position;
/* Check if menu position was overridden */
var_DelCallback( p_filter, OSD_CFG "update", OSDMenuCallback, p_sys );
var_DelCallback( p_filter, OSD_CFG "alpha", OSDMenuCallback, p_sys );
- if( p_sys )
+ if( p_sys ) /* FIXME: <-- WTF??? what about the 4 ones above? */
{
var_DelCallback( p_sys->p_menu, "osd-menu-update",
OSDMenuUpdateEvent, p_filter );
&val, text.psz_string?&text:NULL );
}
- vlc_mutex_init( &p_sys->lock );
+ vlc_mutex_init( &p_sys->lock ); /* FIXME: too late w.r.t. callback */
p_filter->pf_video_filter = PostprocPict;
p_sys->b_had_matrix = true;
{
filter_t *p_filter = (filter_t *)p_this;
filter_sys_t *p_sys = p_filter->p_sys;
+
+ /* FIXME: delete callbacks before mutex */
vlc_mutex_destroy( &p_sys->lock );
pp_free_context( p_sys->pp_context );
if( p_sys->pp_mode ) pp_free_mode( p_sys->pp_mode );
{
VLC_UNUSED(p_this); VLC_UNUSED(oldval);
vout_sys_t *p_sys = (vout_sys_t *)p_data;
+
+ /* FIXME: thread safety */
if( !strcmp( psz_var, CFG_PREFIX "rows" ) )
{
p_sys->i_rows = __MAX( 1, newval.i_int );