From d1d31dae6d9266a6723ff42ea8fd1fe2785779dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 18 Feb 2015 12:45:22 +0200 Subject: [PATCH] d3dvideosink: Deactivate the fallback pool and unref the fallback buffer when resetting Otherwise we will still have a reference to the surface left, which would prevent activating the sink again later. E.g. after we lost the device. Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=744615 --- sys/d3dvideosink/d3dhelpers.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c index 312b913a89..b131666b66 100644 --- a/sys/d3dvideosink/d3dhelpers.c +++ b/sys/d3dvideosink/d3dhelpers.c @@ -1342,6 +1342,10 @@ d3d_release_swap_chain (GstD3DVideoSink * sink) goto end; } + gst_buffer_replace (&sink->fallback_buffer, NULL); + if (sink->fallback_pool) + gst_buffer_pool_set_active (sink->fallback_pool, FALSE); + if (sink->d3d.swapchain) { ref_count = IDirect3DSwapChain9_Release (sink->d3d.swapchain); sink->d3d.swapchain = NULL;