fixed memory leaks caused by no freeing caps
authorSejun Park <sejun79.park@samsung.com>
Fri, 13 Jan 2017 04:04:08 +0000 (13:04 +0900)
committerSejun Park <sejun79.park@samsung.com>
Fri, 13 Jan 2017 04:06:58 +0000 (13:06 +0900)
Change-Id: I9957cb2f44dc4acec6f6fd567367b5149748afbf

ext/libav/gstavauddec.c [changed mode: 0644->0755]
ext/libav/gstavaudenc.c [changed mode: 0644->0755]
ext/libav/gstavmux.c [changed mode: 0644->0755]
ext/libav/gstavviddec.c [changed mode: 0644->0755]
ext/libav/gstavvidenc.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 2418e00..119a97c
@@ -109,6 +109,9 @@ gst_ffmpegauddec_base_init (GstFFMpegAudDecClass * klass)
   gst_element_class_add_pad_template (element_class, srctempl);
   gst_element_class_add_pad_template (element_class, sinktempl);
 
+  gst_caps_unref (sinkcaps);
+  gst_caps_unref (srccaps);
+
   klass->in_plugin = in_plugin;
   klass->srctempl = srctempl;
   klass->sinktempl = sinktempl;
old mode 100644 (file)
new mode 100755 (executable)
index 0009ce1..f07ee3a
@@ -124,6 +124,9 @@ gst_ffmpegaudenc_base_init (GstFFMpegAudEncClass * klass)
   gst_element_class_add_pad_template (element_class, srctempl);
   gst_element_class_add_pad_template (element_class, sinktempl);
 
+  gst_caps_unref (sinkcaps);
+  gst_caps_unref (srccaps);
+
   klass->in_plugin = in_plugin;
   klass->srctempl = srctempl;
   klass->sinktempl = sinktempl;
old mode 100644 (file)
new mode 100755 (executable)
index 9c628b2..d2c464a
@@ -556,17 +556,20 @@ gst_ffmpegmux_base_init (gpointer g_class)
   /* pad templates */
   srctempl = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, srccaps);
   gst_element_class_add_pad_template (element_class, srctempl);
+  gst_caps_unref (srccaps);
 
   if (audiosinkcaps) {
     audiosinktempl = gst_pad_template_new ("audio_%u",
         GST_PAD_SINK, GST_PAD_REQUEST, audiosinkcaps);
     gst_element_class_add_pad_template (element_class, audiosinktempl);
+    gst_caps_unref (audiosinkcaps);
   }
 
   if (videosinkcaps) {
     videosinktempl = gst_pad_template_new ("video_%u",
         GST_PAD_SINK, GST_PAD_REQUEST, videosinkcaps);
     gst_element_class_add_pad_template (element_class, videosinktempl);
+    gst_caps_unref (videosinkcaps);
   }
 
 beach:
old mode 100644 (file)
new mode 100755 (executable)
index 027515e..d1f6485
@@ -194,6 +194,9 @@ gst_ffmpegviddec_base_init (GstFFMpegVidDecClass * klass)
   gst_element_class_add_pad_template (element_class, srctempl);
   gst_element_class_add_pad_template (element_class, sinktempl);
 
+  gst_caps_unref (sinkcaps);
+  gst_caps_unref (srccaps);
+
   klass->in_plugin = in_plugin;
 }
 
old mode 100644 (file)
new mode 100755 (executable)
index e161732..8ce1a7a
@@ -161,6 +161,9 @@ gst_ffmpegvidenc_base_init (GstFFMpegVidEncClass * klass)
   gst_element_class_add_pad_template (element_class, srctempl);
   gst_element_class_add_pad_template (element_class, sinktempl);
 
+  gst_caps_unref (sinkcaps);
+  gst_caps_unref (srccaps);
+
   klass->in_plugin = in_plugin;
   klass->srctempl = srctempl;
   klass->sinktempl = sinktempl;