commit 7c6557b9c3f55064cad88fd49ac409b0fc8d924e
parent bfd83c310f04bab2afdde38bdb838d0d5373f0b7
Author: Ted Hess <thess@kitschensync.net>
Date: Thu, 4 Dec 2014 14:59:24 -0500
gstreamer1: Use lazy symbol binding to load plugins
Signed-off-by: Ted Hess <thess@kitschensync.net>
Diffstat:
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=gstreamer1
PKG_VERSION:=1.4.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
diff --git a/multimedia/gstreamer1/patches/010-gstplugin_use_lazy_symbol_binding.patch b/multimedia/gstreamer1/patches/010-gstplugin_use_lazy_symbol_binding.patch
@@ -0,0 +1,20 @@
+--- a/gst/gstplugin.c
++++ b/gst/gstplugin.c
+@@ -723,15 +723,8 @@ gst_plugin_load_file (const gchar * file
+ goto return_error;
+ }
+
+- 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 (strstr (filename, "libgstpython"))
+- flags |= G_MODULE_BIND_LAZY;
++ // No need to resolve all bindings until referenced
++ flags = G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY;
+
+ module = g_module_open (filename, flags);
+ if (module == NULL) {