gstreamer/gst-libs/gst/gl
Vasilis Liaskovitis 3c3b78508f GstGLWindow: Introduce navigation thread
This thread dispatches navigation events. It is needed to avoid deadlocks
between window backend threads that emit navigation events (e.g. X11/GMainLoop
thread) and consumers of navigation events such as glimagesink, see
https://bugzilla.gnome.org/show_bug.cgi?id=733661

GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
dispatching, instead of emiting the event itself. Othe backends beside X11 do
not dispatch navigation events yet, but should use this thread when dispatching
these events in the future.

The navigation thread is currently part of GstGLWindow and not implemented in
separate subclasses / backends. This will be needed in the future.

gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
of the window's width, height. These values are now retrieved in the X11
thread, function gst_gl_window_x11_handle_event. This change is needed because
otherwise the XGetWindowAttributes gets called from the navigation thread,
leading to xlib aborting due to multithreaded access (if XInitThreads is not
called before, as is the case for gst-launch)
2014-09-09 21:47:02 +10:00
..
android gl/android: Notify the window's resize callback about surface dimension changes 2014-04-13 16:55:26 +02:00
cocoa glcocoa: initalize NSApp asap when using gst-launch 2014-07-03 10:39:44 +01:00
dispmanx gl/rpi: do not scale to full screen 2014-04-24 15:26:17 +01:00
eagl gl/eagl: Fix compilation 2014-04-13 19:20:32 +02:00
egl egl: Wrap KHR_create_context flags in an ifdef 2014-08-26 12:41:35 +10:00
glprototypes gl: add prototype definition for KHR_debug 2014-08-21 10:03:07 +10:00
wayland gl: fix out-of-source builds. 2014-03-24 17:56:13 +01:00
win32 gl/win32: make send_message reentrant 2014-05-28 00:57:25 +10:00
x11 GstGLWindow: Introduce navigation thread 2014-09-09 21:47:02 +10:00
.gitignore [644/906] update .gitignore for some new files 2014-03-15 18:36:52 +01:00
gl.h gl: Move GstGLMixer to the plugin for now 2014-07-11 09:41:05 +02:00
gstgl_fwd.h gl/upload: add GstGLUploadMeta object 2014-05-28 14:41:35 +10:00
gstglapi.c glfeature: remove GST_GL_API_GLES3 2014-05-30 10:29:37 +10:00
gstglapi.h gl: add prototypes for KHR_debug/ARB_debug_output 2014-08-20 23:26:26 +10:00
gstglbufferpool.c glbufferpool: fix allocator leak in some cases 2014-08-13 18:05:40 +03:00
gstglbufferpool.h glbufferpool: provide a consistent API regardless of platform 2014-06-22 09:48:22 +10:00
gstglcolorconvert.c glmemory: use GstVideoInfo everywhere 2014-07-31 15:19:54 +10:00
gstglcolorconvert.h gl/colorconvert: use GstObject's lock instead of our own 2014-05-29 17:29:41 +10:00
gstglcontext.c gl: Add GSTGLAPI macro to the debug callback function 2014-08-28 10:00:54 +03:00
gstglcontext.h glcontext: add a destroy function 2014-07-31 18:46:33 +10:00
gstgldisplay.c gl/docs: remove superflous 'the' 2014-08-01 17:51:08 +10:00
gstgldisplay.h gl/display: clean up pre gstglcontext api and struct fields 2014-05-06 21:08:30 +10:00
gstgldownload.c glmemory: use GstVideoInfo everywhere 2014-07-31 15:19:54 +10:00
gstgldownload.h gl/download: use GstObject's lock instead of out own 2014-05-29 16:30:13 +10:00
gstglfeature.c glfeature: remove GST_GL_API_GLES3 2014-05-30 10:29:37 +10:00
gstglfeature.h glfeature: remove GST_GL_API_GLES3 2014-05-30 10:29:37 +10:00
gstglfilter.c gl: fix multi gl object leaks 2014-07-24 11:46:56 +10:00
gstglfilter.h [874/906] filter: implement draw_texture for GLES2 2014-03-15 18:37:06 +01:00
gstglframebuffer.c gl: fix multi gl object leaks 2014-07-24 11:46:56 +10:00
gstglframebuffer.h [812/906] move the GL vtable from GstGLDisplay to GstGLContext 2014-03-15 18:37:02 +01:00
gstglmemory.c glmemory: use the plane offsets to compute the size of the data pointer 2014-07-31 15:19:54 +10:00
gstglmemory.h glmemory: use GstVideoInfo everywhere 2014-07-31 15:19:54 +10:00
gstglshader.c glshader: expose opengl handle in getter 2014-08-21 17:38:36 +10:00
gstglshader.h glshader: expose opengl handle in getter 2014-08-21 17:38:36 +10:00
gstglshadervariables.c gl: Fix memory leak 2014-05-09 15:42:08 +02:00
gstglshadervariables.h [733/906] gl: Major header and include cleanup 2014-03-15 18:36:57 +01:00
gstglupload.c glupload: don't determine if frame needs upload by pointer compare 2014-08-06 14:47:52 +10:00
gstglupload.h gl/upload: use GstObject's lock instead of our own 2014-05-29 16:30:13 +10:00
gstgluploadmeta.c glmemory: use GstVideoInfo everywhere 2014-07-31 15:19:54 +10:00
gstgluploadmeta.h gl/upload: add GstGLUploadMeta object 2014-05-28 14:41:35 +10:00
gstglutils.c gl: check null before unref GstGLDisplay 2014-08-21 14:59:45 +10:00
gstglutils.h glfilterapp: remove the reshape/draw properties 2014-06-12 12:49:42 +10:00
gstglwindow.c GstGLWindow: Introduce navigation thread 2014-09-09 21:47:02 +10:00
gstglwindow.h GstGLWindow: Introduce navigation thread 2014-09-09 21:47:02 +10:00
Makefile.am gstopengl: add introspection support 2014-08-21 18:41:38 +10:00