diff options
-rw-r--r-- | configure.ac | 673 | ||||
-rw-r--r-- | docs/libs/Makefile.am | 1 | ||||
-rw-r--r-- | docs/libs/gst-plugins-bad-libs-docs.sgml | 26 | ||||
-rw-r--r-- | docs/libs/gst-plugins-bad-libs-sections.txt | 505 | ||||
-rw-r--r-- | docs/libs/gst-plugins-bad-libs.types | 15 | ||||
-rw-r--r-- | ext/Makefile.am | 15 | ||||
-rw-r--r-- | gst-libs/gst/Makefile.am | 11 | ||||
-rw-r--r-- | tests/check/Makefile.am | 36 | ||||
-rw-r--r-- | tests/check/libs/.gitignore | 3 |
9 files changed, 1281 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac index ac063c9cb..c9d76cb17 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 <GLES2/gl2.h> +# include <GLES2/gl2ext.h> +" +fi + +if test "x$USE_OPENGL" = "xyes"; then + GL_INCLUDES="$GL_INCLUDES +# if __APPLE__ +# include <OpenGL/OpenGL.h> +# include <OpenGL/gl.h> +# else +# include <GL/glu.h> +# include <GL/gl.h> +# if __WIN32__ || _WIN32 +# include <GL/glext.h> +# 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 <gst/gst.h> + +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 390886e83..5c6c919a3 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 66c4dee6a..c00718c98 100644 --- a/docs/libs/gst-plugins-bad-libs-docs.sgml +++ b/docs/libs/gst-plugins-bad-libs-docs.sgml @@ -56,6 +56,32 @@ <title>Useful elements</title> <xi:include href="xml/gstinsertbin.xml" /> </chapter> + + <chapter id="gl"> + <title>OpenGL Helper Library</title> + <xi:include href="xml/gstglapi.xml"/> + <xi:include href="xml/gstglbufferpool.xml"/> + <xi:include href="xml/gstglcontext.xml"/> + <xi:include href="xml/gstglcontextcocoa.xml"/> + <xi:include href="xml/gstglcontextegl.xml"/> + <xi:include href="xml/gstglcontextglx.xml"/> + <xi:include href="xml/gstglcontextwgl.xml"/> + <xi:include href="xml/gstgldisplay.xml"/> + <xi:include href="xml/gstgldownload.xml"/> + <xi:include href="xml/gstglfilter.xml"/> + <xi:include href="xml/gstglmemory.xml"/> + <xi:include href="xml/gstglmixer.xml"/> + <xi:include href="xml/gstglshader.xml"/> + <xi:include href="xml/gstglupload.xml"/> + <xi:include href="xml/gstglutils.xml"/> + <xi:include href="xml/gstglwindow.xml"/> + <xi:include href="xml/gstglwindowandroid.xml"/> + <xi:include href="xml/gstglwindowcocoa.xml"/> + <xi:include href="xml/gstglwindowdispmanx.xml"/> + <xi:include href="xml/gstglwindowwayland.xml"/> + <xi:include href="xml/gstglwindowwin32.xml"/> + <xi:include href="xml/gstglwindowx11.xml"/> + </chapter> </part> <part id="gstreamer-libs-hierarchy"> diff --git a/docs/libs/gst-plugins-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt index adf4a7d2f..db90493a5 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 <SUBSECTION Private> GstInsertBinPrivate </SECTION> + +<SECTION> +<FILE>gstglapi</FILE> +<TITLE>GstGLAPI</TITLE> +GstGLAPI +gst_gl_api_string +gst_gl_check_extension +GST_GL_CHECK_GL_VERSION +<SUBSECTION Private> +GSTGLAPI +GST_GL_EXT_BEGIN +GST_GL_EXT_END +GST_GL_EXT_FUNCTION +GstGLFeatureData +GstGLFeatureFunction +</SECTION> + +<SECTION> +<FILE>gstglbufferpool</FILE> +<TITLE>GstGLBufferPool</TITLE> +GstGLBufferPool +GstGLBufferPoolClass +gst_gl_buffer_pool_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglcontext</FILE> +<TITLE>GstGLContext</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglcontextcocoa</FILE> +<TITLE>GstGLContextCocoa</TITLE> +GstGLContextCocoa +gst_gl_context_cocoa_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglcontextegl</FILE> +<TITLE>GstGLContextEGL</TITLE> +GstGLContextEGL +gst_gl_context_egl_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglcontextglx</FILE> +<TITLE>GstGLContextGLX</TITLE> +GstGLContextGLX +gst_gl_context_glx_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglcontextwgl</FILE> +<TITLE>GstGLContextWGL</TITLE> +GstGLContextWGL +gst_gl_context_wgl_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstgldisplay</FILE> +<TITLE>GstGLDisplay</TITLE> +GstGLDisplay +gst_gl_display_new +gst_context_get_gl_display +gst_context_set_gl_display +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstgldownload</FILE> +GST_GL_DOWNLOAD_FORMATS +GST_GL_DOWNLOAD_VIDEO_CAPS +<TITLE>GstGLDownload</TITLE> +GstGLDownload +gst_gl_download_new +gst_gl_download_init_format +gst_gl_download_perform_with_data +gst_gl_download_perform_with_memory +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglfilter</FILE> +<TITLE>GstGLFilter</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglmemory</FILE> +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 +<TITLE>GstGLMemory</TITLE> +GstGLMemory +gst_gl_memory_init +gst_gl_memory_alloc +gst_gl_memory_wrapped +gst_gl_memory_copy_into_texture +gst_is_gl_memory +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglmixer</FILE> +GstGLMixerPad +GstGLMixerPadClass +GstGLMixerCollect +<TITLE>GstGLMixer</TITLE> +GstGLMixer +GstGLMixerClass +GstGLMixerProcessFunc +GstGLMixerSetCaps +GstGLMixerReset +GstGLMixerProcessTextures +GstGLMixerFrameData +gst_gl_mixer_process_textures +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglshader</FILE> +gst_gl_shader_error_quark +GST_GL_SHADER_ERROR +GstGLShaderError +GstGLShaderSourceType +gst_gl_shadervariable_desc +gst_gl_shadervariable_set +gst_gl_shadervariables_parse +<TITLE>GstGLShader</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglupload</FILE> +GST_GL_UPLOAD_FORMATS +GST_GL_UPLOAD_VIDEO_CAPS +<TITLE>GstGLUpload</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglutils</FILE> +<TITLE>Utilities</TITLE> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindow</FILE> +<TITLE>GstGLWindow</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowandroid</FILE> +<TITLE>GstGLWindowAndroid</TITLE> +GstGLWindowAndroidEGL +GstGLWindowAndroidEGLClass +gst_gl_window_android_egl_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowcocoa</FILE> +<TITLE>GstGLWindowCocoa</TITLE> +GstGLWindowCocoa +GstGLWindowCocoaClass +gst_gl_window_cocoa_new +gst_gl_window_cocoa_create_window +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowdispmanx</FILE> +<TITLE>GstGLWindowDispmanx</TITLE> +GstGLWindowDispmanxEGL +GstGLWindowDispmanxEGLClass +gst_gl_window_dispmanx_egl_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowwayland</FILE> +<TITLE>GstGLWindowWayland</TITLE> +GstGLWindowWaylandEGL +GstGLWindowWaylandEGLClass +gst_gl_window_wayland_egl_new +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowwin32</FILE> +<TITLE>GstGLWindowWin32</TITLE> +GstGLWindowWin32 +GstGLWindowWin32Class +gst_gl_window_win32_new +gst_gl_window_win32_create_window +<SUBSECTION Standard> +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 +</SECTION> + +<SECTION> +<FILE>gstglwindowx11</FILE> +<TITLE>GstGLWindowX11</TITLE> +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 +<SUBSECTION Standard> +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 +</SECTION> diff --git a/docs/libs/gst-plugins-bad-libs.types b/docs/libs/gst-plugins-bad-libs.types index 2d78fac23..4b87dded1 100644 --- a/docs/libs/gst-plugins-bad-libs.types +++ b/docs/libs/gst-plugins-bad-libs.types @@ -4,6 +4,7 @@ #include <gst/codecparsers/gstmpegvideoparser.h> #include <gst/insertbin/gstinsertbin.h> #include <gst/mpegts/mpegts.h> +#include <gst/gl/gl.h> 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 951d2d512..2c38742b2 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 1d6cc3575..a35710030 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 dc72fed5c..0a1ae0166 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 6e72e669f..13581fbbf 100644 --- a/tests/check/libs/.gitignore +++ b/tests/check/libs/.gitignore @@ -4,3 +4,6 @@ mpegvideoparser mpegts vc1parser insertbin +gstglcontext +gstglmemory +gstglupload |