diff --git a/subprojects/gst-editing-services/ges/ges-effect-asset.c b/subprojects/gst-editing-services/ges/ges-effect-asset.c index a64db3eff5..eaa75ec550 100644 --- a/subprojects/gst-editing-services/ges/ges-effect-asset.c +++ b/subprojects/gst-editing-services/ges/ges-effect-asset.c @@ -398,10 +398,9 @@ ges_effect_asset_id_get_type_and_bindesc (const char *id, } for (tmp = GST_BIN_CHILDREN (effect); tmp; tmp = tmp->next) { - GstElementFactory *factory = - gst_element_get_factory (GST_ELEMENT (tmp->data)); const gchar *klass = - gst_element_factory_get_metadata (factory, GST_ELEMENT_METADATA_KLASS); + gst_element_class_get_metadata (GST_ELEMENT_GET_CLASS (tmp->data), + GST_ELEMENT_METADATA_KLASS); if (g_strrstr (klass, "Effect") || g_strrstr (klass, "Filter")) { if (g_strrstr (klass, "Audio")) { diff --git a/subprojects/gst-editing-services/ges/ges-track-element.c b/subprojects/gst-editing-services/ges/ges-track-element.c index ca14e77387..bbcc14caa4 100644 --- a/subprojects/gst-editing-services/ges/ges-track-element.c +++ b/subprojects/gst-editing-services/ges/ges-track-element.c @@ -1084,11 +1084,10 @@ ges_track_element_add_child_props (GESTrackElement * self, guint i; factory = gst_element_get_factory (child); - /* FIXME: handle NULL factory */ - klass = gst_element_factory_get_metadata (factory, + klass = gst_element_class_get_metadata (GST_ELEMENT_GET_CLASS (child), GST_ELEMENT_METADATA_KLASS); - if (strv_find_str (blacklist, GST_OBJECT_NAME (factory))) { + if (factory && strv_find_str (blacklist, GST_OBJECT_NAME (factory))) { GST_DEBUG_OBJECT (self, "%s blacklisted", GST_OBJECT_NAME (factory)); return; }