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
This commit is contained in:
Tim-Philipp Müller 2017-12-10 20:02:26 +00:00
parent 0eefcb23b4
commit 8227135f3b
39 changed files with 1337 additions and 125 deletions

1
.gitignore vendored
View file

@ -43,6 +43,7 @@ Makefile
*.gir
*.typelib
*.gc??
.dirstamp
/gst-libs/gst/pbutils/gstpluginsbaseversion.h
/gst-libs/gst/tag/mklangtables

View file

@ -40,6 +40,7 @@ EXTRA_DIST = \
gst-libs/gst/rtsp/rtsp_mkenum.py \
gst-libs/gst/tag/tag_mkenum.py \
gst-libs/gst/video/video_mkenum.py \
gst-libs/gst/gl/gstglconfig.h.meson \
meson_options.txt
DISTCLEANFILES = _stdint.h

View file

@ -295,6 +295,8 @@ GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-$GST_API_VERSION`"
AC_SUBST(GLIB_PREFIX)
AC_SUBST(GST_PREFIX)
AG_GST_GL_CHECKS
dnl GTK is optional and only used in examples
HAVE_GTK=no
HAVE_GTK_X11=no
@ -359,6 +361,9 @@ fi
AM_CONDITIONAL(HAVE_QT, test "x$HAVE_QT" = "xyes")
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
AC_COMPILE_IFELSE(
[
@ -420,10 +425,12 @@ AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""])
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 -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, [
-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef
-Wwrite-strings -Wformat-nonliteral -Wformat-security
-Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return
-Wwrite-strings -Wformat-security
-Winit-self -Wmissing-include-dirs -Waddress
-Wno-multichar -Wnested-externs $NO_WARNINGS])
dnl define an ERROR_CXXFLAGS Makefile variable
@ -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_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 AM_PATH_IVORBIS only takes two options
translit(dnm, m, l) AM_CONDITIONAL(USE_IVORBIS, true)
@ -759,6 +778,7 @@ dnl not building plugins with external dependencies,
dnl but we still need to set the conditionals
AM_CONDITIONAL(USE_ALSA, false)
AM_CONDITIONAL(USE_CDPARANOIA, false)
AM_CONDITIONAL(USE_GL, false)
AM_CONDITIONAL(USE_IVORBIS, false)
AM_CONDITIONAL(USE_LIBVISUAL, false)
AM_CONDITIONAL(USE_OGG, false)
@ -890,6 +910,7 @@ sys/xvimage/Makefile
ext/Makefile
ext/alsa/Makefile
ext/cdparanoia/Makefile
ext/gl/Makefile
ext/libvisual/Makefile
ext/ogg/Makefile
ext/opus/Makefile
@ -902,6 +923,17 @@ gst-libs/gst/allocators/Makefile
gst-libs/gst/audio/Makefile
gst-libs/gst/app/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/rtp/Makefile
gst-libs/gst/rtsp/Makefile
@ -934,6 +966,8 @@ pkgconfig/gstreamer-tag.pc
pkgconfig/gstreamer-tag-uninstalled.pc
pkgconfig/gstreamer-video.pc
pkgconfig/gstreamer-video-uninstalled.pc
pkgconfig/gstreamer-gl.pc
pkgconfig/gstreamer-gl-uninstalled.pc
pkgconfig/gstreamer-plugins-base.pc
pkgconfig/gstreamer-plugins-base-uninstalled.pc
tests/Makefile
@ -946,6 +980,22 @@ tests/examples/dynamic/Makefile
tests/examples/encoding/Makefile
tests/examples/fft/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/seek/Makefile
tests/examples/snapshot/Makefile

View file

@ -10,6 +10,12 @@ else
CDPARANOIA_DIR=
endif
if USE_GL
GL_DIR=gl
else
GL_DIR=
endif
if USE_LIBVISUAL
LIBVISUAL_DIR=libvisual
else
@ -57,6 +63,7 @@ endif
SUBDIRS = \
$(ALSA_DIR) \
$(CDPARANOIA_DIR) \
$(GL_DIR) \
$(LIBVISUAL_DIR) \
$(OGG_DIR) \
$(OPUS_DIR) \
@ -67,6 +74,7 @@ SUBDIRS = \
DIST_SUBDIRS = \
alsa \
cdparanoia \
gl \
libvisual \
ogg \
opus \

View file

@ -1,8 +1,17 @@
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 = \
gstopengl.c \
gstglbasemixer.c \
gstgluploadelement.c \
gstgldownloadelement.c \
gstglcolorconvertelement.c \
@ -34,20 +43,16 @@ libgstopengl_la_SOURCES = \
effects/gstgleffectlaplacian.c \
gstglcolorscale.c \
gstglcolorbalance.c \
gstglmixer.c \
gstglvideomixer.c \
gstglfiltershader.c \
gstglfilterapp.c \
gstglviewconvert.c \
gstglstereosplit.c \
gstgldeinterlace.c \
gstglstereomix.c \
gltestsrc.c \
gstgltestsrc.c \
gstglutils.c
noinst_HEADERS = \
gstglbasemixer.h \
gstgluploadelement.h \
gstgldownloadelement.h \
gstglcolorconvertelement.h \
@ -61,12 +66,9 @@ noinst_HEADERS = \
effects/gstgleffectssources.h \
gstglcolorscale.h \
gstglcolorbalance.h \
gstglmixer.h \
gstglvideomixer.h \
gstglfiltershader.h \
gstglfilterapp.h \
gstglstereosplit.h \
gstglstereomix.h \
gstgldeinterlace.h \
gstglviewconvert.h \
gltestsrc.h \
@ -75,13 +77,13 @@ noinst_HEADERS = \
# full opengl required
if USE_OPENGL
# gstglmosaic.c
libgstopengl_la_SOURCES += \
gstglfilterglass.c \
gstglmosaic.c
gstglfilterglass.c
# gstglmosaic.h
noinst_HEADERS += \
gstglfilterglass.h \
gstglmosaic.h \
effects/gstgleffectscurves.h \
effects/gstgleffectlumatocurve.h
@ -123,35 +125,31 @@ noinst_HEADERS += \
endif
libgstopengl_la_OBJCFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
-fobjc-arc \
$(GST_OBJCFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CONTROLLER_CFLAGS) \
$(GL_OBJCFLAGS)
# check order of CFLAGS and LIBS, shouldn't the order be the other way around
# (like in AM_CFLAGS)?
libgstopengl_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CONTROLLER_CFLAGS) \
$(GST_CFLAGS) \
$(GL_CFLAGS) \
$(LIBPNG_CFLAGS) \
$(GRAPHENE_CFLAGS)
libgstopengl_la_LIBADD = \
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@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_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-lgstpbutils-$(GST_API_VERSION) \
$(GST_CONTROLLER_LIBS) \
$(GST_LIBS) \
$(GL_LIBS) \
$(LIBPNG_LIBS) \
$(JPEG_LIBS) \

View file

@ -43,6 +43,8 @@
#include "config.h"
#endif
#undef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglimagesink.h"
#include "gstgluploadelement.h"
#include "gstgldownloadelement.h"
@ -51,16 +53,20 @@
#include "gstglfilterbin.h"
#include "gstglsinkbin.h"
#include "gstglsrcbin.h"
#include "gstglmixerbin.h"
#include "gstglfiltercube.h"
#include "gstgleffects.h"
#include "gstglcolorscale.h"
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglmixerbin.h"
#include "gstglvideomixer.h"
#include "gstglstereomix.h"
#endif
#include "gstglfiltershader.h"
#include "gstglfilterapp.h"
#include "gstglstereosplit.h"
#include "gstglstereomix.h"
#include "gstglviewconvert.h"
#include "gstgltestsrc.h"
#include "gstgldeinterlace.h"
@ -76,7 +82,9 @@
#if GST_GL_HAVE_OPENGL
#include "gstglfilterglass.h"
/* #include "gstglfilterreflectedscreen.h" */
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
#include "gstglmosaic.h"
#endif
#if HAVE_PNG
#include "gstgldifferencematte.h"
/* #include "gstglbumper.h" */
@ -159,11 +167,12 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_SRC_BIN)) {
return FALSE;
}
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glmixerbin",
GST_RANK_NONE, GST_TYPE_GL_MIXER_BIN)) {
return FALSE;
}
#endif
if (!gst_element_register (plugin, "glfiltercube",
GST_RANK_NONE, GST_TYPE_GL_FILTER_CUBE)) {
@ -189,7 +198,7 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_COLORSCALE)) {
return FALSE;
}
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glvideomixer",
GST_RANK_NONE, gst_gl_video_mixer_bin_get_type ())) {
return FALSE;
@ -199,6 +208,7 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, gst_gl_video_mixer_get_type ())) {
return FALSE;
}
#endif
if (!gst_element_register (plugin, "glshader",
GST_RANK_NONE, gst_gl_filtershader_get_type ())) {
@ -219,11 +229,12 @@ plugin_init (GstPlugin * plugin)
GST_RANK_NONE, GST_TYPE_GL_STEREOSPLIT)) {
return FALSE;
}
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glstereomix",
GST_RANK_NONE, GST_TYPE_GL_STEREO_MIX)) {
return FALSE;
}
#endif
if (!gst_element_register (plugin, "gltestsrc",
GST_RANK_NONE, GST_TYPE_GL_TEST_SRC)) {
@ -251,10 +262,12 @@ plugin_init (GstPlugin * plugin)
return FALSE;
}
#endif
#ifdef HAVE_VIDEO_AGGREGATOR_IN_BASE
if (!gst_element_register (plugin, "glmosaic",
GST_RANK_NONE, GST_TYPE_GL_MOSAIC)) {
return FALSE;
}
#endif
#if HAVE_PNG
if (!gst_element_register (plugin, "gldifferencematte",
GST_RANK_NONE, gst_gl_differencematte_get_type ())) {

View file

@ -1,11 +1,15 @@
# 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 = [
'gstopengl.c',
'gstglbasemixer.c',
'gstgluploadelement.c',
'gstgldownloadelement.c',
'gstglcolorconvertelement.c',
'gstglfilterbin.c',
'gstglmixerbin.c',
'gstglsinkbin.c',
'gstglsrcbin.c',
'gstglimagesink.c',
@ -32,14 +36,11 @@ opengl_sources = [
'effects/gstgleffectlaplacian.c',
'gstglcolorscale.c',
'gstglcolorbalance.c',
'gstglmixer.c',
'gstglvideomixer.c',
'gstglfiltershader.c',
'gstglfilterapp.c',
'gstglviewconvert.c',
'gstglstereosplit.c',
'gstgldeinterlace.c',
'gstglstereomix.c',
'gltestsrc.c',
'gstgltestsrc.c',
'gstglutils.c'
@ -50,9 +51,10 @@ if build_gstgl and gstgl_dep.found()
opengl_defines = []
if gl_dep.found() # have desktop GL
# These have to stay in -bad until we can move GstVideoAggregator to -base
# 'gstglmosaic.c',
opengl_sources += [
'gstglfilterglass.c',
'gstglmosaic.c',
]
endif
@ -103,16 +105,16 @@ if build_gstgl and gstgl_dep.found()
endif
if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h', required : false)
optional_deps += gstallocators_dep
optional_deps += allocators_dep
endif
gstopengl = library('gstopengl',
opengl_sources,
c_args : gst_plugins_bad_args + opengl_defines,
c_args : gst_plugins_base_args + opengl_defines,
link_args : noseh_link_args,
include_directories : [configinc],
dependencies : [gstgl_dep, gstbadvideo_dep, gstvideo_dep,
gstbase_dep, gstcontroller_dep, libm] + optional_deps,
dependencies : [gstgl_dep, video_dep,
gst_base_dep, gst_controller_dep, libm] + optional_deps,
install : true,
install_dir : plugins_install_dir,
)

View file

@ -1,5 +1,6 @@
subdir('alsa')
subdir('cdparanoia')
subdir('gl')
if cc.get_id() != '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

View file

@ -1,3 +1,10 @@
if USE_OPENGL
GL_DIR = gl
endif
if USE_GLES2
GL_DIR = gl
endif
SUBDIRS = \
tag \
fft \
@ -9,7 +16,22 @@ SUBDIRS = \
pbutils \
riff \
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
@ -26,6 +48,8 @@ rtp: audio
sdp: rtp
gl: video allocators
INDEPENDENT_SUBDIRS = \
tag audio fft video app

View file

@ -80,13 +80,12 @@ noinst_HEADERS = \
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) \
$(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) \
$(GST_LIBS) \
$(GL_LIBS) \
$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-@GST_API_VERSION@.la
$(GL_LIBS)
if HAVE_WINDOW_WIN32
SUBDIRS += win32
@ -139,8 +138,6 @@ nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
-DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \

View file

@ -433,7 +433,7 @@ if need_platform_egl != 'no'
glconf.set10('GST_GL_HAVE_PLATFORM_EGL', 1)
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)
endif
@ -669,12 +669,12 @@ if build_gstgl
gstgl = library('gstgl-' + api_version,
gl_sources,
c_args : gst_plugins_bad_args + gl_cpp_args,
c_args : gst_plugins_base_args + gl_cpp_args,
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
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])
gen_sources = []
if build_gir
@ -688,7 +688,7 @@ if build_gstgl
includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
install : true,
extra_args : gir_init_section + ['--c-include=gst/gl/gl.h'],
dependencies : [gst_dep, gstbase_dep, gstvideo_dep]
dependencies : [video_dep, gst_dep, gst_base_dep]
)
gen_sources += gl_gir
endif
@ -697,5 +697,5 @@ if build_gstgl
gstgl_dep = declare_dependency(link_with : gstgl,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [gstbase_dep, gstvideo_dep] + gl_winsys_deps)
dependencies : [video_dep, gst_base_dep] + gl_winsys_deps)
endif

View file

@ -9,3 +9,4 @@ subdir('pbutils')
subdir('riff')
subdir('app')
subdir('allocators')
subdir('gl')

1087
m4/gst-gl.m4 Normal file

File diff suppressed because it is too large Load diff

View file

@ -9,3 +9,10 @@ option('with-package-name', type : 'string',
description : 'package name to use in plugins')
option('with-package-origin', type : 'string', value : 'Unknown package origin',
description : 'package origin URL to use in plugins')
option('with_gl_api', type : 'string', value : 'auto', description : 'A comma separated list of opengl APIs to enable building against. Supported values are opengl and gles2.')
option('with_gl_platform', type : 'string', value : 'auto', description : 'A comma separated list of opengl platforms to enable building against. Supported values are glx, egl, cgl, wgl and eagl')
option('with_gl_winsys', type : 'string', value : 'auto', description : 'A comma separated list of opengl windows systems to enable building against. Supported values are x11, wayland, win32, cocoa, and dispmanx')
option('with_egl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libEGL.so library (default: libEGL.so)')
option('with_opengl_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGL.so library (default: libGL.so)')
option('with_gles2_module_name', type : 'string', value : '', description : 'The file to pass to g_module_open to open the libGLESv2.so library (default: libGLESv2.so)')

View file

@ -11,6 +11,7 @@ pcverfiles = \
gstreamer-sdp-@GST_API_VERSION@.pc \
gstreamer-tag-@GST_API_VERSION@.pc \
gstreamer-video-@GST_API_VERSION@.pc \
gstreamer-gl-@GST_API_VERSION@.pc \
gstreamer-plugins-base-@GST_API_VERSION@.pc
pcverfiles_uninstalled = \
gstreamer-allocators-@GST_API_VERSION@-uninstalled.pc \
@ -24,6 +25,7 @@ pcverfiles_uninstalled = \
gstreamer-sdp-@GST_API_VERSION@-uninstalled.pc \
gstreamer-tag-@GST_API_VERSION@-uninstalled.pc \
gstreamer-video-@GST_API_VERSION@-uninstalled.pc \
gstreamer-gl-@GST_API_VERSION@-uninstalled.pc \
gstreamer-plugins-base-@GST_API_VERSION@-uninstalled.pc
all-local: $(pcverfiles) $(pcverfiles_uninstalled)
@ -50,6 +52,7 @@ cp_verbose_0 = @echo " CP $@";
-e "s|[@]sdplibdir[@]|$(abs_top_builddir)/gst-libs/gst/sdp/.libs|" \
-e "s|[@]taglibdir[@]|$(abs_top_builddir)/gst-libs/gst/tag/.libs|" \
-e "s|[@]videolibdir[@]|$(abs_top_builddir)/gst-libs/gst/video/.libs|" \
-e "s|[@]gllibdir[@]|$(abs_top_builddir)/gst-libs/gst/gl/.libs|" \
$< > $@.tmp && mv $@.tmp $@
pkgconfigdir = $(libdir)/pkgconfig
@ -68,6 +71,7 @@ pcinfiles = \
gstreamer-sdp.pc.in gstreamer-sdp-uninstalled.pc.in \
gstreamer-tag.pc.in gstreamer-tag-uninstalled.pc.in \
gstreamer-video.pc.in gstreamer-video-uninstalled.pc.in \
gstreamer-gl.pc.in gstreamer-gl-uninstalled.pc.in \
gstreamer-plugins-base.pc.in gstreamer-plugins-base-uninstalled.pc.in
DISTCLEANFILES = $(pcinfiles:.in=)

View file

@ -11,7 +11,7 @@ gl_apis=@GL_APIS@
Name: GStreamer OpenGL Plugins Libraries, Uninstalled
Description: Streaming media framework, OpenGL plugins libraries, uninstalled
Version: @VERSION@
Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
Requires: gstreamer-video-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
Libs: -L${libdir} -lgstgl-@GST_API_VERSION@
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs @GL_CFLAGS@

View file

@ -10,7 +10,7 @@ gl_apis=@GL_APIS@
Name: GStreamer OpenGL Plugins Libraries
Description: Streaming media framework, OpenGL plugins libraries
Version: @VERSION@
Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
Requires: gstreamer-video-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
Libs: -L${libdir} -lgstgl-@GST_API_VERSION@
Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include @GL_CFLAGS@

View file

@ -10,7 +10,7 @@ Name: GStreamer Base Plugins Libraries, Uninstalled
Description: Streaming media framework, base plugins libraries, uninstalled
Version: @VERSION@
Requires: gstreamer-@GST_API_VERSION@
Libs: -L@allocatorslibdir@ -L@applibdir@ -L@audiolibdir@ -L@fftlibdir@ -L@pbutilslibdir@ -L@rifflibdir@ -L@rtplibdir@ -L@rtsplibdir@ -L@sdplibdir@ -L@taglibdir@ -L@videolibdir@
Libs: -L@allocatorslibdir@ -L@applibdir@ -L@audiolibdir@ -L@fftlibdir@ -L@pbutilslibdir@ -L@rifflibdir@ -L@rtplibdir@ -L@rtsplibdir@ -L@sdplibdir@ -L@taglibdir@ -L@videolibdir@ -L@gllibdir@
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
libraries=allocators app audio fft pbutils riff rtp rtsp sdp tag video
libraries=allocators app audio fft pbutils riff rtp rtsp sdp tag video gl

View file

@ -11,4 +11,4 @@ Version: @VERSION@
Libs: -L${libdir}
Cflags: -I${includedir}
libraries=allocators app audio fft pbutils riff rtp rtsp sdp tag video
libraries=allocators app audio fft pbutils riff rtp rtsp sdp tag video gl

View file

@ -22,6 +22,7 @@ pkgconf.set('rtsplibdir', join_paths(meson.build_root(), gst_rtsp.outdir()))
pkgconf.set('sdplibdir', join_paths(meson.build_root(), gstsdp.outdir()))
pkgconf.set('taglibdir', join_paths(meson.build_root(), gsttag.outdir()))
pkgconf.set('videolibdir', join_paths(meson.build_root(), gstvideo.outdir()))
pkgconf.set('gllibdir', join_paths(meson.build_root(), gstgl.outdir()))
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
@ -38,9 +39,9 @@ pkg_files = [
'gstreamer-sdp',
'gstreamer-tag',
'gstreamer-video',
'gstreamer-gl',
]
# FIXME: -uninstalled.pc files (if still needed?)
foreach p : pkg_files
infile = p + '.pc.in'
outfile = p + '-1.0.pc'

View file

@ -1,6 +1,7 @@
ext/alsa/gstalsasink.c
ext/alsa/gstalsasrc.c
ext/cdparanoia/gstcdparanoiasrc.c
ext/gl/gstgltestsrc.c
ext/ogg/gstoggdemux.c
gst/encoding/gstencodebin.c
gst/playback/gstdecodebin2.c

View file

@ -674,8 +674,8 @@ GIO_UNIX_2_0_DEFINED=-DHAVE_GIO_UNIX_2_0=1
endif
pipelines_tcp_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_NET_CFLAGS) $(GIO_CFLAGS) $(GIO_UNIX_2_0_CFLAGS) $(GIO_UNIX_2_0_DEFINED) $(AM_CFLAGS)
pipelines_tcp_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_NET_LIBS) $(GIO_LIBS) $(LDADD) \
$(GIO_UNIX_2_0_LIBS) $(top_builddir)/gst-libs/gst/app/libgstapp-@GST_API_VERSION@.la
pipelines_tcp_LDADD = $(top_builddir)/gst-libs/gst/app/libgstapp-@GST_API_VERSION@.la \
$(GST_NET_LIBS) $(GIO_LIBS) $(GIO_UNIX_2_0_LIBS) $(LDADD)
pipelines_gio_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
pipelines_gio_LDADD = $(GIO_LIBS) $(LDADD)

View file

@ -2,8 +2,14 @@ if HAVE_GTK
GTK_SUBDIRS = playback seek snapshot
endif
SUBDIRS = app audio decodebin_next dynamic fft $(GTK_SUBDIRS) gio overlay playrec encoding
DIST_SUBDIRS = app audio dynamic decodebin_next fft gio playback overlay seek snapshot playrec encoding
if USE_OPENGL
GL_DIR=gl
else
GL_DIR=
endif
SUBDIRS = app audio decodebin_next dynamic fft gio $(GL_DIR) $(GTK_SUBDIRS) overlay playrec encoding
DIST_SUBDIRS = app audio dynamic decodebin_next fft gio gl playback overlay seek snapshot playrec encoding
include $(top_srcdir)/common/parallel-subdirs.mak

View file

@ -17,7 +17,7 @@ if HAVE_SDL
SUBDIRS += sdl
endif
if HAVE_GTK3
if HAVE_GTK
SUBDIRS += gtk
endif

View file

@ -7,13 +7,13 @@ noinst_PROGRAMS += cluttershare
cluttershare_SOURCES = cluttershare.c
cluttershare_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) $(GL_CFLAGS) $(CLUTTER_CFLAGS)
cluttershare_LDADD=$(CLUTTER_LIBS) $(GST_PLUGINS_BASE_LIBS) \
$(GST_LIBS) $(GL_LIBS) \
-lgstvideo-$(GST_API_VERSION) $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la
cluttershare_CFLAGS= \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CFLAGS) $(GL_CFLAGS) $(CLUTTER_CFLAGS)
cluttershare_LDADD= \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(CLUTTER_LIBS)
endif
@ -25,23 +25,27 @@ noinst_PROGRAMS += clutteractor clutteractortee
clutteractor_SOURCES = clutteractor.c
clutteractor_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
clutteractor_CFLAGS= \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(CLUTTER_CFLAGS) \
$(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
clutteractor_LDADD=$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
$(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
clutteractor_LDADD= \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) \
$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
$(XCOMPOSITE_LIBS)
clutteractortee_SOURCES = clutteractortee.c
clutteractortee_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
clutteractortee_CFLAGS= \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(CLUTTER_CFLAGS) \
$(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
clutteractortee_LDADD=$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
$(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
clutteractortee_LDADD= \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) \
$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
$(XCOMPOSITE_LIBS)
endif
endif

View file

@ -6,11 +6,11 @@ cocoa_videooverlay_SOURCES = cocoa-videooverlay.m
cocoa_videooverlay_OBJCFLAGS=-Wno-error=unused-command-line-argument \
-fobjc-arc \
-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(GL_OBJCFLAGS)
cocoa_videooverlay_LDADD=$(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
cocoa_videooverlay_LDADD= \
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS)
endif

View file

@ -3,7 +3,9 @@ noinst_PROGRAMS = cube
cube_SOURCES = main.cpp
cube_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
cube_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
cube_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
cube_LDADD=\
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS)

View file

@ -3,6 +3,8 @@ noinst_PROGRAMS = cubeyuv
cubeyuv_SOURCES = main.cpp
cubeyuv_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
cubeyuv_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
cubeyuv_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
cubeyuv_LDADD=\
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS)

View file

@ -3,7 +3,9 @@ noinst_PROGRAMS = doublecube
doublecube_SOURCES = main.cpp
doublecube_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
doublecube_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
doublecube_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(GL_LIBS)
doublecube_LDADD=\
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS)

View file

@ -3,7 +3,9 @@ noinst_PROGRAMS = recordgraphic
recordgraphic_SOURCES = main.cpp
recordgraphic_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_CXXFLAGS) $(GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
recordgraphic_LDADD=$(GST_PLUGINS_BASE_LIBS) -lgstvideo-@GST_API_VERSION@ $(GST_LIBS) $(GL_LIBS)
recordgraphic_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) $(GL_CFLAGS)
recordgraphic_LDADD=\
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS)

View file

@ -5,12 +5,12 @@ noinst_HEADERS = mviewwidget.h
3dvideo_SOURCES = mviewwidget.c main.cpp
3dvideo_CXXFLAGS=$(GST_CXXFLAGS)
3dvideo_CFLAGS=$(GST_CFLAGS)
3dvideo_CPPFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
3dvideo_CPPFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS)
$(GL_CFLAGS) $(GTK_CFLAGS)
3dvideo_LDADD=../libgstgtkhelper.la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION)
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(GTK_LIBS)

View file

@ -70,7 +70,7 @@ struct _GstMViewWidgetClass {
GtkGridClass parent;
};
GType gst_mview_widget_get_type ();
GType gst_mview_widget_get_type (void);
GtkWidget *gst_mview_widget_new (gboolean is_output);
G_END_DECLS

View file

@ -5,7 +5,7 @@ noinst_LTLIBRARIES = libgstgtkhelper.la
libgstgtkhelper_la_SOURCES = gstgtk.c gstgtk.h
libgstgtkhelper_la_CFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GTK3_CFLAGS)
$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(GTK_CFLAGS)
if HAVE_WINDOW_COCOA
libgstgtkhelper_la_CFLAGS += -x objective-c

View file

@ -3,16 +3,13 @@ noinst_PROGRAMS = filternovideooverlay
filternovideooverlay_SOURCES = main.cpp
filternovideooverlay_CXXFLAGS= \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_CXXFLAGS) \
$(GL_CFLAGS) \
$(GTK3_CFLAGS)
$(GTK_CFLAGS)
filternovideooverlay_LDADD= \
$(GTK3_LIBS) \
$(GST_PLUGINS_BASE_LIBS) \
$(GST_LIBS) \
$(GL_LIBS)
$(GL_LIBS) \
$(GTK_LIBS)

View file

@ -2,10 +2,9 @@ noinst_PROGRAMS = filtervideooverlay
filtervideooverlay_SOURCES = main.cpp
filtervideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
filtervideooverlay_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
$(GL_CFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS)
filtervideooverlay_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(GTK_LIBS) $(X11_LIBS)

View file

@ -3,18 +3,18 @@ noinst_PROGRAMS += pixbufdrop
fxtest_SOURCES = fxtest.c
fxtest_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
fxtest_CFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
$(GL_CFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS)
fxtest_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(GTK_LIBS) $(X11_LIBS)
pixbufdrop_SOURCES = pixbufdrop.c
pixbufdrop_CFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
pixbufdrop_CFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X11_CFLAGS)
$(GL_CFLAGS) $(GTK_CFLAGS) $(X11_CFLAGS)
pixbufdrop_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X11_LIBS)
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(GTK_LIBS) $(X11_LIBS)

View file

@ -2,10 +2,11 @@ noinst_PROGRAMS = switchvideooverlay
switchvideooverlay_SOURCES = main.cpp
switchvideooverlay_CXXFLAGS=-I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
switchvideooverlay_CXXFLAGS=\
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CXXFLAGS) \
$(GL_CFLAGS) $(GTK3_CFLAGS) $(X_CFLAGS)
$(GL_CFLAGS) $(GTK_CFLAGS) $(X_CFLAGS)
switchvideooverlay_LDADD=../libgstgtkhelper.la \
$(GTK3_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) -lgstvideo-$(GST_API_VERSION) $(X_LIBS)
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(GST_LIBS) $(GL_LIBS) $(GTK_LIBS) $(X_LIBS)

View file

@ -3,10 +3,10 @@ if sdl_dep.found() and build_gstgl
executable('sdlshare',
'sdlshare.c',
install: false,
dependencies : [gstbase_dep, gstgl_dep, sdl_dep, gl_dep])
dependencies : [gst_base_dep, gstgl_dep, sdl_dep, gl_dep])
executable('sdlshare2',
'sdlshare2.c',
install: false,
dependencies : [gstbase_dep, gstgl_dep, sdl_dep, gl_dep])
dependencies : [gst_base_dep, gstgl_dep, sdl_dep, gl_dep])
endif

View file

@ -11,6 +11,7 @@ subdir('decodebin_next')
subdir('encoding')
subdir('fft')
subdir('gio')
subdir('gl')
subdir('overlay')
subdir('playback')
subdir('playrec')