diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2014-07-02 10:31:49 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2014-07-02 10:33:15 +0200 |
commit | 25974ac0a97e28e59a6f0aa95ec1b52acf636fa2 (patch) | |
tree | f91a60f9196a540a881665839f40e12016edad6d /sys/d3dvideosink/d3dhelpers.c | |
parent | 28d250ec3f5463d801b1112794d6f0f22a36e61d (diff) | |
download | gstreamer-plugins-bad-25974ac0a97e28e59a6f0aa95ec1b52acf636fa2.tar.gz |
d3dvideosink: Don't leak all surfaces
This was broken when disabling the buffer pool exporting.
Also disable buffer pool a bit more efficient...
Diffstat (limited to 'sys/d3dvideosink/d3dhelpers.c')
-rw-r--r-- | sys/d3dvideosink/d3dhelpers.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c index c9b0d1b71..03ed6ee96 100644 --- a/sys/d3dvideosink/d3dhelpers.c +++ b/sys/d3dvideosink/d3dhelpers.c @@ -1881,13 +1881,9 @@ d3d_render_buffer (GstD3DVideoSink * sink, GstBuffer * buf) surface = ((GstD3DSurfaceMemory *) mem)->surface; -#ifndef DISABLE_BUFFER_POOL /* Need to keep an additional ref until the next buffer * to make sure it isn't reused until then */ sink->fallback_buffer = buf; -#else - sink->fallback_buffer = NULL; -#endif } else { mem = gst_buffer_peek_memory (buf, 0); surface = ((GstD3DSurfaceMemory *) mem)->surface; @@ -1900,9 +1896,7 @@ d3d_render_buffer (GstD3DVideoSink * sink, GstBuffer * buf) if (sink->d3d.surface) IDirect3DSurface9_Release (sink->d3d.surface); -#ifndef DISABLE_BUFFER_POOL IDirect3DSurface9_AddRef (surface); -#endif sink->d3d.surface = surface; if (!d3d_present_swap_chain (sink)) { |