diff --git a/ges/ges-layer.c b/ges/ges-layer.c index 248c1c08a22a7e61240cd4dc8310d7881b7b9506..8141bc3e27b860221be5e8f4911adcd2d7909633 100644 --- a/ges/ges-layer.c +++ b/ges/ges-layer.c @@ -300,8 +300,6 @@ layer_set_priority (GESLayer * layer, guint priority, gboolean emit) layer->priv->priority = priority; layer->min_nle_priority = (priority * LAYER_HEIGHT) + MIN_NLE_PRIO; layer->max_nle_priority = ((priority + 1) * LAYER_HEIGHT) + MIN_NLE_PRIO; - - ges_layer_resync_priorities (layer); } if (emit) @@ -658,8 +656,6 @@ ges_layer_add_clip (GESLayer * layer, GESClip * clip) _set_priority0 (GES_TIMELINE_ELEMENT (clip), LAYER_HEIGHT - 1); } - ges_layer_resync_priorities (layer); - ges_timeline_element_set_timeline (GES_TIMELINE_ELEMENT (clip), layer->timeline); diff --git a/ges/ges-project.c b/ges/ges-project.c index 55dac24bdbd352e8cb9590a13bc2ed87c2932c20..414e0afe1602c6e36709214c3c28ad9efe5ba8ec 100644 --- a/ges/ges-project.c +++ b/ges/ges-project.c @@ -668,9 +668,8 @@ ges_project_set_loaded (GESProject * project, GESFormatter * formatter) GST_INFO_OBJECT (project, "Emit project loaded"); if (GST_STATE (formatter->timeline) < GST_STATE_PAUSED) { timeline_fill_gaps (formatter->timeline); - } else { - ges_timeline_commit (formatter->timeline); } + ges_timeline_commit (formatter->timeline); g_signal_emit (project, _signals[LOADED_SIGNAL], 0, formatter->timeline); diff --git a/ges/ges-track.c b/ges/ges-track.c index b23d47ccf0e554f44b4e9f2ebbdd396d6978f09e..3cb3859c49059fbf574a6aa5f7af9fab0461c056 100644 --- a/ges/ges-track.c +++ b/ges/ges-track.c @@ -280,14 +280,6 @@ update_field (GQuark field_id, const GValue * value, GstStructure * original) } /* callbacks */ -static void -sort_track_elements_cb (GESTrackElement * child, - GParamSpec * arg G_GNUC_UNUSED, GESTrack * track) -{ - g_sequence_sort (track->priv->trackelements_by_start, - (GCompareDataFunc) element_start_compare, NULL); -} - static void _ghost_nlecomposition_srcpad (GESTrack * track) { @@ -380,8 +372,6 @@ remove_object_internal (GESTrack * track, GESTrackElement * object) } } - g_signal_handlers_disconnect_by_func (object, sort_track_elements_cb, NULL); - ges_track_element_set_track (object, NULL); ges_timeline_element_set_timeline (GES_TIMELINE_ELEMENT (object), NULL); @@ -987,15 +977,6 @@ ges_track_add_element (GESTrack * track, GESTrackElement * object) g_signal_emit (track, ges_track_signals[TRACK_ELEMENT_ADDED], 0, GES_TRACK_ELEMENT (object)); - g_signal_connect (GES_TRACK_ELEMENT (object), "notify::start", - G_CALLBACK (sort_track_elements_cb), track); - - g_signal_connect (GES_TRACK_ELEMENT (object), "notify::duration", - G_CALLBACK (sort_track_elements_cb), track); - - g_signal_connect (GES_TRACK_ELEMENT (object), "notify::priority", - G_CALLBACK (sort_track_elements_cb), track); - return TRUE; } @@ -1052,7 +1033,6 @@ ges_track_remove_element (GESTrack * track, GESTrackElement * object) it = g_hash_table_lookup (priv->trackelements_iter, object); g_sequence_remove (it); - track_resort_and_fill_gaps (track); if (remove_object_internal (track, object) == TRUE) { ges_timeline_element_set_timeline (GES_TIMELINE_ELEMENT (object), NULL); diff --git a/tests/check/ges/clip.c b/tests/check/ges/clip.c index 5068cba7fbde6f1879c423722b1d46cf34e79521..892f5a2dfc771e51e6be60ec2a8e348849dd266e 100644 --- a/tests/check/ges/clip.c +++ b/tests/check/ges/clip.c @@ -650,6 +650,7 @@ GST_START_TEST (test_effects_priorities) effect2 = GES_TRACK_ELEMENT (ges_effect_new ("agingtv")); fail_unless (ges_container_add (GES_CONTAINER (clip), GES_TIMELINE_ELEMENT (effect2))); + ges_timeline_commit (timeline); fail_unless_equals_int (MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 0, _PRIORITY (effect)); @@ -677,6 +678,7 @@ GST_START_TEST (test_effects_priorities) _PRIORITY (effect2)); fail_unless (ges_clip_move_to_layer (clip, layer1)); + ges_timeline_commit (timeline); fail_unless_equals_int (LAYER_HEIGHT + MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 0, _PRIORITY (effect)); fail_unless_equals_int (LAYER_HEIGHT + MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 1, diff --git a/tests/check/ges/effects.c b/tests/check/ges/effects.c index d7cb8572321adf61f2dd5bf0c171935da43d254c..c0c863f3a72d1d1305dfe7587b4a6da143e77c32 100644 --- a/tests/check/ges/effects.c +++ b/tests/check/ges/effects.c @@ -112,6 +112,7 @@ GST_START_TEST (test_get_effects_from_tl) GST_DEBUG ("Adding source to layer"); ges_layer_add_clip (layer, (GESClip *) source); + ges_timeline_commit (timeline); assert_equals_int (g_list_length (GES_CONTAINER_CHILDREN (source)), 1); video_source = GES_CONTAINER_CHILDREN (source)->data; fail_unless (GES_IS_VIDEO_TEST_SOURCE (video_source)); @@ -132,6 +133,7 @@ GST_START_TEST (test_get_effects_from_tl) GES_TIMELINE_ELEMENT (effect))); fail_unless (ges_track_element_get_track (GES_TRACK_ELEMENT (effect)) == track_video); + ges_timeline_commit (timeline); assert_equals_int (_PRIORITY (effect), MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 0); assert_equals_int (_PRIORITY (video_source), MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 1); @@ -141,6 +143,7 @@ GST_START_TEST (test_get_effects_from_tl) GES_TIMELINE_ELEMENT (effect1))); fail_unless (ges_track_element_get_track (GES_TRACK_ELEMENT (effect1)) == track_video); + ges_timeline_commit (timeline); assert_equals_int (_PRIORITY (effect), MIN_NLE_PRIO + TRANSITIONS_HEIGHT); assert_equals_int (_PRIORITY (effect1), MIN_NLE_PRIO + TRANSITIONS_HEIGHT + 1); @@ -152,6 +155,7 @@ GST_START_TEST (test_get_effects_from_tl) GES_TIMELINE_ELEMENT (effect2))); fail_unless (ges_track_element_get_track (GES_TRACK_ELEMENT (effect2)) == track_video); + ges_timeline_commit (timeline); assert_equals_int (GES_CONTAINER_HEIGHT (source), 4); effects = ges_clip_get_top_effects (GES_CLIP (source)); @@ -279,6 +283,7 @@ GST_START_TEST (test_priorities_clip) g_object_set (effect_clip, "duration", 25 * GST_SECOND, NULL); ges_layer_add_clip ((layer), (GESClip *) effect_clip); + ges_timeline_commit (timeline); for (tmp = GES_CONTAINER_CHILDREN (effect_clip); tmp; tmp = tmp->next) { if (ges_track_element_get_track_type (GES_TRACK_ELEMENT (tmp->data)) == GES_TRACK_TYPE_AUDIO) @@ -541,12 +546,14 @@ GST_START_TEST (test_split_clip_effect_priorities) fail_unless (ges_container_add (GES_CONTAINER (clip), GES_TIMELINE_ELEMENT (effect))); ges_layer_add_clip (layer, clip); + ges_timeline_commit (timeline); source = ges_clip_find_track_element (clip, NULL, GES_TYPE_VIDEO_SOURCE); assert_equals_uint64 (GES_TIMELINE_ELEMENT_PRIORITY (effect), 3); assert_equals_uint64 (GES_TIMELINE_ELEMENT_PRIORITY (source), 4); nclip = ges_clip_split (clip, GST_SECOND); + ges_timeline_commit (timeline); neffect = ges_clip_find_track_element (nclip, NULL, GES_TYPE_EFFECT); nsource = ges_clip_find_track_element (nclip, NULL, GES_TYPE_VIDEO_SOURCE); @@ -557,6 +564,7 @@ GST_START_TEST (test_split_clip_effect_priorities) /* Create a transition ... */ ges_timeline_element_set_start (GES_TIMELINE_ELEMENT (clip), GST_SECOND / 2); + ges_timeline_commit (timeline); assert_equals_uint64 (GES_TIMELINE_ELEMENT_PRIORITY (effect), 3); assert_equals_uint64 (GES_TIMELINE_ELEMENT_PRIORITY (source), 4); diff --git a/tests/check/ges/layer.c b/tests/check/ges/layer.c index 8b36fac362cb798b8fea1f004546da6b3debdb65..9214c4801209c65bb707de61c1cb5817e804b1a7 100644 --- a/tests/check/ges/layer.c +++ b/tests/check/ges/layer.c @@ -55,6 +55,7 @@ GST_START_TEST (test_layer_properties) /* Set some properties */ g_object_set (clip, "start", (guint64) 42, "duration", (guint64) 51, "in-point", (guint64) 12, NULL); + ges_timeline_commit (timeline); assert_equals_uint64 (_START (clip), 42); assert_equals_uint64 (_DURATION (clip), 51); assert_equals_uint64 (_INPOINT (clip), 12); @@ -63,6 +64,7 @@ GST_START_TEST (test_layer_properties) /* Add the clip to the timeline */ fail_unless (g_object_is_floating (clip)); fail_unless (ges_layer_add_clip (layer, GES_CLIP (clip))); + ges_timeline_commit (timeline); fail_if (g_object_is_floating (clip)); trackelement = ges_clip_find_track_element (clip, track, G_TYPE_NONE); fail_unless (trackelement != NULL);