From 02763b2fa206f7adf87a86a6c66ad4deba84e3bb Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Thu, 25 Aug 2011 14:55:14 +0100 Subject: [PATCH] theoraenc: fix caps leak https://bugzilla.gnome.org/show_bug.cgi?id=657333 --- ext/theora/gsttheoraenc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/theora/gsttheoraenc.c b/ext/theora/gsttheoraenc.c index acc5bd6..5caf262 100644 --- a/ext/theora/gsttheoraenc.c +++ b/ext/theora/gsttheoraenc.c @@ -627,7 +627,7 @@ theora_enc_sink_getcaps (GstPad * pad) peer = gst_pad_get_peer (encoder->srcpad); if (peer) { const GstCaps *templ_caps; - GstCaps *peer_caps; + GstCaps *peer_caps, *tmp_caps; GstStructure *s; guint i, n; @@ -645,8 +645,9 @@ theora_enc_sink_getcaps (GstPad * pad) templ_caps = gst_pad_get_pad_template_caps (pad); - caps = gst_caps_intersect (peer_caps, templ_caps); - caps = gst_caps_intersect (caps, theora_enc_src_caps); + tmp_caps = gst_caps_intersect (peer_caps, templ_caps); + caps = gst_caps_intersect (tmp_caps, theora_enc_src_caps); + gst_caps_unref (tmp_caps); gst_caps_unref (peer_caps); gst_object_unref (peer); peer = NULL; -- 2.7.4