"Linking" to dynamically loaded plugins.

Sebastian Dröge sebastian at centricular.com
Tue May 3 07:28:53 UTC 2016


On Mo, 2016-05-02 at 01:39 -0700, benoitlahoz wrote:
> Hello, 
> 
> I'm building an umbrella framework on OSX (XCode) including GStreamer. 
> Everything works fine except for the plugins that doesn't have a dylib.
> 
> I add /-undefined dynamic_lookup/ to the Other Linker Flags in order to
> avoid errors at build time. 
> Then, for instance, when I instantiate a gstdecklinksrc plugin it works
> fine, but when I try to use its own specific functions in my code, the
> runtime tells me that library was not loaded.
> 
> I'm wondering how GStreamer loads its plugins and how I can use the
> functions of these plugins that don't have a shared library. 

What do you mean with plugins that don't have a shared library? All of
the ones shipped with the binaries should have a shared library in
lib/gstreamer-1.0 and a corresponding static one in lib/gstreamer-
1.0/static.

The static ones need special attention to work, check
GST_STATIC_PLUGIN_DECLARE() and GST_STATIC_PLUGIN_REGISTER() in the
docs for seeing how that works.

The dynamic ones only need to be in a path that is considered by the
GstRegistry. This is configured via the GST_PLUGIN_PATH,
GST_PLUGIN_SYSTEM_PATH environment variables and API on GstRegistry.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160503/0de3b98c/attachment.sig>


More information about the gstreamer-devel mailing list