d3d11videosink: Call ShowWindow() from window thread
authorSeungha Yang <seungha@centricular.com>
Fri, 16 Dec 2022 12:42:50 +0000 (21:42 +0900)
committerSeungha Yang <seungha@centricular.com>
Fri, 16 Dec 2022 13:18:14 +0000 (22:18 +0900)
commit04451b108a388eae5e6be0abbc2309f7cfa3d3ae
treea107617c8237a14a12cd14eedcc34fb9491ce804
parent0db1ff532d46be757c193b4dc3f0742c19d2d14d
d3d11videosink: Call ShowWindow() from window thread

... when rendering on external HWND. ShowWindow() will cause
synchronous message passing to window thread and then can be blocked.
At the same time, window thread can wait for GStreamer thread.
Instead of the synchronous call, queue the task to window message
and performs from the window thread.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3583>
subprojects/gst-plugins-bad/sys/d3d11/gstd3d11window_win32.cpp