summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-26 17:35:46 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2013-01-09 12:57:56 +0100
commit4522909af2a6a0ec04eed06f3ee7ab224a58ee51 (patch)
tree7348550a001bfe068b7dd78f400d62d8256db415
parentd34101f68206e4ec8ba26ad704c416719d4cbad3 (diff)
eglglessink: Add support for Mali fbdev EGL driver
-rw-r--r--configure.ac5
-rw-r--r--ext/eglgles/video_platform_wrapper.c28
2 files changed, 32 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 3f7d3adad..c3d915a5c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1651,6 +1651,11 @@ AG_GST_CHECK_FEATURE(EGLGLES, [eglgles sink], eglgles, [
])
AC_SUBST(EGLGLES_CFLAGS)
AC_SUBST(EGLGLES_LIBS)
+
+ AC_CHECK_HEADER([EGL/fbdev_window.h], HAVE_FBDEV_EGL="yes", HAVE_FBDEV_EGL="no")
+ if test x"$HAVE_FBDEV_EGL" = "xyes"; then
+ AC_DEFINE(HAVE_FBDEV_EGL, [1], [Have EGL/fbdev_window.h])
+ fi
])
dnl *** timidity ***
diff --git a/ext/eglgles/video_platform_wrapper.c b/ext/eglgles/video_platform_wrapper.c
index 968ed8996..2fea231c3 100644
--- a/ext/eglgles/video_platform_wrapper.c
+++ b/ext/eglgles/video_platform_wrapper.c
@@ -59,6 +59,10 @@
#include <X11/Xlib.h>
#endif
+#ifdef HAVE_FBDEV_EGL
+#include <EGL/fbdev_window.h>
+#endif
+
GST_DEBUG_CATEGORY_STATIC (eglgles_platform_wrapper);
#define GST_CAT_DEFAULT eglgles_platform_wrapper
@@ -122,7 +126,29 @@ platform_destroy_native_window (EGLNativeDisplayType display,
}
#endif
-#if !defined(HAVE_X11)
+#if defined(HAVE_FBDEV_EGL) && !defined(HAVE_X11)
+EGLNativeWindowType
+platform_create_native_window (gint width, gint height, gpointer * window_data)
+{
+ fbdev_window * w = g_slice_new0 (fbdev_window);
+
+ w->width = width;
+ w->height = height;
+
+ return (EGLNativeWindowType) w;
+}
+
+gboolean
+platform_destroy_native_window (EGLNativeDisplayType display,
+ EGLNativeWindowType window, gpointer * window_data)
+{
+ g_slice_free (fbdev_window, ((fbdev_window *) window));
+
+ return TRUE;
+}
+#endif
+
+#if !defined(HAVE_X11) && !defined(HAVE_FBDEV_EGL)
/* Dummy functions for creating a native Window */
EGLNativeWindowType
platform_create_native_window (gint width, gint height, gpointer * window_data)