From: <en...@ke...> - 2009-04-07 19:53:49
|
Module: gst-plugins-base Branch: master Commit: ff9ee1dc5ac0c18e0f886663a7bcd5dd063f3f25 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=ff9ee1dc5ac0c18e0f886663a7bcd5dd063f3f25 Author: Stefan Kost <en...@us...> Date: Tue Apr 7 22:38:29 2009 +0300 audiofilter: don't leak pad-template gst_element_class_add_pad_template() does not take ownership. --- gst-libs/gst/audio/gstaudiofilter.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c index 9c329bf..7d21e14 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); } |