gstreamer/ext/gl
Matthew Waters 5b8d7a443e 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
2014-09-21 21:36:49 +10:00
..
effects glfeature: remove GST_GL_API_GLES3 2014-05-30 10:29:37 +10:00
BUGS move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gltestsrc.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gltestsrc.h move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglbumper.c glbumper: remove redundant check 2014-04-02 22:54:55 +11:00
gstglbumper.h move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglcolorscale.c opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
gstglcolorscale.h glcolorscale: use a shader on GLESv2 2014-04-30 17:33:14 +01:00
gstgldeinterlace.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstgldeinterlace.h move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstgldifferencematte.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstgldifferencematte.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstgleffects.c gl: fix multi gl object leaks 2014-07-24 11:46:56 +10:00
gstgleffects.h move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglfilterapp.c glfilterapp: actually emit the client-draw signal 2014-06-12 23:17:05 +10:00
gstglfilterapp.h glfilterapp: actually emit the client-draw signal 2014-06-12 23:17:05 +10:00
gstglfilterblur.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglfilterblur.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfiltercube.c opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
gstglfiltercube.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfilterglass.c opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
gstglfilterglass.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfilterlaplacian.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglfilterlaplacian.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfilterreflectedscreen.c gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfilterreflectedscreen.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglfiltershader.c glshader: enable glshader on GLES2 2014-06-25 18:26:13 +10:00
gstglfiltershader.h glfiltershader: port to GLES2 2014-06-17 23:21:15 +10:00
gstglfiltersobel.c move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstglfiltersobel.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstglimagesink.c glupload: provide the output buffer that is rendered into 2014-09-21 21:36:49 +10:00
gstglimagesink.h glupload: provide the output buffer that is rendered into 2014-09-21 21:36:49 +10:00
gstglmixer.c glupload: provide the output buffer that is rendered into 2014-09-21 21:36:49 +10:00
gstglmixer.h gl: Move GstGLMixer to the plugin for now 2014-07-11 09:41:05 +02:00
gstglmixerpad.h gl: Move GstGLMixer to the plugin for now 2014-07-11 09:41:05 +02:00
gstglmosaic.c opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
gstglmosaic.h gl: Move GstGLMixer to the plugin for now 2014-07-11 09:41:05 +02:00
gstgloverlay.c opengl: update element docs for 1.x 2014-08-10 18:07:28 +01:00
gstgloverlay.h gl: silence all the compiler warnings 2014-03-16 15:17:44 +01:00
gstgltestsrc.c gltestsrc: do not leak pool in error cases 2014-09-16 12:48:43 +03:00
gstgltestsrc.h move gl elements to ext subdirectory 2014-03-16 11:23:16 +01:00
gstgltransformation.c gltransformation: fix issues and expose mvp matrix 2014-09-05 09:39:34 +10:00
gstgltransformation.h gltransformation: fix issues and expose mvp matrix 2014-09-05 09:39:34 +10:00
gstglvideomixer.c glvideomixer: don't clobber unnecessary GstVideoInfo fields 2014-08-19 14:44:29 +10:00
gstglvideomixer.h glvideomixer: add a background property 2014-08-07 19:21:02 +10:00
gstopengl.c glshader: enable glshader on GLES2 2014-06-25 18:26:13 +10:00
Makefile.am gl: Always build gstglmixer, not only when full OpenGL support is enabled 2014-07-11 13:58:55 +02:00