From dc5414bd0dec67edc0ff6e6b758c131b960b387b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 3 Aug 2023 19:18:07 -0500 Subject: [PATCH] Force immediate destruction of the D3D11 swapchain Possible fix for #959 --- app/streaming/video/ffmpeg-renderers/d3d11va.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp index 23c7db65..45121990 100644 --- a/app/streaming/video/ffmpeg-renderers/d3d11va.cpp +++ b/app/streaming/video/ffmpeg-renderers/d3d11va.cpp @@ -141,6 +141,12 @@ D3D11VARenderer::~D3D11VARenderer() av_buffer_unref(&m_HwFramesContext); } + // Force destruction of the swapchain immediately + if (m_DeviceContext != nullptr) { + m_DeviceContext->ClearState(); + m_DeviceContext->Flush(); + } + if (m_HwDeviceContext != nullptr) { // This will release m_Device and m_DeviceContext too av_buffer_unref(&m_HwDeviceContext);