gstreamer/gst-libs/gst/gl
Seungha Yang 579db691ed glwindow/winrt: Add warning message if window is being closed from a UI thread
All UI elements will follow Single-Threaded Apartments (STA) model.
As a result, we should access them from dedicated UI thread.
Due to the nature of the threading model, ANGLE will wait the UI
thread while closing internal window/swapchain objects.

A problem here is that when destroying GstGLWindow from the UI thread,
it will wait GstGLContext's internal thread. Meanwhile, the GstGLContext's
internal thread will be blocked because ANGLE wants to access the UI thread.
That will cause a deadlock or exceptions.

In short, application should not try to call
gst_element_set_state(pipeline, GST_STATE_NULL) from a UI thread.
That's a limitation of current implementation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/745>
2020-07-10 11:46:56 +00:00
..
android Remove autotools build system 2019-10-13 14:15:43 +01:00
cocoa glcontext/cocoa: handle sending one message during shutdown 2020-03-26 11:25:44 +00:00
dispmanx remove various useless linefeed in logs 2019-12-11 10:07:12 +01:00
eagl glcontext/eagl: handle sending one message during shutdown 2020-06-02 14:32:03 +10:00
egl gl: egl: fix gtk-doc doc start code 2020-05-19 10:37:59 +02:00
gbm gl/gbm: ensure we call the resize callback before attempting to draw 2019-11-05 07:27:29 +11:00
glprototypes Remove autotools build system 2019-10-13 14:15:43 +01:00
utils gl: Fix compiler warning about unused const variable with gcc 6 2017-12-09 19:32:17 +00:00
viv-fb Remove autotools build system 2019-10-13 14:15:43 +01:00
wayland gl/wayland: Mouse events handling 2020-03-19 09:59:47 +00:00
wgl gl: Decouple win32 window and wgl context 2020-02-18 20:10:03 +09:00
win32 glwindow/win32: Fix possible deadlock around key/mouse event handling 2020-07-08 13:41:07 +00:00
winrt glwindow/winrt: Add warning message if window is being closed from a UI thread 2020-07-10 11:46:56 +00:00
x11 gstglwindow_x11: fix resize 2020-06-12 01:36:22 +00:00
gl-prelude.h libs: fix API export/import and 'inconsistent linkage' on MSVC 2018-09-24 08:45:34 +01:00
gl.h gl: New pushsrc-based glbasesrc base class 2019-08-20 09:51:05 +01:00
gstgl_enums.h gl*memory: document new functionality and objects 2017-12-09 19:32:17 +00:00
gstgl_fwd.h gl: New pushsrc-based glbasesrc base class 2019-08-20 09:51:05 +01:00
gstglapi.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglapi.h gl: GstGLAPI should be gst_gl_api_ in lower-case 2018-10-04 14:50:43 +03:00
gstglbasefilter.c gl: fix application context querying between elements 2020-04-27 11:36:02 +10:00
gstglbasefilter.h glbasefilter: add support for changing the display 2020-03-03 02:11:52 +00:00
gstglbasememory.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglbasememory.h Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglbasesrc.c gl: Add since tags for new glbasesrc base class 2020-04-30 18:00:19 +01:00
gstglbasesrc.h gl: Add since tags for new glbasesrc base class 2020-04-30 18:00:19 +01:00
gstglbuffer.c gl: do not include GL headers in public gstgl headers 2017-12-09 19:32:29 +00:00
gstglbuffer.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglbufferpool.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglbufferpool.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglcolorconvert.c gl: add support for Y412_LE / Y412_BE format 2020-04-01 13:55:50 +08:00
gstglcolorconvert.h libs: gl: silence gir compiler 2020-05-29 13:35:56 +02:00
gstglconfig.h.meson gstgl: Add a new window type for WinRT 2019-08-28 02:25:11 +05:30
gstglcontext.c glcontext: add context is valid precondition to get_thread() 2020-03-26 11:25:44 +00:00
gstglcontext.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglcontext_private.h glframebuffer: Don't do expensive checks with low gst debug levels 2019-03-12 03:21:57 +00:00
gstgldebug.c gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstgldebug.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstgldisplay.c gldisplay: Fix context leak when removing a context from the display 2020-05-06 14:46:17 +00:00
gstgldisplay.h gldisplay: add support removing a context from the internal list 2020-03-03 02:11:52 +00:00
gstglfeature.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglfeature.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglfeature_private.h glfeature: move internal functions into a private header 2017-12-09 19:32:23 +00:00
gstglfilter.c gl: workaround gir warning 2020-05-19 10:37:59 +02:00
gstglfilter.h gl: workaround gir warning 2020-05-19 10:37:59 +02:00
gstglformat.c gl: add support for Y412_LE / Y412_BE format 2020-04-01 13:55:50 +08:00
gstglformat.h glimagesink: add support for P010 variants 2019-06-18 16:32:00 +08:00
gstglframebuffer.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglframebuffer.h Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally 2019-06-04 20:31:09 -04:00
gstglfuncs.h gst-gl: Remove duplicate declarations 2018-11-28 11:59:25 +00:00
gstglmemory.c gl: use gst_video_meta_set_alignment() 2019-11-02 13:05:43 +01:00
gstglmemory.h libs: gl: silence gir compiler 2020-05-29 13:35:56 +02:00
gstglmemorypbo.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglmemorypbo.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstgloverlaycompositor.c gloverlaycompositor: fix crash if buffer doesn't have video meta 2019-05-14 17:12:06 +00:00
gstgloverlaycompositor.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglpixelformat.c glfilter: rewrite subclasses for filter_texture() occuring on GL thread 2017-12-09 19:32:21 +00:00
gstglquery.c glquery: fix a possible unintialized value 2020-03-02 19:36:50 +11:00
gstglquery.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglrenderbuffer.c gl: do not include GL headers in public gstgl headers 2017-12-09 19:32:29 +00:00
gstglrenderbuffer.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglshader.c remove various useless linefeed in logs 2019-12-11 10:07:12 +01:00
gstglshader.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglshaderstrings.c glshader: fix default external-oes shaders 2019-05-07 18:43:49 +10:00
gstglshaderstrings.h gl: try to use highp precision where supported 2019-02-28 17:26:32 +11:00
gstglsl.c build: fix debug output werror build with newer gcc 2019-09-23 17:59:12 +10:00
gstglsl.h Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglsl_private.h gl: do not include GL headers in public gstgl headers 2017-12-09 19:32:29 +00:00
gstglslstage.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglslstage.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglsyncmeta.c gl: do not include GL headers in public gstgl headers 2017-12-09 19:32:29 +00:00
gstglsyncmeta.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglupload.c glupload: fix segfault 2020-03-26 14:06:13 +08:00
gstglupload.h libs: gl: silence gir compiler 2020-05-29 13:35:56 +02:00
gstglutils.c Pass the code through codespell 2019-08-30 13:05:36 +00:00
gstglutils.h gl: GST_EXPORT -> GST_GL_API 2018-03-13 12:10:29 +00:00
gstglutils_private.h glutils: fix matrix operations everywhere 2017-12-09 19:32:30 +00:00
gstglviewconvert.c glviewconvert: fix reset context for GL context change 2020-02-05 15:32:14 +11:00
gstglviewconvert.h gl/docs: add to new docs system 2019-05-21 01:49:48 +00:00
gstglwindow.c gst/gl: Add documentation for new scroll API 2020-04-30 18:00:19 +01:00
gstglwindow.h gl/navigation: Scroll events dispatch support 2020-03-19 09:59:47 +00:00
gstglwindow_private.h gl: add missing new header files 2017-12-09 19:32:29 +00:00
meson.build glwindow/winrt: Add window resize event handler 2020-07-10 11:46:56 +00:00