From 6b3fe4418538bcdb8ccccd274ba22764ae203e6f Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Sun, 16 Mar 2014 15:08:23 +0100 Subject: [PATCH] Move gst-plugins-gl to bad --- configure.ac | 673 +++++++++++++++++++- docs/libs/Makefile.am | 1 + docs/libs/gst-plugins-bad-libs-docs.sgml | 26 + docs/libs/gst-plugins-bad-libs-sections.txt | 505 +++++++++++++++ docs/libs/gst-plugins-bad-libs.types | 15 +- ext/Makefile.am | 15 + gst-libs/gst/Makefile.am | 11 +- tests/check/Makefile.am | 36 ++ tests/check/libs/.gitignore | 3 + 9 files changed, 1281 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index ac063c9cbd..c9d76cb177 100644 --- a/configure.ac +++ b/configure.ac @@ -348,7 +348,7 @@ GST_PLUGINS_NONPORTED=" cdxaparse \ gsettings \ musepack nas sdl timidity \ directdraw acm wininet \ - xvid lv2 teletextdec sndio osx_video quicktime" + xvid lv2 teletextdec sndio osx_video quicktime libvisual" AC_SUBST(GST_PLUGINS_NONPORTED) dnl these are all the gst plug-ins, compilable without additional libs @@ -615,6 +615,639 @@ AC_SUBST(EGL_LIBS) AC_SUBST(EGL_CFLAGS) AM_CONDITIONAL(HAVE_EGL, test x"$HAVE_EGL" = x"yes") +dnl *** opengl *** +AC_ARG_ENABLE([opengl], + [ --enable-opengl Enable Desktop OpenGL support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_GL=yes ;; + no) NEED_GL=no ;; + auto) NEED_GL=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-opengl]) ;; + esac],[NEED_GL=auto]) + +AC_ARG_ENABLE([gles2], + [ --enable-gles2 Enable OpenGL|ES 2.0 support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_GLES2=yes ;; + no) NEED_GLES2=no ;; + auto) NEED_GLES2=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-gles2]) ;; + esac],[NEED_GLES2=auto]) + +AC_ARG_ENABLE([egl], + [ --enable-egl Enable EGL support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_EGL=yes ;; + no) NEED_EGL=no ;; + auto) NEED_EGL=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-egl]) ;; + esac],[NEED_EGL=auto]) + +AC_ARG_ENABLE([wgl], + [ --enable-wgl Enable WGL support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_WGL=yes ;; + no) NEED_WGL=no ;; + auto) NEED_WGL=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-wgl]) ;; + esac],[NEED_WGL=auto]) + +AC_ARG_ENABLE([glx], + [ --enable-glx Enable GLX support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_GLX=yes ;; + no) NEED_GLX=no ;; + auto) NEED_GLX=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-glx]) ;; + esac],[NEED_GLX=auto]) + +AC_ARG_ENABLE([cocoa], + [ --enable-cocoa Enable Cocoa support (using GNUstep on non OS X platforms) @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_COCOA=yes ;; + no) NEED_COCOA=no ;; + auto) NEED_COCOA=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-cocoa]) ;; + esac],[NEED_COCOA=auto]) + +AC_ARG_ENABLE([x11], + [ --enable-x11 Enable x11 support @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_X11=yes ;; + no) NEED_X11=no ;; + auto) NEED_X11=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-x11]) ;; + esac],[NEED_X11=auto]) + +AC_ARG_ENABLE([wayland], + [ --enable-wayland Enable Wayland support (requires EGL) @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_WAYLAND_EGL=yes ;; + no) NEED_WAYLAND_EGL=no ;; + auto) NEED_WAYLAND_EGL=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-wayland]) ;; + esac],[NEED_WAYLAND_EGL=auto]) + +AC_ARG_ENABLE([dispmanx], + [ --enable-dispmanx Enable Dispmanx support (requires EGL) @<:@default=auto@:>@], + [case "${enableval}" in + yes) NEED_DISPMANX=yes ;; + no) NEED_DISPMANX=no ;; + auto) NEED_DISPMANX=auto ;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;; + esac],[NEED_DISPMANX=auto]) + +save_CPPFLAGS="$CPPFLAGS" +save_LIBS="$LIBS" + +HAVE_GL=no +HAVE_GLES2=no +HAVE_GLU=no +HAVE_GNUSTEP_COCOA=no +HAVE_WAYLAND_EGL=no +HAVE_EGL_RPI=no + +case $host in + *-mingw32* ) + LIBS="$LIBS -lgdi32" + AG_GST_CHECK_LIBHEADER(GL, opengl32, glTexImage2D,, GL/gl.h) + AG_GST_CHECK_LIBHEADER(GLU, glu32, gluSphere,, GL/glu.h) + HAVE_GL=yes + HAVE_GLU=yes + ;; + *) + AG_GST_CHECK_X + AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h) + AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h) + AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h) + + PKG_CHECK_MODULES(WAYLAND_EGL, wayland-client >= 1.0 wayland-cursor >= 1.0 wayland-egl >= 9.0, HAVE_WAYLAND_EGL=yes, HAVE_WAYLAND_EGL=no) + ;; +esac + +case $host in + *-darwin* ) ;; + *) + AC_PATH_PROG([GNUSTEP_CONFIG],[gnustep-config]) + if test "x$GNUSTEP_CONFIG" != "x"; then + GNUSTEP_HOST="`$GNUSTEP_CONFIG --variable=GNUSTEP_HOST`" + case $host in + *-mingw* ) + case $GNUSTEP_HOST in + *-mingw* ) + HAVE_GNUSTEP_COCOA=yes + ;; + esac + ;; + * ) + HAVE_GNUSTEP_COCOA=yes + ;; + esac + fi + ;; +esac + +AC_MSG_CHECKING([for GNUstep]) +if test "x$HAVE_GNUSTEP_COCOA" = "xyes" ; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +CPPFLAGS="$save_CPPFLAGS" +LIBS="$save_LIBS" + +AC_SUBST(HAVE_GL) +AC_SUBST(HAVE_GLU) +AC_SUBST(HAVE_GLES2) + +USE_OPENGL=no +USE_GLES2=no +USE_GLX=no +USE_COCOA=no +USE_WGL=no +USE_X11=no +GL_LIBS= +GL_CFLAGS= +GL_OBJCFLAGS= + +dnl Check for what the user asked for and what we could find +if test "x$HAVE_EGL" = "xno"; then + if test "x$NEED_EGL" = "xyes"; then + AC_MSG_ERROR([Could not find the required EGL libraries]) + fi +fi + +if test "x$HAVE_GL" = "xno"; then + if test "x$NEED_GL" = "xyes"; then + AC_MSG_ERROR([Could not find the required OpenGL libraries]) + fi +fi + +if test "x$NEED_GLES2" = "xno"; then + if test "x$NEED_GL" = "xno"; then + AC_MSG_ERROR([Either OpenGL or OpenGL|ES is required]) + fi +fi + +if test "x$HAVE_GLES2" = "xno"; then + if test "x$NEED_GLES2" = "xyes"; then + AC_MSG_ERROR([Could not find the required OpenGL|ES 2.0 libraries]) + fi +fi + +dnl X, GLX and OpenGL +if test "x$HAVE_X" = "xno"; then + if test "x$NEED_GLX" = "xyes"; then + AC_MSG_ERROR([Building the GLX backend without X11 is unsupported]) + fi + if test "x$NEED_X11" = "xyes"; then + AC_MSG_ERROR([Could not find X11 development libraries]) + fi +else + if test "x$NEED_GL" != "xno"; then + if test "x$HAVE_GL" = "xno"; then + if test "x$NEED_GLX" = "xyes"; then + AC_MSG_ERROR([Building the GLX backend without the OpenGL backend is unsupported]) + fi + else dnl HAVE_GL=yes + if test "x$HAVE_GLU" = "xno"; then + if test "x$NEED_GL" = "xyes"; then + AC_MSG_ERROR([GLU is required with OpenGL support]) + else + AC_MSG_WARN([GLU is required with OpenGL support]) + fi + else dnl HAVE_GLU=yes + USE_OPENGL=yes + if test "x$NEED_GLX" != "xno"; then + USE_GLX=yes + fi + fi + fi + fi +fi + +#dnl Check for OpenGL, GLU +echo host is $host +case $host in + *-android*) + if test "x$NEED_WGL" = "xyes"; then + AC_MSG_ERROR([WGL is not available on Android]) + fi + if test "x$NEED_GLX" = "xyes"; then + AC_MSG_ERROR([GLX is not available on Android]) + fi + if test "x$NEED_GL" = "xyes"; then + AC_MSG_ERROR([GL is not available on Android]) + fi + if test "x$NEED_X11" = "xyes"; then + AC_MSG_ERROR([X11 is not available on Android]) + fi + if test "x$NEED_COCOA" = "xyes"; then + AC_MSG_ERROR([Cocoa is not available on Android]) + fi + + dnl OpenGL|ES 2.0 + if test "x$HAVE_GLES2" = "xyes"; then + if test "x$NEED_GLES2" != "xno"; then + GL_LIBS="$GL_LIBS -lGLESv2" + USE_GLES2=yes + fi + fi + + dnl EGL + if test "x$HAVE_EGL" = "xyes"; then + if test "x$NEED_EGL" != "xno"; then + GL_LIBS="$GL_LIBS -lEGL" + USE_EGL=yes + fi + fi + + if test "x$USE_EGL" != "xyes"; then + AC_MSG_ERROR([Need EGL on Android]) + fi + + if test "x$USE_GLES2" != "xyes"; then + AC_MSG_ERROR([Need OpenGL|ES 2.0 on Android]) + fi + + HAVE_WINDOW_ANDROID=yes + ;; + *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* ) + if test "x$NEED_WGL" = "xyes"; then + AC_MSG_ERROR([WGL is not available on unix]) + fi + + if test "x$HAVE_X" = "xno"; then + if test "x$HAVE_WAYLAND_EGL" = "xno"; then + AC_MSG_ERROR([X or Wayland is required]) + fi + fi + + dnl check Desktop OpenGL + if test "x$HAVE_GL" = "xyes"; then + if test "x$NEED_GL" != "xno"; then + GL_LIBS="$GL_LIBS -lGL" + fi + if test "x$HAVE_GLU" = "xyes"; then + GL_LIBS="$GL_LIBS -lGLU" + fi + fi + + dnl OpenGL|ES 2.0 + if test "x$HAVE_GLES2" = "xyes"; then + if test "x$NEED_GLES2" != "xno"; then + GL_LIBS="$GL_LIBS -lGLESv2" + USE_GLES2=yes + fi + fi + + if test "x$HAVE_X" = "xyes" -a "x$HAVE_EGL_RPI" = "xno"; then + if test "x$NEED_X11" != "xno"; then + GL_LIBS="$GL_LIBS $X_LIBS" + GL_CFLAGS="$GL_CFLAGS $X_CFLAGS" + HAVE_WINDOW_X11=yes + fi + fi + + if test "x$HAVE_WAYLAND_EGL" = "xyes"; then + if test "x$NEED_EGL" = "xno" -o "x$HAVE_EGL" = "xno"; then + AC_MSG_WARN([EGL is required by the Wayland backend]) + else + if test "x$NEED_WAYLAND_EGL" != "xno"; then + HAVE_WINDOW_WAYLAND=yes + GL_LIBS="$GL_LIBS $WAYLAND_EGL_LIBS" + GL_CFLAGS="$GL_CFLAGS $WAYLAND_EGL_CFLAGS" + fi + fi + fi + + if test "x$HAVE_EGL_RPI" = "xyes"; then + if test "x$NEED_DISPMANX" != "xno"; then + HAVE_WINDOW_DISPMANX=yes + USE_EGL=yes + fi + fi + + dnl EGL + if test "x$HAVE_EGL" = "xno"; then + if test "x$HAVE_GL" = "xno"; then + AC_MSG_ERROR([Building requires either EGL or GLX]) + fi + else + if test "x$NEED_EGL" != "xno"; then + if test "x$HAVE_WINDOW_WAYLAND" = "xyes" -o "x$HAVE_WINDOW_X11" = "xyes" -o "x$HAVE_WINDOW_DISPMANX" = "xyes"; then + GL_LIBS="$GL_LIBS -lEGL" + USE_EGL=yes + fi + fi + fi + + dnl GNUstep provides the Cocoa API on unix + if test "x$NEED_COCOA" != "xno"; then + if test "x$HAVE_GNUSTEP_COCOA" = "xyes" ; then + GNUSTEP_OBJCFLAGS="`$GNUSTEP_CONFIG --objc-flags`" + GNUSTEP_LIBS="`$GNUSTEP_CONFIG --gui-libs`" + GL_LIBS="$GL_LIBS $GNUSTEP_LIBS -lgnustep-gui -lgnustep-base" + GL_OBJCFLAGS="$GL_OBJCFLAGS $GNUSTEP_OBJCFLAGS" + + USE_COCOA=yes + HAVE_WINDOW_COCOA=yes + fi + fi + ;; + *-darwin*) + if test "x$NEED_WGL" = "xyes"; then + AC_MSG_ERROR([WGL is not available on Mac OS X]) + fi + if test "x$NEED_EGL" = "xyes"; then + AC_MSG_ERROR([EGL is not available on Mac OS X]) + fi + if test "x$NEED_GLES2" = "xyes"; then + AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet]) + fi + + GL_LIBS="$LIBS -framework OpenGL -framework Cocoa" + GL_CFLAGS="$GL_CFLAGS" + USE_COCOA=yes + HAVE_WINDOW_COCOA=yes + USE_OPENGL=yes + + if test "x$USE_GLX" = "xyes"; then + if test "x$HAVE_X" = "xyes"; then + if test "x$NEED_X11" != "xno"; then + GL_LIBS="$GL_LIBS $X_LIBS" + GL_CFLAGS="$GL_CFLAGS $X_CFLAGS" + HAVE_WINDOW_X11=yes + fi + fi + + if test "x$HAVE_GL" = "xyes"; then + if test "x$NEED_GL" != "xno"; then + GL_LIBS="$GL_LIBS -lGL" + fi + if test "x$HAVE_GLU" = "xyes"; then + GL_LIBS="$GL_LIBS -lGLU" + fi + fi + fi + ;; + *-mingw32*) + if test "x$NEED_GLX" = "xyes"; then + AC_MSG_ERROR([GLX is not available on Windows]) + fi + if test "x$NEED_GLES2" = "xyes"; then + AC_MSG_ERROR([OpenGL|ES 2.0 is not supported on your platform yet]) + fi + + GL_LIBS="$GL_LIBS -lgdi32 -lopengl32 -lglu32" + HAVE_WINDOW_WIN32=yes + USE_OPENGL=yes + USE_WGL=yes + + dnl GNUstep provides the Cocoa API on win32 + if test "x$HAVE_GNUSTEP_COCOA" = "xyes" ; then + GNUSTEP_CFLAGS="`$GNUSTEP_CONFIG --objc-flags`" + GNUSTEP_LIBS="`$GNUSTEP_CONFIG --gui-libs`" + GL_LIBS="$GL_LIBS $GNUSTEP_LIBS -lgnustep-gui -lgnustep-base" + GL_OBJCFLAGS="$OBJCFLAGS $GNUSTEP_CFLAGS" + + USE_COCOA=yes + HAVE_WINDOW_COCOA=yes + fi + ;; + *) + AC_MSG_ERROR([Don't know how to check for OpenGL on your platform.]) + exit 1 + ;; +esac + +GL_PLATFORMS= +GL_WINDOWS= +GL_APIS= +GL_CONFIG_DEFINES= + +dnl APIs +if test "x$USE_OPENGL" = "xyes"; then + GL_APIS="gl $GL_APIS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_OPENGL 1" +fi +if test "x$USE_GLES2" = "xyes"; then + GL_APIS="gles2 $GL_APIS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_GLES2 1" +fi + +dnl WINDOW's +if test "x$HAVE_WINDOW_X11" = "xyes"; then + GL_WINDOWS="x11 $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_X11 1" +fi +if test "x$HAVE_WINDOW_COCOA" = "xyes"; then + GL_WINDOWS="cocoa $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_COCOA 1" +fi +if test "x$HAVE_WINDOW_WIN32" = "xyes"; then + GL_WINDOWS="win32 $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_WIN32 1" +fi +if test "x$HAVE_WINDOW_WAYLAND" = "xyes"; then + GL_WINDOWS="wayland $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_WAYLAND 1" +fi +if test "x$HAVE_WINDOW_ANDROID" = "xyes"; then + GL_WINDOWS="android $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_ANDROID 1" +fi +if test "x$HAVE_WINDOW_DISPMANX" = "xyes"; then + GL_WINDOWS="dispmanx $GL_WINDOWS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_WINDOW_DISPMANX 1" +fi + +dnl PLATFORM's +if test "x$USE_EGL" = "xyes"; then + GL_PLATFORMS="egl $GL_PLATFORMS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_PLATFORM_EGL 1" +fi +if test "x$USE_GLX" = "xyes"; then + GL_PLATFORMS="glx $GL_PLATFORMS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_PLATFORM_GLX 1" +fi +if test "x$USE_WGL" = "xyes"; then + GL_PLATFORMS="wgl $GL_PLATFORMS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_PLATFORM_WGL 1" +fi +if test "x$USE_COCOA" = "xyes"; then + GL_PLATFORMS="cocoa $GL_PLATFORMS" + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_PLATFORM_COCOA 1" +fi + +dnl Check for no platforms/window systems +if test "x$GL_APIS" = "x"; then + AC_MSG_ERROR([Either OpenGL or OpenGL|ES is required]) +fi +if test "x$GL_PLATFORMS" = "x"; then + AC_MSG_ERROR([Could not find any OpenGL platforms to use such as Cocoa, WGL or GLX]) +fi +if test "x$GL_WINDOWS" = "x"; then + AC_MSG_ERROR([Could not find any window systems to use such as Cocoa, Win32API or X11]) +fi + +AC_SUBST(GL_LIBS) +AC_SUBST(GL_CFLAGS) +AC_SUBST(GL_OBJCFLAGS) +AC_SUBST(USE_OPENGL) +AC_SUBST(USE_GLES2) + +AM_CONDITIONAL(HAVE_WINDOW_X11, test "x$HAVE_WINDOW_X11" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_X11ES2, test "x$HAVE_WINDOW_X11ES2" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_COCOA, test "x$HAVE_WINDOW_COCOA" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_WIN32, test "x$HAVE_WINDOW_WIN32" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_DISPMANX, test "x$HAVE_WINDOW_DISPMANX" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_WAYLAND, test "x$HAVE_WINDOW_WAYLAND" = "xyes") +AM_CONDITIONAL(HAVE_WINDOW_ANDROID, test "x$HAVE_WINDOW_ANDROID" = "xyes") + +AM_CONDITIONAL(USE_OPENGL, test "x$USE_OPENGL" = "xyes") +AM_CONDITIONAL(USE_GLES2, test "x$USE_GLES2" = "xyes") +AM_CONDITIONAL(USE_GLX, test "x$USE_GLX" = "xyes") +AM_CONDITIONAL(USE_EGL, test "x$USE_EGL" = "xyes") +AM_CONDITIONAL(USE_WGL, test "x$USE_WGL" = "xyes") +AM_CONDITIONAL(USE_COCOA, test "x$USE_COCOA" = "xyes") +AM_CONDITIONAL(USE_EGL_PRI, test "x$USE_EGL_RPI" = "xyes") + +dnl Check for some types that are not always present +GL_INCLUDES="" +if test "x$USE_GLES2" = "xyes"; then + GL_INCLUDES="$GL_INCLUDES +# include +# include +" +fi + +if test "x$USE_OPENGL" = "xyes"; then + GL_INCLUDES="$GL_INCLUDES +# if __APPLE__ +# include +# include +# else +# include +# include +# if __WIN32__ || _WIN32 +# include +# endif +# endif +" +fi + +AC_CHECK_TYPES(GLeglImageOES, [], [], [[$GL_INCLUDES]]) +if test "x$ac_cv_type_GLeglImageOES" = "xyes"; then + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_GLEGLIMAGEOES 1" +fi + +AC_CHECK_TYPES(GLchar, [], [], [[$GL_INCLUDES]]) +if test "x$ac_cv_type_GLchar" = "xyes"; then + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_GLCHAR 1" +fi + +AC_CHECK_TYPES(GLsizeiptr, [], [], [[$GL_INCLUDES]]) +if test "x$ac_cv_type_GLsizeiptr" = "xyes"; then + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_GLSIZEIPTR 1" +fi + +AC_CHECK_TYPES(GLintptr, [], [], [[$GL_INCLUDES]]) +if test "x$ac_cv_type_GLintptr" = "xyes"; then + GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES +#define GST_GL_HAVE_GLINTPTR 1" +fi + +AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [ + outfile=gstglconfig.h-tmp + cat > $outfile <<\_______EOF +/* gstglconfig.h + * + * This is a generated file. Please modify `configure.ac' + */ + +#ifndef __GST_GL_CONFIG_H__ +#define __GST_GL_CONFIG_H__ + +#include + +G_BEGIN_DECLS + +_______EOF + + cat >>$outfile <<_______EOF +$gl_config_defines +_______EOF + + cat >>$outfile <<_______EOF + +G_END_DECLS + +#endif /* __GST_GL_CONFIG_H__ */ +_______EOF + + + if cmp -s $outfile gst-libs/gst/gl/gstglconfig.h; then + AC_MSG_NOTICE([gst-libs/gst/gl/gstglconfig.h is unchanged]) + rm -f $outfile + else + mv $outfile gst-libs/gst/gl/gstglconfig.h + fi +],[ +gl_config_defines='$GL_CONFIG_DEFINES' +]) + +dnl libpng is optional +PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) +if test "x$HAVE_PNG" = "xyes"; then + AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) +fi +AC_SUBST(HAVE_PNG) +AC_SUBST(LIBPNG_LIBS) +AC_SUBST(LIBPNG_CFLAGS) +AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes") + +dnl libjpeg is optional +AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library]) +OLD_LIBS="$LIBS" +if test x$with_jpeg_mmx != x; then + LIBS="$LIBS -L$with_jpeg_mmx" +fi +AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") +JPEG_LIBS="$LIBS -ljpeg-mmx" +LIBS="$OLD_LIBS" +if test x$HAVE_JPEG != xyes; then + JPEG_LIBS="-ljpeg" + AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") +fi + +if test x$HAVE_JPEG = xyes; then + AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) +else + AC_DEFINE(HAVE_JPEG, [0], [Use libjpeg]) + JPEG_LIBS= +fi +AC_SUBST(JPEG_LIBS) +AC_SUBST(HAVE_JPEG) +AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes") + + dnl *** sys plug-ins *** dnl DirectSound @@ -1880,6 +2513,31 @@ AG_GST_CHECK_FEATURE(EGLGLES, [eglgles sink], eglgles, [ AC_SUBST(EGLGLES_LIBS) ]) +dnl *** gl *** +translit(dnm, m, l) AM_CONDITIONAL(USE_GL, true) +AG_GST_CHECK_FEATURE(GL, [gl elements], gl, [ + HAVE_GL="no" + + if test x"$HAVE_OPENGL" = x"yes" -o x"$HAVE_GLES2" = x"yes"; then + HAVE_GL="yes" + fi +]) + +dnl *** libvisual *** +translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true) +AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [ + AG_GST_PKG_CHECK_MODULES(LIBVISUAL, libvisual-0.4 >= 0.4.0) + if test x$HAVE_LIBVISUAL = xyes; then + LIBVIS_PLUGINSDIR="`$PKG_CONFIG --variable=pluginsbasedir libvisual-0.4`" + fi + AC_MSG_NOTICE([libvisual pluginsdir: $LIBVIS_PLUGINSDIR]) + if test x$LIBVIS_PLUGINSDIR != x; then + AC_DEFINE_UNQUOTED(LIBVISUAL_PLUGINSBASEDIR, + "$LIBVIS_PLUGINSDIR", + [directory in which the detected libvisual's plugins are located]) + fi +]) + dnl *** timidity *** translit(dnm, m, l) AM_CONDITIONAL(USE_TIMIDITY, true) AG_GST_CHECK_FEATURE(TIMIDITY, [timidity midi soft synth plugin], timidity, [ @@ -2281,6 +2939,7 @@ AM_CONDITIONAL(USE_OPUS, false) AM_CONDITIONAL(USE_PVR, false) AM_CONDITIONAL(USE_RSVG, false) AM_CONDITIONAL(USE_EGLGLES, false) +AM_CONDITIONAL(USE_LIBVISUAL, false) AM_CONDITIONAL(USE_TIMIDITY, false) AM_CONDITIONAL(USE_WILDMIDI, false) AM_CONDITIONAL(USE_SDL, false) @@ -2460,6 +3119,14 @@ gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/basecamerabinsrc/Makefile gst-libs/gst/egl/Makefile +gst-libs/gst/gl/Makefile +gst-libs/gst/gl/android/Makefile +gst-libs/gst/gl/cocoa/Makefile +gst-libs/gst/gl/dispmanx/Makefile +gst-libs/gst/gl/glprototypes/Makefile +gst-libs/gst/gl/wayland/Makefile +gst-libs/gst/gl/win32/Makefile +gst-libs/gst/gl/x11/Makefile gst-libs/gst/insertbin/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/codecparsers/Makefile @@ -2521,6 +3188,7 @@ ext/wayland/Makefile ext/daala/Makefile ext/dts/Makefile ext/eglgles/Makefile +ext/gl/Makefile ext/faac/Makefile ext/faad/Makefile ext/flite/Makefile @@ -2531,6 +3199,7 @@ ext/kate/Makefile ext/ladspa/Makefile ext/lv2/Makefile ext/libmms/Makefile +ext/libvisual/Makefile ext/Makefile ext/modplug/Makefile ext/mpeg2enc/Makefile @@ -2583,6 +3252,8 @@ pkgconfig/gstreamer-insertbin.pc pkgconfig/gstreamer-insertbin-uninstalled.pc pkgconfig/gstreamer-egl.pc pkgconfig/gstreamer-egl-uninstalled.pc +pkgconfig/gstreamer-gl.pc +pkgconfig/gstreamer-gl-uninstalled.pc pkgconfig/gstreamer-mpegts.pc pkgconfig/gstreamer-mpegts-uninstalled.pc tools/Makefile diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am index 390886e831..5c6c919a36 100644 --- a/docs/libs/Makefile.am +++ b/docs/libs/Makefile.am @@ -57,6 +57,7 @@ GTKDOC_LIBS = \ $(top_builddir)/gst-libs/gst/insertbin/libgstinsertbin-@GST_API_VERSION@.la \ $(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la \ $(top_builddir)/gst-libs/gst/mpegts/libgstmpegts-@GST_API_VERSION@.la \ + $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \ $(GST_BASE_LIBS) GTKDOC_CC=$(LIBTOOL) --tag=CC --mode=compile $(CC) diff --git a/docs/libs/gst-plugins-bad-libs-docs.sgml b/docs/libs/gst-plugins-bad-libs-docs.sgml index 66c4dee6aa..c00718c982 100644 --- a/docs/libs/gst-plugins-bad-libs-docs.sgml +++ b/docs/libs/gst-plugins-bad-libs-docs.sgml @@ -56,6 +56,32 @@ Useful elements + + + OpenGL Helper Library + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/libs/gst-plugins-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt index adf4a7d2fa..db90493a5d 100644 --- a/docs/libs/gst-plugins-bad-libs-sections.txt +++ b/docs/libs/gst-plugins-bad-libs-sections.txt @@ -633,3 +633,508 @@ gst_insert_bin_get_type GstInsertBinPrivate + +
+gstglapi +GstGLAPI +GstGLAPI +gst_gl_api_string +gst_gl_check_extension +GST_GL_CHECK_GL_VERSION + +GSTGLAPI +GST_GL_EXT_BEGIN +GST_GL_EXT_END +GST_GL_EXT_FUNCTION +GstGLFeatureData +GstGLFeatureFunction +
+ +
+gstglbufferpool +GstGLBufferPool +GstGLBufferPool +GstGLBufferPoolClass +gst_gl_buffer_pool_new + +GstGLBufferPoolPrivate +GST_GL_BUFFER_POOL +GST_GL_BUFFER_POOL_CAST +gst_gl_buffer_pool_get_type +GST_IS_GL_BUFFER_POOL +GST_TYPE_GL_BUFFER_POOL +
+ +
+gstglcontext +GstGLContext +GST_GL_CONTEXT_ERROR +gst_gl_context_error_quark +GstGLContextError +GstGLContextThreadFunc +GstGLContext +gst_gl_context_new +gst_gl_context_create +gst_gl_context_activate +gst_gl_context_default_get_proc_address +gst_gl_context_get_proc_address +gst_gl_context_get_window +gst_gl_context_set_window +gst_gl_context_thread_add +gst_gl_context_get_display +gst_gl_context_get_gl_api +gst_gl_context_get_gl_context +gst_gl_context_get_platform + +GST_GL_CONTEXT +GST_GL_IS_CONTEXT +GST_GL_TYPE_CONTEXT +GST_GL_CONTEXT_CLASS +GST_GL_CONTEXT_GET_CLASS +GST_GL_IS_CONTEXT_CLASS +GST_GL_CONTEXT_CAST +GstGLContextPrivate +gst_gl_context_get_type +
+ +
+gstglcontextcocoa +GstGLContextCocoa +GstGLContextCocoa +gst_gl_context_cocoa_new + +GST_GL_CONTEXT_COCOA +GST_GL_IS_CONTEXT_COCOA +GST_GL_TYPE_CONTEXT_COCOA +GST_GL_CONTEXT_COCOA_CLASS +GST_GL_CONTEXT_COCOA_GET_CLASS +GST_GL_IS_CONTEXT_COCOA_CLASS +GST_GL_CONTEXT_COCOA_CAST +GstGLContextCocoaPrivate +gst_gl_context_cocoa_get_type +
+ +
+gstglcontextegl +GstGLContextEGL +GstGLContextEGL +gst_gl_context_egl_new + +GST_GL_CONTEXT_EGL +GST_GL_IS_CONTEXT_EGL +GST_GL_TYPE_CONTEXT_EGL +GST_GL_CONTEXT_EGL_CLASS +GST_GL_CONTEXT_EGL_GET_CLASS +GST_GL_IS_CONTEXT_EGL_CLASS +GST_GL_CONTEXT_EGL_CAST +GstGLContextEGLPrivate +gst_gl_context_egl_get_type +
+ +
+gstglcontextglx +GstGLContextGLX +GstGLContextGLX +gst_gl_context_glx_new + +GST_GL_CONTEXT_GLX +GST_GL_IS_CONTEXT_GLX +GST_GL_TYPE_CONTEXT_GLX +GST_GL_CONTEXT_GLX_CLASS +GST_GL_CONTEXT_GLX_GET_CLASS +GST_GL_IS_CONTEXT_GLX_CLASS +GST_GL_CONTEXT_GLX_CAST +GstGLContextGLXPrivate +gst_gl_context_glx_get_type +
+ +
+gstglcontextwgl +GstGLContextWGL +GstGLContextWGL +gst_gl_context_wgl_new + +GST_GL_CONTEXT_WGL +GST_GL_IS_CONTEXT_WGL +GST_GL_TYPE_CONTEXT_WGL +GST_GL_CONTEXT_WGL_CLASS +GST_GL_CONTEXT_WGL_GET_CLASS +GST_GL_IS_CONTEXT_WGL_CLASS +GST_GL_CONTEXT_WGL_CAST +GstGLContextWGLPrivate +gst_gl_context_wgl_get_type +
+ +
+gstgldisplay +GstGLDisplay +GstGLDisplay +gst_gl_display_new +gst_context_get_gl_display +gst_context_set_gl_display + +GST_GL_DISPLAY +GST_IS_GL_DISPLAY +GST_TYPE_GL_DISPLAY +GST_GL_DISPLAY_CLASS +GST_IS_GL_DISPLAY_CLASS +GST_GL_DISPLAY_CAST +GstGLDisplayPrivate +gst_gl_display_get_type +
+ +
+gstgldownload +GST_GL_DOWNLOAD_FORMATS +GST_GL_DOWNLOAD_VIDEO_CAPS +GstGLDownload +GstGLDownload +gst_gl_download_new +gst_gl_download_init_format +gst_gl_download_perform_with_data +gst_gl_download_perform_with_memory + +GST_GL_DOWNLOAD +GST_GL_DOWNLOAD_CAST +GST_GL_DOWNLOAD_CLASS +GST_GL_DOWNLOAD_GET_CLASS +gst_gl_download_get_type +GST_IS_GL_DOWNLOAD +GST_IS_GL_DOWNLOAD_CLASS +GST_TYPE_GL_DOWNLOAD +GstGLDownloadPrivate +
+ +
+gstglfilter +GstGLFilter +GstGLFilter +GstGLFilterClass +gst_gl_filter_draw_texture +gst_gl_filter_render_to_target +gst_gl_filter_render_to_target_with_shader +gst_gl_filter_filter_texture + +GST_GL_FILTER +GST_IS_GL_FILTER +GST_TYPE_GL_FILTER +gst_gl_filter_get_type +GST_GL_FILTER_CLASS +GST_IS_GL_FILTER_CLASS +GST_GL_FILTER_GET_CLASS +
+ +
+gstglmemory +GstGLAllocator +GstGLAllocatorClass +GST_MAP_GL +GST_GL_MEMORY_ALLOCATOR +GstGLMemoryFlags +GST_GL_MEMORY_FLAGS +GST_GL_MEMORY_FLAG_IS_SET +GST_GL_MEMORY_FLAG_SET +GST_GL_MEMORY_FLAG_UNSET +GstGLMemory +GstGLMemory +gst_gl_memory_init +gst_gl_memory_alloc +gst_gl_memory_wrapped +gst_gl_memory_copy_into_texture +gst_is_gl_memory + +GST_GL_ALLOCATOR +GST_GL_ALLOCATOR_CAST +GST_GL_ALLOCATOR_CLASS +GST_GL_ALLOCATOR_GET_CLASS +gst_gl_allocator_get_type +GST_IS_GL_ALLOCATOR +GST_IS_GL_ALLOCATOR_CLASS +GST_TYPE_GL_ALLOCATOR +
+ +
+gstglmixer +GstGLMixerPad +GstGLMixerPadClass +GstGLMixerCollect +GstGLMixer +GstGLMixer +GstGLMixerClass +GstGLMixerProcessFunc +GstGLMixerSetCaps +GstGLMixerReset +GstGLMixerProcessTextures +GstGLMixerFrameData +gst_gl_mixer_process_textures + +GstGLMixerPrivate +GST_GL_MIXER +GST_GL_MIXER_CLASS +GST_GL_MIXER_GET_CLASS +GST_GL_MIXER_PAD +GST_GL_MIXER_PAD_CLASS +gst_gl_mixer_get_type +gst_gl_mixer_pad_get_type +GST_IS_GL_MIXER +GST_IS_GL_MIXER_CLASS +GST_IS_GL_MIXER_PAD +GST_IS_GL_MIXER_PAD_CLASS +GST_TYPE_GL_MIXER +GST_TYPE_GL_MIXER_PAD +
+ +
+gstglshader +gst_gl_shader_error_quark +GST_GL_SHADER_ERROR +GstGLShaderError +GstGLShaderSourceType +gst_gl_shadervariable_desc +gst_gl_shadervariable_set +gst_gl_shadervariables_parse +GstGLShader +GstGLShader +gst_gl_shader_new +gst_gl_shader_set_vertex_source +gst_gl_shader_set_fragment_source +gst_gl_shader_get_vertex_source +gst_gl_shader_get_fragment_source +gst_gl_shader_set_active +gst_gl_shader_is_compiled +gst_gl_shader_compile +gst_gl_shader_compile_and_check +gst_gl_shader_release +gst_gl_shader_use +gst_gl_shader_set_uniform_1i +gst_gl_shader_set_uniform_1f +gst_gl_shader_set_uniform_1fv +gst_gl_shader_set_uniform_1iv +gst_gl_shader_set_uniform_2f +gst_gl_shader_set_uniform_2fv +gst_gl_shader_set_uniform_2i +gst_gl_shader_set_uniform_2iv +gst_gl_shader_set_uniform_3f +gst_gl_shader_set_uniform_3fv +gst_gl_shader_set_uniform_3i +gst_gl_shader_set_uniform_3iv +gst_gl_shader_set_uniform_4f +gst_gl_shader_set_uniform_4fv +gst_gl_shader_set_uniform_4i +gst_gl_shader_set_uniform_4iv +gst_gl_shader_set_uniform_matrix_2fv +gst_gl_shader_set_uniform_matrix_2x3fv +gst_gl_shader_set_uniform_matrix_2x4fv +gst_gl_shader_set_uniform_matrix_3fv +gst_gl_shader_set_uniform_matrix_3x2fv +gst_gl_shader_set_uniform_matrix_3x4fv +gst_gl_shader_set_uniform_matrix_4fv +gst_gl_shader_set_uniform_matrix_4x2fv +gst_gl_shader_set_uniform_matrix_4x3fv +gst_gl_shader_get_attribute_location +gst_gl_shader_bind_attribute_location + +GstGLShaderPrivate +GST_GL_SHADER +GST_GL_IS_SHADER +GST_GL_TYPE_SHADER +gst_gl_shader_get_type +GST_GL_SHADER_CLASS +GST_GL_IS_SHADER_CLASS +GST_GL_SHADER_GET_CLASS +
+ +
+gstglupload +GST_GL_UPLOAD_FORMATS +GST_GL_UPLOAD_VIDEO_CAPS +GstGLUpload +GstGLUpload +gst_gl_upload_new +gst_gl_upload_init_format +gst_gl_upload_add_video_gl_texture_upload_meta +gst_gl_upload_perform_with_data +gst_gl_upload_perform_with_memory +gst_gl_upload_perform_with_gl_texture_upload_meta +gst_gl_upload_perform_with_buffer +gst_gl_upload_release_buffer + +GST_GL_UPLOAD +GST_GL_UPLOAD_CAST +GST_GL_UPLOAD_CLASS +GST_GL_UPLOAD_GET_CLASS +gst_gl_upload_get_type +GST_IS_GL_UPLOAD +GST_IS_GL_UPLOAD_CLASS +GST_TYPE_GL_UPLOAD +GstGLUploadPrivate +
+ +
+gstglutils +Utilities +GLCB +GLCB_V2 +CRCB +CDCB +GstGLDisplayProjection +gst_gl_ensure_display +gst_gl_handle_set_context +gst_gl_handle_context_query +gst_gl_context_gen_texture +gst_gl_context_del_texture +gst_gl_context_gen_fbo +gst_gl_context_del_fbo +gst_gl_context_use_fbo +gst_gl_context_use_fbo_v2 +gst_gl_context_gen_shader +gst_gl_context_del_shader +gst_gl_context_check_framebuffer_status +gst_gl_context_set_error +gst_gl_context_get_error +gst_gl_context_clear_shader +
+ +
+gstglwindow +GstGLWindow +GstGLWindowError +gst_gl_window_error_quark +GST_GL_WINDOW_ERROR +GstGLWindowResizeCB +GST_GL_WINDOW_RESIZE_CB +GstGLWindowCB +GST_GL_WINDOW_CB +GstGLWindow +GstGLWindowClass +gst_gl_window_new +gst_gl_window_draw +gst_gl_window_draw_unlocked +gst_gl_window_is_running +gst_gl_window_quit +gst_gl_window_run +gst_gl_window_get_context +gst_gl_window_get_display +gst_gl_window_send_message +gst_gl_window_send_message_async +gst_gl_window_set_close_callback +gst_gl_window_set_draw_callback +gst_gl_window_set_resize_callback +gst_gl_window_set_window_handle +gst_gl_window_get_window_handle + +GST_GL_IS_WINDOW +GST_GL_IS_WINDOW_CLASS +GST_GL_TYPE_WINDOW +GST_GL_WINDOW +GST_GL_WINDOW_CLASS +GST_GL_WINDOW_GET_CLASS +gst_gl_window_get_type +GstGLWindowPrivate +
+ +
+gstglwindowandroid +GstGLWindowAndroid +GstGLWindowAndroidEGL +GstGLWindowAndroidEGLClass +gst_gl_window_android_egl_new + +GST_GL_IS_WINDOW_ANDROID_EGL +GST_GL_IS_WINDOW_ANDROID_EGL_CLASS +GST_GL_TYPE_WINDOW_ANDROID_EGL +GST_GL_WINDOW_ANDROID_EGL +GST_GL_WINDOW_ANDROID_EGL_CLASS +GST_GL_WINDOW_ANDROID_EGL_GET_CLASS +gst_gl_window_android_egl_get_type +
+ +
+gstglwindowcocoa +GstGLWindowCocoa +GstGLWindowCocoa +GstGLWindowCocoaClass +gst_gl_window_cocoa_new +gst_gl_window_cocoa_create_window + +GST_GL_IS_WINDOW_COCOA +GST_GL_IS_WINDOW_COCOA_CLASS +GST_GL_TYPE_WINDOW_COCOA +GST_GL_WINDOW_COCOA +GST_GL_WINDOW_COCOA_CLASS +GST_GL_WINDOW_COCOA_GET_CLASS +gst_gl_window_cocoa_get_type +GstGLWindowCocoaPrivate +
+ +
+gstglwindowdispmanx +GstGLWindowDispmanx +GstGLWindowDispmanxEGL +GstGLWindowDispmanxEGLClass +gst_gl_window_dispmanx_egl_new + +GST_GL_IS_WINDOW_DISPMANX_EGL +GST_GL_IS_WINDOW_DISPMANX_EGL_CLASS +GST_GL_TYPE_WINDOW_DISPMANX_EGL +GST_GL_WINDOW_DISPMANX_EGL +GST_GL_WINDOW_DISPMANX_EGL_CLASS +GST_GL_WINDOW_DISPMANX_EGL_GET_CLASS +gst_gl_window_dispmanx_egl_get_type +
+ +
+gstglwindowwayland +GstGLWindowWayland +GstGLWindowWaylandEGL +GstGLWindowWaylandEGLClass +gst_gl_window_wayland_egl_new + +GST_GL_IS_WINDOW_WAYLAND_EGL +GST_GL_IS_WINDOW_WAYLAND_EGL_CLASS +GST_GL_TYPE_WINDOW_WAYLAND_EGL +GST_GL_WINDOW_WAYLAND_EGL +GST_GL_WINDOW_WAYLAND_EGL_CLASS +GST_GL_WINDOW_WAYLAND_EGL_GET_CLASS +gst_gl_window_wayland_egl_get_type +wayland_event_source_new +
+ +
+gstglwindowwin32 +GstGLWindowWin32 +GstGLWindowWin32 +GstGLWindowWin32Class +gst_gl_window_win32_new +gst_gl_window_win32_create_window + +GST_GL_IS_WINDOW_WIN32 +GST_GL_IS_WINDOW_WIN32_CLASS +GST_GL_TYPE_WINDOW_WIN32 +GST_GL_WINDOW_WIN32 +GST_GL_WINDOW_WIN32_CLASS +GST_GL_WINDOW_WIN32_GET_CLASS +gst_gl_window_win32_get_type +GstGLWindowWin32Private +
+ +
+gstglwindowx11 +GstGLWindowX11 +GstGLWindowX11 +GstGLWindowX11Class +gst_gl_window_x11_new +gst_gl_window_x11_create_window +gst_gl_window_x11_trap_x_errors +gst_gl_window_x11_untrap_x_errors + +GST_GL_IS_WINDOW_X11 +GST_GL_IS_WINDOW_X11_CLASS +GST_GL_TYPE_WINDOW_X11 +GST_GL_WINDOW_X11 +GST_GL_WINDOW_X11_CLASS +GST_GL_WINDOW_X11_GET_CLASS +gst_gl_window_x11_get_type +GstGLWindowX11Private +x11_event_source_new +
diff --git a/docs/libs/gst-plugins-bad-libs.types b/docs/libs/gst-plugins-bad-libs.types index 2d78fac23a..4b87dded16 100644 --- a/docs/libs/gst-plugins-bad-libs.types +++ b/docs/libs/gst-plugins-bad-libs.types @@ -4,6 +4,7 @@ #include #include #include +#include gst_mpegts_section_get_type gst_mpeg_ts_section_type_get_type @@ -22,4 +23,16 @@ gst_mpeg_ts_dvb_service_type_get_type gst_mpeg_ts_stream_type_get_type -gst_insert_bin_get_type \ No newline at end of file +gst_insert_bin_get_type + + +gst_gl_upload_get_type +gst_gl_download_get_type +gst_gl_display_get_type +gst_gl_context_get_type +gst_gl_filter_get_type +gst_gl_shader_get_type +gst_gl_mixer_get_type +gst_gl_buffer_pool_get_type +gst_gl_allocator_get_type +gst_gl_window_get_type diff --git a/ext/Makefile.am b/ext/Makefile.am index 951d2d5129..2c38742b28 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -82,6 +82,12 @@ else EGLGLES_DIR= endif +if USE_GL +GL_DIR=gl +else +GL_DIR= +endif + if USE_RESINDVD RESINDVD_DIR = resindvd else @@ -154,6 +160,12 @@ else LIBMMS_DIR= endif +if USE_LIBVISUAL +LIBVISUAL_DIR=libvisual +else +LIBVISUAL_DIR= +endif + if USE_MODPLUG MODPLUG_DIR=modplug else @@ -405,6 +417,7 @@ SUBDIRS=\ $(DTS_DIR) \ $(RESINDVD_DIR) \ $(EGLGLES_DIR) \ + $(GL_DIR) \ $(FAAC_DIR) \ $(FAAD_DIR) \ $(FLITE_DIR) \ @@ -417,6 +430,7 @@ SUBDIRS=\ $(LV2_DIR) \ $(LIBFAME_DIR) \ $(LIBMMS_DIR) \ + $(LIBVISUAL_DIR) \ $(MODPLUG_DIR) \ $(MPEG2ENC_DIR) \ $(MPG123_DIR) \ @@ -478,6 +492,7 @@ DIST_SUBDIRS = \ daala \ dts \ eglgles \ + gl \ modplug \ mimic \ mpeg2enc \ diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am index 1d6cc3575a..a357100301 100644 --- a/gst-libs/gst/Makefile.am +++ b/gst-libs/gst/Makefile.am @@ -2,9 +2,16 @@ if HAVE_EGL EGL_DIR = egl endif +if USE_OPENGL +GL_DIR = gl +endif +if USE_GLES2 +GL_DIR = gl +endif + SUBDIRS = interfaces basecamerabinsrc codecparsers \ - insertbin uridownloader mpegts $(EGL_DIR) + insertbin uridownloader mpegts $(EGL_DIR) $(GL_DIR) noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h -DIST_SUBDIRS = interfaces egl basecamerabinsrc codecparsers \ +DIST_SUBDIRS = interfaces egl gl basecamerabinsrc codecparsers \ insertbin uridownloader mpegts diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index dc72fed5c2..0a1ae01667 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -176,6 +176,14 @@ else check_shm= endif +if USE_GL +check_gl=libs/gstglcontext \ + libs/gstglmemory \ + libs/gstglupload +else +check_gl= +endif + VALGRIND_TO_FIX = \ elements/mpeg2enc \ elements/mplex \ @@ -242,6 +250,7 @@ check_PROGRAMS = \ $(check_zbar) \ $(check_orc) \ libs/insertbin \ + $(check_gl) \ $(EXPERIMENTAL_CHECKS) noinst_HEADERS = elements/mxfdemux.h @@ -409,6 +418,33 @@ orc/audiomixer.c: $(top_srcdir)/gst/audiomixer/gstaudiomixerorc.orc $(MKDIR_P) orc $(ORCC) --test -o $@ $< +libs_gstglcontext_LDADD = \ + $(GST_PLUGINS_BAD_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \ + $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la + +libs_gstglcontext_CFLAGS = \ + $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \ + -DGST_USE_UNSTABLE_API \ + $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) + +libs_gstglmemory_LDADD = \ + $(GST_PLUGINS_BAD_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \ + $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la + +libs_gstglmemory_CFLAGS = \ + $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \ + -DGST_USE_UNSTABLE_API \ + $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) + +libs_gstglupload_CFLAGS = \ + $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \ + -DGST_USE_UNSTABLE_API \ + $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) + +libs_gstglupload_LDADD = \ + $(GST_PLUGINS_BAD_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \ + $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la + distclean-local-orc: rm -rf orc diff --git a/tests/check/libs/.gitignore b/tests/check/libs/.gitignore index 6e72e669fc..13581fbbf8 100644 --- a/tests/check/libs/.gitignore +++ b/tests/check/libs/.gitignore @@ -4,3 +4,6 @@ mpegvideoparser mpegts vc1parser insertbin +gstglcontext +gstglmemory +gstglupload