From e243a41165ed76937610e9c79ae4b0f36bfb4169 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 14 Dec 2009 11:05:41 +0200 Subject: [PATCH] gstelementfactory: set object name earlier if applicable Setting an object name is nice for proper debug logging. Ideally this would still happens earlier (.e.g when pads are added to an element, its not yet set). --- gst/gstelementfactory.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c index 0cdb5ff..3a87790 100644 --- a/gst/gstelementfactory.c +++ b/gst/gstelementfactory.c @@ -405,8 +405,14 @@ gst_element_factory_create (GstElementFactory * factory, const gchar * name) if (factory->type == 0) goto no_type; - /* create an instance of the element, cast so we don't assert on NULL */ - element = GST_ELEMENT_CAST (g_object_newv (factory->type, 0, NULL)); + /* create an instance of the element, cast so we don't assert on NULL + * also set name as early as we can + */ + if (name) + element = + GST_ELEMENT_CAST (g_object_new (factory->type, "name", name, NULL)); + else + element = GST_ELEMENT_CAST (g_object_newv (factory->type, 0, NULL)); if (G_UNLIKELY (element == NULL)) goto no_element; @@ -420,9 +426,6 @@ gst_element_factory_create (GstElementFactory * factory, const gchar * name) (gpointer) & oclass->elementfactory, NULL, factory)) gst_object_unref (factory); - if (name) - gst_object_set_name (GST_OBJECT_CAST (element), name); - GST_DEBUG ("created element \"%s\"", GST_PLUGIN_FEATURE_NAME (factory)); return element; -- 2.7.4