Jan Schmidt
2d928bad1c
egl: Wrap KHR_create_context flags in an ifdef
...
EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
don't exist in the Android NDK. Wrap their usage in an #ifdef
EGL_KHR_create_context to fix the build there.
2017-12-09 19:31:45 +00:00
Matthew Waters
f6930bc0b4
egl: fallback to a non-debug context if a debug one fails
...
The text for EGL_KHR_create_context added the possiblity for ES
contexts to ask for a debug context however that has not been
fully realized by all implementations. Fallback to a non-debug
context when the implementation errors.
2017-12-09 19:31:45 +00:00
Lubosz Sarnecki
30591d664c
gstopengl: add introspection support
...
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2017-12-09 19:31:45 +00:00
Lubosz Sarnecki
67b9f71619
glshader: expose opengl handle in getter
...
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2017-12-09 19:31:45 +00:00
Wang Xin-yu (王昕宇)
c8d1e4ad5f
gl: check null before unref GstGLDisplay
2017-12-09 19:31:45 +00:00
Matthew Waters
ac2fdb0aed
gl: add prototype definition for KHR_debug
2017-12-09 19:31:45 +00:00
Matthew Waters
61b95b0300
glcontext: implement the debug callback
...
For both GL_KHR_debug and ARB_debug_output. This allows us to
receive errors and other hints from the GL instead of querying after
every GL operation.
2017-12-09 19:31:45 +00:00
Matthew Waters
d7a465f9da
gl: add prototypes for KHR_debug/ARB_debug_output
2017-12-09 19:31:45 +00:00
Matthew Waters
a76fe07919
gl: don't take an extra ref on the display on set_context
...
gst_context_get_gl_display() returns a ref. Don't take another in
gst_object_replace().
2017-12-09 19:31:45 +00:00
Tim-Philipp Müller
15cd3d3d5c
glbufferpool: fix allocator leak in some cases
...
Spotted by Sebastian Rasmussen.
https://bugzilla.gnome.org/show_bug.cgi?id=734523
2017-12-09 19:31:45 +00:00
Vasilis Liaskovitis
7b1a853888
GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
...
If window is resized, GstStructure pointer values have to be rescaled to
original geometry. A get_surface_dimensions GLWindow class method is added for
this purpose and used in the navigation send_event function.
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2017-12-09 19:31:45 +00:00
Wang Xin-yu (王昕宇)
f322a331c8
glupload: don't determine if frame needs upload by pointer compare
...
https://bugzilla.gnome.org/show_bug.cgi?id=734269
2017-12-09 19:31:45 +00:00
Matthew Waters
fab6790c7f
gl/docs: remove superflous 'the'
2017-12-09 19:31:45 +00:00
Matthew Waters
d3804ee7aa
gl: document GST_GL_* environment variables
...
https://bugzilla.gnome.org/show_bug.cgi?id=733245
2017-12-09 19:31:45 +00:00
Matthew Waters
4277d2742a
glcontext: add a destroy function
...
that just calls the subclass
2017-12-09 19:31:45 +00:00
Matthew Waters
d3077a890c
gl/x11: silence runtime warning
...
g_main_loop_quit: assertion 'loop != NULL' failed
2017-12-09 19:31:45 +00:00
Matthew Waters
9426c0793e
glmemory: use the plane offsets to compute the size of the data pointer
...
Certain elements expect that there be a certain number of lines
that they can write into. e.g. for odd heights, I420, YV12, NV12,
NV21 (and others) Y lines are expected to have exactly twice the
number of U/UV lines.
https://bugzilla.gnome.org/show_bug.cgi?id=733717
2017-12-09 19:31:45 +00:00
Matthew Waters
c216799b20
glmemory: use GstVideoInfo everywhere
...
Simplifies a lot of the calling code
https://bugzilla.gnome.org/show_bug.cgi?id=733717
2017-12-09 19:31:45 +00:00
Matthew Waters
2b82b78ef5
glmemory: reenable the texture_rg support for !eagl
...
The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
against the value instead.
2017-12-09 19:31:44 +00:00
Vasilis Liaskovitis
b1e821f731
glwindow/11: Emit signals for mouse and key navigation events
...
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2017-12-09 19:31:44 +00:00
Sebastian Dröge
307db954fd
glwindow: Constify string parameters to the send_*_event() functions
2017-12-09 19:31:44 +00:00
Vasilis Liaskovitis
6b38d58427
GstGLWindow : Add mouse-event and key-event signals for navigation
...
https://bugzilla.gnome.org/show_bug.cgi?id=703486
2017-12-09 19:31:44 +00:00
Wang Xin-yu (王昕宇)
2ce11e4bac
gl: fix multi gl object leaks
...
1. fix FBO leaks in decide_allocation
2. fix texture leaks in decide_allocation and reset
3. fix texture leaks in FBO incomplete error path
2017-12-09 19:31:44 +00:00
Sebastian Dröge
b02a6a98b2
gl: Link to all required libraries but not more
2017-12-09 19:31:44 +00:00
Sebastian Dröge
ab7a152cd4
gl: Move GstGLMixer to the plugin for now
...
It depends on GstAggregator and we don't want to install headers
for that yet.
https://bugzilla.gnome.org/show_bug.cgi?id=732207
2017-12-09 19:31:44 +00:00
Julien Isorce
62ac6db6a0
glcocoa: initalize NSApp asap when using gst-launch
...
See https://bugzilla.gnome.org/show_bug.cgi?id=732661
2017-12-09 19:31:44 +00:00
Sebastian Dröge
f6ae4ab243
eagl: Disable usage of R and RG textures on iOS
...
They don't work currently and just render zeroes, while the
fallback code path with LUM and LUM_ALPHA textures still works.
https://bugzilla.gnome.org/show_bug.cgi?id=732390
2017-12-09 19:31:44 +00:00
Matthew Waters
216b5ec9a8
glcolorconvert: free pixel swizzling information
2017-12-09 19:31:44 +00:00
Matthew Waters
251c8a98ed
glmixer: remove redundant/unused lock
...
Use the GstObject lock instead
2017-12-09 19:31:44 +00:00
Matthew Waters
21ea062cc8
glmixer: remove redundant creation and free of GPtrArrays
...
Also plugs a memory leak
2017-12-09 19:31:44 +00:00
Matthew Waters
4131456751
glmixer: plug a memory leak for the caps
...
gst_query_set_caps_result() takes a ref on the caps
2017-12-09 19:31:44 +00:00
Matthew Waters
6cea67b92a
glmixer: intersect with the filtercaps if available
2017-12-09 19:31:44 +00:00
Matthew Waters
1e49da469d
gl: update gles2 compatability header
2017-12-09 19:31:44 +00:00
Matthew Waters
730b88a677
glfilter: pass through the allocation query when in passthrough mode
...
Otherwise two GL elements on either side will fail to use the same
GL context.
2017-12-09 19:31:44 +00:00
Matthew Waters
3a20e70cbd
glfilter: prefer passthrough for non-sysmem caps
2017-12-09 19:31:43 +00:00
Julien Isorce
7cdce1bdfc
glfilter: handle NULL decide_query which means passthrough
...
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2017-12-09 19:31:43 +00:00
Julien Isorce
e016324d31
glfilter: prepend intersection to src caps
...
Prefer to stay in the same memory space if possible.
Also it let a chance to do passthrough.
See https://bugzilla.gnome.org/show_bug.cgi?id=732178
2017-12-09 19:31:43 +00:00
Matthew Waters
bcce615263
gl: add a scary note about initializing thread support for the winsys
...
We cannot do it as the winsys may crash if we initialize too late.
Example, GLX contexts with Intel drivers:
Intel requires the X Display to be the same in order to share GL
resources across GL contexts. These GL contexts are generally
accessed from different threads. Without winsys support it is
nearly impossible to guarentee that concurrent access will not
occur. This concurrent access could result in crashes or abortion
by the winsys (xcb).
https://bugzilla.gnome.org/show_bug.cgi?id=731525
2017-12-09 19:31:43 +00:00
Matthew Waters
5fd0dc505e
gluploadmeta: reenable GLMemory upload path
2017-12-09 19:31:43 +00:00
Matthew Waters
1f8c784131
gl: move gles2 compat header to glprototypes
2017-12-09 19:31:43 +00:00
Matthew Waters
ec8f3e58de
glbufferpool: provide a consistent API regardless of platform
2017-12-09 19:31:43 +00:00
Matthew Waters
c399908c4b
gl: mark library as API unstable
2017-12-09 19:31:43 +00:00
Thibault Saunier
30a9ef3768
gl: Port glmixer to the GstVideoAggregator baseclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=731921
2017-12-09 19:31:43 +00:00
Matthew Waters
b2eb1b305c
glframebuffer: don't segfault needlessly with GLES2
...
gst_gl_framebuffer_use_v2 was using a function that is not available
with GLES2
2017-12-09 19:31:43 +00:00
Matthew Waters
58fbcfdf1f
gldownload: plug a memory leak
2017-12-09 19:31:43 +00:00
Matthew Waters
a656e76ac9
glmixer: allow the subclass to choose the sink pad type
...
Allows custom properties to be placed on the sink pads by subclasses
2017-12-09 19:31:43 +00:00
Matthew Waters
90eefa6e5a
glmixer: send the stream-start event
...
and the caps event after.
https://bugzilla.gnome.org/show_bug.cgi?id=730944
2017-12-09 19:31:43 +00:00
Matthew Waters
e523cdd21a
glfilterapp: remove the reshape/draw properties
...
The reshape property was never used.
Replace the draw property with a signal.
Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
https://bugzilla.gnome.org/show_bug.cgi?id=704507
2017-12-09 19:31:42 +00:00
Matthew Waters
6a7ccd6f3e
glmixer: lock the size of mix->frames to the number of pads
...
Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.
Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.
2017-12-09 19:31:42 +00:00
Matthew Waters
5433010ab5
gl/wayland: create a dummy display instead of an EGLDisplay
...
Currently, GstGLWindowWaylandEGL holds the wayland display connection
If we create the EGLDisplay at the GstDisplay creation time, then
libEGL will internally open another connection to the wayland server.
These two display connections are unable to communicate resulting in
no window output/display and hangs inside libEGL.
Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.
2017-12-09 19:31:42 +00:00