summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Nowicki <r.nowicki@sims.pl>2015-02-25 14:48:59 +0100
committerSebastian Dröge <sebastian@centricular.com>2015-02-26 14:38:26 +0200
commit645a0c6d677c0841bb489a10776acd4304e0948c (patch)
tree7f30c6ee74a32d9e1850f4850e413de5eb058e97
parent7052ebc18300cc17f083dc4f9bbc84bb252b0a39 (diff)
downloadgstreamer-plugins-bad-645a0c6d677c0841bb489a10776acd4304e0948c.tar.gz
d3dvideosink: release existing D3D swap chain on init
https://bugzilla.gnome.org/show_bug.cgi?id=745159
-rw-r--r--sys/d3dvideosink/d3dhelpers.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c
index b9e911526..28815d6f2 100644
--- a/sys/d3dvideosink/d3dhelpers.c
+++ b/sys/d3dvideosink/d3dhelpers.c
@@ -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;