track-element: Set a reference to the GESTrackElement on the GnlObjects using qdata

This commit is contained in:
Thibault Saunier 2013-03-30 19:01:26 +01:00
parent 55b7628382
commit 58aba118a6
2 changed files with 5 additions and 0 deletions

View file

@ -262,6 +262,7 @@ GList* ges_clip_create_track_elements (GESClip *clip, GESTrackType t
/****************************************************
* GESTrackElement *
****************************************************/
#define GNL_OBJECT_TRACK_ELEMENT_QUARK (g_quark_from_string ("gnl_object_track_element_quark"))
G_GNUC_INTERNAL gboolean ges_track_element_set_track (GESTrackElement * object, GESTrack * track);
G_GNUC_INTERNAL guint32 _ges_track_element_get_layer_priority (GESTrackElement * element);

View file

@ -184,6 +184,8 @@ ges_track_element_dispose (GObject * object)
gst_element_set_state (priv->gnlobject, GST_STATE_NULL);
}
g_object_set_qdata (G_OBJECT (priv->gnlobject),
GNL_OBJECT_TRACK_ELEMENT_QUARK, NULL);
gst_object_unref (priv->gnlobject);
priv->gnlobject = NULL;
}
@ -563,6 +565,8 @@ ensure_gnl_object (GESTrackElement * object)
GST_DEBUG_OBJECT (object, "Got a valid GnlObject, now filling it in");
object->priv->gnlobject = gst_object_ref (gnlobject);
g_object_set_qdata (G_OBJECT (gnlobject), GNL_OBJECT_TRACK_ELEMENT_QUARK,
object);
if (object->priv->timelineobj)
res = ges_clip_fill_track_element (object->priv->timelineobj,