[vlc-devel] commit: Remove the suxor thread ( Rémi Denis-Courmont )

git version control git at videolan.org
Mon Jun 30 21:55:20 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Mon Jun 30 22:52:04 2008 +0300| [74cf34e6ae1258f4d680ef3f69e7cfa690ab6ef8]

Remove the suxor thread

There is enough sucking code.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=74cf34e6ae1258f4d680ef3f69e7cfa690ab6ef8
---

 src/video_output/video_output.c |   39 +++++----------------------------------
 1 files changed, 5 insertions(+), 34 deletions(-)

diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 172f5fc..ae44636 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -1401,32 +1401,6 @@ int vout_VarCallback( vlc_object_t * p_this, const char * psz_variable,
 }
 
 /*****************************************************************************
- * 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;
 }
 




More information about the vlc-devel mailing list