Issues when trying to load static plugins

Mathieu Slabbinck matty.slabbinck at gmail.com
Thu Feb 19 00:57:31 PST 2015


On Thu, Feb 19, 2015 at 9:08 AM, Sebastian Dröge
<sebastian at centricular.com> wrote:
> On Do, 2015-02-19 at 08:33 +0100, Mathieu Slabbinck wrote:
>> Hi,
>>
>> I'm having quite some troubles to load gstreamer in my application statically.
>>
>> I've built gstreamer from the 1.4.5 source package.
>> Configured with --enable-static --disable-shared --prefix=/somedir/gst_build
>>
>> Then I've built gstreamer plugin base from the 1.4.5 source package.
>> Configured with --enable-static --disable-shared
>> --enable-static-plugins --enable-app --prefix=/somedir/gst_build
>>
>> Now, when I run /somedir/gst_build/gst-inspect-1.0, it doesn't report
>> much of installed plugins. Is this to be expected?
>> gst_build/bin $ ./gst-inspect-1.0
>> staticelements:  bin: Generic bin
>> staticelements:  pipeline: Pipeline object
>> Total count: 1 plugin, 2 features
>
> You would have to link gst-inspect-1.0 with all static plugins that it
> should show. Which kind of defeats the purpose of gst-inspect... but
> that's what you want when using static plugins.

Ok, so the thing I see is "normal" behaviour.

>>Furthermore, I've read that static plugins of gstreamer should be
>> loaded with GST_PLUGIN_STATIC_DECLARE & GST_PLUGIN_STATIC_REGISTER.
>>
>> Using GST_PLUGIN_STATIC_DECLARE() in my c++ app seems to give no
>> issues, but using the REGISTER call, that always returns an 'undefined
>> reference to gst_plugin_PLUGINNAME_register()'
>> I suspect this is related with gst-inspect not finding anything?
>
> You have to additionally add the plugin libraries (e.g.
> libgstvideoconvert.a) to the libraries that are linked into your
> application.

I've linked my app to lgstreamer, lgstapp.
Then using GST_PLUGIN_STATIC_REGISTER(app) still returns undefined
reference to `gst_plugin_app_register()'

>> Can anyone tell me what I'm doing wrong or give me some pointers to a
>> descent tutorial on how to build & link gstreamer statically?
>
> Check the Android or iOS build systems, e.g. from the tutorials.

That's where I found how to use the GST_PLUGIN_STATIC stuff.
I'll dig some further into the docs so see what I can find.

> --
> Sebastian Dröge, Centricular Ltd · http://www.centricular.com
>
> _______________________________________________
> gstreamer-embedded mailing list
> gstreamer-embedded at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-embedded
>


More information about the gstreamer-embedded mailing list