gl: do not include GL headers in public gstgl headers
authorJulien Isorce <jisorce@oblong.com>
Fri, 7 Jul 2017 15:15:12 +0000 (16:15 +0100)
committerJulien Isorce <jisorce@oblong.com>
Tue, 22 Aug 2017 09:00:19 +0000 (10:00 +0100)
commit2fd84a6c867641b53529de727ac72549b299a6f8
tree7272356da29b26ab42a2e039542ada015d41bfd1
parentf02993921c55da50042183ee495e3d2c4956fa6b
gl: do not include GL headers in public gstgl headers

Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
80 files changed:
ext/gl/gltestsrc.c
ext/gl/gstglcolorbalance.c
ext/gl/gstglcolorscale.c
ext/gl/gstgldeinterlace.c
ext/gl/gstgldifferencematte.c
ext/gl/gstgleffects.c
ext/gl/gstgleffects.h
ext/gl/gstglfiltercube.h
ext/gl/gstglfilterglass.c
ext/gl/gstglfiltershader.c
ext/gl/gstglimagesink.h
ext/gl/gstglmixer.h
ext/gl/gstgloverlay.h
ext/gl/gstgltestsrc.c
ext/gl/gstglutils.c
ext/gl/gstglvideomixer.c
ext/gl/gstglviewconvert.c
ext/gl/gstglviewconvert.h
ext/gtk/Makefile.am
ext/gtk/gstgtkglsink.c
ext/gtk/gtkgstglwidget.c
gst-libs/gst/gl/egl/gsteglimage.c
gst-libs/gst/gl/egl/gsteglimage.h
gst-libs/gst/gl/egl/gstglcontext_egl.c
gst-libs/gst/gl/egl/gstglcontext_egl.h
gst-libs/gst/gl/egl/gstgldisplay_egl.c
gst-libs/gst/gl/egl/gstgldisplay_egl.h
gst-libs/gst/gl/egl/gstglmemoryegl.c
gst-libs/gst/gl/egl/gstglmemoryegl.h
gst-libs/gst/gl/gl.h
gst-libs/gst/gl/gstgl_fwd.h
gst-libs/gst/gl/gstglapi.h
gst-libs/gst/gl/gstglbasefilter.h
gst-libs/gst/gl/gstglbasememory.c
gst-libs/gst/gl/gstglbasememory.h
gst-libs/gst/gl/gstglbuffer.c
gst-libs/gst/gl/gstglbuffer.h
gst-libs/gst/gl/gstglbufferpool.c
gst-libs/gst/gl/gstglbufferpool.h
gst-libs/gst/gl/gstglcolorconvert.c
gst-libs/gst/gl/gstglcontext.c
gst-libs/gst/gl/gstglcontext.h
gst-libs/gst/gl/gstgldebug.c
gst-libs/gst/gl/gstgldebug.h
gst-libs/gst/gl/gstgldisplay.h
gst-libs/gst/gl/gstglfeature.c
gst-libs/gst/gl/gstglfilter.c
gst-libs/gst/gl/gstglfilter.h
gst-libs/gst/gl/gstglformat.c
gst-libs/gst/gl/gstglframebuffer.c
gst-libs/gst/gl/gstglframebuffer.h
gst-libs/gst/gl/gstglfuncs.h [new file with mode: 0644]
gst-libs/gst/gl/gstglmemory.c
gst-libs/gst/gl/gstglmemory.h
gst-libs/gst/gl/gstglmemorypbo.c
gst-libs/gst/gl/gstglmemorypbo.h
gst-libs/gst/gl/gstgloverlaycompositor.c
gst-libs/gst/gl/gstgloverlaycompositor.h
gst-libs/gst/gl/gstglquery.c
gst-libs/gst/gl/gstglquery.h
gst-libs/gst/gl/gstglrenderbuffer.c
gst-libs/gst/gl/gstglrenderbuffer.h
gst-libs/gst/gl/gstglshaderstrings.h
gst-libs/gst/gl/gstglsl_private.h
gst-libs/gst/gl/gstglslstage.c
gst-libs/gst/gl/gstglsyncmeta.c
gst-libs/gst/gl/gstglupload.c
gst-libs/gst/gl/gstglviewconvert.c
gst-libs/gst/gl/gstglviewconvert.h
gst-libs/gst/gl/x11/gstgldisplay_x11.h
gst-libs/gst/gl/x11/gstglwindow_x11.h
tests/check/Makefile.am
tests/check/libs/.gitignore
tests/check/libs/gstglcontext.c
tests/check/libs/gstglheaders.c [new file with mode: 0644]
tests/check/libs/gstglupload.c
tests/examples/gl/generic/cube/main.cpp
tests/examples/gl/generic/cubeyuv/main.cpp
tests/examples/gl/generic/doublecube/main.cpp
tests/examples/gtk/glliveshader.c