From 7b0d553442a6fcc4b0f6640f78ff4ffc28338501 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Mon, 8 Jun 2009 20:58:46 -0700 Subject: [PATCH] media_player: Make sure everything gets initialized before the event_loop (!). Should fix the last event media list player test issue. --- src/control/event_async.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/control/event_async.c b/src/control/event_async.c index cf77f7a52f..8702f2930e 100644 --- a/src/control/event_async.c +++ b/src/control/event_async.c @@ -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); } /************************************************************************** -- 2.39.2