mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-04 16:39:39 +00:00
gstplugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY.
This commit is contained in:
parent
0bd40a4397
commit
94a314eaee
1 changed files with 11 additions and 1 deletions
|
@ -711,6 +711,7 @@ gst_plugin_load_file (const gchar * filename, GError ** error)
|
|||
GStatBuf file_status;
|
||||
GstRegistry *registry;
|
||||
gboolean new_plugin = TRUE;
|
||||
GModuleFlags flags;
|
||||
|
||||
g_return_val_if_fail (filename != NULL, NULL);
|
||||
|
||||
|
@ -749,7 +750,16 @@ gst_plugin_load_file (const gchar * filename, GError ** error)
|
|||
goto return_error;
|
||||
}
|
||||
|
||||
module = g_module_open (filename, G_MODULE_BIND_LOCAL);
|
||||
flags = G_MODULE_BIND_LOCAL;
|
||||
/* libgstpython.so is the gst-python plugin loader. It needs to be loaded with
|
||||
* G_MODULE_BIND_LAZY.
|
||||
*
|
||||
* Ideally there should be a generic way for plugins to specify that they
|
||||
* need to be loaded with _LAZY.
|
||||
* */
|
||||
if (g_strstr_len (filename, strlen (filename), "libgstpython"))
|
||||
flags |= G_MODULE_BIND_LAZY;
|
||||
module = g_module_open (filename, flags);
|
||||
if (module == NULL) {
|
||||
GST_CAT_WARNING (GST_CAT_PLUGIN_LOADING, "module_open failed: %s",
|
||||
g_module_error ());
|
||||
|
|
Loading…
Reference in a new issue