[vlc-commits] sout_display: remove always NULL vlc_object_find()

Rémi Denis-Courmont git at videolan.org
Tue Mar 29 17:25:11 CEST 2011


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Mar 29 13:28:42 2011 +0300| [2ae6a589d03c5970e5f32041874c6ff5a0436833] | committer: Rémi Denis-Courmont

sout_display: remove always NULL vlc_object_find()

The stream output is not a decendent of the input in VLC 1.2. So this
plugin does currently not work at all. This commit only removes
non-working code; it does not break or fix anything as such.

In previous versions, this code could cause crashes when #gather was
used, as the input object would change behind the back.

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

 modules/stream_out/display.c |   29 +++++------------------------
 1 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/modules/stream_out/display.c b/modules/stream_out/display.c
index 6c46007..04424a3 100644
--- a/modules/stream_out/display.c
+++ b/modules/stream_out/display.c
@@ -81,9 +81,6 @@ static int               Send( sout_stream_t *, sout_stream_id_t *, block_t* );
 
 struct sout_stream_sys_t
 {
-    input_thread_t *p_input;
-    unsigned        i_es;
-
     bool     b_audio;
     bool     b_video;
 
@@ -105,8 +102,6 @@ static int Open( vlc_object_t *p_this )
     config_ChainParse( p_stream, SOUT_CFG_PREFIX, ppsz_sout_options,
                    p_stream->p_cfg );
 
-    p_sys->p_input = NULL;
-    p_sys->i_es    = 0;
     p_sys->b_audio = var_GetBool( p_stream, SOUT_CFG_PREFIX"audio" );
     p_sys->b_video = var_GetBool( p_stream, SOUT_CFG_PREFIX "video" );
     p_sys->i_delay = var_GetInteger( p_stream, SOUT_CFG_PREFIX "delay" );
@@ -153,43 +148,29 @@ static sout_stream_id_t * Add( sout_stream_t *p_stream, es_format_t *p_fmt )
         return NULL;
     }
 
+#if 0
     id = malloc( sizeof( sout_stream_id_t ) );
     if( id == NULL )
         return NULL;
 
-    if( p_sys->i_es == 0 )
-    {
-        p_sys->p_input = vlc_object_find( p_stream, VLC_OBJECT_INPUT,
-                                          FIND_PARENT );
-        if( p_sys->p_input == NULL )
-        {
-            msg_Err( p_stream, "cannot find input" );
-            free( id );
-            return NULL;
-        }
-    }
-
     id->p_dec = input_DecoderNew( p_sys->p_input, p_fmt, NULL, NULL );
     if( id->p_dec == NULL )
     {
         msg_Err( p_stream, "cannot create decoder for fcc=`%4.4s'",
                  (char*)&p_fmt->i_codec );
         free( id );
-        if( p_sys->i_es == 0 )
-            vlc_object_release( p_sys->p_input );
         return NULL;
     }
-
-    p_sys->i_es++;
     return id;
+#else
+# warning FIXME! sout_display does not work!
+    return NULL;
+#endif
 }
 
 static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
 {
     input_DecoderDelete( id->p_dec );
-    if( --p_stream->p_sys->i_es == 0)
-        vlc_object_release( p_stream->p_sys->p_input );
-
     free( id );
     return VLC_SUCCESS;
 }



More information about the vlc-commits mailing list