From f64bafea59676b52b0f27ad02d5131e78a0ff11c Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Sun, 5 Feb 2012 18:24:08 +0100 Subject: [PATCH] plugins: fix pad template ref leaks. --- gst/vaapi/gstvaapidecode.c | 15 +++++++-------- gst/vaapi/gstvaapidownload.c | 15 +++++++-------- gst/vaapi/gstvaapisink.c | 8 ++++---- gst/vaapi/gstvaapiupload.c | 15 +++++++-------- 4 files changed, 25 insertions(+), 28 deletions(-) diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index c95bd98..ea6a0ef 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -408,20 +408,19 @@ static void gst_vaapidecode_base_init(gpointer klass) { GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); + GstPadTemplate *pad_template; gst_element_class_set_details(element_class, &gst_vaapidecode_details); /* sink pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapidecode_sink_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapidecode_sink_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); /* src pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapidecode_src_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapidecode_src_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); } static void diff --git a/gst/vaapi/gstvaapidownload.c b/gst/vaapi/gstvaapidownload.c index 3a5df38..a2af0a5 100644 --- a/gst/vaapi/gstvaapidownload.c +++ b/gst/vaapi/gstvaapidownload.c @@ -220,20 +220,19 @@ static void gst_vaapidownload_base_init(gpointer klass) { GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); + GstPadTemplate *pad_template; gst_element_class_set_details(element_class, &gst_vaapidownload_details); /* sink pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapidownload_sink_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapidownload_sink_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); /* src pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapidownload_src_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapidownload_src_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); } static void diff --git a/gst/vaapi/gstvaapisink.c b/gst/vaapi/gstvaapisink.c index 5fdf2d6..5958754 100644 --- a/gst/vaapi/gstvaapisink.c +++ b/gst/vaapi/gstvaapisink.c @@ -784,13 +784,13 @@ static void gst_vaapisink_base_init(gpointer klass) { GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); + GstPadTemplate *pad_template; gst_element_class_set_details(element_class, &gst_vaapisink_details); - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapisink_sink_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapisink_sink_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); } static void diff --git a/gst/vaapi/gstvaapiupload.c b/gst/vaapi/gstvaapiupload.c index 9ba7366..e768566 100644 --- a/gst/vaapi/gstvaapiupload.c +++ b/gst/vaapi/gstvaapiupload.c @@ -211,20 +211,19 @@ static void gst_vaapiupload_base_init(gpointer klass) { GstElementClass * const element_class = GST_ELEMENT_CLASS(klass); + GstPadTemplate *pad_template; gst_element_class_set_details(element_class, &gst_vaapiupload_details); /* sink pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapiupload_sink_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapiupload_sink_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); /* src pad */ - gst_element_class_add_pad_template( - element_class, - gst_static_pad_template_get(&gst_vaapiupload_src_factory) - ); + pad_template = gst_static_pad_template_get(&gst_vaapiupload_src_factory); + gst_element_class_add_pad_template(element_class, pad_template); + gst_object_unref(pad_template); } static void -- 2.7.4