From 8154b22a88a4b9bed71ddaab95e63cbebcf054b2 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Sun, 8 Dec 2019 16:39:16 +0900 Subject: [PATCH] d3d11window: Clear old swapchain per prepare _prepare() might be called multiple times for given window, so clear old swapchain if any. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1138 --- sys/d3d11/gstd3d11window.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/d3d11/gstd3d11window.c b/sys/d3d11/gstd3d11window.c index 9823972b4c..ab83f0a748 100644 --- a/sys/d3d11/gstd3d11window.c +++ b/sys/d3d11/gstd3d11window.c @@ -1089,6 +1089,11 @@ gst_d3d11_window_prepare (GstD3D11Window * window, guint width, guint height, } #endif + if (window->swap_chain) { + gst_d3d11_device_thread_add (window->device, + (GstD3D11DeviceThreadFunc) gst_d3d11_window_release_resources, window); + } + window->aspect_ratio_n = aspect_ratio_n; window->aspect_ratio_d = aspect_ratio_d;