]> git.sesse.net Git - vlc/commitdiff
* modules/video_filter/*: implemented a forwarding vout_vaControl().
authorGildas Bazin <gbazin@videolan.org>
Fri, 23 Apr 2004 20:01:59 +0000 (20:01 +0000)
committerGildas Bazin <gbazin@videolan.org>
Fri, 23 Apr 2004 20:01:59 +0000 (20:01 +0000)
modules/video_filter/adjust.c
modules/video_filter/clone.c
modules/video_filter/crop.c
modules/video_filter/distort.c
modules/video_filter/invert.c
modules/video_filter/logo.c
modules/video_filter/motionblur.c
modules/video_filter/transform.c
modules/video_filter/wall.c

index e55e66296cef28beb6159d04a1391c9fcfb58578..cc5f4e2feeab5e5f2abac77fa76bdf29b56a87df 100644 (file)
@@ -2,7 +2,7 @@
  * adjust.c : Contrast/Hue/Saturation/Brightness video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001, 2002, 2003 VideoLAN
- * $Id: adjust.c,v 1.17 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Simon Latapie <garf@via.ecp.fr>
  *
@@ -99,6 +99,14 @@ inline static int32_t clip( int32_t a )
     return (a > 255) ? 255 : (a < 0) ? 0 : a;
 }
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates adjust video thread output method
  *****************************************************************************
@@ -121,6 +129,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
     
     var_Create( p_vout, "contrast", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT );
     var_Create( p_vout, "brightness", VLC_VAR_FLOAT | VLC_VAR_DOINHERIT );
index da443e4cfc1e7faf1b54549a2985c36432ce6169..3198591ac582140dd4e9dc1797fd24b389197791 100644 (file)
@@ -2,7 +2,7 @@
  * clone.c : Clone video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2002, 2003 VideoLAN
- * $Id: clone.c,v 1.12 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -88,6 +88,19 @@ struct vout_sys_t
     vout_thread_t **pp_vout;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    int i_vout;
+    for( i_vout = 0; i_vout < p_vout->p_sys->i_clones; i_vout++ )
+    {
+        vout_vaControl( p_vout->p_sys->pp_vout[ i_vout ], i_query, args );
+    }
+    return VLC_SUCCESS;
+}
+
 /*****************************************************************************
  * Create: allocates Clone video thread output method
  *****************************************************************************
@@ -111,6 +124,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     psz_clonelist = config_GetPsz( p_vout, "clone-vout-list" );
     if( psz_clonelist )
index 96fa478b9d2a639ec92bc05fd784df5ef31ad16b..b5fb82188aa548c8cb3d58b62715f2fdc7e11082 100644 (file)
@@ -2,7 +2,7 @@
  * crop.c : Crop video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2002, 2003 VideoLAN
- * $Id: crop.c,v 1.15 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -88,6 +88,14 @@ struct vout_sys_t
     vlc_bool_t   b_changed;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates Crop video thread output method
  *****************************************************************************
@@ -110,6 +118,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = Manage;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     return VLC_SUCCESS;
 }
index ab27a8280e322d9a17927d621a0981bb9c3e8548..c26c97050ea70edbe7bfce44d85d3b3b0f3feca9 100644 (file)
@@ -2,7 +2,7 @@
  * distort.c : Misc video effects plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001, 2002, 2003 VideoLAN
- * $Id: distort.c,v 1.14 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -90,6 +90,14 @@ struct vout_sys_t
     mtime_t last_date;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates Distort video thread output method
  *****************************************************************************
@@ -113,6 +121,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     p_vout->p_sys->i_mode = 0;
 
index 189728dabac27505b14ff19ef928d6dde109caa4..29fad2d6580825ca8aecee3c9ddf79604469ea2d 100644 (file)
@@ -2,7 +2,7 @@
  * invert.c : Invert video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001, 2002, 2003 VideoLAN
- * $Id: invert.c,v 1.9 2004/01/25 03:28:41 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -66,6 +66,14 @@ struct vout_sys_t
     vout_thread_t *p_vout;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates Invert video thread output method
  *****************************************************************************
@@ -88,6 +96,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     return VLC_SUCCESS;
 }
index 4144fb187f0ec16a0a773b4a526012f829fcc8c0..357e0c26489df3346019dfe7b1e6282994dc26fa 100644 (file)
@@ -2,7 +2,7 @@
  * logo.c : logo video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2003-2004 VideoLAN
- * $Id: logo.c,v 1.10 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Simon Latapie <garf@videolan.org>
  *
@@ -100,6 +100,14 @@ struct vout_sys_t
     int trans;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates logo video thread output method
  *****************************************************************************
@@ -122,6 +130,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     return VLC_SUCCESS;
 }
index 94f48d5c4c3b18836f8bc6f563a3c14cb1ad076c..b94b3f767db1a5f6c5c6a8a36a91c4f485575703 100644 (file)
@@ -2,7 +2,7 @@
  * motion_blur.c : motion blur filter for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001, 2002, 2003 VideoLAN
- * $Id: motionblur.c,v 1.15 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no>
  *
@@ -82,6 +82,14 @@ struct vout_sys_t
     picture_t *p_lastpic;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates Deinterlace video thread output method
  *****************************************************************************
@@ -104,6 +112,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     p_vout->p_sys->i_factor = config_GetInt( p_vout, "blur-factor" );
     p_vout->p_sys->b_double_rate = 0;
index 5c386b6436e1e2d3e3ad6d890723b2ffc57f939f..c39028a5627dea8d5910f3730a6dee9181ad3de3 100644 (file)
@@ -2,7 +2,7 @@
  * transform.c : transform image module for vlc
  *****************************************************************************
  * Copyright (C) 2000-2004 VideoLAN
- * $Id: transform.c,v 1.18 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -87,6 +87,14 @@ struct vout_sys_t
     vout_thread_t *p_vout;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    return vout_vaControl( p_vout->p_sys->p_vout, i_query, args );
+}
+
 /*****************************************************************************
  * Create: allocates Transform video thread output method
  *****************************************************************************
@@ -110,6 +118,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     /* Look what method was requested */
     psz_method = config_GetPsz( p_vout, "transform-type" );
