mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
registry: fill in elementfactory when registering element
elementfactory field is filled in by gst_element_base_class_init, but it needs some info set on the element's type, so have it available prior to class structure creation spinning up. This affects elements that have a well-known/public type (e.g. pipeline) and can be created by other means than gst_element_factory_make (which will also fill in the element's factory).
This commit is contained in:
parent
b0c1ebbd08
commit
1b6da398fb
1 changed files with 2 additions and 1 deletions
|
@ -286,6 +286,8 @@ gst_element_register (GstPlugin * plugin, const gchar * name, guint rank,
|
|||
GST_LOG_OBJECT (factory, "Created new elementfactory for type %s",
|
||||
g_type_name (type));
|
||||
|
||||
/* provide info needed during class structure setup */
|
||||
g_type_set_qdata (type, _gst_elementclass_factory, factory);
|
||||
klass = GST_ELEMENT_CLASS (g_type_class_ref (type));
|
||||
if ((klass->details.longname == NULL) ||
|
||||
(klass->details.klass == NULL) || (klass->details.author == NULL))
|
||||
|
@ -306,7 +308,6 @@ gst_element_register (GstPlugin * plugin, const gchar * name, guint rank,
|
|||
g_list_append (factory->staticpadtemplates, newt);
|
||||
}
|
||||
factory->numpadtemplates = klass->numpadtemplates;
|
||||
g_type_set_qdata (type, _gst_elementclass_factory, factory);
|
||||
|
||||
/* special stuff for URI handling */
|
||||
if (g_type_is_a (type, GST_TYPE_URI_HANDLER)) {
|
||||
|
|
Loading…
Reference in a new issue