Run OpenGl plugin

Matthew Waters ystreet00 at gmail.com
Wed Jul 6 12:20:10 UTC 2016


On 06/07/16 19:01, Potoman wrote:
> Hey !
>
> I try to build my own plugin based on glvideomixer plugin.
>
> I try to compile the gstglvideomix with the modification of the plugin name.
>
> I change glvideomixer to gltestvideomixer.
>
> I successfully compile it under windows/msvc but I had to add in my project
> the c file :
> - gstglbasemixer.c
> - gstglmixer.c
> - gstglmixerbin.c
> If I don't put this symbol, the compilation fail cause msvc doesn't found
> the symbol of this c file.
>
> I'm asking you if it's a good manner ?
>
> Cause I have this problem, when I run my plugin with a basic command line :
>
>  gst-launch-1.0  gltestvideomixer name=m ! glimagesink \ videotestsrc !
> video/x-raw, format=YUY2 ! m. \ videotestsrc pattern=12 ! video/x-raw,
> format=I420, framerate=5/1, width=100, height=200 ! queue ! m. \
> videotestsrc ! video/x-raw, format=RGB, framerate=15/1, width=1500,
> height=1500 ! queue ! m. \ videotestsrc ! queue ! m.  \ videotestsrc !
> glfiltercube ! queue ! m. \ videotestsrc ! queue ! m.
>
> I have this error :
>
> (gst-inspect-1.0:3640): GLib-GObject-WARNING **: cannot register existing
> type 'GstGLBaseMixer'
>
> (gst-inspect-1.0:3640): GLib-CRITICAL **: g_once_init_leave: assertion
> 'result != 0' failed
>
> (gst-inspect-1.0:3640): GLib-GObject-CRITICAL **: g_type_register_static:
> assertion 'parent_type > 0' failed
>
> (gst-inspect-1.0:3640): GLib-CRITICAL **: g_once_init_leave: assertion
> 'result != 0' failed
>
> (gst-inspect-1.0:3640): GLib-GObject-CRITICAL **: g_type_register_static:
> assertion 'parent_type > 0' failed
>
> (gst-inspect-1.0:3640): GLib-CRITICAL **: g_once_init_leave: assertion
> 'result != 0' failed
>
> (gst-inspect-1.0:3640): GStreamer-CRITICAL **: gst_element_register:
> assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed
>
>
>
> It's look like there are a conflict between glvideomixer and my plugin. I
> think I declare both GstGLBaseMixer cause I compile it in my project.
>
> Is it because the dll libgstopengl.dll already contain the symbol of
> gstglbasemixer.c, gstglmixer.c and gstglmixerbin.c file ?
>
> How  can I fix this conflict ?

This is most likely your problem.  If you don't change the name of these
classes, you will get these criticals trying to register types with the
same name.

You'll either need to change the names of your local copies of these
classes or patch your element into the existing opengl plugin.

Cheers
-Matt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160706/04e148e8/attachment.sig>


More information about the gstreamer-devel mailing list