Commit 8227135f authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

gl: hook up to build system

Tests and documentation will follow separately.

The mixer elements in the opengl plugin need to stay
in -bad for now since they use GstVideoAggregator.

https://bugzilla.gnome.org/show_bug.cgi?id=754094
parent 0eefcb23
...@@ -43,6 +43,7 @@ Makefile ...@@ -43,6 +43,7 @@ Makefile
*.gir *.gir
*.typelib *.typelib
*.gc?? *.gc??
.dirstamp
/gst-libs/gst/pbutils/gstpluginsbaseversion.h /gst-libs/gst/pbutils/gstpluginsbaseversion.h
/gst-libs/gst/tag/mklangtables /gst-libs/gst/tag/mklangtables
......
...@@ -40,6 +40,7 @@ EXTRA_DIST = \ ...@@ -40,6 +40,7 @@ EXTRA_DIST = \
gst-libs/gst/rtsp/rtsp_mkenum.py \ gst-libs/gst/rtsp/rtsp_mkenum.py \
gst-libs/gst/tag/tag_mkenum.py \ gst-libs/gst/tag/tag_mkenum.py \
gst-libs/gst/video/video_mkenum.py \ gst-libs/gst/video/video_mkenum.py \
gst-libs/gst/gl/gstglconfig.h.meson \
meson_options.txt meson_options.txt
DISTCLEANFILES = _stdint.h DISTCLEANFILES = _stdint.h
......
...@@ -295,6 +295,8 @@ GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`" ...@@ -295,6 +295,8 @@ GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
AC_SUBST(GLIB_PREFIX) AC_SUBST(GLIB_PREFIX)
AC_SUBST(GST_PREFIX) AC_SUBST(GST_PREFIX)
AG_GST_GL_CHECKS
dnl GTK is optional and only used in examples dnl GTK is optional and only used in examples
HAVE_GTK=no HAVE_GTK=no
HAVE_GTK_X11=no HAVE_GTK_X11=no
...@@ -359,6 +361,9 @@ fi ...@@ -359,6 +361,9 @@ fi
AM_CONDITIONAL(HAVE_QT, test "x$HAVE_QT" = "xyes") AM_CONDITIONAL(HAVE_QT, test "x$HAVE_QT" = "xyes")
AM_CONDITIONAL(HAVE_QT_MOC, test "x$HAVE_QT_MOC" != "xno") AM_CONDITIONAL(HAVE_QT_MOC, test "x$HAVE_QT_MOC" != "xno")
dnl Check for OpenGL example dependencies (clutter, sdl, etc.)
AG_GST_GL_EXAMPLES_CHECKS
dnl chck for linux headers needed by the joystick seek example dnl chck for linux headers needed by the joystick seek example
AC_COMPILE_IFELSE( AC_COMPILE_IFELSE(
[ [
...@@ -420,10 +425,12 @@ AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""]) ...@@ -420,10 +425,12 @@ AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
dnl define an ERROR_CFLAGS Makefile variable dnl define an ERROR_CFLAGS Makefile variable
dnl -Wformat-nonliteral - see ext/pango/gstclockoverlay.c and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438 dnl -Wformat-nonliteral - see ext/pango/gstclockoverlay.c and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438
dnl -Waggregate-return - xcb_intern_atom() returns an aggregate value
dnl FIXME: -Wformat-nonliteral triggers in gst-libs/gst/gl/gstglcolorconvert.c (should be fixable)
AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [ AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wformat-nonliteral -Wformat-security -Wwrite-strings -Wformat-security
-Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Winit-self -Wmissing-include-dirs -Waddress
-Wno-multichar -Wnested-externs $NO_WARNINGS]) -Wno-multichar -Wnested-externs $NO_WARNINGS])
dnl define an ERROR_CXXFLAGS Makefile variable dnl define an ERROR_CXXFLAGS Makefile variable
...@@ -657,6 +664,18 @@ dnl FIXME : add second check somehow if that is necessary ...@@ -657,6 +664,18 @@ dnl FIXME : add second check somehow if that is necessary
dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface ) dnl AC_CHECK_LIB(cdda_paranoia, paranoia_init, : , HAVE_CDPARANOIA=no, -lcdda_interface )
dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no) dnl AC_CHECK_HEADER(cdda_paranoia.h, :, HAVE_CDPARANOIA=no)
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"$USE_OPENGL" = x"yes" -o x"$USE_GLES2" = x"yes"; then
HAVE_GL="yes"
AG_GST_GL_PLUGIN_CHECKS
fi
])
dnl *** ivorbis *** dnl *** ivorbis ***
dnl AM_PATH_IVORBIS only takes two options dnl AM_PATH_IVORBIS only takes two options
translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true) translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
...@@ -759,6 +778,7 @@ dnl not building plugins with external dependencies, ...@@ -759,6 +778,7 @@ dnl not building plugins with external dependencies,
dnl but we still need to set the conditionals dnl but we still need to set the conditionals
AM_CONDITIONAL(USE_ALSA, false) AM_CONDITIONAL(USE_ALSA, false)
AM_CONDITIONAL(USE_CDPARANOIA, false) AM_CONDITIONAL(USE_CDPARANOIA, false)
AM_CONDITIONAL(USE_GL, false)
AM_CONDITIONAL(USE_IVORBIS, false) AM_CONDITIONAL(USE_IVORBIS, false)
AM_CONDITIONAL(USE_LIBVISUAL, false) AM_CONDITIONAL(USE_LIBVISUAL, false)
AM_CONDITIONAL(USE_OGG, false) AM_CONDITIONAL(USE_OGG, false)
...@@ -890,6 +910,7 @@ sys/xvimage/Makefile ...@@ -890,6 +910,7 @@ sys/xvimage/Makefile
ext/Makefile ext/Makefile
ext/alsa/Makefile ext/alsa/Makefile
ext/cdparanoia/Makefile ext/cdparanoia/Makefile
ext/gl/Makefile
ext/libvisual/Makefile ext/libvisual/Makefile
ext/ogg/Makefile ext/ogg/Makefile
ext/opus/Makefile ext/opus/Makefile
...@@ -902,6 +923,17 @@ gst-libs/gst/allocators/Makefile ...@@ -902,6 +923,17 @@ gst-libs/gst/allocators/Makefile
gst-libs/gst/audio/Makefile gst-libs/gst/audio/Makefile
gst-libs/gst/app/Makefile gst-libs/gst/app/Makefile
gst-libs/gst/fft/Makefile gst-libs/gst/fft/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/eagl/Makefile
gst-libs/gst/gl/egl/Makefile
gst-libs/gst/gl/wayland/Makefile
gst-libs/gst/gl/win32/Makefile
gst-libs/gst/gl/x11/Makefile
gst-libs/gst/gl/viv-fb/Makefile
gst-libs/gst/riff/Makefile gst-libs/gst/riff/Makefile
gst-libs/gst/rtp/Makefile gst-libs/gst/rtp/Makefile
gst-libs/gst/rtsp/Makefile gst-libs/gst/rtsp/Makefile
...@@ -934,6 +966,8 @@ pkgconfig/gstreamer-tag.pc ...@@ -934,6 +966,8 @@ pkgconfig/gstreamer-tag.pc
pkgconfig/gstreamer-tag-uninstalled.pc pkgconfig/gstreamer-tag-uninstalled.pc
pkgconfig/gstreamer-video.pc pkgconfig/gstreamer-video.pc
pkgconfig/gstreamer-video-uninstalled.pc pkgconfig/gstreamer-video-uninstalled.pc
pkgconfig/gstreamer-gl.pc
pkgconfig/gstreamer-gl-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc pkgconfig/gstreamer-plugins-base-uninstalled.pc
tests/Makefile tests/Makefile
...@@ -946,6 +980,22 @@ tests/examples/dynamic/Makefile ...@@ -946,6 +980,22 @@ tests/examples/dynamic/Makefile
tests/examples/encoding/Makefile tests/examples/encoding/Makefile
tests/examples/fft/Makefile tests/examples/fft/Makefile
tests/examples/gio/Makefile tests/examples/gio/Makefile
tests/examples/gl/Makefile
tests/examples/gl/generic/Makefile
tests/examples/gl/generic/cube/Makefile
tests/examples/gl/generic/doublecube/Makefile
tests/examples/gl/generic/recordgraphic/Makefile
tests/examples/gl/generic/cubeyuv/Makefile
tests/examples/gl/qt/Makefile
tests/examples/gl/gtk/Makefile
tests/examples/gl/gtk/fxtest/Makefile
tests/examples/gl/gtk/3dvideo/Makefile
tests/examples/gl/gtk/switchvideooverlay/Makefile
tests/examples/gl/gtk/filternovideooverlay/Makefile
tests/examples/gl/gtk/filtervideooverlay/Makefile
tests/examples/gl/cocoa/Makefile
tests/examples/gl/sdl/Makefile
tests/examples/gl/clutter/Makefile
tests/examples/overlay/Makefile tests/examples/overlay/Makefile
tests/examples/seek/Makefile tests/examples/seek/Makefile
tests/examples/snapshot/Makefile tests/examples/snapshot/Makefile
......
...@@ -10,6 +10,12 @@ else ...@@ -10,6 +10,12 @@ else
CDPARANOIA_DIR= CDPARANOIA_DIR=
endif endif
if USE_GL
GL_DIR=gl
else
GL_DIR=
endif
if USE_LIBVISUAL if USE_LIBVISUAL
LIBVISUAL_DIR=libvisual LIBVISUAL_DIR=libvisual
else else
...@@ -57,6 +63,7 @@ endif ...@@ -57,6 +63,7 @@ endif
SUBDIRS = \ SUBDIRS = \
$(ALSA_DIR) \ $(ALSA_DIR) \
$(CDPARANOIA_DIR) \ $(CDPARANOIA_DIR) \
$(GL_DIR) \
$(LIBVISUAL_DIR) \ $(LIBVISUAL_DIR) \
$(OGG_DIR) \ $(OGG_DIR) \
$(OPUS_DIR) \ $(OPUS_DIR) \
...@@ -67,6 +74,7 @@ SUBDIRS = \ ...@@ -67,6 +74,7 @@ SUBDIRS = \
DIST_SUBDIRS = \ DIST_SUBDIRS = \
alsa \ alsa \
cdparanoia \ cdparanoia \
gl \
libvisual \ libvisual \
ogg \ ogg \
opus \ opus \
......
plugin_LTLIBRARIES = libgstopengl.la plugin_LTLIBRARIES = libgstopengl.la
# These have to stay in -bad until we can move GstVideoAggregator to -base
# gstglbasemixer.c
# gstglbasemixer.h
# gstglmixer.c
# gstglmixer.h
# gstglstereomix.c
# gstglstereomix.h
# gstglvideomixer.c
# gstglvideomixer.h
libgstopengl_la_SOURCES = \ libgstopengl_la_SOURCES = \
gstopengl.c \ gstopengl.c \
gstglbasemixer.c \
gstgluploadelement.c \ gstgluploadelement.c \
gstgldownloadelement.c \ gstgldownloadelement.c \
gstglcolorconvertelement.c \ gstglcolorconvertelement.c \
...@@ -34,20 +43,16 @@ libgstopengl_la_SOURCES = \ ...@@ -34,20 +43,16 @@ libgstopengl_la_SOURCES = \
effects/gstgleffectlaplacian.c \ effects/gstgleffectlaplacian.c \
gstglcolorscale.c \ gstglcolorscale.c \
gstglcolorbalance.c \ gstglcolorbalance.c \
gstglmixer.c \
gstglvideomixer.c \
gstglfiltershader.c \ gstglfiltershader.c \
gstglfilterapp.c \ gstglfilterapp.c \
gstglviewconvert.c \ gstglviewconvert.c \
gstglstereosplit.c \ gstglstereosplit.c \
gstgldeinterlace.c \ gstgldeinterlace.c \
gstglstereomix.c \
gltestsrc.c \ gltestsrc.c \
gstgltestsrc.c \ gstgltestsrc.c \
gstglutils.c gstglutils.c
noinst_HEADERS = \ noinst_HEADERS = \
gstglbasemixer.h \
gstgluploadelement.h \ gstgluploadelement.h \
gstgldownloadelement.h \ gstgldownloadelement.h \
gstglcolorconvertelement.h \ gstglcolorconvertelement.h \
...@@ -61,12 +66,9 @@ noinst_HEADERS = \ ...@@ -61,12 +66,9 @@ noinst_HEADERS = \
effects/gstgleffectssources.h \ effects/gstgleffectssources.h \
gstglcolorscale.h \ gstglcolorscale.h \
gstglcolorbalance.h \ gstglcolorbalance.h \
gstglmixer.h \
gstglvideomixer.h \
gstglfiltershader.h \ gstglfiltershader.h \
gstglfilterapp.h \ gstglfilterapp.h \
gstglstereosplit.h \ gstglstereosplit.h \
gstglstereomix.h \
gstgldeinterlace.h \ gstgldeinterlace.h \
gstglviewconvert.h \ gstglviewconvert.h \
gltestsrc.h \ gltestsrc.h \
...@@ -75,13 +77,13 @@ noinst_HEADERS = \ ...@@ -75,13 +77,13 @@ noinst_HEADERS = \
# full opengl required # full opengl required
if USE_OPENGL if USE_OPENGL
# gstglmosaic.c
libgstopengl_la_SOURCES += \ libgstopengl_la_SOURCES += \
gstglfilterglass.c \ gstglfilterglass.c
gstglmosaic.c
# gstglmosaic.h
noinst_HEADERS += \ noinst_HEADERS += \
gstglfilterglass.h \ gstglfilterglass.h \
gstglmosaic.h \
effects/gstgleffectscurves.h \ effects/gstgleffectscurves.h \
effects/gstgleffectlumatocurve.h effects/gstgleffectlumatocurve.h
...@@ -123,35 +125,31 @@ noinst_HEADERS += \ ...@@ -123,35 +125,31 @@ noinst_HEADERS += \
endif endif
libgstopengl_la_OBJCFLAGS = \ libgstopengl_la_OBJCFLAGS = \
-I$(top_srcdir)/gst-libs \ $(GST_PLUGINS_BASE_CFLAGS) \
-I$(top_builddir)/gst-libs \
-fobjc-arc \ -fobjc-arc \
$(GST_OBJCFLAGS) \ $(GST_OBJCFLAGS) \
$(GST_BASE_CFLAGS) \ $(GST_BASE_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CONTROLLER_CFLAGS) \ $(GST_CONTROLLER_CFLAGS) \
$(GL_OBJCFLAGS) $(GL_OBJCFLAGS)
# check order of CFLAGS and LIBS, shouldn't the order be the other way around # check order of CFLAGS and LIBS, shouldn't the order be the other way around
# (like in AM_CFLAGS)? # (like in AM_CFLAGS)?
libgstopengl_la_CFLAGS = \ libgstopengl_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \ $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CONTROLLER_CFLAGS) \ $(GST_CONTROLLER_CFLAGS) \
$(GST_CFLAGS) \
$(GL_CFLAGS) \ $(GL_CFLAGS) \
$(LIBPNG_CFLAGS) \ $(LIBPNG_CFLAGS) \
$(GRAPHENE_CFLAGS) $(GRAPHENE_CFLAGS)
libgstopengl_la_LIBADD = \ libgstopengl_la_LIBADD = \
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \ $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$(GST_API_VERSION).la \ $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(GST_BASE_LIBS) \ $(GST_BASE_LIBS) \
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-lgstpbutils-$(GST_API_VERSION) \
$(GST_CONTROLLER_LIBS) \ $(GST_CONTROLLER_LIBS) \
$(GST_LIBS) \
$(GL_LIBS) \ $(GL_LIBS) \
$(LIBPNG_LIBS) \ $(LIBPNG_LIBS) \
$(JPEG_LIBS) \ $(JPEG_LIBS) \
......
...@@ -43,6 +43,8 @@ ...@@ -43,6 +43,8 @@
#include "config.h" #include "config.h"
#endif #endif
#undef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglimagesink.h" #include "gstglimagesink.h"
#include "gstgluploadelement.h" #include "gstgluploadelement.h"
#include "gstgldownloadelement.h" #include "gstgldownloadelement.h"
...@@ -51,16 +53,20 @@ ...@@ -51,16 +53,20 @@
#include "gstglfilterbin.h" #include "gstglfilterbin.h"
#include "gstglsinkbin.h" #include "gstglsinkbin.h"
#include "gstglsrcbin.h" #include "gstglsrcbin.h"
#include "gstglmixerbin.h"
#include "gstglfiltercube.h" #include "gstglfiltercube.h"
#include "gstgleffects.h" #include "gstgleffects.h"
#include "gstglcolorscale.h" #include "gstglcolorscale.h"
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglmixerbin.h"
#include "gstglvideomixer.h" #include "gstglvideomixer.h"
#include "gstglstereomix.h"
#endif
#include "gstglfiltershader.h" #include "gstglfiltershader.h"
#include "gstglfilterapp.h" #include "gstglfilterapp.h"
#include "gstglstereosplit.h" #include "gstglstereosplit.h"
#include "gstglstereomix.h"
#include "gstglviewconvert.h" #include "gstglviewconvert.h"
#include "gstgltestsrc.h" #include "gstgltestsrc.h"
#include "gstgldeinterlace.h" #include "gstgldeinterlace.h"
...@@ -76,7 +82,9 @@ ...@@ -76,7 +82,9 @@
#if GST_GL_HAVE_OPENGL #if GST_GL_HAVE_OPENGL
#include "gstglfilterglass.h" #include "gstglfilterglass.h"
/* #include "gstglfilterreflectedscreen.h" */ /* #include "gstglfilterreflectedscreen.h" */
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglmosaic.h" #include "gstglmosaic.h"
#endif
#if HAVE_PNG #if HAVE_PNG
#include "gstgldifferencematte.h" #include "gstgldifferencematte.h"
/* #include "gstglbumper.h" */ /* #include "gstglbumper.h" */
...@@ -159,11 +167,12 @@ plugin_init (GstPlugin * plugin) ...@@ -159,11 +167,12 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_SRC_BIN)) { GST_RANK_NONE, GST_TYPE_GL_SRC_BIN)) {
return FALSE; return FALSE;
} }
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glmixerbin", if (!gst_element_register (plugin, "glmixerbin",
GST_RANK_NONE, GST_TYPE_GL_MIXER_BIN)) { GST_RANK_NONE, GST_TYPE_GL_MIXER_BIN)) {
return FALSE; return FALSE;
} }
#endif
if (!gst_element_register (plugin, "glfiltercube", if (!gst_element_register (plugin, "glfiltercube",
GST_RANK_NONE, GST_TYPE_GL_FILTER_CUBE)) { GST_RANK_NONE, GST_TYPE_GL_FILTER_CUBE)) {
...@@ -189,7 +198,7 @@ plugin_init (GstPlugin * plugin) ...@@ -189,7 +198,7 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_COLORSCALE)) { GST_RANK_NONE, GST_TYPE_GL_COLORSCALE)) {
return FALSE; return FALSE;
} }
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glvideomixer", if (!gst_element_register (plugin, "glvideomixer",
GST_RANK_NONE, gst_gl_video_mixer_bin_get_type ())) { GST_RANK_NONE, gst_gl_video_mixer_bin_get_type ())) {
return FALSE; return FALSE;
...@@ -199,6 +208,7 @@ plugin_init (GstPlugin * plugin) ...@@ -199,6 +208,7 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, gst_gl_video_mixer_get_type ())) { GST_RANK_NONE, gst_gl_video_mixer_get_type ())) {
return FALSE; return FALSE;
} }
#endif
if (!gst_element_register (plugin, "glshader", if (!gst_element_register (plugin, "glshader",
GST_RANK_NONE, gst_gl_filtershader_get_type ())) { GST_RANK_NONE, gst_gl_filtershader_get_type ())) {
...@@ -219,11 +229,12 @@ plugin_init (GstPlugin * plugin) ...@@ -219,11 +229,12 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_STEREOSPLIT)) { GST_RANK_NONE, GST_TYPE_GL_STEREOSPLIT)) {
return FALSE; return FALSE;
} }
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glstereomix", if (!gst_element_register (plugin, "glstereomix",
GST_RANK_NONE, GST_TYPE_GL_STEREO_MIX)) { GST_RANK_NONE, GST_TYPE_GL_STEREO_MIX)) {
return FALSE; return FALSE;
} }
#endif
if (!gst_element_register (plugin, "gltestsrc", if (!gst_element_register (plugin, "gltestsrc",
GST_RANK_NONE, GST_TYPE_GL_TEST_SRC)) { GST_RANK_NONE, GST_TYPE_GL_TEST_SRC)) {
...@@ -251,10 +262,12 @@ plugin_init (GstPlugin * plugin) ...@@ -251,10 +262,12 @@ plugin_init (GstPlugin * plugin)
return FALSE; return FALSE;
} }
#endif #endif
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glmosaic", if (!gst_element_register (plugin, "glmosaic",
GST_RANK_NONE, GST_TYPE_GL_MOSAIC)) { GST_RANK_NONE, GST_TYPE_GL_MOSAIC)) {
return FALSE; return FALSE;
} }
#endif
#if HAVE_PNG #if HAVE_PNG
if (!gst_element_register (plugin, "gldifferencematte", if (!gst_element_register (plugin, "gldifferencematte",
GST_RANK_NONE, gst_gl_differencematte_get_type ())) { GST_RANK_NONE, gst_gl_differencematte_get_type ())) {
......
# These have to stay in -bad until we can move GstVideoAggregator to -base
# 'gstglbasemixer.c',
# 'gstglmixerbin.c',
# 'gstglmixer.c',
# 'gstglvideomixer.c',
# 'gstglstereomix.c',
opengl_sources = [ opengl_sources = [
'gstopengl.c', 'gstopengl.c',
'gstglbasemixer.c',
'gstgluploadelement.c', 'gstgluploadelement.c',
'gstgldownloadelement.c', 'gstgldownloadelement.c',
'gstglcolorconvertelement.c', 'gstglcolorconvertelement.c',
'gstglfilterbin.c', 'gstglfilterbin.c',
'gstglmixerbin.c',
'gstglsinkbin.c', 'gstglsinkbin.c',
'gstglsrcbin.c', 'gstglsrcbin.c',
'gstglimagesink.c', 'gstglimagesink.c',
...@@ -32,14 +36,11 @@ opengl_sources = [ ...@@ -32,14 +36,11 @@ opengl_sources = [
'effects/gstgleffectlaplacian.c', 'effects/gstgleffectlaplacian.c',
'gstglcolorscale.c', 'gstglcolorscale.c',
'gstglcolorbalance.c', 'gstglcolorbalance.c',
'gstglmixer.c',
'gstglvideomixer.c',
'gstglfiltershader.c', 'gstglfiltershader.c',
'gstglfilterapp.c', 'gstglfilterapp.c',
'gstglviewconvert.c', 'gstglviewconvert.c',
'gstglstereosplit.c', 'gstglstereosplit.c',
'gstgldeinterlace.c', 'gstgldeinterlace.c',
'gstglstereomix.c',
'gltestsrc.c', 'gltestsrc.c',
'gstgltestsrc.c', 'gstgltestsrc.c',
'gstglutils.c' 'gstglutils.c'
...@@ -50,9 +51,10 @@ if build_gstgl and gstgl_dep.found() ...@@ -50,9 +51,10 @@ if build_gstgl and gstgl_dep.found()
opengl_defines = [] opengl_defines = []
if gl_dep.found() # have desktop GL if gl_dep.found() # have desktop GL
# These have to stay in -bad until we can move GstVideoAggregator to -base
# 'gstglmosaic.c',
opengl_sources += [ opengl_sources += [
'gstglfilterglass.c', 'gstglfilterglass.c',
'gstglmosaic.c',
] ]
endif endif
...@@ -103,16 +105,16 @@ if build_gstgl and gstgl_dep.found() ...@@ -103,16 +105,16 @@ if build_gstgl and gstgl_dep.found()
endif endif
if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h', required : false) if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h', required : false)
optional_deps += gstallocators_dep optional_deps += allocators_dep
endif endif
gstopengl = library('gstopengl', gstopengl = library('gstopengl',
opengl_sources, opengl_sources,
c_args : gst_plugins_bad_args + opengl_defines, c_args : gst_plugins_base_args + opengl_defines,
link_args : noseh_link_args, link_args : noseh_link_args,
include_directories : [configinc], include_directories : [configinc],
dependencies : [gstgl_dep, gstbadvideo_dep, gstvideo_dep, dependencies : [gstgl_dep, video_dep,
gstbase_dep, gstcontroller_dep, libm] + optional_deps, gst_base_dep, gst_controller_dep, libm] + optional_deps,
install : true, install : true,
install_dir : plugins_install_dir, install_dir : plugins_install_dir,
) )
......
subdir('alsa') subdir('alsa')
subdir('cdparanoia') subdir('cdparanoia')
subdir('gl')
if cc.get_id() != 'msvc' if cc.get_id() != 'msvc'
# libvisual has MinGW-specific headers which are not compatible with MSVC # libvisual has MinGW-specific headers which are not compatible with MSVC
# If we want to build this with MSVC, we must build libvisual with it too # If we want to build this with MSVC, we must build libvisual with it too
......
if USE_OPENGL
GL_DIR = gl
endif
if USE_GLES2
GL_DIR = gl
endif
SUBDIRS = \ SUBDIRS = \
tag \ tag \
fft \ fft \
...@@ -9,7 +16,22 @@ SUBDIRS = \ ...@@ -9,7 +16,22 @@ SUBDIRS = \
pbutils \ pbutils \
riff \ riff \
app \ app \
allocators allocators \
$(GL_DIR)
DIST_SUBDIRS = \
tag \
fft \
audio \
rtp \
sdp \
rtsp \
video \
pbutils \
riff \
app \
allocators \
gl
noinst_HEADERS = gettext.h gst-i18n-app.h gst-i18n-plugin.h glib-compat-private.h noinst_HEADERS = gettext.h gst-i18n-app.h gst-i18n-plugin.h glib-compat-private.h
...@@ -26,6 +48,8 @@ rtp: audio ...@@ -26,6 +48,8 @@ rtp: audio
sdp: rtp sdp: rtp
gl: video allocators
INDEPENDENT_SUBDIRS = \ INDEPENDENT_SUBDIRS = \
tag audio fft video app tag audio fft video app
......
...@@ -80,13 +80,12 @@ noinst_HEADERS = \ ...@@ -80,13 +80,12 @@ noinst_HEADERS = \
libgstgl_@GST_API_VERSION@_la_LIBADD = \ libgstgl_@GST_API_VERSION@_la_LIBADD = \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/allocators/libgstallocators-@GST_API_VERSION@.la \
$(GMODULE_NO_EXPORT_LIBS) \ $(GMODULE_NO_EXPORT_LIBS) \
$(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) \ $(GST_BASE_LIBS) \
$(GST_LIBS) \ $(GST_LIBS) \
$(GL_LIBS) \ $(GL_LIBS)
$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-@GST_API_VERSION@.la
if HAVE_WINDOW_WIN32 if HAVE_WINDOW_WIN32
SUBDIRS += win32 SUBDIRS += win32
...@@ -139,8 +138,6 @@ nodist_configexecinclude_HEADERS = $(built_sys_header_configure) ...@@ -139,8 +138,6 @@ nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
libgstgl_@GST_API_VERSION@_la_CFLAGS = \ libgstgl_@GST_API_VERSION@_la_CFLAGS = \
-DGST_EXPORTS \ -DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \ $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \ $(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \ $(GST_CFLAGS) \
......
...@@ -433,7 +433,7 @@ if need_platform_egl != 'no' ...@@ -433,7 +433,7 @@ if need_platform_egl != 'no'
glconf.set10('GST_GL_HAVE_PLATFORM_EGL', 1) glconf.set10('GST_GL_HAVE_PLATFORM_EGL', 1)
if cc.has_header('libdrm/drm_fourcc.h', required : false) if cc.has_header('libdrm/drm_fourcc.h', required : false)
gl_misc_deps += gstallocators_dep gl_misc_deps += allocators_dep
glconf.set10('GST_GL_HAVE_DMABUF', 1) glconf.set10('GST_GL_HAVE_DMABUF', 1)
endif endif
...@@ -669,12 +669,12 @@ if build_gstgl ...@@ -669,12 +669,12 @@ if build_gstgl
gstgl = library('gstgl-' + api_version, gstgl = library('gstgl-' + api_version,
gl_sources, gl_sources,
c_args : gst_plugins_bad_args + gl_cpp_args, c_args : gst_plugins_base_args + gl_cpp_args,
include_directories : [configinc, libsinc], include_directories : [configinc, libsinc],
version : libversion, version : libversion,
soversion : soversion, soversion : soversion,
install : true, install : true,
dependencies : [gstbase_dep, gstvideo_dep, gstbadallocators_dep, gmodule_dep, dependencies : [gst_base_dep, video_dep, allocators_dep, gmodule_dep,
gl_lib_deps, gl_platform_deps, gl_winsys_deps, gl_misc_deps]) gl_lib_deps, gl_platform_deps, gl_winsys_deps, gl_misc_deps])
gen_sources = [] gen_sources = []
if build_gir if build_gir
...@@ -688,7 +688,7 @@ if build_gstgl ...@@ -688,7 +688,7 @@ if build_gstgl
includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'], includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],