Commit 0ed165bf authored by Xavier Claessens's avatar Xavier Claessens
Browse files

gst_init: Call gst_init_static_plugins() when available

When doing a static build, gstreamer-full-1.0 defines that symbol to
register static plugins. Cerbero's Android build will be updated to
implement that symbol too.

Part-of: <gstreamer/gstreamer!641>
parent acdb4ce0
......@@ -631,6 +631,24 @@ gst_register_core_elements (GstPlugin * plugin)
return TRUE;
}
static void
init_static_plugins (void)
{
GModule *module;
/* Call gst_init_static_plugins() defined in libgstreamer-full-1.0 in the case
* libgstreamer is static linked with some plugins. */
module = g_module_open (NULL, G_MODULE_BIND_LOCAL);
if (module) {
void (*func) (void);
if (g_module_symbol (module, "gst_init_static_plugins",
(gpointer *) & func)) {
func ();
}
g_module_close (module);
}
}
/*
* this bit handles:
* - initialization of threads if we use them
......@@ -789,6 +807,8 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
gst_register_core_elements, VERSION, GST_LICENSE, PACKAGE,
GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
init_static_plugins ();
/*
* Any errors happening below this point are non-fatal, we therefore mark
* gstreamer as being initialized, since it is the case from a plugin point of
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment