From 74cf34e6ae1258f4d680ef3f69e7cfa690ab6ef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Mon, 30 Jun 2008 22:52:04 +0300 Subject: [PATCH] Remove the suxor thread There is enough sucking code. --- src/video_output/video_output.c | 39 +++++---------------------------- 1 file changed, 5 insertions(+), 34 deletions(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 172f5fca20..ae446367bd 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1400,32 +1400,6 @@ int vout_VarCallback( vlc_object_t * p_this, const char * psz_variable, return VLC_SUCCESS; } -/***************************************************************************** - * Helper thread for object variables callbacks. - * Only used to avoid deadlocks when using the video embedded mode. - *****************************************************************************/ -typedef struct suxor_thread_t -{ - VLC_COMMON_MEMBERS - input_thread_t *p_input; - -} suxor_thread_t; - -static void SuxorRestartVideoES( suxor_thread_t *p_this ) -{ - /* Now restart current video stream */ - int val = var_GetInteger( p_this->p_input, "video-es" ); - if( val >= 0 ) - { - var_SetInteger( p_this->p_input, "video-es", -VIDEO_ES ); - var_SetInteger( p_this->p_input, "video-es", val ); - } - - vlc_object_release( p_this->p_input ); - - vlc_object_release( p_this ); -} - /***************************************************************************** * object variables callbacks: a bunch of object variables are used by the * interfaces to interact with the vout. @@ -1514,17 +1488,14 @@ static int FilterCallback( vlc_object_t *p_this, char const *psz_cmd, var_Get( p_input, "video-es", &val ); if( val.i_int >= 0 ) { - suxor_thread_t *p_suxor = - vlc_object_create( p_vout, sizeof(suxor_thread_t) ); - p_suxor->p_input = p_input; p_vout->b_filter_change = true; - vlc_object_yield( p_input ); - vlc_thread_create( p_suxor, "suxor", SuxorRestartVideoES, - VLC_THREAD_PRIORITY_LOW, false ); + /* To all (embedded) video output developpers: + * Beware of callback loops if you listen on video-es. Really. + * You were warned. -- Courmisch */ + var_SetInteger( p_input, "video-es", -VIDEO_ES ); + var_Set( p_input, "video-es", val ); } - vlc_object_release( p_input ); - return VLC_SUCCESS; } -- GitLab