]> git.sesse.net Git - vlc/commitdiff
* src/video_output/video_output.c: re-enabled on-the-fly switching of video filters.
authorGildas Bazin <gbazin@videolan.org>
Thu, 2 Sep 2004 15:20:34 +0000 (15:20 +0000)
committerGildas Bazin <gbazin@videolan.org>
Thu, 2 Sep 2004 15:20:34 +0000 (15:20 +0000)
src/video_output/video_output.c

index c759bd60bb2f4e481893fefb09a4cd723cbc6166..92860be4f7c9218ec2d6d514e57f84fb41b67f54 100644 (file)
@@ -1316,7 +1316,6 @@ static int DeinterlaceCallback( vlc_object_t *p_this, char const *psz_cmd,
 
     char *psz_mode = newval.psz_string;
     char *psz_filter;
-    unsigned int  i;
 
     psz_filter = config_GetPsz( p_vout, "filter" );
 
@@ -1357,28 +1356,16 @@ static int DeinterlaceCallback( vlc_object_t *p_this, char const *psz_cmd,
         var_Set( p_input, "deinterlace-mode", val );
     }
 
-    /* FIXME FIXME input2 --fenrir */
-#if 0
-    /* now restart all video streams */
-    vlc_mutex_lock( &p_input->stream.stream_lock );
-
-    p_vout->b_filter_change = VLC_TRUE;
-
-#define ES p_input->stream.pp_es[i]
-
-    for( i = 0 ; i < p_input->stream.i_es_number ; i++ )
+    /* Now restart current video stream */
+    var_Get( p_input, "video-es", &val );
+    if( val.i_int >= 0 )
     {
-        if( ( ES->i_cat == VIDEO_ES ) && ES->p_dec != NULL )
-        {
-            input_UnselectES( p_input, ES );
-            input_SelectES( p_input, ES );
-        }
-#undef ES
+        p_vout->b_filter_change = VLC_TRUE;
+        var_Set( p_input, "video-es", (vlc_value_t)-VIDEO_ES );
+        var_Set( p_input, "video-es", val );
     }
-    vlc_mutex_unlock( &p_input->stream.stream_lock );
 
     vlc_object_release( p_input );
-#endif
 
     val.b_bool = VLC_TRUE;
     var_Set( p_vout, "intf-change", val );
@@ -1391,7 +1378,6 @@ static int FilterCallback( vlc_object_t *p_this, char const *psz_cmd,
     vout_thread_t *p_vout = (vout_thread_t *)p_this;
     input_thread_t *p_input;
     vlc_value_t val;
-    unsigned int i;
 
     p_input = (input_thread_t *)vlc_object_find( p_this, VLC_OBJECT_INPUT,
                                                  FIND_PARENT );
@@ -1402,28 +1388,16 @@ static int FilterCallback( vlc_object_t *p_this, char const *psz_cmd,
         return( VLC_EGENERIC );
     }
 
-    /* FIXME FIXME input2 --fenrir */
-#if 0
-    /* Restart the video stream */
-    vlc_mutex_lock( &p_input->stream.stream_lock );
-
-    p_vout->b_filter_change = VLC_TRUE;
-
-#define ES p_input->stream.pp_es[i]
-
-    for( i = 0 ; i < p_input->stream.i_es_number ; i++ )
+    /* Now restart current video stream */
+    var_Get( p_input, "video-es", &val );
+    if( val.i_int >= 0 )
     {
-        if( ( ES->i_cat == VIDEO_ES ) && ES->p_dec != NULL )
-        {
-            input_UnselectES( p_input, ES );
-            input_SelectES( p_input, ES );
-        }
-#undef ES
+        p_vout->b_filter_change = VLC_TRUE;
+        var_Set( p_input, "video-es", (vlc_value_t)-VIDEO_ES );
+        var_Set( p_input, "video-es", val );
     }
-    vlc_mutex_unlock( &p_input->stream.stream_lock );
 
     vlc_object_release( p_input );
-#endif
 
     val.b_bool = VLC_TRUE;
     var_Set( p_vout, "intf-change", val );