#define CFG_PREFIX "wall-"
-vlc_module_begin();
- set_description( N_("Wall video filter") );
- set_shortname( N_("Image wall" ));
- set_capability( "video filter", 0 );
- set_category( CAT_VIDEO );
- set_subcategory( SUBCAT_VIDEO_VFILTER );
-
- add_integer( CFG_PREFIX "cols", 3, NULL, COLS_TEXT, COLS_LONGTEXT, false );
- add_integer( CFG_PREFIX "rows", 3, NULL, ROWS_TEXT, ROWS_LONGTEXT, false );
+vlc_module_begin ()
+ set_description( N_("Wall video filter") )
+ set_shortname( N_("Image wall" ))
+ set_capability( "video filter", 0 )
+ set_category( CAT_VIDEO )
+ set_subcategory( SUBCAT_VIDEO_VFILTER )
+
+ add_integer( CFG_PREFIX "cols", 3, NULL, COLS_TEXT, COLS_LONGTEXT, false )
+ add_integer( CFG_PREFIX "rows", 3, NULL, ROWS_TEXT, ROWS_LONGTEXT, false )
add_string( CFG_PREFIX "active", NULL, NULL, ACTIVE_TEXT, ACTIVE_LONGTEXT,
- true );
- add_string( CFG_PREFIX "element-aspect", "4:3", NULL, ASPECT_TEXT, ASPECT_LONGTEXT, false );
+ true )
+ add_string( CFG_PREFIX "element-aspect", "4:3", NULL, ASPECT_TEXT, ASPECT_LONGTEXT, false )
- add_shortcut( "wall" );
- set_callbacks( Create, Destroy );
-vlc_module_end();
+ add_shortcut( "wall" )
+ set_callbacks( Create, Destroy )
+vlc_module_end ()
static const char *const ppsz_filter_options[] = {
"cols", "rows", "active", "element-aspect", NULL
{
msg_Warn( p_vout, "invalid aspect ratio specification" );
}
- free( psz_aspect );
}
+ free( psz_aspect );
i_xpos = var_CreateGetInteger( p_vout, "video-x" );
i_ypos = var_CreateGetInteger( p_vout, "video-y" );
{
int i_index;
+ DEL_PARENT_CALLBACKS( SendEventsToChild );
+
/* Free the fake output buffers we allocated */
for( i_index = I_OUTPUTPICTURES ; i_index ; )
{
i_index--;
free( PP_OUTPUTPICTURE[ i_index ]->p_data_orig );
}
+
+ RemoveAllVout( p_vout );
}
/*****************************************************************************
{
vout_thread_t *p_vout = (vout_thread_t *)p_this;
- RemoveAllVout( p_vout );
-
- DEL_PARENT_CALLBACKS( SendEventsToChild );
free( p_vout->p_sys->pp_vout );
free( p_vout->p_sys );
0, 0, 0 )
) == NULL )
{
- if( p_vout->b_die || p_vout->b_error )
+ if( !vlc_object_alive (p_vout) || p_vout->b_error )
{
vout_DestroyPicture(
p_vout->p_sys->pp_vout[ i_vout ].p_vout, p_outpic );
msleep( VOUT_OUTMEM_SLEEP );
}
+ p_outpic->date = p_pic->date;
- vout_DatePicture( p_vout->p_sys->pp_vout[ i_vout ].p_vout,
- p_outpic, p_pic->date );
vout_LinkPicture( p_vout->p_sys->pp_vout[ i_vout ].p_vout,
p_outpic );
DEL_CALLBACKS(
p_vout->p_sys->pp_vout[ p_vout->p_sys->i_vout ].p_vout,
SendEvents );
- vlc_object_detach(
- p_vout->p_sys->pp_vout[ p_vout->p_sys->i_vout ].p_vout );
- vlc_object_release(
- p_vout->p_sys->pp_vout[ p_vout->p_sys->i_vout ].p_vout );
+ vout_CloseAndRelease( p_vout->p_sys->pp_vout[ p_vout->p_sys->i_vout ].p_vout );
}
}
}