]> git.sesse.net Git - vlc/commitdiff
Fix deadlock in decoders because of input ObjectKillChildrens.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 4 Jan 2009 22:47:29 +0000 (23:47 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Mon, 5 Jan 2009 19:49:20 +0000 (20:49 +0100)
A better solution than ObjectKillChildrens is really needed.

src/input/input.c

index a22671ed4444547d0263a84ce7bcf41a03631a60..47b0d08301da8e73f9eed48aaa62f377b7237312 100644 (file)
@@ -489,9 +489,12 @@ static void ObjectKillChildrens( input_thread_t *p_input, vlc_object_t *p_obj )
     vlc_list_t *p_list;
     int i;
 
+    /* FIXME ObjectKillChildrens seems a very bad idea in fact */
     if( p_obj->i_object_type == VLC_OBJECT_VOUT ||
         p_obj->i_object_type == VLC_OBJECT_AOUT ||
-        p_obj == VLC_OBJECT(p_input->p->p_sout) )
+        p_obj == VLC_OBJECT(p_input->p->p_sout) ||
+        p_obj->i_object_type == VLC_OBJECT_DECODER ||
+        p_obj->i_object_type == VLC_OBJECT_PACKETIZER )
         return;
 
     vlc_object_kill( p_obj );