[vlc-devel] commit: Fix deadlock in decoders because of input ObjectKillChildrens. ( Laurent Aimar )

git version control git at videolan.org
Mon Jan 5 21:26:48 CET 2009


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sun Jan  4 23:47:29 2009 +0100| [2c1a1fdf45eff61c73c14ed5e29b18d8561852c5] | committer: Laurent Aimar 

Fix deadlock in decoders because of input ObjectKillChildrens.

A better solution than ObjectKillChildrens is really needed.

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

 src/input/input.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/input/input.c b/src/input/input.c
index a22671e..47b0d08 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -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 );




More information about the vlc-devel mailing list