mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-29 15:22:17 +00:00
init: don't spew warning about late g_thread_init()s if GLib >= 2.23.2
Late g_thread_init() is fine with newer GLib versions and done automatically from g_type_init() there, so don't warn if the application hasn't called g_thread_init() yet when gst_init() is called with new GLib versions. Fixes #608398.
This commit is contained in:
parent
79d3f1a2c1
commit
6c6f20e0b6
1 changed files with 26 additions and 15 deletions
13
gst/gst.c
13
gst/gst.c
|
@ -359,6 +359,9 @@ gst_init_get_option_group (void)
|
||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Since GLib 2.23.2 calling g_thread_init() 'late' is allowed and is
|
||||||
|
* automatically done as part of g_type_init() */
|
||||||
|
if (!glib_check_version (2, 23, 3)) {
|
||||||
/* The GLib threading system must be initialised before calling any other
|
/* The GLib threading system must be initialised before calling any other
|
||||||
* GLib function according to the documentation; if the application hasn't
|
* GLib function according to the documentation; if the application hasn't
|
||||||
* called gst_init() yet or initialised the threading system otherwise, we
|
* called gst_init() yet or initialised the threading system otherwise, we
|
||||||
|
@ -373,11 +376,14 @@ gst_init_get_option_group (void)
|
||||||
"\tcalled, but the GLib threading system has not been initialised\n"
|
"\tcalled, but the GLib threading system has not been initialised\n"
|
||||||
"\tyet, something that must happen before any other GLib function\n"
|
"\tyet, something that must happen before any other GLib function\n"
|
||||||
"\tis called. The application needs to be fixed so that it calls\n"
|
"\tis called. The application needs to be fixed so that it calls\n"
|
||||||
"\t if (!g_thread_supported ()) g_thread_init(NULL);\n"
|
"\t if (!g_thread_get_initialized ()) g_thread_init(NULL);\n"
|
||||||
"\tas very first thing in its main() function. Please file a bug\n"
|
"\tas very first thing in its main() function. Please file a bug\n"
|
||||||
"\tagainst this application.");
|
"\tagainst this application.");
|
||||||
g_thread_init (NULL);
|
g_thread_init (NULL);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/* GLib >= 2.23.2 */
|
||||||
|
}
|
||||||
|
|
||||||
group = g_option_group_new ("gst", _("GStreamer Options"),
|
group = g_option_group_new ("gst", _("GStreamer Options"),
|
||||||
_("Show GStreamer Options"), NULL, NULL);
|
_("Show GStreamer Options"), NULL, NULL);
|
||||||
|
@ -785,6 +791,11 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
|
||||||
}
|
}
|
||||||
#endif /* GST_DISABLE_TRACE */
|
#endif /* GST_DISABLE_TRACE */
|
||||||
|
|
||||||
|
GST_INFO ("GLib runtime version: %d.%d.%d\n", glib_major_version,
|
||||||
|
glib_minor_version, glib_micro_version);
|
||||||
|
GST_INFO ("GLib headers version: %d.%d.%d\n", GLIB_MAJOR_VERSION,
|
||||||
|
GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue