From ff9ee1dc5ac0c18e0f886663a7bcd5dd063f3f25 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Tue, 7 Apr 2009 22:38:29 +0300 Subject: audiofilter: don't leak pad-template gst_element_class_add_pad_template() does not take ownership. --- gst-libs/gst/audio/gstaudiofilter.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c index 9c329bfb0..7d21e1487 100644 --- a/gst-libs/gst/audio/gstaudiofilter.c +++ b/gst-libs/gst/audio/gstaudiofilter.c @@ -220,16 +220,19 @@ gst_audio_filter_class_add_pad_templates (GstAudioFilterClass * klass, const GstCaps * allowed_caps) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + GstPadTemplate *pad_template; g_return_if_fail (GST_IS_AUDIO_FILTER_CLASS (klass)); g_return_if_fail (allowed_caps != NULL); g_return_if_fail (GST_IS_CAPS (allowed_caps)); - gst_element_class_add_pad_template (element_class, - gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, - gst_caps_copy (allowed_caps))); + pad_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, + gst_caps_copy (allowed_caps)); + gst_element_class_add_pad_template (element_class, pad_template); + gst_object_unref (pad_template); - gst_element_class_add_pad_template (element_class, - gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - gst_caps_copy (allowed_caps))); + pad_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, + gst_caps_copy (allowed_caps)); + gst_element_class_add_pad_template (element_class, pad_template); + gst_object_unref (pad_template); } -- cgit v1.2.3