mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-02 18:23:56 +00:00
GESTimelineObject: new API : _find_track_object
This allows getting the TrackObject for a corresponding TimelineObject and Track combination
This commit is contained in:
parent
15be8b3847
commit
62c24ee380
3 changed files with 38 additions and 0 deletions
|
@ -148,6 +148,7 @@ GES_TIMELINE_OBJECT_START
|
||||||
ges_timeline_object_set_inpoint
|
ges_timeline_object_set_inpoint
|
||||||
ges_timeline_object_set_start
|
ges_timeline_object_set_start
|
||||||
ges_timeline_object_set_duration
|
ges_timeline_object_set_duration
|
||||||
|
ges_timeline_object_find_track_object
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
ges_timeline_object_create_track_object
|
ges_timeline_object_create_track_object
|
||||||
ges_timeline_object_fill_track_object
|
ges_timeline_object_fill_track_object
|
||||||
|
|
|
@ -359,3 +359,36 @@ ges_timeline_object_set_priority (GESTimelineObject * object, guint priority)
|
||||||
object->priority = priority;
|
object->priority = priority;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ges_timeline_object_find_track_object:
|
||||||
|
* @object: a #GESTimelineObject
|
||||||
|
* @track: a #GESTrack
|
||||||
|
*
|
||||||
|
* Finds the #GESTrackObject controlled by @object that is used in @track.
|
||||||
|
*
|
||||||
|
* Note: The reference count of the returned #GESTrackObject will be increased,
|
||||||
|
* unref when done with it.
|
||||||
|
*
|
||||||
|
* Returns: The #GESTrackObject used by @track, else #NULL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
GESTrackObject *
|
||||||
|
ges_timeline_object_find_track_object (GESTimelineObject * object,
|
||||||
|
GESTrack * track)
|
||||||
|
{
|
||||||
|
GESTrackObject *ret = NULL;
|
||||||
|
|
||||||
|
if (G_LIKELY (object->trackobjects)) {
|
||||||
|
GList *tmp;
|
||||||
|
|
||||||
|
for (tmp = object->trackobjects; tmp; tmp = g_list_next (tmp))
|
||||||
|
if (GES_TRACK_OBJECT (tmp->data)->track == track) {
|
||||||
|
ret = GES_TRACK_OBJECT (tmp->data);
|
||||||
|
g_object_ref (ret);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
|
@ -161,6 +161,10 @@ ges_timeline_object_fill_track_object (GESTimelineObject * object,
|
||||||
GESTrackObject * trackobj,
|
GESTrackObject * trackobj,
|
||||||
GstElement * gnlobj);
|
GstElement * gnlobj);
|
||||||
|
|
||||||
|
GESTrackObject *
|
||||||
|
ges_timeline_object_find_track_object (GESTimelineObject * object,
|
||||||
|
GESTrack * track);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* _GES_TIMELINE_OBJECT */
|
#endif /* _GES_TIMELINE_OBJECT */
|
||||||
|
|
Loading…
Reference in a new issue