gstreamer/tests/check/ges
Henry Wilkes 269c2d1dc0 timeline: re-handle clip children track selection
The way a clip's track elements are added to tracks was re-handled. This
doesn't affect the normal usage of a simple audio-video timeline, where
the tracks are added before any clips, but usage for multi-track
timelines has improved. The main changes are:

+ We can now handle a track being selected for more than one track,
  including a full copy of their children properties and bindings.
  (Previously broken.)
+ When a clip is split, we copy the new elements directly into the same
  track, avoiding select-tracks-for-object.
+ When a clip is grouped or ungrouped, we avoid moving the elements to
  or from tracks.
+ Added API to allow users to copy the core elements of a clip directly
  into a track, complementing select-tracks-for-object.
+ Enforced the rule that a clip can only contain one core child in a
  track, and all the non-core children must be added to tracks that
  already contains a core child. This extends the previous condition
  that two sources from the same clip should not be added to the same
  track.
+ Made ges_track_add_element check that the newly added track element
  does not break the configuration rules of the timeline.
+ When adding a track to a timeline, we only use
  select-tracks-for-object to check whether track elements should be
  added to the new track, not existing ones.
+ When removing a track from a timeline, we empty it of all the track
  elements that are controlled by a clip. Thus, we ensure that a clip
  only contains elements that are in the tracks of the same timeline, or
  no track. Similarly, when removing a clip from a timeline.
+ We can now avoid unsupported timeline configurations when a layer is
  added to a timeline, and already contains clips.
+ We can now avoid unsupported timeline configurations when a track is
  added to a timeline, and the timeline already contains clips.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/84
2020-04-08 14:35:28 +01:00
..
asset.c asset: fix handling of proxies 2020-03-05 17:04:51 -03:00
backgroundsource.c tests: init/deinit per test case 2019-01-28 17:35:04 +09:00
basic.c timeline: re-handle clip children track selection 2020-04-08 14:35:28 +01:00
clip.c timeline: re-handle clip children track selection 2020-04-08 14:35:28 +01:00
effects.c clip: only allow core elements as children 2020-03-16 14:19:51 +00:00
group.c timeline-element: add signals for child properties 2020-03-16 14:19:52 +00:00
layer.c markerlist: implement GESMarkerList 2019-08-22 21:24:02 +02:00
markerlist.c marker: add color meta 2019-10-24 09:45:19 +00:00
mixers.c tests: Plug misc leaks 2019-04-15 17:11:48 -04:00
negative.c tests: Add inconsistent init/deinit test case 2019-03-12 15:17:18 +00:00
overlays.c clip: re-handle child in-point and max-duration 2020-03-16 14:19:52 +00:00
project.c formatter: Plug lists of TimedValue leak 2019-07-26 13:48:52 -04:00
tempochange.c tests: init/deinit per test case 2019-01-28 17:35:04 +09:00
test-utils.c tests: Cleanup test files handling 2020-03-25 18:00:09 -03:00
test-utils.h timeline: re-handle clip children track selection 2020-04-08 14:35:28 +01:00
timelineedition.c framepositioner: Stop lying about the source size 2020-02-26 13:36:30 -03:00
titles.c clip: re-handle child in-point and max-duration 2020-03-16 14:19:52 +00:00
track.c tests: init/deinit per test case 2019-01-28 17:35:04 +09:00
transition.c clip: re-handle child in-point and max-duration 2020-03-16 14:19:52 +00:00
uriclip.c ges: Deprecate GESImageSource and GESMultiFileSource 2020-03-30 06:54:22 -03:00
wrong_test.xptv tests: Implement tests for ges_formatter_can_load_uri 2012-09-25 15:10:35 +02:00