Julien Isorce
76983d4454
gldisplay: add gst_gl_display_create_context
...
It also emits a create-context signal so that an application
can provide an external GstGLContext backend.
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2017-12-09 19:32:04 +00:00
Julien Isorce
38a1939ea1
glcontext: move display from priv
...
https://bugzilla.gnome.org/show_bug.cgi?id=750310
2017-12-09 19:32:04 +00:00
Julien Isorce
cbc3f1242f
Revert "glcontext: add gst_gl_context_set_display helper"
...
This reverts commit 71b8103cbd
.
2017-12-09 19:32:04 +00:00
Julien Isorce
e29e67fa6e
Revert "gl: add GstGLContextGPUProcess backend"
...
This reverts commit b377112ee3
.
2017-12-09 19:32:04 +00:00
Jan Schmidt
dad74d40e1
glimagesink: Remove duplicate, useless line of code
2017-12-09 19:32:04 +00:00
Nicolas Dufresne
44a1492c30
opengl: glstero* are only built with full OpenGL
...
Don't try to register the elements unless they are built.
2017-12-09 19:32:04 +00:00
Nicolas Dufresne
2c1d4f4074
glviewconvert: Fix GLES2 compatibility
2017-12-09 19:32:04 +00:00
Nicolas Dufresne
7605b39eea
glviewconvert: Fix broken validity check
2017-12-09 19:32:04 +00:00
Jan Schmidt
c096fec277
3dvideo: Add simple gtk example stereoscopic video player
...
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Jan Schmidt
020c7f1303
gl: Add glviewconvert, glstereomix and glstereosplit elements
...
Conversion elements for transforming multiview/stereoscopic video
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Jan Schmidt
77676ffc90
glimagesink: Support multiview/stereoscopic video
...
Support video with multiview info in the caps, transform
it to mono anaglyph by default, but allow for configuring
other output modes and handoff to the app via
the draw signal.
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Jan Schmidt
7b583526e9
gl libs: Add glviewconvert helper object
...
Add API for a helper object that can convert between different
stereoscopic video representations, and later do filtering
of multiple view streams.
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2017-12-09 19:32:04 +00:00
Matthew Waters
5276b7ccbf
glimagesink: add missing handle-events/ignore-alpha property to the bin
2017-12-09 19:32:04 +00:00
Matthew Waters
aff768f34c
gl/examples: update qt examples for api changes
2017-12-09 19:32:04 +00:00
Matthew Waters
8c36e5193e
glmixerbin: implement proper dynamic pad removal
...
https://bugzilla.gnome.org/show_bug.cgi?id=750881
2017-12-09 19:32:04 +00:00
Nicolas Dufresne
ccc410e73c
glimagesink: Don't do pool caching
...
We now know that pool caching can cause renegotiation issues
when an element in the pipeline change from passthrough to not
passthrough. As it's not needed, don't cache existing pools.
https://bugzilla.gnome.org/show_bug.cgi?id=748344
2017-12-09 19:32:04 +00:00
Matthew Waters
2210ba5d46
glmemory: separate pbo transfer from texture transfers
...
When supported, the potentially longer pbo upload/download can be
initiated before the texture upload/download, potentially increasing
throughput.
2017-12-09 19:32:04 +00:00
Matthew Waters
900bcea9de
glmemory: implement on top of glbasebuffer
...
Provides convenient access to PBO usage.
Currently texture updates are coupled tightly to data transfers.
2017-12-09 19:32:04 +00:00
Matthew Waters
1e87053475
gl: new glbasebuffer GstMemory object
...
Provides generic handling of GL buffer objects accessible using
the GL bind points (GL_ARRAY_BUFFER, GL_PIXEL_*_BUFFER).
Implementation based off the current GstGLMemory.
2017-12-09 19:32:04 +00:00
Matthew Waters
c9d99be28c
gl/prototypes: add some buffer function prototypes
2017-12-09 19:32:04 +00:00
Matthew Waters
9900928403
gl/window/x11: only listen on the X Display when needed
...
5697b6b89b
causes us to possibly listen
on a toolkit provided Display connection. We thus could eat their
precious winsys events. Only listen if we need to
(!foreign_display or videooverlay).
2017-12-09 19:32:04 +00:00
Jan Schmidt
8a1fc4ab4e
gl: Add support for multiple views in upload, colour convert and download
...
Support multiple attached views on input/output buffers
by processing each one, not just the first.
2017-12-09 19:32:04 +00:00
Matthew Waters
1f7025c585
gl/window/x11: don't create our own X11 display
...
It's not needed anymore with most window operations occuring in the
GL thread.
2017-12-09 19:32:04 +00:00
Matthew Waters
e37cf3c55f
gl/window/x11: handle_events() may be called before the window has been created
...
Fixes an XIO fatal error
2017-12-09 19:32:04 +00:00
Matthew Waters
dffa2857d7
gl: move basesink properties from glimagesinkbin to glsinkbin
2017-12-09 19:32:04 +00:00
Sebastian Dröge
3bfe8fcb5b
gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too
2017-12-09 19:32:04 +00:00
Sebastian Dröge
25c554a5e4
glsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property on playbin
2017-12-09 19:32:04 +00:00
Sebastian Dröge
1a995d1676
gl: OES_vertex_array_object is improperly implemented on PowerVR SGX 544MP
...
https://bugzilla.gnome.org/show_bug.cgi?id=750185
2017-12-09 19:32:03 +00:00
Thiago Santos
33b5cd5426
Fix a common typo: retreive -> retrieve
...
Seems to have been copy pasted around a few places
2017-12-09 19:32:03 +00:00
Philippe Normand
deedbd799c
gl/dispmanx: Fix build
2017-12-09 19:32:03 +00:00
Julien Isorce
66c8c8ad87
gl/example: fix build error when compiling cocoa-videooverlay
...
libtool: error: ignoring unknown tag OBJC
and
clang: error: argument unused during compilation: '-pthread'
2017-12-09 19:32:03 +00:00
Matthew Waters
5404083158
gl/window/dispmanx: fix compiler warning
2017-12-09 19:32:03 +00:00
Matthew Waters
bb1de83ff2
gl/window: use the default main loop implementation for all backends
...
fixes glimagsink being unable to display.
https://bugzilla.gnome.org/show_bug.cgi?id=750337
2017-12-09 19:32:03 +00:00
Julien Isorce
9ac4280052
glwindow_cocoa: use parent default implementation
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337
2017-12-09 19:32:03 +00:00
Jan Schmidt
f6a102c3e5
glsyncmeta: Set new sync point when copying
...
Set a new sync point when copying instead of
transferring the (non-refcounted) GL sync object
from the source meta.
https://bugzilla.gnome.org/show_bug.cgi?id=750279
2017-12-09 19:32:03 +00:00
Jan Schmidt
7a288b0189
glsyncmeta: Add some debug output
2017-12-09 19:32:03 +00:00
Matthew Waters
fd7348d064
glmemory: provide compatibility definition for GLES2 for GL_RGBA8
2017-12-09 19:32:03 +00:00
Matthew Waters
1e9f7b6303
gl: consolidate internal_rgba_format into glmemory
...
Expose some useful value format conversion functions available in
GstGLMemory.
2017-12-09 19:32:03 +00:00
Julien Isorce
f8ebadabcd
glcontext_gpu_process: close the window when done
2017-12-09 19:32:03 +00:00
Julien Isorce
62130b34ff
glwindow_gpu_process: avoid empty struct
2017-12-09 19:32:03 +00:00
Julien Isorce
210d2c2825
glwindow: move main loop/context creation back to init/finalize
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199
2017-12-09 19:32:03 +00:00
Edward Hervey
786b857e62
examples: Fix gl usage without wayland support
...
Not all platforms have wayland support. Handle that gracefully at
compile time
2017-12-09 19:32:03 +00:00
Sebastian Dröge
7ae1efa8b3
gl: Fix compiler warning
...
gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable]
static const struct wl_surface_listener surface_listener = {
^
2017-12-09 19:32:03 +00:00
Matthew Waters
fea0b65eb5
glwindow: fix compiler error
...
gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror]
g_return_if_fail (GST_GL_IS_WINDOW (window));
2017-12-09 19:32:03 +00:00
Matthew Waters
411d4d13b4
gl/examples: update gtk examples for glupload
2017-12-09 19:32:03 +00:00
Matthew Waters
81485d0b22
gl/examples: update gtk examples for wayland
2017-12-09 19:32:03 +00:00
Matthew Waters
33d8bbaea4
gl/wayland: implement setting the render rectangle
...
Places our subsurface at the rectangle provided position
2017-12-09 19:32:03 +00:00
Matthew Waters
6c56aba687
glwindow: handle gst_video_overlay_set_render_rectangle
2017-12-09 19:32:03 +00:00
Matthew Waters
8332b1abe8
gl/wayland: don't block the event loop after poll
...
Use the dispatch_pending set of functions which just run the currently
queued up events instead of potentially waiting for an event to occur.
2017-12-09 19:32:03 +00:00
Matthew Waters
70ccb610f6
tests/gl/gtk: implement setting a wayland display/surface
2017-12-09 19:32:03 +00:00