ges: track-element: Set the nleobject as soon as possible

Some subclasses might need to have access to it when configuring their
element

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735>
This commit is contained in:
Thibault Saunier 2023-07-14 09:08:21 -04:00 committed by GStreamer Marge Bot
parent 30cc16d670
commit 90218243d2

View file

@ -304,9 +304,11 @@ ges_track_element_set_asset (GESExtractable * extractable, GESAsset * asset)
gst_object_set_name (GST_OBJECT (nleobject), tmp);
g_free (tmp);
object->priv->nleobject = gst_object_ref (nleobject);
g_object_set_qdata (G_OBJECT (nleobject), NLE_OBJECT_TRACK_ELEMENT_QUARK,
object);
if (!object->priv->nleobject) {
object->priv->nleobject = gst_object_ref (nleobject);
g_object_set_qdata (G_OBJECT (nleobject), NLE_OBJECT_TRACK_ELEMENT_QUARK,
object);
}
/* Set some properties on the NleObject */
g_object_set (object->priv->nleobject,
@ -1009,6 +1011,10 @@ ges_track_element_create_gnl_object_func (GESTrackElement * self)
if (G_UNLIKELY (nleobject == NULL))
goto no_nleobject;
self->priv->nleobject = gst_object_ref (nleobject);
g_object_set_qdata (G_OBJECT (nleobject), NLE_OBJECT_TRACK_ELEMENT_QUARK,
self);
if (klass->create_element) {
GST_DEBUG ("Calling subclass 'create_element' vmethod");
child = klass->create_element (self);