/***************************************************************************** * vout_ControlDefault: default methods for video output control. *****************************************************************************/ int vout_vaControlDefault( vout_thread_t *p_vout, int i_query, va_list args ) { (void)args; switch( i_query ) { case VOUT_REPARENT: case VOUT_CLOSE: vout_ReleaseWindow( p_vout, NULL ); return VLC_SUCCESS; case VOUT_SNAPSHOT: p_vout->b_snapshot = true; return VLC_SUCCESS; default: msg_Dbg( p_vout, "control query not supported" ); } return VLC_EGENERIC; }
/***************************************************************************** * Destroy: destroy omapfb video thread output method ***************************************************************************** * Terminate an output method created by Create *****************************************************************************/ static void Destroy( vlc_object_t *p_this ) { vout_thread_t *p_vout = (vout_thread_t *)p_this; CloseDisplay( p_vout ); if( p_vout->p_sys->b_embed ) { vout_ReleaseWindow( p_vout->p_sys->owner_window ); if( p_vout->b_fullscreen ) XDestroyWindow( p_vout->p_sys->p_display, p_vout->p_sys->window ); XCloseDisplay( p_vout->p_sys->p_display ); } #ifdef HAVE_OSSO if ( p_vout->p_sys->p_octx != NULL ) { msg_Dbg( p_vout, "Deinitializing osso context" ); osso_deinitialize( p_vout->p_sys->p_octx ); } #endif /* Destroy structure */ free( p_vout->p_sys ); }