From 26df88cd2485cf2b834ff470278d471b20c2aea3 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Tue, 16 Jun 2015 07:49:34 +0000 Subject: [PATCH] gl: consolidate egl header includes to egl-only headers They may conflict with other headers. --- ext/gl/gstopengl.c | 2 +- .../gl/dispmanx/gstglwindow_dispmanx_egl.h | 17 +++++++ gst-libs/gst/gl/egl/Makefile.am | 3 +- gst-libs/gst/gl/egl/gstegl.h | 47 +++++++++++++++++++ gst-libs/gst/gl/egl/gstglcontext_egl.c | 1 + gst-libs/gst/gl/egl/gstglcontext_egl.h | 1 + gst-libs/gst/gl/egl/gstgldisplay_egl.h | 1 + gst-libs/gst/gl/gstglapi.h | 25 ---------- 8 files changed, 70 insertions(+), 27 deletions(-) create mode 100644 gst-libs/gst/gl/egl/gstegl.h diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c index ebc7f1396a..1fad0a239b 100644 --- a/ext/gl/gstopengl.c +++ b/ext/gl/gstopengl.c @@ -89,7 +89,7 @@ extern GType gst_ca_opengl_layer_sink_bin_get_type (void); #endif #ifdef USE_EGL_RPI -#include +extern void bcm_host_init (void); #endif #if GST_GL_HAVE_WINDOW_X11 diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h index b25c2198f0..bf5161357c 100644 --- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h +++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h @@ -23,8 +23,25 @@ #include #include +#include + +#if defined (USE_EGL_RPI) && defined(__GNUC__) +#ifndef __VCCOREVER__ +#define __VCCOREVER__ 0x04000000 +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wredundant-decls" +#pragma GCC optimize ("gnu89-inline") +#endif + #include +#if defined (USE_EGL_RPI) && defined(__GNUC__) +#pragma GCC reset_options +#pragma GCC diagnostic pop +#endif + G_BEGIN_DECLS #define GST_GL_TYPE_WINDOW_DISPMANX_EGL (gst_gl_window_dispmanx_egl_get_type()) diff --git a/gst-libs/gst/gl/egl/Makefile.am b/gst-libs/gst/gl/egl/Makefile.am index e72aaddea8..b8081784e6 100644 --- a/gst-libs/gst/gl/egl/Makefile.am +++ b/gst-libs/gst/gl/egl/Makefile.am @@ -13,7 +13,8 @@ libgstgl_eglincludedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl/egl libgstgl_eglinclude_HEADERS = \ gstgldisplay_egl.h \ gstglcontext_egl.h \ - gsteglimagememory.h + gsteglimagememory.h \ + gstegl.h libgstgl_egl_la_CFLAGS = \ -I$(top_srcdir)/gst-libs \ diff --git a/gst-libs/gst/gl/egl/gstegl.h b/gst-libs/gst/gl/egl/gstegl.h new file mode 100644 index 0000000000..4fc2f3d4f1 --- /dev/null +++ b/gst-libs/gst/gl/egl/gstegl.h @@ -0,0 +1,47 @@ +/* + * GStreamer + * Copyright (C) 2015 Matthew Waters + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef _GST_EGL_H_ +#define _GST_EGL_H_ + +#include + +#if defined (USE_EGL_RPI) && defined(__GNUC__) +#ifndef __VCCOREVER__ +#define __VCCOREVER__ 0x04000000 +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wredundant-decls" +#pragma GCC optimize ("gnu89-inline") +#endif + +#ifndef EGL_EGLEXT_PROTOTYPES +#define EGL_EGLEXT_PROTOTYPES 1 +#endif +#include +#include + +#if defined (USE_EGL_RPI) && defined(__GNUC__) +#pragma GCC reset_options +#pragma GCC diagnostic pop +#endif + +#endif /* _GST_EGL_H_ */ diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c index 14be7c68cd..697e7fdff1 100644 --- a/gst-libs/gst/gl/egl/gstglcontext_egl.c +++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c @@ -29,6 +29,7 @@ */ #include "gstglcontext_egl.h" +#include #if GST_GL_HAVE_WINDOW_X11 #include "../x11/gstglwindow_x11.h" diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.h b/gst-libs/gst/gl/egl/gstglcontext_egl.h index 82119fc4a5..76632a3c28 100644 --- a/gst-libs/gst/gl/egl/gstglcontext_egl.h +++ b/gst-libs/gst/gl/egl/gstglcontext_egl.h @@ -23,6 +23,7 @@ #include #include +#include G_BEGIN_DECLS diff --git a/gst-libs/gst/gl/egl/gstgldisplay_egl.h b/gst-libs/gst/gl/egl/gstgldisplay_egl.h index 2e47319e28..18c7e4f926 100644 --- a/gst-libs/gst/gl/egl/gstgldisplay_egl.h +++ b/gst-libs/gst/gl/egl/gstgldisplay_egl.h @@ -23,6 +23,7 @@ #include #include +#include G_BEGIN_DECLS diff --git a/gst-libs/gst/gl/gstglapi.h b/gst-libs/gst/gl/gstglapi.h index c260590479..5f162c4603 100644 --- a/gst-libs/gst/gl/gstglapi.h +++ b/gst-libs/gst/gl/gstglapi.h @@ -23,31 +23,6 @@ #include -#if GST_GL_HAVE_PLATFORM_EGL - -#if defined (USE_EGL_RPI) && defined(__GNUC__) -#ifndef __VCCOREVER__ -#define __VCCOREVER__ 0x04000000 -#endif - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wredundant-decls" -#pragma GCC optimize ("gnu89-inline") -#endif - -#ifndef EGL_EGLEXT_PROTOTYPES -#define EGL_EGLEXT_PROTOTYPES 1 -#endif -#include -#include - -#if defined (USE_EGL_RPI) && defined(__GNUC__) -#pragma GCC reset_options -#pragma GCC diagnostic pop -#endif - -#endif - /* OpenGL 2.0 for Embedded Systems */ #if GST_GL_HAVE_GLES2 #ifndef GL_GLEXT_PROTOTYPES