diff --git a/configure.ac b/configure.ac index 461f8f1743..ed837d50d1 100644 --- a/configure.ac +++ b/configure.ac @@ -1615,6 +1615,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 0d9b26d597..43f3b13a8c 100644 --- a/ext/eglgles/video_platform_wrapper.c +++ b/ext/eglgles/video_platform_wrapper.c @@ -59,6 +59,10 @@ #include #endif +#ifdef HAVE_FBDEV_EGL +#include +#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)