ext/x264/gstx264enc.c: Fix caps memleak.
authorWim Taymans <wim.taymans@gmail.com>
Tue, 11 Dec 2007 16:26:07 +0000 (16:26 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 11 Dec 2007 16:26:07 +0000 (16:26 +0000)
Original commit message from CVS:
* ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps):
Fix caps memleak.

ChangeLog
ext/x264/gstx264enc.c

index 28cce11c659cee3d68dbe9d13805ff0c259e43cd..40ee389d57da8dd0debfe283ed62424883e00f18 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-11  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * ext/x264/gstx264enc.c: (gst_x264_enc_set_src_caps):
+       Fix caps memleak.
+
 2007-12-11  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
index 70b94a70a5531602d2b1dcda46c9935be3f04964..92f003b3808e8d815e3f3416ad30cc647413bc56 100644 (file)
@@ -285,6 +285,8 @@ gst_x264_enc_set_src_caps (GstX264Enc * encoder, GstPad * pad, GstCaps * caps)
   GstStructure *structure;
   GValue header = { 0, };
   GstBuffer *buf;
+  GstCaps *outcaps;
+  gboolean res;
 
   structure = gst_caps_get_structure (caps, 0);
   structure = gst_structure_copy (structure);
@@ -301,8 +303,11 @@ gst_x264_enc_set_src_caps (GstX264Enc * encoder, GstPad * pad, GstCaps * caps)
     }
   }
 
-  /* FIXME: doesn't this leak? (tpm) */
-  return gst_pad_set_caps (pad, gst_caps_new_full (structure, NULL));
+  outcaps = gst_caps_new_full (structure, NULL);
+  res = gst_pad_set_caps (pad, outcaps);
+  gst_caps_unref (outcaps);
+
+  return res;
 }
 
 static gboolean