diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2015-02-18 12:45:22 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2015-02-18 12:45:22 +0200 |
commit | d1d31dae6d9266a6723ff42ea8fd1fe2785779dc (patch) | |
tree | 60b6de7193b16724ff2aa6110ec099875b29c247 | |
parent | f79d9522c5456eb950c7613a392240eea69b787f (diff) |
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
-rw-r--r-- | sys/d3dvideosink/d3dhelpers.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c index 312b913a8..b131666b6 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; |