mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-10 17:35:59 +00:00
timeline: Add a method to retrieve a pad from a track
It allows user to easily get the proxied pad from a track. API: + ges_timeline_get_pad_for_track
This commit is contained in:
parent
cc84b63305
commit
b752eea818
3 changed files with 35 additions and 0 deletions
|
@ -363,6 +363,7 @@ ges_timeline_is_updating
|
||||||
ges_timeline_get_tracks
|
ges_timeline_get_tracks
|
||||||
ges_timeline_get_layers
|
ges_timeline_get_layers
|
||||||
ges_timeline_get_track_for_pad
|
ges_timeline_get_track_for_pad
|
||||||
|
ges_timeline_get_pad_for_track
|
||||||
ges_timeline_get_duration
|
ges_timeline_get_duration
|
||||||
ges_timeline_get_project
|
ges_timeline_get_project
|
||||||
ges_timeline_get_auto_transition
|
ges_timeline_get_auto_transition
|
||||||
|
|
|
@ -2961,6 +2961,39 @@ ges_timeline_get_track_for_pad (GESTimeline * timeline, GstPad * pad)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ges_timeline_get_pad_for_track:
|
||||||
|
* @timeline: The #GESTimeline
|
||||||
|
* @track: The #GESTrack
|
||||||
|
*
|
||||||
|
* Search the #GstPad corresponding to the given @timeline's @track.
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): The corresponding #GstPad if it is found,
|
||||||
|
* or %NULL if there is an error.
|
||||||
|
*/
|
||||||
|
|
||||||
|
GstPad *
|
||||||
|
ges_timeline_get_pad_for_track (GESTimeline * timeline, GESTrack * track)
|
||||||
|
{
|
||||||
|
GList *tmp;
|
||||||
|
|
||||||
|
LOCK_DYN (timeline);
|
||||||
|
for (tmp = timeline->priv->priv_tracks; tmp; tmp = g_list_next (tmp)) {
|
||||||
|
TrackPrivate *tr_priv = (TrackPrivate *) tmp->data;
|
||||||
|
|
||||||
|
if (track == tr_priv->track) {
|
||||||
|
if (tr_priv->ghostpad)
|
||||||
|
gst_object_ref (tr_priv->ghostpad);
|
||||||
|
|
||||||
|
UNLOCK_DYN (timeline);
|
||||||
|
return tr_priv->ghostpad;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UNLOCK_DYN (timeline);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ges_timeline_get_tracks:
|
* ges_timeline_get_tracks:
|
||||||
* @timeline: a #GESTimeline
|
* @timeline: a #GESTimeline
|
||||||
|
|
|
@ -114,6 +114,7 @@ gboolean ges_timeline_add_track (GESTimeline *timeline, GESTrack *track);
|
||||||
gboolean ges_timeline_remove_track (GESTimeline *timeline, GESTrack *track);
|
gboolean ges_timeline_remove_track (GESTimeline *timeline, GESTrack *track);
|
||||||
|
|
||||||
GESTrack * ges_timeline_get_track_for_pad (GESTimeline *timeline, GstPad *pad);
|
GESTrack * ges_timeline_get_track_for_pad (GESTimeline *timeline, GstPad *pad);
|
||||||
|
GstPad * ges_timeline_get_pad_for_track (GESTimeline * timeline, GESTrack *track);
|
||||||
GList *ges_timeline_get_tracks (GESTimeline *timeline);
|
GList *ges_timeline_get_tracks (GESTimeline *timeline);
|
||||||
|
|
||||||
gboolean ges_timeline_commit (GESTimeline * timeline);
|
gboolean ges_timeline_commit (GESTimeline * timeline);
|
||||||
|
|
Loading…
Reference in a new issue