gstreamer/ext/gl
Matthew Waters 09677a4d30 glimagesink: don't deadlock on resize
Performing any GL function marshalling off the GL thread with glimagesink's
render lock is prone to deadlocks between the GL thread and the non-GL thread.

What can happen is this:
1. non-GL thread attempts to function marshal to the GL thread.
2. while 1 is happening, the winsys gives an event (say resize)
3. This calls back into glimagesink which taks the render lock.
4. As the GL function marshalling is attempting to run on the GL
   and already has glimagesink's render lock locked.  This deadlocks
   as the threads are waiting for each other.
2017-12-09 19:32:13 +00:00
..
effects glshader: port to using GstGLSLStage objects for string management 2017-12-09 19:32:09 +00:00
BUGS move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
caopengllayersink.h caopengllayersink: correctly use the sync meta across multiple contexts 2017-12-09 19:32:01 +00:00
caopengllayersink.m glmemory: add support for rectangle textures 2017-12-09 19:32:10 +00:00
gltestsrc.c gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls 2017-12-09 19:32:01 +00:00
gltestsrc.h gltestsrc: implement snow pattern with GLSL. 2017-12-09 19:31:46 +00:00
gstglbasemixer.c gl: chain up to the parent class for GstElement::set_context 2017-12-09 19:32:08 +00:00
gstglbasemixer.h gl: add a new glbasemixer class below glmixer 2017-12-09 19:31:56 +00:00
gstglbumper.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstglbumper.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglcolorconvertelement.c glcolorconvert: remove unused ret variable 2017-12-09 19:32:10 +00:00
gstglcolorconvertelement.h Revert "gl: readd glupload/download onto element pads" 2017-12-09 19:32:00 +00:00
gstglcolorscale.c glshader: port to using GstGLSLStage objects for string management 2017-12-09 19:32:09 +00:00
gstglcolorscale.h glcolorscale: support gl3 2017-12-09 19:31:51 +00:00
gstgldeinterlace.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstgldeinterlace.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstgldifferencematte.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstgldifferencematte.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstgldownloadelement.c glmemory: base classify and add the pbo memory on top 2017-12-09 19:32:12 +00:00
gstgldownloadelement.h gl: add new gldownloadelement 2017-12-09 19:31:57 +00:00
gstgleffects.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstgleffects.h gl: use gles2 shaders everywhere 2017-12-09 19:32:07 +00:00
gstglfilterapp.c gl: get the context from basemixer/basefilter 2017-12-09 19:31:57 +00:00
gstglfilterapp.h glfilterapp: actually emit the client-draw signal 2017-12-09 19:31:43 +00:00
gstglfilterbin.c gstglfilterbin: remove unused variable 2017-12-09 19:32:07 +00:00
gstglfilterbin.h gl: new element glfilterbin 2017-12-09 19:31:57 +00:00
gstglfiltercube.c gl: element buffers are part of vao state 2017-12-09 19:32:01 +00:00
gstglfiltercube.h gl: element buffers are part of vao state 2017-12-09 19:32:01 +00:00
gstglfilterglass.c gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls 2017-12-09 19:32:01 +00:00
gstglfilterglass.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfilterreflectedscreen.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstglfilterreflectedscreen.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfiltershader.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstglfiltershader.h glshaderelement: implement setting arbitrary uniforms 2017-12-09 19:32:09 +00:00
gstglimagesink.c glimagesink: don't deadlock on resize 2017-12-09 19:32:13 +00:00
gstglimagesink.h glimagesink: wait on the correct sync meta when rendering 2017-12-09 19:32:11 +00:00
gstglmixer.c gl: Don't leak pool if set_config failed 2017-12-09 19:32:05 +00:00
gstglmixer.h Revert "gl: readd glupload/download onto element pads" 2017-12-09 19:32:00 +00:00
gstglmixerbin.c glmixerbin: fix minor leak 2017-12-09 19:32:10 +00:00
gstglmixerbin.h gl: new glmixerbin element 2017-12-09 19:31:57 +00:00
gstglmosaic.c gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls 2017-12-09 19:32:01 +00:00
gstglmosaic.h gl: Move GstGLMixer to the plugin for now 2017-12-09 19:31:44 +00:00
gstgloverlay.c glmemorypbo: remove our own alloc()/wrapped()/etc functions 2017-12-09 19:32:13 +00:00
gstgloverlay.h gloverlay: remove unused type_file field 2017-12-09 19:32:02 +00:00
gstglsinkbin.c gl: move basesink properties from glimagesinkbin to glsinkbin 2017-12-09 19:32:04 +00:00
gstglsinkbin.h gl: new glsinkbin element 2017-12-09 19:31:57 +00:00
gstglsrcbin.c gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too 2017-12-09 19:32:04 +00:00
gstglsrcbin.h gl: new glsrcbin element 2017-12-09 19:31:57 +00:00
gstglstereomix.c glviewconvert: remove set_format 2017-12-09 19:32:11 +00:00
gstglstereomix.h gldownload: remove helper api from the library 2017-12-09 19:32:12 +00:00
gstglstereosplit.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstglstereosplit.h gl: Add glviewconvert, glstereomix and glstereosplit elements 2017-12-09 19:32:04 +00:00
gstgltestsrc.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstgltestsrc.h gltestsrc: remove usage of gldownload library object 2017-12-09 19:31:57 +00:00
gstgltransformation.c plugins-bad: Fix example pipelines 2017-12-09 19:32:12 +00:00
gstgltransformation.h gltransformation: implement pivot point for rotation and scale 2017-12-09 19:32:07 +00:00
gstgluploadelement.c glupload: remove useless release_buffer 2017-12-09 19:32:09 +00:00
gstgluploadelement.h gl: add a new glupload element based on the glupload library object 2017-12-09 19:31:56 +00:00
gstglvideomixer.c glvideomixer: Proxy the ignore-eos videoaggregator property as well 2017-12-09 19:32:09 +00:00
gstglvideomixer.h gl: element buffers are part of vao state 2017-12-09 19:32:01 +00:00
gstglviewconvert.c gl: add missing break 2017-12-09 19:32:05 +00:00
gstglviewconvert.h gl: Add glviewconvert, glstereomix and glstereosplit elements 2017-12-09 19:32:04 +00:00
gstopengl.c opengl: build/provide glstereomix/split on gles only systems 2017-12-09 19:32:10 +00:00
Makefile.am opengl: build/provide glstereomix/split on gles only systems 2017-12-09 19:32:10 +00:00