d3dvideosink: release existing D3D swap chain on init
authorRoman Nowicki <r.nowicki@sims.pl>
Wed, 25 Feb 2015 13:48:59 +0000 (14:48 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 25 Feb 2015 14:19:57 +0000 (16:19 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=745159

sys/d3dvideosink/d3dhelpers.c

index b9e9115..28815d6 100644 (file)
@@ -1313,6 +1313,10 @@ d3d_init_swap_chain (GstD3DVideoSink * sink, HWND hWnd)
   GST_DEBUG ("Direct3D stretch rect texture filter: %d", d3d_filtertype);
 
   sink->d3d.filtertype = d3d_filtertype;
+
+  if (sink->d3d.swapchain != NULL)
+    IDirect3DSwapChain9_Release (sink->d3d.swapchain);
+
   sink->d3d.swapchain = d3d_swapchain;
 
   ret = TRUE;