From: Vincent Penquerc'h Date: Thu, 25 Aug 2011 13:55:14 +0000 (+0100) Subject: theoraenc: fix caps leak X-Git-Tag: 1.19.3~511^2~6555^2~606 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02763b2fa206f7adf87a86a6c66ad4deba84e3bb;p=platform%2Fupstream%2Fgstreamer.git theoraenc: fix caps leak https://bugzilla.gnome.org/show_bug.cgi?id=657333 --- 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;