Commit graph

579 commits

Author SHA1 Message Date
Tim-Philipp Müller 2972b673c0 compositor: add to build after move from -bad
This replaces videomixer.

Fixes #138
2018-12-28 12:16:18 +01:00
Tim-Philipp Müller f11571f398 Move GstVideoAggregator, compositor and OpenGL mixers from -bad
Merge branch 'videoaggregator-compositor-glmixers-move'

Fixes #137 and #138.
2018-12-28 12:15:39 +01:00
Philippe Normand 6c1dc1b129 examples/gl/gtk: Fix build on macOS
The gdkquartz.h include pulls into Apple Obj-C frameworks so the compiler needs
to handle the gstgtkhelper library as such.

Fixes #518
2018-12-27 14:55:28 +01:00
Philippe Normand e1e958fcd7 examples/gl: Cocoa example Meson build definitions 2018-12-26 10:56:08 +00:00
Justin Kim 88524a6686 tests: examples: gl: gtk: Disabled on MacOS X
It fails to build on MacOS X. This example should be disabled
until fixed.

Issue: #518
2018-12-14 12:57:38 +09:00
Justin Kim 4f01958232 examples: gl: generic: recordgraphic: Use gst/gl/gstglfuncs.h
https://gitlab.freedesktop.org/gstreamer/gst-build/issues/11
2018-12-14 12:04:17 +09:00
Xavier Claessens a907ed226c Disable gl examples when we don't have OpenGL 2018-11-21 22:17:35 -05:00
Edward Hervey 8367d7e6f4 examples: Fix libgstvideo linking
Use the local libgstvideo (and not the system wide one)
2018-11-05 12:00:55 +01:00
Philippe Normand 07d078e7bc examples/playback-test: New entry for text-offset updates
https://bugzilla.gnome.org/show_bug.cgi?id=797134
2018-11-01 09:52:34 +00:00
Philippe Normand 2e295da3a5 examples: overlaycomposition: Fix Meson build 2018-10-28 17:21:08 +00:00
Sebastian Dröge e87fa73e60 compositor: Implement different operators via per-pad property
This removes the crossfade-ratio property and replaces it with an
operator property. Currently this implements the following operators:

- SOURCE: Copy over the source and don't look at the destination
- OVER: Default blending of the source over the destination
- ADD: Like OVER but simply adding the alpha instead

See the example for how to implement crossfading with this.

https://bugzilla.gnome.org/show_bug.cgi?id=797169
2018-10-28 17:13:26 +00:00
Sebastian Dröge 088b4c0c52 overlaycomposition: New element that allows applications to draw GstVideoOverlayComposition on a stream
https://bugzilla.gnome.org/show_bug.cgi?id=797234
2018-10-28 17:03:47 +00:00
Tim-Philipp Müller 85c484a510 examples: gl: remove bitrotten clutter examples
https://bugzilla.gnome.org/show_bug.cgi?id=797173
2018-10-07 19:09:24 +01:00
Sebastian Dröge c5b78fdc93 gl: Rename GST_TYPE_GL_STEREO_DOWNMIX GType macro everywhere
The old one still exists but behind GST_DISABLE_DEPRECATED
2018-10-03 14:49:32 +03:00
Sebastian Dröge 2b4dfb9941 gl: Generate enum GTypes via glib-mkenums
https://bugzilla.gnome.org/show_bug.cgi?id=797240
https://bugzilla.gnome.org/show_bug.cgi?id=797144
2018-10-03 13:13:24 +03:00
Tim-Philipp Müller 336983d52c examples: gl: generic: recordgraphic: fix build with MSVC 2018-09-19 23:43:10 +01:00
Tim-Philipp Müller 900be507f9 meson: add clutter gl examples to Meson build 2018-09-19 11:16:17 +01:00
Tim-Philipp Müller 6c2893d00a examples: gl: remove old and broken vs solution files 2018-09-19 10:54:25 +01:00
Tim-Philipp Müller d53b38c812 meson: add generic gl examples to Meson build 2018-09-19 10:49:56 +01:00
Tim-Philipp Müller f1272e547d meson: gl: return not-found dependency instead of disabler if opengl is disabled
This allows consumers of the gstgl dependency where gstgl is optional
to do things like:

  config_data.set('HAVE_GST_GL', gstgl_dep.found())
  deps = [gstvideo_dep, gstgl_dep]

meaning they can still use the dep unconditionally. With the
disabler we would just disable the whole target even if the
gstgl part was an optional extra. We can add an option to
dependency() later to let users/consumers of the dep decide
if they want a not-found dependency or a disabler instead.
2018-08-18 12:37:48 +01:00
Nirbheek Chauhan eadedc68f8 meson: Add feature options for all plugins
GL dependency detection is still automagic.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:42:11 +05:30
Nicolas Dufresne bea4d13a99 meson: gl/gtk tests: Add video_dep to the helper
The gtk helper library includes videooverlay.h hence must have a
dependency on video_dep, this allow removing the dep from the dependant
executables.
2018-07-21 09:13:27 -04:00
Tim-Philipp Müller 5ed774350a meson: examples: fix wrong keyword for gtk examples 2018-07-21 11:12:09 +01:00
Nicolas Dufresne 786c6f4d36 meson: Build gl/gtk examples 2018-07-20 22:45:43 -04:00
Tim-Philipp Müller 4d193c2df4 examples: gl: subdirs can be built independently in parallel 2018-05-13 23:33:14 +01:00
Pierre Labastie 65c987b495 examples: gl: sdl: link to the right in-tree libgstvideo
https://bugzilla.gnome.org/show_bug.cgi?id=796082
2018-05-13 23:31:22 +01:00
Edward Hervey 02d46b867a examples: Disable a specific warning
gcc 8 checks more cases in the "parentheses" checks, and unfortunately
upstream gtk headers fails with that warning.

