Running OpenGL pileline

Matthew Waters ystreet00 at gmail.com
Thu Feb 18 03:52:21 UTC 2016


On 18/02/16 02:33, Potoman wrote:
> Hey Matthew,
>
> I've read what you says and I have some question.
>
> As you owe the doubt, I'm new at openGl and this framework. I've read lot ok
> wiki page on opengl, shading langage and some other stuff about it.
>
> My english is not very well so if I understand good what you says, set the
> environment variable to "opengl" is a good things, right ?
>
> First question : By default, what is the value took by gstreamer ?

Assuming you mean the value of GST_GL_API ?

The ordering is opengl3, opengl, gles2.  However, it ultimately depends
on the platform (EGL, GLX, WGL, etc) in use as to which API's are
supported exactly.  libgstgl can also be explicitly compiled without
specific APIs or platforms which also affects the chosen API.

TL;DR: It's complicated ;)

> To contiune, for my, as I work on my computer, I should use opengl api, not
> gles2. For me, gles2 is used on embedded system. Second question : Am I
> wrong ?

In general, yes although you can quite easily run gles2 applications on
a desktop system.

> I'm asking you cause I have another trouble but I found a way to go through.
>
> Actually, I want to create my own plugin gstreamer that used opengl. I want
> to add some 3D overlay, etc...
>
> To begin, I compile build and change the name of glfiltercube plugin.
>
> I successfully compile, link and run it.
>
> But, during the compilation, I have an error about symbole not define. This
> symbole are : GLeglImageOES.
> It's define in gst/gl/glprototypes/gstgl_compact.h
>
> The code of this header is :
>
> #ifndef __GST_GL_COMPAT_H__
> #define __GST_GL_COMPAT_H__
>
> #include <gst/gl/gstglconfig.h>
>
> /* undefined typedefs */
> #if !GST_GL_HAVE_GLEGLIMAGEOES
> typedef gpointer GLeglImageOES;
> #endif
>
>
> So for the compilator, GST_GL_HAVE_GLEGLIMAGEOES is set to true.
>
> But another header need eglimage.h and into it the code is :
>
> GST_GL_EXT_BEGIN (EGL_image,
>                 GST_GL_API_NONE,
>                 255, 255,
>                 255, 255, /* not in either GLES */
>                 "OES\0",
>                 "EGL_image\0")
> GST_GL_EXT_FUNCTION (void, EGLImageTargetTexture2D,
>                      (GLenum           target,
>                       GLeglImageOES    image))
> GST_GL_EXT_FUNCTION (void, EGLImageTargetRenderbufferStorage,
>                      (GLenum           target,
>                       GLeglImageOES    image))
> GST_GL_EXT_END ()
>
>
> So to finish my compilation, I should comment gstgl_compact.h like :
>
> #ifndef __GST_GL_COMPAT_H__
> #define __GST_GL_COMPAT_H__
>
> #include <gst/gl/gstglconfig.h>
>
> /* undefined typedefs */
> //#if !GST_GL_HAVE_GLEGLIMAGEOES
> typedef gpointer GLeglImageOES;
> //#endif
>
>
>
>
> I don't understand why if I have GLEGLIMAGEOES, gstreamer not define
> GLeglImageOES ?

Something doesn't seem right here.

GST_GL_HAVE_GLEGLIMAGEOES is checked and defined by configure into
gst-libs/gst/gl/gstglconfig.h.  You can have a look through config.log
to see how come you're getting errors with that.  If configure found it,
but compilation didn't, that's possibly a bug in the detection.  If the
error only ever occurs when building your plugin, you may be mixing up
include paths which may lead to that error.

> In second part, as I set GST_GL_API to opengl, I not used gles2 api. Are
> there a link between GLES2 and GLeglImageOES ? For me yes.

GLeglImageOES is used for EGLImages which could be supported on both
GLES2 and desktop GL, although it's currently mostly used in GLES2
implementations.

Cheers
-Matt

> So I don't understand we my compilation need this kind of object. Third
> question : Can you enlighten this thing to me ?
>
> But plugin work as well otherwise :)
>
> Thanks
>
>
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Running-OpenGL-pileline-tp4675820p4675907.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.

-------------- 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/20160218/81a4a254/attachment.sig>


More information about the gstreamer-devel mailing list