]> git.sesse.net Git - vlc/commitdiff
media_player: Make sure everything gets initialized before the event_loop (!).
authorPierre d'Herbemont <pdherbemont@free.fr>
Tue, 9 Jun 2009 03:58:46 +0000 (20:58 -0700)
committerPierre d'Herbemont <pdherbemont@free.fr>
Tue, 9 Jun 2009 04:24:02 +0000 (21:24 -0700)
Should fix the last event media list player test issue.

src/control/event_async.c

index cf77f7a52f5a29f2d4d4bca6d877a517302b8298..8702f2930e0d17962db241ced07f3432d855ddfa 100644 (file)
@@ -196,7 +196,14 @@ libvlc_event_async_init(libvlc_event_manager_t * p_em)
 {
     p_em->async_event_queue = calloc(1, sizeof(struct libvlc_event_async_queue));
 
-    int error = vlc_clone (&queue(p_em)->thread, event_async_loop, p_em, VLC_THREAD_PRIORITY_LOW);
+    int error = vlc_threadvar_create(&queue(p_em)->is_asynch_dispatch_thread_var, NULL);
+    assert(!error);
+
+    vlc_mutex_init(&queue(p_em)->lock);
+    vlc_cond_init(&queue(p_em)->signal);
+    vlc_cond_init(&queue(p_em)->signal_idle);
+    
+    error = vlc_clone (&queue(p_em)->thread, event_async_loop, p_em, VLC_THREAD_PRIORITY_LOW);
     if(error)
     {
         free(p_em->async_event_queue);
@@ -204,11 +211,6 @@ libvlc_event_async_init(libvlc_event_manager_t * p_em)
         return;
     }
 
-    vlc_mutex_init(&queue(p_em)->lock);
-    vlc_cond_init(&queue(p_em)->signal);
-    vlc_cond_init(&queue(p_em)->signal_idle);
-    error = vlc_threadvar_create(&queue(p_em)->is_asynch_dispatch_thread_var, NULL);
-    assert(!error);
 }
 
 /**************************************************************************