Mathieu Duponchelle [Thu, 21 Dec 2017 18:32:03 +0000 (19:32 +0100)]
tests: add missing comma
Mathieu Duponchelle [Thu, 21 Dec 2017 18:28:00 +0000 (19:28 +0100)]
tests: conditionally define the glimagesink test as well
Forgotten in previous commit
Mathieu Duponchelle [Thu, 21 Dec 2017 18:24:20 +0000 (19:24 +0100)]
tests: fix build when not building gstgl
gstgl_dep is only defined when build_gstgl is true
Tim-Philipp Müller [Wed, 20 Dec 2017 23:47:33 +0000 (23:47 +0000)]
meson: docs: link gtk-doc scanner with gstgl
Tim-Philipp Müller [Wed, 20 Dec 2017 16:01:38 +0000 (16:01 +0000)]
gl: fix build if libjpeg is not available
If libjpeg is not available, leave HAVE_JPEG undefined in
config.h, instead of defining it to 0. Fixes mismatch between
autotools conditional and ifdefs in the code.
Tim-Philipp Müller [Tue, 19 Dec 2017 16:51:24 +0000 (16:51 +0000)]
gl: fix up a few more #if HAVE_FOO
error: "HAVE_PNG" is not defined, evaluates to 0 [-Werror=undef]
Tim-Philipp Müller [Tue, 19 Dec 2017 15:48:19 +0000 (15:48 +0000)]
autotools: gl: don't check for gstreamer-allocators via pkg-config
It's in -base too after all, so this doesn't make sense and is no
longer needed.
Tim-Philipp Müller [Tue, 19 Dec 2017 12:44:35 +0000 (12:44 +0000)]
allocators: fix meson build after physmem move from -bad
Josep Torra [Tue, 12 Dec 2017 07:31:47 +0000 (08:31 +0100)]
gl: cocoa: fix a warning when building in MacOS 10.12
gstglwindow_cocoa.m:186:60: error: incompatible pointer types sending 'GstGLContextCocoa *'
(aka 'struct _GstGLContextCocoa *') to parameter of type 'GstGLContext *' (aka 'struct _GstGLContext *')
Víctor Manuel Jáquez Leal [Fri, 8 Dec 2017 13:46:35 +0000 (14:46 +0100)]
gl: display: demote error level at display creation error
https://bugzilla.gnome.org/show_bug.cgi?id=791391
Tim-Philipp Müller [Sun, 17 Dec 2017 20:48:11 +0000 (20:48 +0000)]
meson: set info variables in gstreamer-gl .pc file
Tim-Philipp Müller [Sun, 17 Dec 2017 15:21:19 +0000 (15:21 +0000)]
docs: plugins: add opengl plugin to docs
Tim-Philipp Müller [Sun, 17 Dec 2017 15:18:49 +0000 (15:18 +0000)]
docs: update for git master
Tim-Philipp Müller [Fri, 15 Dec 2017 00:40:25 +0000 (00:40 +0000)]
docs: add moved gl lib to documentation
Tim-Philipp Müller [Mon, 11 Dec 2017 11:59:57 +0000 (11:59 +0000)]
gl: hook up tests
Also move over simple gl launch line test.
Tim-Philipp Müller [Sun, 10 Dec 2017 20:02:26 +0000 (20:02 +0000)]
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
Tim-Philipp Müller [Mon, 11 Dec 2017 00:26:36 +0000 (00:26 +0000)]
gl: examples: fix c++ code for -Wreturn-aggregate
.. and use #ifdef instead of #if
Tim-Philipp Müller [Sun, 10 Dec 2017 22:27:31 +0000 (22:27 +0000)]
gl: use #ifdef HAVE_* instead of #if HAVE_FOO
Tim-Philipp Müller [Sat, 9 Dec 2017 20:16:48 +0000 (20:16 +0000)]
gl: remove GST_USE_UNSTABLE_API bits
Tim-Philipp Müller [Sun, 10 Dec 2017 21:08:28 +0000 (21:08 +0000)]
opus: remove unused build variable and define
Sebastian Dröge [Fri, 17 Feb 2017 17:26:41 +0000 (19:26 +0200)]
allocators: move GstPhysMemoryAllocator abstraction from -bad to -base
This can be used in a generic way as common interface by all platforms
that, in one way or another, pass around physical memory addresses.
This is used by the gl lib and seems useful enough, so might just as
well move it next to the other allocators.
https://bugzilla.gnome.org/show_bug.cgi?id=779067
Tim-Philipp Müller [Tue, 19 Dec 2017 12:00:43 +0000 (12:00 +0000)]
Move OpenGL library and plugin from -bad
Merge branch 'opengl-move'
https://bugzilla.gnome.org/show_bug.cgi?id=754094
Nicolas Dufresne [Sun, 10 Dec 2017 19:59:54 +0000 (14:59 -0500)]
videoconvert: Filter-out crop meta
To passthrough crop-meta, the converter would need to allocate and
convert buffers of the size of the originating buffer. This is currently
made difficult by GstBaseTransform since we cannot alter the caps passed
though the allocation query. We would also need to wait for the first
input buffer to be received in order to make the decision around that
size.
So the short and safe solution is just to stop pretending we can
passthrought that meta.
https://bugzilla.gnome.org/show_bug.cgi?id=791412
Dongil Park [Fri, 15 Dec 2017 01:50:44 +0000 (10:50 +0900)]
playbin3: Fix accessing invalid index in GstStream when received select-stream event
If select-stream event was send to playbin3 as missing any GstStream of ES type
(V or A or TEX) of collection then, playbin will access to invalid address of
GstStream due to invalid index limit. This caused SIGSEGV.
https://bugzilla.gnome.org/show_bug.cgi?id=791638
Matthew Waters [Thu, 14 Dec 2017 03:48:54 +0000 (14:48 +1100)]
Automatic update of common submodule
From e8c7a71 to 3fa2c9e
Jun Xie [Mon, 11 Dec 2017 03:45:37 +0000 (11:45 +0800)]
xvimagesink: fix inaccurate error message
It's about not being able to calculate the display size, not the display
ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=791463
Víctor Manuel Jáquez Leal [Tue, 5 Dec 2017 09:37:40 +0000 (10:37 +0100)]
gldownload: fix wrong enum
When compiling with clang, an enum conversion error is triggered
since GstVideoFrameFlags are not GstVideoFlags.
This patch sets GST_VIDEO_FRAME_FLAG_NONE to the added video meta.
https://bugzilla.gnome.org/show_bug.cgi?id=791251
Nicolas Dufresne [Sun, 3 Dec 2017 00:28:30 +0000 (19:28 -0500)]
gldownload: Add missing ifdef for dmabuf and egl
This fixes the build for platforms that don't support one or the other.
Nicolas Dufresne [Sat, 2 Dec 2017 20:25:38 +0000 (15:25 -0500)]
gldisplay: Prefer wayland over X11
As most Wayland compositors supports XWayland, X11 backend get
selected. This also realign better GStreamer decision to what
happens with GTK and other stack out there.
Nicolas Dufresne [Sat, 2 Dec 2017 20:25:16 +0000 (15:25 -0500)]
gldisplay: Add missing GL API to the doc
Matt Fischer [Wed, 11 Jan 2017 01:23:58 +0000 (19:23 -0600)]
gldownload: Add dmabuf exporting
This patch adds code to gldownload to export the image as a
dmabuf if requested. The element now exposes memory:DMABuf as
a cap feature, and if it is selected, the element exports the
texture to an EGL image and then a dmabuf. It also implements a
fallback to system memory download in case the exportation failed.
https://bugzilla.gnome.org/show_bug.cgi?id=776927
Tim-Philipp Müller [Sat, 2 Dec 2017 16:01:25 +0000 (16:01 +0000)]
Remove GstAggregator from -bad, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=739010
Matthew Waters [Mon, 27 Nov 2017 03:44:58 +0000 (14:44 +1100)]
gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
context/display/window.
Matthew Waters [Mon, 27 Nov 2017 03:44:24 +0000 (14:44 +1100)]
Revert "gl: cocoa: sprinkle some GST_EXPORT"
This reverts commit
94d798c3337013bd902c0fd0a66f7f6842243eeb.
cocoac headers don't need to be public as all the functionality can be
provided by the base class
Tim-Philipp Müller [Sun, 26 Nov 2017 22:36:35 +0000 (22:36 +0000)]
gl: cocoa: sprinkle some GST_EXPORT
Undefined symbols for architecture x86_64:
"_gst_gl_context_cocoa_get_type", referenced from:
__create_layer in libgstopengl_la-caopengllayersink.o
Might need some more in other headers, but first need to
clarify what exactly should be exported, there are some
inconsistencies (installed header files vs. funcs in docs).
Nicolas Dufresne [Fri, 24 Nov 2017 22:06:22 +0000 (17:06 -0500)]
sdlshare: Destroy GL backend buffer before the GL Context
This was otherwise leading to a deadlock in the GL library.
Nicolas Dufresne [Fri, 24 Nov 2017 21:58:21 +0000 (16:58 -0500)]
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.
Nicolas Dufresne [Fri, 24 Nov 2017 21:58:01 +0000 (16:58 -0500)]
meson: Build gl/sdl examples
Jan Schmidt [Thu, 23 Nov 2017 12:01:52 +0000 (23:01 +1100)]
viv-fb: Don't destroy the native FB display
It causes crashes in applications because the result of
fbGetDisplay() might be in use elsewhere in the application
and Vivante doesn't seem to do any refcounting
Jan Schmidt [Thu, 23 Nov 2017 11:58:40 +0000 (22:58 +1100)]
Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"
This reverts commit
47fd4d391e775c11f529705bb0f457a9d25ba5e7.
This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)
Jan Schmidt [Thu, 23 Nov 2017 14:37:48 +0000 (01:37 +1100)]
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
Tim-Philipp Müller [Thu, 23 Nov 2017 10:15:49 +0000 (11:15 +0100)]
meson: remove outdated comment in build file
Mathieu Duponchelle [Mon, 6 Nov 2017 20:07:51 +0000 (21:07 +0100)]
aggregator: Remove klass->sinkpads_type
This posed problems for the python bindings (and possibly others).
Instead, subclasses now use add_pad_template_with_gtype.
https://bugzilla.gnome.org/show_bug.cgi?id=789986
Edward Hervey [Mon, 20 Nov 2017 16:06:07 +0000 (17:06 +0100)]
all: Fix left-shift undefined behaviour
Cast to the target type before shifting (or use macro if available)
Matthew Waters [Tue, 7 Nov 2017 04:21:43 +0000 (15:21 +1100)]
gl/tests: add some simple shader testing
Making sure that the default shaders compile and are usable
Matthew Waters [Tue, 7 Nov 2017 01:39:58 +0000 (12:39 +1100)]
gltestsrc: guard stop in gl thread
So we don't result in a critical when we've never created the GL context:
gst_gl_context_thread_add: assertion 'GST_IS_GL_CONTEXT (context)' failed
Matthew Waters [Mon, 6 Nov 2017 13:07:42 +0000 (00:07 +1100)]
glbasefilter: actually indicate start internally
Otherwise when we stop, the necessary stop functions will not be called
and things may be leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=788280
Matthew Waters [Mon, 6 Nov 2017 12:19:15 +0000 (23:19 +1100)]
gltestsrc: free in the GL thread on stop
Calling GL functions not on the GL thread may crash in some GL
implementations.
https://bugzilla.gnome.org/show_bug.cgi?id=789665
Tim-Philipp Müller [Thu, 2 Nov 2017 12:17:38 +0000 (12:17 +0000)]
gl: use new gst_element_foreach_sink_pad()
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
Matthew Waters [Sat, 28 Oct 2017 10:34:08 +0000 (21:34 +1100)]
gl/shader: allow setting non-square matrices as uniforms on gles platforms
It is possible with GLES3
Matthew Waters [Sat, 28 Oct 2017 07:33:44 +0000 (18:33 +1100)]
gl/query: split tests and fix some corresponding issues in usage
Jérôme Laheurte [Sun, 1 Oct 2017 17:04:15 +0000 (19:04 +0200)]
Use value instead of version macro when testing for mac OS version
https://bugzilla.gnome.org/show_bug.cgi?id=788404
Cassandra Rommel [Mon, 2 Oct 2017 19:35:48 +0000 (12:35 -0700)]
gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.
Justin Kim [Mon, 2 Oct 2017 07:22:26 +0000 (16:22 +0900)]
glcontext_egl: Add gstglwindow header
Otherwise, compiler complains implicit function declaration warning.
https://bugzilla.gnome.org/show_bug.cgi?id=788413
Ponnam Srinivas [Thu, 28 Sep 2017 10:50:53 +0000 (16:20 +0530)]
glfilter: Unmap video frame in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788194
Ponnam Srinivas [Mon, 25 Sep 2017 11:50:58 +0000 (17:20 +0530)]
glmixer: Unmap video frame in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788127
Haihua Hu [Wed, 20 Sep 2017 12:00:03 +0000 (20:00 +0800)]
glvidemixer: need reconfigure output gemotry after caps renegotiated
Matthew Waters [Thu, 21 Sep 2017 01:59:22 +0000 (11:59 +1000)]
Revert "glvideomixer: need update output geometry after src caps reconfigure"
This reverts commit
d6e538dc5651fb03c85d7c7614bcf6c689f2db2f.
Haihua Hu [Mon, 18 Sep 2017 07:42:00 +0000 (15:42 +0800)]
glvideomixer: need update output geometry after src caps reconfigure
Need update output geometry when sink caps changed and use
gst_structure_set to update caps if structure is fixed
https://bugzilla.gnome.org/show_bug.cgi?id=787820
Haihua Hu [Mon, 11 Sep 2017 08:00:24 +0000 (16:00 +0800)]
gl/viv-fb: transform screen coordinate to viewport coordinate
In y direction, screen coordinate are opposite to viewport coordinate.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Haihua Hu [Mon, 11 Sep 2017 07:12:53 +0000 (15:12 +0800)]
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
queue_resize viewport coordinate calculate is wrong and
force queue_resize when do _set_render_rectangle in case
user input pos changed
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Haihua Hu [Mon, 11 Sep 2017 08:11:19 +0000 (16:11 +0800)]
glimagesink: expose should do redisplay all the time
when using internal window, window resize should work
when pause state, but expose only do redisplay when
window_id is valid. So expose should do redisplay all
the time.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Nicolas Dufresne [Tue, 5 Sep 2017 20:20:44 +0000 (16:20 -0400)]
Request minimum buffer even if need_pool is FALSE
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
Matthew Waters [Tue, 5 Sep 2017 06:14:02 +0000 (16:14 +1000)]
gl/wayland: call eglTerminate() before wl_display_disconnect()
Calling these two functions in the wrong order will result in
use-after-free inside wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=787293
Matthew Waters [Fri, 1 Sep 2017 05:00:12 +0000 (15:00 +1000)]
gtkglsink: expose the created display and context correctly
1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay
Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.
Philippe Normand [Wed, 30 Aug 2017 14:18:58 +0000 (15:18 +0100)]
examples/gl/gtk: build fix for the 3dvideo example on macOS
Philippe Normand [Wed, 30 Aug 2017 14:16:39 +0000 (15:16 +0100)]
examples/gl/gtk: fix overlay handling for macOS
The GTK+ window requires a NSView sub-view, not an NSWindow.
Matthew Waters [Mon, 28 Aug 2017 02:56:34 +0000 (12:56 +1000)]
gl: fix build for ios/win32/android after
2fd84a6c
Some missing GL includes.
Tim-Philipp Müller [Fri, 25 Aug 2017 19:37:39 +0000 (20:37 +0100)]
gl: install new glfuncs.h header
Matthew Waters [Wed, 23 Aug 2017 15:18:40 +0000 (01:18 +1000)]
gl/checks: fix build
Matthew Waters [Wed, 23 Aug 2017 06:36:09 +0000 (16:36 +1000)]
gl/meson: add build for the vivante fb backend
Matthew Waters [Wed, 23 Aug 2017 06:32:57 +0000 (16:32 +1000)]
gl/meson: detect valid configuration from enabled apis/platform/winsys
Matthew Waters [Wed, 23 Aug 2017 06:23:07 +0000 (16:23 +1000)]
gl/build: also check for the GL/gl.h header
In order to successfully build against a detected libGL library we also need headers
Matthew Waters [Thu, 17 Aug 2017 03:46:04 +0000 (13:46 +1000)]
glutils: fix matrix operations everywhere
- correct the matrix multiplication
- Use column-major matrices
- reverse order of matrix multiplications
https://bugzilla.gnome.org/show_bug.cgi?id=785980
Matthew Waters [Thu, 17 Aug 2017 03:42:21 +0000 (13:42 +1000)]
gltransformation: draw with GL_TRIANGLES
Drawing 5 vertices with GL_TRIANGLE_STRIP will draw an extra unneeded
triangle.
Philippe Normand [Tue, 22 Aug 2017 15:16:24 +0000 (16:16 +0100)]
gl/cocoa: fix build after commit
2fd84a6c
Julien Isorce [Tue, 22 Aug 2017 11:39:43 +0000 (12:39 +0100)]
gl: fix broken build due to previous commit
2fd84a6c
Can reproduce after installing libgraphene-dev
Also fixes caopengllayersink.h to anticipate build error on osx.
https://bugzilla.gnome.org/show_bug.cgi?id=784779
Julien Isorce [Fri, 7 Jul 2017 15:15:12 +0000 (16:15 +0100)]
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
Jan Schmidt [Mon, 21 Aug 2017 13:49:02 +0000 (06:49 -0700)]
gldownload: Micro-optimisation. Don't check output caps on every buffer
The output caps will only change on a set_caps() call, so check if
they contain the SystemMemory feature then and save some
per-buffer CPU.
Tim-Philipp Müller [Mon, 14 Aug 2017 11:12:34 +0000 (12:12 +0100)]
gl: fix build
Include private headers for parent class debug categories.
Tim-Philipp Müller [Mon, 14 Aug 2017 09:11:00 +0000 (10:11 +0100)]
gl: add missing new header files
https://bugzilla.gnome.org/show_bug.cgi?id=786170
Tim-Philipp Müller [Mon, 14 Aug 2017 08:33:38 +0000 (09:33 +0100)]
gl: make some debug categories private
They weren't supposed to be public.
https://bugzilla.gnome.org/show_bug.cgi?id=786170
Tim-Philipp Müller [Fri, 11 Aug 2017 17:38:41 +0000 (18:38 +0100)]
gl: don't export symbols that are not supposed to be public
Make a bunch of symbols private that are currently leaked
accidentally because they have a gst_* prefix and are used
internally. We mark those we can't make static with
G_GNUC_INTERNAL so that they get hidden with the autotools
build as well (although we could just pass -fvisibility=hidden
there too).
Tim-Philipp Müller [Fri, 11 Aug 2017 13:55:48 +0000 (14:55 +0100)]
gl: sprinkle more GST_EXPORT
Tim-Philipp Müller [Thu, 10 Aug 2017 08:09:22 +0000 (09:09 +0100)]
gl, wayland: mark more declared functions with GST_EXPORT
Julien Isorce [Tue, 1 Aug 2017 09:21:51 +0000 (10:21 +0100)]
gl: return NULL mem if eglCreateImage failed
Found on rpi when gpu_mem is too low so there is not enough memory to
create the eglimage. But still gst_buffer_pool_acquire_buffer succeeded.
And it leads to a CRITICAL assert:
gst_egl_image_get_image: assertion 'GST_IS_EGL_IMAGE (image)' failed
https://bugzilla.gnome.org/show_bug.cgi?id=785518
Matthew Waters [Fri, 28 Jul 2017 15:58:38 +0000 (16:58 +0100)]
gl: document missing GstGLShader functions
Matthew Waters [Fri, 28 Jul 2017 10:00:12 +0000 (11:00 +0100)]
gl/docs: some documentation updates
Add some missing/incomplete docs
Matthew Waters [Wed, 26 Jul 2017 09:04:09 +0000 (19:04 +1000)]
gl/docs: correctly name our objects in the documentation GstGl -> GstGL
Matthew Waters [Wed, 26 Jul 2017 09:03:15 +0000 (19:03 +1000)]
gl/docs: document GstGLFormat enum
Tim-Philipp Müller [Fri, 21 Jul 2017 07:43:45 +0000 (08:43 +0100)]
gl: fix g-i annotations for glframebuffer
gstglframebuffer.c:176: Error: GstGL: annotations not supported for tag "Since:".
Alessandro Decina [Thu, 20 Jul 2017 07:49:59 +0000 (17:49 +1000)]
meson: specify fallback for libgmodule_dep
Fixes build with glib built as a subproject.
Edward Hervey [Mon, 17 Jul 2017 06:06:22 +0000 (08:06 +0200)]
meson: Fix GLES2 check
On systems without pkg-config, we have the the library present but
not the headers
https://bugzilla.gnome.org/show_bug.cgi?id=785010
Philippe Normand [Sat, 15 Jul 2017 16:25:36 +0000 (17:25 +0100)]
glwindow_cocoa: fix video overlay support
Make sure the window handle is configured after the NSWindow was created.
https://bugzilla.gnome.org/show_bug.cgi?id=767462
Matthew Waters [Sat, 15 Jul 2017 15:17:04 +0000 (01:17 +1000)]
gl/cocoa: keep refs over async operations
Avoids dereferencing dead objects
What happens in the autovideosink case is that context 1 is created and
destroyed before all the async operations hae executed on the associated
window. When the delayed operations execute, they then reference dead
objects and crash.
We fix this by keeping refs over all async operations so the object
cannot be deleted while async operations are in flight.
https://bugzilla.gnome.org/show_bug.cgi?id=782379
Matthew Waters [Fri, 14 Jul 2017 15:24:52 +0000 (01:24 +1000)]
gl/window/x11: implement set_render_rectangle support
https://bugzilla.gnome.org/show_bug.cgi?id=782959
Julien Isorce [Fri, 7 Jul 2017 15:33:42 +0000 (16:33 +0100)]
pkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in
Already present in gstreamer-gl.pc.in
https://bugzilla.gnome.org/show_bug.cgi?id=784779
Jan Schmidt [Thu, 6 Jul 2017 11:09:50 +0000 (21:09 +1000)]
glfilter: Remove hard-coded pad templates
Add a function to install the default RGBA pad templates,
but don't make them required so that there can be
GstGLFilter sub-classes with different input/output
caps if they want. Remove the hard-coded RGBA restriction in
the set_caps_features call, as it will be taken care
of by intersecting with the pad templates.
Update all the sub-classes to match
Jan Schmidt [Fri, 7 Jul 2017 04:41:17 +0000 (14:41 +1000)]
glupload: Don't throw assertions on invalid allocation query
basesrc can send an allocation query with no caps, in which
case we should just fail it without throwing assertions.
Julien Isorce [Wed, 9 Mar 2016 22:01:12 +0000 (22:01 +0000)]
glupload: add GST_CAPS_FEATURE_MEMORY_DMABUF
Insert before SystemMemory to advice upstream elements that it is
preferable for them to push dmabuf with the caps feature.
Examples:
/* Discard memory:DMABuf caps feature */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
capsfilter caps="video/x-raw(memory:SystemMemory)" ! glimagesink
/* Force memory:DMABuf caps feature. */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
capsfilter caps="video/x-raw(memory:DMABuf)" ! glimagesink
/* Auto select memory:DMABuf caps feature. */
GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
glimagesink
https://bugzilla.gnome.org/show_bug.cgi?id=774649