Make that warning non-fatal
2018-05-11 09:44:58 +02:00
Mathieu Duponchelle d767773a47 meson: move some dependency checks to the top level
The newly-added build definitions for test/icles relied
on dependencies that were only defined when the examples
are enabled, thus breaking meson build -Ddisable_examples=true
2018-04-18 17:24:35 +02:00
Tim-Philipp Müller ea30f86ccc Dist compositor crossfade example and pythons script for meson build
And add to autotools build so it gets disted.
2018-02-15 18:51:44 +00:00
Tim-Philipp Müller c4be7eca5d examples: playback: don't use deprecated font button API
playback-test.c:2587:3: error: "gtk_font_button_get_font_name" is deprecated
2018-01-08 14:21:29 +00:00
Tim-Philipp Müller 8227135f3b 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
2017-12-19 12:01:48 +00:00
Tim-Philipp Müller 0eefcb23b4 gl: examples: fix c++ code for -Wreturn-aggregate
.. and use #ifdef instead of #if
2017-12-19 12:01:44 +00:00
Tim-Philipp Müller 59fe9c9122 gl: remove GST_USE_UNSTABLE_API bits 2017-12-19 12:01:37 +00:00
Tim-Philipp Müller cdbb261d9c Move OpenGL library and plugin from -bad
Merge branch 'opengl-move'

https://bugzilla.gnome.org/show_bug.cgi?id=754094
2017-12-19 12:00:43 +00:00
Nicolas Dufresne ecab99a7a9 sdlshare: Destroy GL backend buffer before the GL Context
This was otherwise leading to a deadlock in the GL library.
2017-12-09 19:32:31 +00:00
Nicolas Dufresne 9e208ba0b6 sdlshare2: Fix race conditions
The client-draw callback is running on the GL Thread, which will
be required to map the buffer. Map early, and pass the mapped
frame instead. On top of that, make sure to signal any pending
draw before trying to push EOS, as some pad locks might be taken.
This is the cost of using the same thread to control GStreamer and
to render GL.
2017-12-09 19:32:31 +00:00
Nicolas Dufresne dea918a835 meson: Build gl/sdl examples 2017-12-09 19:32:31 +00:00
Jan Schmidt bbe084de9d 3dvideo example: Correct video overlay for HiDPI
Use the GTK scaling factor to scale the video allocation
so video displays correctly on hi-dpi screens
2017-12-09 19:32:31 +00:00
Jérôme Laheurte 247e232ec4 Use value instead of version macro when testing for mac OS version
https://bugzilla.gnome.org/show_bug.cgi?id=788404
2017-12-09 19:32:30 +00:00
Philippe Normand b9a2c64d8d examples/gl/gtk: build fix for the 3dvideo example on macOS 2017-12-09 19:32:30 +00:00
Philippe Normand 0559b42d6c examples/gl/gtk: fix overlay handling for macOS
The GTK+ window requires a NSView sub-view, not an NSWindow.
2017-12-09 19:32:30 +00:00
Julien Isorce 4952fdd956 gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-12-09 19:32:29 +00:00
Tim-Philipp Müller 996b8c746f examples: gl: remove ancient bitrotten .vcproj files 2017-12-09 19:32:28 +00:00
Josep Torra c020f421e1 examples: fix macOS 9.12 deprecation warnings
Add #defines to allow older versions of macOS to use the new constant names.
2017-12-09 19:32:28 +00:00
Nick Kallen 7b42f26b80 applemedia/gl: Update code to use ARC
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.

https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-12-09 19:32:27 +00:00
Matthew Waters 263255137e examples/gl/qt: fix the examples for the use of newer API
gstgl doesn't undo/overwrite what GL state the examples are changing
anymore.  As such, the examples need to reset the GL state themselves
to be able to play nice with libgstgl
2017-12-09 19:32:24 +00:00
Matthew Waters 18ac98c58b gl: GST_GL_TYPE -> GST_TYPE_GL
Some deprecated symbols are kept for backwards compatibility
2017-12-09 19:32:23 +00:00
Alistair Buxton 6d8456e018 gl/examples: Really remove references to $(GST_PLUGINS_GL_*).
These seem to have been missed in the previous commit to this file.

https://bugzilla.gnome.org/show_bug.cgi?id=771023
2017-12-09 19:32:22 +00:00
Matthew Waters 061049dd73 gl/examples/fxtest: fix up for wayland support
- Pass the wayland display to gst
- Redrawing on resize is no longer needed.
2017-12-09 19:32:22 +00:00
Matthew Waters e3b5214ac6 gl/examples: fix switchvideooverlay for wayland
and call XInitThreads() for X11
2017-12-09 19:32:18 +00:00