/***************************************************************************** * End: terminate Transform video thread output method *****************************************************************************/ static void End( vout_thread_t *p_vout ) { vout_sys_t *p_sys = p_vout->p_sys; vout_filter_DelChild( p_vout, p_sys->p_vout, MouseEvent ); vout_CloseAndRelease( p_sys->p_vout ); vout_filter_ReleaseDirectBuffers( p_vout ); }
/***************************************************************************** * End: terminate Crop video thread output method *****************************************************************************/ static void End( vout_thread_t *p_vout ) { vout_sys_t *p_sys = p_vout->p_sys; if( p_sys->p_vout ) { vout_filter_DelChild( p_vout, p_sys->p_vout, MouseEvent ); vout_CloseAndRelease( p_sys->p_vout ); } vout_filter_ReleaseDirectBuffers( p_vout ); var_DelCallback( p_vout, "ratio-crop", FilterCallback, NULL ); vlc_mutex_destroy( &p_sys->lock ); }
/***************************************************************************** * End: terminate opencv_wrapper video thread output method *****************************************************************************/ static void End( vout_thread_t *p_vout ) { vout_sys_t *p_sys = p_vout->p_sys; vout_filter_DelChild( p_vout, p_sys->p_vout, NULL ); vout_CloseAndRelease( p_sys->p_vout ); vout_filter_ReleaseDirectBuffers( p_vout ); if( p_sys->p_opencv ) { //release the internal opencv filter if( p_sys->p_opencv->p_module ) module_unneed( p_sys->p_opencv, p_sys->p_opencv->p_module ); vlc_object_release( p_sys->p_opencv ); p_sys->p_opencv = NULL; } }