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);