From 2f127d6af473afd647a2c88f75faafd1cd718437 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Mon, 6 Feb 2012 16:11:38 +0100 Subject: [PATCH] vaapidecode: fix another pad template ref leak. --- gst/vaapi/gstvaapidecode.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index ea6a0ef130..eaa79a26c6 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -712,6 +712,7 @@ static void gst_vaapidecode_init(GstVaapiDecode *decode, GstVaapiDecodeClass *klass) { GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); + GstPadTemplate *pad_template; decode->display = NULL; decode->decoder = NULL; @@ -723,10 +724,9 @@ gst_vaapidecode_init(GstVaapiDecode *decode, GstVaapiDecodeClass *klass) decode->is_ready = FALSE; /* Pad through which data comes in to the element */ - decode->sinkpad = gst_pad_new_from_template( - gst_element_class_get_pad_template(element_class, "sink"), - "sink" - ); + pad_template = gst_element_class_get_pad_template(element_class, "sink"); + decode->sinkpad = gst_pad_new_from_template(pad_template, "sink"); + gst_object_unref(pad_template); decode->sinkpad_caps = NULL; gst_pad_set_getcaps_function(decode->sinkpad, gst_vaapidecode_get_caps); @@ -737,10 +737,9 @@ gst_vaapidecode_init(GstVaapiDecode *decode, GstVaapiDecodeClass *klass) gst_element_add_pad(GST_ELEMENT(decode), decode->sinkpad); /* Pad through which data goes out of the element */ - decode->srcpad = gst_pad_new_from_template( - gst_element_class_get_pad_template(element_class, "src"), - "src" - ); + pad_template = gst_element_class_get_pad_template(element_class, "src"); + decode->srcpad = gst_pad_new_from_template(pad_template, "src"); + gst_object_unref(pad_template); decode->srcpad_caps = NULL; gst_pad_use_fixed_caps(decode->srcpad);