/***************************************************************************** * Destroy: destroy Clone video thread output method ***************************************************************************** * Terminate an output method created by CloneCreateOutputMethod *****************************************************************************/ static void Destroy( vlc_object_t *p_this ) { 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 ); }
/***************************************************************************** * Destroy: destroy logo video thread output method *****************************************************************************/ static void Destroy( vlc_object_t *p_this ) { vout_thread_t *p_vout = (vout_thread_t *)p_this; vout_sys_t *p_sys = p_vout->p_sys; DEL_PARENT_CALLBACKS( SendEventsToChild ); if( p_sys->p_pic && p_sys->p_pic->p_data_orig ) free( p_sys->p_pic->p_data_orig ); if( p_sys->p_pic ) free( p_sys->p_pic ); free( p_sys ); }
/***************************************************************************** * Destroy: destroy Transform video thread output method ***************************************************************************** * Terminate an output method created by TransformCreateOutputMethod *****************************************************************************/ static void Destroy( vlc_object_t *p_this ) { vout_thread_t *p_vout = (vout_thread_t *)p_this; if( p_vout->p_sys->p_vout ) { DEL_CALLBACKS( p_vout->p_sys->p_vout, SendEvents ); vlc_object_detach( p_vout->p_sys->p_vout ); vout_Destroy( p_vout->p_sys->p_vout ); } DEL_PARENT_CALLBACKS( SendEventsToChild ); free( p_vout->p_sys ); }