diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-12-26 17:35:46 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-01-09 12:57:56 +0100 |
commit | 4522909af2a6a0ec04eed06f3ee7ab224a58ee51 (patch) | |
tree | 7348550a001bfe068b7dd78f400d62d8256db415 | |
parent | d34101f68206e4ec8ba26ad704c416719d4cbad3 (diff) |
eglglessink: Add support for Mali fbdev EGL driver
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | ext/eglgles/video_platform_wrapper.c | 28 |
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) |