index e307b31e61afcd26c416c84aa6005ec7436bd30e..32845c1ecf781651322302e6fed2cafc377eec52 100644 (file)
@@ -2,7 +2,7 @@
  * wall.c : Wall video plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000, 2001, 2002, 2003 VideoLAN
- * $Id: wall.c,v 1.13 2004/01/25 20:05:28 hartman Exp $
+ * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -94,6 +94,25 @@ struct vout_sys_t
     } *pp_vout;
 };
 
+/*****************************************************************************
+ * Control: control facility for the vout (forwards to child vout)
+ *****************************************************************************/
+static int Control( vout_thread_t *p_vout, int i_query, va_list args )
+{
+    int i_row, i_col, i_vout = 0;
+
+    for( i_row = 0; i_row < p_vout->p_sys->i_row; i_row++ )
+    {
+        for( i_col = 0; i_col < p_vout->p_sys->i_col; i_col++ )
+        {
+            vout_vaControl( p_vout->p_sys->pp_vout[ i_vout ].p_vout,
+                            i_query, args );
+            i_vout++;
+        }
+    }
+    return VLC_SUCCESS;
+}
+
 /*****************************************************************************
  * Create: allocates Wall video thread output method
  *****************************************************************************
@@ -118,6 +137,7 @@ static int Create( vlc_object_t *p_this )
     p_vout->pf_manage = NULL;
     p_vout->pf_render = Render;
     p_vout->pf_display = NULL;
+    p_vout->pf_control = Control;
 
     /* Look what method was requested */
     p_vout->p_sys->i_col = config_GetInt( p_vout, "wall-cols" );