From 020da4c577d2aa630eee435dbc7a8e5e3ed42fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 22 Dec 2012 16:18:14 +0100 Subject: [PATCH] d3dvideosink: Fix caps leak --- sys/d3dvideosink/d3dvideosink.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/d3dvideosink/d3dvideosink.c b/sys/d3dvideosink/d3dvideosink.c index 646564a20c..9926306536 100644 --- a/sys/d3dvideosink/d3dvideosink.c +++ b/sys/d3dvideosink/d3dvideosink.c @@ -193,6 +193,7 @@ gst_d3dvideosink_finalize (GObject * gobject) GST_DEBUG_OBJECT (sink, " "); d3d_class_destroy (sink); + gst_caps_replace (&sink->supported_caps, NULL); g_rec_mutex_clear (&sink->lock); @@ -557,6 +558,7 @@ gst_d3dvideosink_set_caps (GstBaseSink * bsink, GstCaps * caps) if (!gst_caps_can_intersect (sink_caps, caps)) goto incompatible_caps; + gst_caps_replace (&sink_caps, NULL); memset (&sink->info, 0, sizeof (GstVideoInfo)); if (!gst_video_info_from_caps (&sink->info, caps)) @@ -644,6 +646,7 @@ gst_d3dvideosink_set_caps (GstBaseSink * bsink, GstCaps * caps) incompatible_caps: { GST_ERROR_OBJECT (sink, "caps incompatible"); + gst_caps_unref (sink_caps); return FALSE; } invalid_format: