}
}
- if (_ges_track_element_get_layer_priority (self->next_source) !=
- _ges_track_element_get_layer_priority (self->previous_source)) {
+ if (GES_TIMELINE_ELEMENT_LAYER_PRIORITY (self->next_source) !=
+ GES_TIMELINE_ELEMENT_LAYER_PRIORITY (self->previous_source)) {
GST_DEBUG_OBJECT (self, "Destroy changed layer");
g_signal_emit (self, auto_transition_signals[DESTROY_ME], 0);
return;
g_object_notify_by_pspec (G_OBJECT (clip), properties[PROP_LAYER]);
}
+/**
+ * ges_clip_get_layer_priority:
+ * @clip: The clip to get the layer priority from
+ *
+ * Returns: The priority of the layer @clip is in, -1 if not in a layer.
+ */
guint32
ges_clip_get_layer_priority (GESClip * clip)
{
+ g_return_val_if_fail (GES_IS_CLIP (clip), -1);
+
if (clip->priv->layer == NULL)
return -1;
GES_API
GESLayer* ges_clip_get_layer (GESClip *clip);
GES_API
-gboolean ges_clip_move_to_layer (GESClip *clip, GESLayer *layer);
+gboolean ges_clip_move_to_layer (GESClip *clip, GESLayer *layer);
+GES_API
+guint32 ges_clip_get_layer_priority (GESClip * clip);
/****************************************************
* Effects *
****************************************************/
G_GNUC_INTERNAL void ges_clip_set_layer (GESClip *clip, GESLayer *layer);
G_GNUC_INTERNAL gboolean ges_clip_is_moving_from_layer (GESClip *clip);
-G_GNUC_INTERNAL guint32 ges_clip_get_layer_priority (GESClip *clip);
G_GNUC_INTERNAL void ges_clip_set_moving_from_layer (GESClip *clip, gboolean is_moving);
G_GNUC_INTERNAL GESTrackElement* ges_clip_create_track_element (GESClip *clip, GESTrackType type);
G_GNUC_INTERNAL GList* ges_clip_create_track_elements (GESClip *clip, GESTrackType type);
****************************************************/
#define NLE_OBJECT_TRACK_ELEMENT_QUARK (g_quark_from_string ("nle_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);
G_GNUC_INTERNAL void ges_track_element_copy_properties (GESTimelineElement * element,
GESTimelineElement * elementcopy);
get_toplevel_container (GES_TIMELINE_ELEMENT (next));
/* Only object that are in that layer and track */
- if (_ges_track_element_get_layer_priority (next) != layer_prio ||
+ if (GES_TIMELINE_ELEMENT_LAYER_PRIORITY (next) != layer_prio ||
(track && track != ges_track_element_get_track (next)))
continue;
track = ges_track_element_get_track (track_element);
layer_node = g_list_find_custom (timeline->layers,
- GINT_TO_POINTER (_ges_track_element_get_layer_priority (track_element)),
+ GINT_TO_POINTER (GES_TIMELINE_ELEMENT_LAYER_PRIORITY (track_element)),
(GCompareFunc) find_layer_by_prio);
_create_transitions_on_layer (timeline,
TrackObjIters *iters;
GESTimelinePrivate *priv = timeline->priv;
- guint layer_prio = _ges_track_element_get_layer_priority (trackelement);
+ guint layer_prio = GES_TIMELINE_ELEMENT_LAYER_PRIORITY (trackelement);
GList *layer_node = g_list_find_custom (timeline->layers,
GINT_TO_POINTER (layer_prio), (GCompareFunc) find_layer_by_prio);
GESLayer *layer = layer_node ? layer_node->data : NULL;
GESTimelinePrivate *priv = timeline->priv;
GList *layer_node = g_list_find_custom (timeline->layers,
- GINT_TO_POINTER (_ges_track_element_get_layer_priority (child)),
+ GINT_TO_POINTER (GES_TIMELINE_ELEMENT_LAYER_PRIORITY (child)),
(GCompareFunc) find_layer_by_prio);
GESLayer *layer = layer_node ? layer_node->data : NULL;
TrackObjIters *iters = g_hash_table_lookup (priv->obj_iters,
return priv->bindings_hashtable;
}
-guint32
-_ges_track_element_get_layer_priority (GESTrackElement * element)
-{
- if (_PRIORITY (element) < LAYER_HEIGHT + MIN_NLE_PRIO)
- return 0;
-
- return (_PRIORITY (element) - MIN_NLE_PRIO) / LAYER_HEIGHT;
-}
-
/**
* ges_track_element_get_track:
* @object: a #GESTrackElement
GST_END_TEST;
-static guint32
-ges_clip_get_layer_priority (GESClip * clip)
-{
- GESLayer *layer = ges_clip_get_layer (clip);
- if (layer == NULL)
- return -1;
-
- return ges_layer_get_priority (layer);
-}
-
GST_START_TEST (test_group_in_group_layer_moving)
{
GESAsset *asset;