Plugin source boilerplate not registering correctly

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Plugin source boilerplate not registering correctly

Frederic Turmel
Hi, Looking for guidance here... I played with the gst-element-maker to generate a single element. It seems to work fine and gst-inspect detect it fine. However, when I try to replicate decklink and aja plugins where 2 sub plugins needs to get loaded it fails with this error when running gst inspect-1.0:

Failed to load plugin '/usr/local/lib/gstreamer-1.0/libgstadv.so': /usr/local/lib/gstreamer-1.0/libgstadv.so: undefined symbol: gst_audio_src_get_type

At this point I'm just trying to load an empty audio source.

It is likely something stupid... What I'm missing? 
I have placed the code here for convenience if somebody can highlight what's wrong. https://github.com/FredT2020/gsPlay

FredT


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Plugin source boilerplate not registering correctly

Tim Müller
On Thu, 2020-01-09 at 17:33 -0800, Frederic Turmel wrote:

Hi,

> Failed to load plugin '/usr/local/lib/gstreamer-1.0/libgstadv.so':
> /usr/local/lib/gstreamer-1.0/libgstadv.so: undefined symbol:
> gst_audio_src_get_type
>
> At this point I'm just trying to load an empty audio source.
>
> It is likely something stupid... What I'm missing?
> I have placed the code here for convenience if somebody can highlight
> what's wrong. https://github.com/FredT2020/gsPlay

This is probably not a problem with your code, but with your build
setup.

You need to link against libgstaudio-1.0, so add gstreamer-audio-1.0 to
your pkg-config / dependencies list.

(You didn't post your build files, so can only give generic guidance
here, details will depend on the build system used of course).

Cheers
 Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Plugin source boilerplate not registering correctly

Frederic Turmel
Thanks for the pointer. I switched to meson since it seems more appealing to me.
Once i added the dependency I get a different error. It is not seeing the element.

Here's the skeleton with meson https://github.com/FredT2020/gstadv

(gst-inspect-1.0:12378): GLib-GObject-WARNING **: 09:10:56.321: specified class size for type 'GstAdvAudioSrc' is smaller than the parent type's 'GstAudioSrc' class size

(gst-inspect-1.0:12378): GLib-CRITICAL **: 09:10:56.322: g_once_init_leave: assertion 'result != 0' failed

(gst-inspect-1.0:12378): GStreamer-CRITICAL **: 09:10:56.322: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
Plugin Details:
  Name                     adv
  Description              FIXME Template plugin
  Filename                 /usr/local/lib/gstreamer-1.0/libgstadv.so
  Version                  0.0.FIXME
  License                  LGPL
  Source module            gst-project-plugin
  Binary package           GStreamer
  Origin URL               http://gstreamer.net/

  0 features:




On Fri, Jan 10, 2020 at 1:56 AM Tim Müller <[hidden email]> wrote:
On Thu, 2020-01-09 at 17:33 -0800, Frederic Turmel wrote:

Hi,

> Failed to load plugin '/usr/local/lib/gstreamer-1.0/libgstadv.so':
> /usr/local/lib/gstreamer-1.0/libgstadv.so: undefined symbol:
> gst_audio_src_get_type
>
> At this point I'm just trying to load an empty audio source.
>
> It is likely something stupid... What I'm missing?
> I have placed the code here for convenience if somebody can highlight
> what's wrong. https://github.com/FredT2020/gsPlay

This is probably not a problem with your code, but with your build
setup.

You need to link against libgstaudio-1.0, so add gstreamer-audio-1.0 to
your pkg-config / dependencies list.

(You didn't post your build files, so can only give generic guidance
here, details will depend on the build system used of course).

Cheers
 Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Plugin source boilerplate not registering correctly

Nicolas Dufresne-5
Le vendredi 10 janvier 2020 à 09:19 -0800, Frederic Turmel a écrit :

> Thanks for the pointer. I switched to meson since it seems more
> appealing to me.
> Once i added the dependency I get a different error. It is not seeing
> the element.
>
> Here's the skeleton with meson https://github.com/FredT2020/gstadv
>
> (gst-inspect-1.0:12378): GLib-GObject-WARNING **: 09:10:56.321:
> specified class size for type 'GstAdvAudioSrc' is smaller than the
> parent type's 'GstAudioSrc' class size

Don't forget to change the Type of the parent in your GstAdvAudioSrc
and GstAdvAudioSrcClass structure.

>
> (gst-inspect-1.0:12378): GLib-CRITICAL **: 09:10:56.322:
> g_once_init_leave: assertion 'result != 0' failed
>
> (gst-inspect-1.0:12378): GStreamer-CRITICAL **: 09:10:56.322:
> gst_element_register: assertion 'g_type_is_a (type,
> GST_TYPE_ELEMENT)' failed
> Plugin Details:
>   Name                     adv
>   Description              FIXME Template plugin
>   Filename                 /usr/local/lib/gstreamer-1.0/libgstadv.so
>   Version                  0.0.FIXME
>   License                  LGPL
>   Source module            gst-project-plugin
>   Binary package           GStreamer
>   Origin URL               http://gstreamer.net/
>
>   0 features:
>
>
>
>
> On Fri, Jan 10, 2020 at 1:56 AM Tim Müller <[hidden email]>
> wrote:
> > On Thu, 2020-01-09 at 17:33 -0800, Frederic Turmel wrote:
> >
> > Hi,
> >
> > > Failed to load plugin '/usr/local/lib/gstreamer-
> > 1.0/libgstadv.so':
> > > /usr/local/lib/gstreamer-1.0/libgstadv.so: undefined symbol:
> > > gst_audio_src_get_type
> > >
> > > At this point I'm just trying to load an empty audio source.
> > >
> > > It is likely something stupid... What I'm missing?
> > > I have placed the code here for convenience if somebody can
> > highlight
> > > what's wrong. https://github.com/FredT2020/gsPlay
> >
> > This is probably not a problem with your code, but with your build
> > setup.
> >
> > You need to link against libgstaudio-1.0, so add gstreamer-audio-
> > 1.0 to
> > your pkg-config / dependencies list.
> >
> > (You didn't post your build files, so can only give generic
> > guidance
> > here, details will depend on the build system used of course).
> >
> > Cheers
> >  Tim
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel