mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 03:00:35 +00:00
579db691ed
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> |
||
---|---|---|
.. | ||
gstglwindow_winrt_egl.cpp | ||
gstglwindow_winrt_egl.h |