From cf3fdbe4c06b19d668a4c764a63b2d7143e3a644 Mon Sep 17 00:00:00 2001 From: Niels De Graef Date: Mon, 5 Nov 2018 12:24:01 +0100 Subject: [PATCH] typefind: cleanup (un)reffing of several objects. By using these functions, we can shave off a few lines, and make the intent of that line more clear. --- plugins/elements/gsttypefindelement.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/plugins/elements/gsttypefindelement.c b/plugins/elements/gsttypefindelement.c index 55512f3b0c..b048f017bc 100644 --- a/plugins/elements/gsttypefindelement.c +++ b/plugins/elements/gsttypefindelement.c @@ -221,9 +221,7 @@ gst_type_find_element_emit_have_type (GstTypeFindElement * typefind, * honored in all "have-type" signal handlers. */ GST_OBJECT_LOCK (typefind); - if (typefind->caps) - gst_caps_unref (typefind->caps); - typefind->caps = gst_caps_ref (caps); + gst_caps_replace (&typefind->caps, caps); GST_OBJECT_UNLOCK (typefind); /* Only store the caps event at this point. We give signal handlers @@ -340,15 +338,8 @@ gst_type_find_element_dispose (GObject * object) { GstTypeFindElement *typefind = GST_TYPE_FIND_ELEMENT (object); - if (typefind->adapter) { - g_object_unref (typefind->adapter); - typefind->adapter = NULL; - } - - if (typefind->force_caps) { - gst_caps_unref (typefind->force_caps); - typefind->force_caps = NULL; - } + gst_clear_object (&typefind->adapter); + gst_clear_caps (&typefind->force_caps); G_OBJECT_CLASS (parent_class)->dispose (object); } @@ -367,9 +358,7 @@ gst_type_find_element_set_property (GObject * object, guint prop_id, break; case PROP_FORCE_CAPS: GST_OBJECT_LOCK (typefind); - if (typefind->force_caps) - gst_caps_unref (typefind->force_caps); - typefind->force_caps = g_value_dup_boxed (value); + gst_caps_take (&typefind->force_caps, g_value_dup_boxed (value)); GST_OBJECT_UNLOCK (typefind); break; default: