gst: make gst_init() thread-safe

Because we can, and there isn't really any
reason not to do so.
This commit is contained in:
Tim-Philipp Müller 2014-10-28 19:16:52 +00:00
parent 82abf56e8e
commit e0d4eccc1e

View file

@ -318,14 +318,18 @@ gst_init_get_option_group (void)
gboolean
gst_init_check (int *argc, char **argv[], GError ** err)
{
static GMutex init_lock;
#ifndef GST_DISABLE_OPTION_PARSING
GOptionGroup *group;
GOptionContext *ctx;
#endif
gboolean res;
g_mutex_lock (&init_lock);
if (gst_initialized) {
GST_DEBUG ("already initialized gst");
g_mutex_unlock (&init_lock);
return TRUE;
}
#ifndef GST_DISABLE_OPTION_PARSING
@ -350,6 +354,8 @@ gst_init_check (int *argc, char **argv[], GError ** err)
GST_INFO ("failed to initialize GStreamer");
}
g_mutex_unlock (&init_lock);
return res;
}