vlc_linux/vlc-3.0.16/modules/visualization/projectm.cpp
/**
 * Close the module
 * @param p_this: the filter object
 */
Close the module
@param p_this: the filter object
Close the module @param p_this : the filter object
static void Close( vlc_object_t *p_this )
{
    filter_t  *p_filter = (filter_t *)p_this;
    filter_sys_t *p_sys = p_filter->p_sys;
    vlc_mutex_lock( &p_sys->lock );
    p_sys->b_quit = true;
    vlc_mutex_unlock( &p_sys->lock );
    vlc_join( p_sys->thread, NULL );
    vlc_gl_surface_Destroy( p_sys->gl );
    vlc_mutex_destroy( &p_sys->lock );
    free( p_sys->p_buffer );
    free( p_sys );
}
static void Close ( vlc_object_t * p_this ) { filter_t * p_filter = ( filter_t * ) p_this ; filter_sys_t * p_sys = p_filter -> p_sys ; vlc_mutex_lock ( & p_sys -> lock ) ; p_sys -> b_quit = true ; vlc_mutex_unlock ( & p_sys -> lock ) ; vlc_join ( p_sys -> thread , NULL ) ; vlc_gl_surface_Destroy ( p_sys -> gl ) ; vlc_mutex_destroy ( & p_sys -> lock ) ; free ( p_sys -> p_buffer ) ; free ( p_sys ) ; }
Close the module
 @param p_this: the filter object
Close the module @param p_this : the filter object
/* Stop the thread
     * XXX vlc_cleanup_push does not seems to work with C++ so no
     * vlc_cancel()... */ /* Free the ressources */