Skip to content

d3d11: Fix deadlock while doing unprepare

Wonchul Lee requested to merge wonchul/gstreamer:fix_d3d11 into main

ShowWindow() could be blocked while doing gst_d3d11_window_win32_unprepare when external window handle provided to d3d11videosink in multi-threaded environment. The condition that issue happened is, UI thread is waiting for a background thread that changes d3d11videosink state to NULL, and the background thread would try to send a window message to the queue. The queue is already occupied by the UI thread, so the background thread will be blocked.

Fixes: #894 (closed)

Edited by Seungha Yang

Merge request reports