gstreamer/ext/gl
Matthew Waters 6491af9ffc glupload: provide the output buffer that is rendered into
Allows callers to properly reference count the buffers used for
rendering.

Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.

1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n

The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives.  There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.

https://bugzilla.gnome.org/show_bug.cgi?id=736740
2017-12-09 19:31:46 +00:00
..
effects glfeature: remove GST_GL_API_GLES3 2017-12-09 19:31:42 +00:00
BUGS move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gltestsrc.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gltestsrc.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglbumper.c glbumper: remove redundant check 2017-12-09 19:31:35 +00:00
gstglbumper.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglcolorscale.c opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
gstglcolorscale.h glcolorscale: use a shader on GLESv2 2017-12-09 19:31:38 +00:00
gstgldeinterlace.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstgldeinterlace.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstgldifferencematte.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstgldifferencematte.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstgleffects.c gl: fix multi gl object leaks 2017-12-09 19:31:44 +00:00
gstgleffects.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglfilterapp.c glfilterapp: actually emit the client-draw signal 2017-12-09 19:31:43 +00:00
gstglfilterapp.h glfilterapp: actually emit the client-draw signal 2017-12-09 19:31:43 +00:00
gstglfilterblur.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglfilterblur.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfiltercube.c opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
gstglfiltercube.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfilterglass.c opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
gstglfilterglass.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfilterlaplacian.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglfilterlaplacian.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfilterreflectedscreen.c gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfilterreflectedscreen.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglfiltershader.c glshader: enable glshader on GLES2 2017-12-09 19:31:43 +00:00
gstglfiltershader.h glfiltershader: port to GLES2 2017-12-09 19:31:43 +00:00
gstglfiltersobel.c move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstglfiltersobel.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstglimagesink.c glupload: provide the output buffer that is rendered into 2017-12-09 19:31:46 +00:00
gstglimagesink.h glupload: provide the output buffer that is rendered into 2017-12-09 19:31:46 +00:00
gstglmixer.c glupload: provide the output buffer that is rendered into 2017-12-09 19:31:46 +00:00
gstglmixer.h gl: Move GstGLMixer to the plugin for now 2017-12-09 19:31:44 +00:00
gstglmixerpad.h gl: Move GstGLMixer to the plugin for now 2017-12-09 19:31:44 +00:00
gstglmosaic.c opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
gstglmosaic.h gl: Move GstGLMixer to the plugin for now 2017-12-09 19:31:44 +00:00
gstgloverlay.c opengl: update element docs for 1.x 2017-12-09 19:31:45 +00:00
gstgloverlay.h gl: silence all the compiler warnings 2017-12-09 19:31:34 +00:00
gstgltestsrc.c gltestsrc: do not leak pool in error cases 2017-12-09 19:31:46 +00:00
gstgltestsrc.h move gl elements to ext subdirectory 2017-12-09 19:31:34 +00:00
gstgltransformation.c gltransformation: fix issues and expose mvp matrix 2017-12-09 19:31:46 +00:00
gstgltransformation.h gltransformation: fix issues and expose mvp matrix 2017-12-09 19:31:46 +00:00
gstglvideomixer.c glvideomixer: don't clobber unnecessary GstVideoInfo fields 2017-12-09 19:31:45 +00:00
gstglvideomixer.h glvideomixer: add a background property 2017-12-09 19:31:45 +00:00
gstopengl.c glshader: enable glshader on GLES2 2017-12-09 19:31:43 +00:00
Makefile.am gl: Always build gstglmixer, not only when full OpenGL support is enabled 2017-12-09 19:31:44 +00:00