summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2010-09-06 15:16:16 +0200
committerEdward Hervey <bilboed@bilboed.com>2010-09-09 18:40:08 +0200
commit06738c15b77531ca53874df2b5d7401c1b57ea73 (patch)
treed129769152dc4a832baf9f1bec05bfcbe0dec49f
parent62d40fa0dbba1363c0f267e4f8f5d97201003947 (diff)
gstobject: avoid string creation when not needed
-rw-r--r--gst/gstobject.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/gst/gstobject.c b/gst/gstobject.c
index dabb894e0..02e7b4526 100644
--- a/gst/gstobject.c
+++ b/gst/gstobject.c
@@ -516,15 +516,22 @@ gst_object_dispatch_properties_changed (GObject * object,
{
GstObject *gst_object, *parent, *old_parent;
guint i;
- gchar *name;
+#ifndef GST_DISABLE_GST_DEBUG
+ gchar *name = NULL;
const gchar *debug_name;
+#endif
/* do the standard dispatching */
parent_class->dispatch_properties_changed (object, n_pspecs, pspecs);
gst_object = GST_OBJECT_CAST (object);
- name = gst_object_get_name (gst_object);
- debug_name = GST_STR_NULL (name);
+#ifndef GST_DISABLE_GST_DEBUG
+ if (G_UNLIKELY (__gst_debug_min >= GST_LEVEL_LOG)) {
+ name = gst_object_get_name (gst_object);
+ debug_name = GST_STR_NULL (name);
+ } else
+ debug_name = "";
+#endif
/* now let the parent dispatch those, too */
parent = gst_object_get_parent (gst_object);
@@ -541,7 +548,9 @@ gst_object_dispatch_properties_changed (GObject * object,
parent = gst_object_get_parent (old_parent);
gst_object_unref (old_parent);
}
+#ifndef GST_DISABLE_GST_DEBUG
g_free (name);
+#endif
}
/**