dvdread,dvdsub: fix caps leak 36/136436/1 accepted/tizen/unified/20171212.171924 submit/tizen/20171212.053432
authorEunhae Choi <eunhae1.choi@samsung.com>
Thu, 29 Jun 2017 11:38:46 +0000 (20:38 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Thu, 29 Jun 2017 11:39:17 +0000 (20:39 +0900)
Change-Id: I76042ec6dbfd03e17042c7fcbc20ba45114ef83e

ext/dvdread/dvdreadsrc.c
gst/dvdsub/gstdvdsubparse.c

index 5c2b66a7ca3c801b6d4d0950f3dcaf082b5f14f3..4440f0b2513c080aeb217b674d19f82507b64d53 100644 (file)
@@ -109,6 +109,7 @@ gst_dvd_read_src_finalize (GObject * object)
 static void
 gst_dvd_read_src_init (GstDvdReadSrc * src)
 {
+  GstCaps *src_caps = gst_static_pad_template_get_caps (&srctemplate);
   src->dvd = NULL;
   src->vts_file = NULL;
   src->vmg_file = NULL;
@@ -127,8 +128,8 @@ gst_dvd_read_src_init (GstDvdReadSrc * src)
   src->pending_clut_event = NULL;
 
   gst_pad_use_fixed_caps (GST_BASE_SRC_PAD (src));
-  gst_pad_set_caps (GST_BASE_SRC_PAD (src),
-      gst_static_pad_template_get_caps (&srctemplate));
+  gst_pad_set_caps (GST_BASE_SRC_PAD (src), src_caps);
+  gst_caps_unref (src_caps);
 }
 
 static gboolean
index ea49e53bd5424fecd99546e16eca15d544c6577f..f68d0911e33921de41661059df7130a471524257 100644 (file)
@@ -97,6 +97,7 @@ gst_dvd_sub_parse_finalize (GObject * object)
 static void
 gst_dvd_sub_parse_init (GstDvdSubParse * parse)
 {
+  GstCaps *src_caps = gst_static_pad_template_get_caps (&src_template);
   parse->sinkpad = gst_pad_new_from_static_template (&sink_template, "sink");
   gst_pad_set_chain_function (parse->sinkpad,
       GST_DEBUG_FUNCPTR (gst_dvd_sub_parse_chain));
@@ -106,13 +107,13 @@ gst_dvd_sub_parse_init (GstDvdSubParse * parse)
 
   parse->srcpad = gst_pad_new_from_static_template (&src_template, "src");
   gst_pad_use_fixed_caps (parse->srcpad);
-  gst_pad_set_caps (parse->srcpad,
-      gst_static_pad_template_get_caps (&src_template));
+  gst_pad_set_caps (parse->srcpad, src_caps);
   gst_element_add_pad (GST_ELEMENT (parse), parse->srcpad);
 
   /* remainder */
   parse->adapter = gst_adapter_new ();
   gst_dvd_sub_parse_reset (parse);
+  gst_caps_unref (src_caps);
 }
 
 static void