We should never let 3 objects to overlap at a same position, for that
we introduce a "rollback" feature and whenever such an editing happens,
we rollback object position to whatever it was before the move.
In case of groups, we can have track elements that do not belong
directly to the moved_trackelements but will be moved as others. Never
create transition to all object that have a start > moving group start.
Instead of trying to compute it ourself which might lead to wrong
behaviour when moving between layer.
+ Make sure that when we reset clip children priority (to make space
for effects,) we update the container knowledge of priority offsets
We were computing the priority offset taking the global MIN_NLE_PRIO
(which is a constant == 2 to make space for the mixing elements) instead
of the layer 'track element' relative priority, leading to very big
offsets on layer with a prio > 0. In the end it leaded to effects having
the same priority as the sources which leads to an undefined behaviour
in NLE.
Summary:
The user might want to render only some media type of the timeline,
for example he wants to only render the audio part of the timeline.
It was failing as we were not connecting the track but were still trying
to 'render' it.
Depends on D153
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D154
This means we need to properly track the layer a clip was in. We now
keep track of the various signal IDs in a dedicated structure and
keep a ref on the layer an object is in.
http://phabricator.freedesktop.org/T88
Summary:
No need to recheck if error exists since it has already been checked by the
conditional above.
Coverity CID #1302832
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D200
Summary:
We use to end up removing the nleobject when the following case happened:
* add an object
* remove that object
* re add the object
* commit the composition
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D193
Summary:
Handle the fact that some new features can be added and that means
generated files will not be fully understandable by older versions of
the formatter.
Make sure that we set the format version to 0.2 when we serialize the
GstEncodingProfile.enabled property.
Add some tests around that.
+ Fix a minor bug in the test-utils
+ Add a meta on the projects to tell in what format version a project
has been serialized/parsed back
API:
GES_META_FORMAT_VERSION
Depends on D178
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D184
Summary:
In case we just removed it from its layer, make sure to
just use the first layer when none specified.
Depends on D177
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D178
Summary:
Giving more details about the issue to the user
Depends on D151
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D176
Summary: It must only be done when the object is commited.
We can do that in constructed though, as the changes will
anyway be commited when the object is added to a composition.
Also update the tests, as we set properties spearately then
check the stop, we can commit the source at its creation without
removing meaning from the tests.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D84
Summary:
+ [API] GESTrack::commited signal.
+ [API] ges_track_commit_sync
We were emitting commited when timeline_commit was called, which
wasn't very helpful. This commit makes it so we emit commited once
all the compositions have actually been commited.
We also add a synchronous commit method to spare the user
the need to connect to the signal and wait, and update the
documentation.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D83
Summary:
Otherwise if there was still a reference to the layer when it
is removed from the timeline, it fails when the last reference
is released, because timeline_element_set_timeline calls
timeline_remove_element, which tries to remove the element from
an already disposed hashtable.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D82
Summary:
+ And freeze notifies while doing so.
We had a race with GstController which isn't MT safe, we can
fix it by propertly disconnecting signals, and making sure
no notifies are emitted while doing so.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D64
Summary: Before checking if we have a specific constructor for a track type.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D63
Summary: g-ir-scanner was erroring like crazy on the generated sources.
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D57