mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
timeline: Add a method to easily check if a timeline is empty
API: + ges_timeline_is_empty
This commit is contained in:
parent
78913931b2
commit
97c56da95b
3 changed files with 31 additions and 0 deletions
|
@ -376,6 +376,7 @@ ges_timeline_set_auto_transition
|
||||||
ges_timeline_get_snapping_distance
|
ges_timeline_get_snapping_distance
|
||||||
ges_timeline_set_snapping_distance
|
ges_timeline_set_snapping_distance
|
||||||
ges_timeline_get_element
|
ges_timeline_get_element
|
||||||
|
ges_timeline_is_empty
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GESTimelinePrivate
|
GESTimelinePrivate
|
||||||
GESTimelineClass
|
GESTimelineClass
|
||||||
|
|
|
@ -3187,3 +3187,32 @@ ges_timeline_get_element (GESTimeline * timeline, const gchar * name)
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ges_timeline_is_empty:
|
||||||
|
* @timeline: a #GESTimeline
|
||||||
|
*
|
||||||
|
* Check whether a #GESTimelineElement is empty or not
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if the timeline is empty %FALSE otherwize
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
ges_timeline_is_empty (GESTimeline * timeline)
|
||||||
|
{
|
||||||
|
GHashTableIter iter;
|
||||||
|
gpointer key, value;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GES_IS_TIMELINE (timeline), FALSE);
|
||||||
|
|
||||||
|
if (g_hash_table_size (timeline->priv->all_elements) == 0)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
g_hash_table_iter_init (&iter, timeline->priv->all_elements);
|
||||||
|
while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||||
|
if (GES_IS_SOURCE (value) &&
|
||||||
|
ges_track_element_is_active (GES_TRACK_ELEMENT (value)))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
|
@ -126,6 +126,7 @@ void ges_timeline_set_auto_transition (GESTimeline * timeline, gboolean auto_tra
|
||||||
GstClockTime ges_timeline_get_snapping_distance (GESTimeline * timeline);
|
GstClockTime ges_timeline_get_snapping_distance (GESTimeline * timeline);
|
||||||
void ges_timeline_set_snapping_distance (GESTimeline * timeline, GstClockTime snapping_distance);
|
void ges_timeline_set_snapping_distance (GESTimeline * timeline, GstClockTime snapping_distance);
|
||||||
GESTimelineElement * ges_timeline_get_element (GESTimeline * timeline, const gchar *name);
|
GESTimelineElement * ges_timeline_get_element (GESTimeline * timeline, const gchar *name);
|
||||||
|
gboolean ges_timeline_is_empty (GESTimeline * timeline);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue