Move gst-plugins-gl to bad
authorMatthew Waters <ystreet00@gmail.com>
Sun, 16 Mar 2014 14:08:23 +0000 (15:08 +0100)
committerMatthew Waters <ystreet00@gmail.com>
Sun, 16 Mar 2014 14:17:59 +0000 (15:17 +0100)
configure.ac
docs/libs/Makefile.am
docs/libs/gst-plugins-bad-libs-docs.sgml
docs/libs/gst-plugins-bad-libs-sections.txt
docs/libs/gst-plugins-bad-libs.types
ext/Makefile.am
gst-libs/gst/Makefile.am
tests/check/Makefile.am
tests/check/libs/.gitignore

index ac063c9..c9d76cb 100644 (file)
@@ -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
index 390886e..5c6c919 100644 (file)
@@ -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)
index 66c4dee..c00718c 100644 (file)
       <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">
index adf4a7d..db90493 100644 (file)
@@ -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>
index 2d78fac..4b87dde 100644 (file)
@@ -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
index 951d2d5..2c38742 100644 (file)
@@ -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 \
index 1d6cc35..a357100 100644 (file)
@@ -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
index dc72fed..0a1ae01 100644 (file)
@@ -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
index 6e72e66..13581fb 100644 (file)
@@ -4,3 +4,6 @@ mpegvideoparser
 mpegts
 vc1parser
 insertbin
+gstglcontext
+gstglmemory
+gstglupload