d3dvideosink: rendering stops after Ctrl-Alt-Del or UAC
d3dvideosink stops rendering if the user presses Ctrl-Alt-Del to display the Windows Security menu, or if the UAC prompt is displayed. This can be reproduced with GStreamer 1.18.4 using:
gst-launch-1.0 videotestsrc ! d3dvideosink
and then pressing Ctrl-Alt-Del.
If debug logging is enabled, the following log messages are displayed:
0:00:04.672891000 11124 000001C1EFDA0700 WARN d3dvideosink d3dhelpers.c:1284:d3d_notify_device_lost:<d3dvideosink0> D3D Device has been lost. Clean up resources.
0:00:04.680282000 11124 000001C1EFDA0700 DEBUG d3dvideosink d3dhelpers.c:1413:d3d_release_swap_chain:<d3dvideosink0> Releasing Direct3D swap chain
0:00:04.686071000 11124 000001C1EFDA0700 DEBUG d3dvideosink d3dhelpers.c:1428:d3d_release_swap_chain:<d3dvideosink0> D3D swapchain released. Ref count: 0
0:00:04.692222000 11124 000001C1EFDA0700 DEBUG d3dvideosink d3dhelpers.c:1434:d3d_release_swap_chain:<d3dvideosink0> D3D surface released. Ref count: 1
(gst-launch-1.0:11124): GStreamer-CRITICAL **: 11:42:17.579: gst_element_call_async: assertion 'GST_IS_ELEMENT (element)' failed
There was a similar issue that was fixed in 2015, but it seems to have regressed. https://bugzilla.gnome.org/show_bug.cgi?id=744615