Thibault Saunier
1131a22a74
video-transition: Make compositor background transparent
...
Allowing further mixing downstream
2015-09-23 21:23:13 +02:00
Thibault Saunier
d1c01678bc
video-transition: Add a framepositioner at the end of the transitio
...
So downstream compositor knows the zorder of the various streams
2015-09-23 21:13:13 +02:00
Thibault Saunier
5a0393c54a
ges: Namespace NLE utils function into GES
...
Avoiding name clashes when built statically
2015-09-18 10:01:44 +02:00
Justin Kim
fe2165cad3
timeline: don't leak pad in private structure
...
https://bugzilla.gnome.org/show_bug.cgi?id=754867
2015-09-11 13:09:40 +02:00
Thibault Saunier
f046bb5a03
video-source: Use the priority being set to compute zorder
2015-09-04 12:01:16 +02:00
Thibault Saunier
f0b3cd27f9
video:transition: Set mixer pad zorder
2015-09-02 23:27:16 +02:00
Thibault Saunier
8c0a6402f6
video-source: Make sure to set framepositionner zorder when creating it
...
And fix a computation bug where we would be having mixing order
reversed between layers.
And make sure that the positionner does not mix up Transition handling
of the zorder
2015-09-02 20:42:50 +02:00
Thibault Saunier
ab25464876
video-source: Simply set framepositionner->zorder = self->priority
...
Summary:
Making the code simpler and handling the transition case
where elements are in the same layer (which was failing
/setting same zorders until now).
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D237
2015-08-27 21:58:39 +02:00
Thibault Saunier
edc5c27ffb
Move NLE to a dedicated GstPlugin
...
Summary: Allowing external user to directly use it
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D231
2015-08-20 13:49:20 +02:00
Thibault Saunier
fdd1456062
nle: Enhance debug logging
2015-07-23 12:28:14 +02:00
Thibault Saunier
3c127d9622
ges: Do not leak and uselessly create errors
...
And avoid parenthesis in GstObject names
2015-07-23 12:28:14 +02:00
Thibault Saunier
254c2b1f5e
ges: Fix how we handle layer vs layer-priority in the structured interface
2015-07-23 12:28:14 +02:00
Thibault Saunier
d5663a46dc
timeline: Remove transitions that can no fit into an auto transition
...
When activating auto transition mode
2015-07-16 11:23:20 +02:00
Thibault Saunier
6fc6ce29f9
ges; Minor debug enhancement
2015-07-16 10:53:17 +02:00
Thibault Saunier
724418b75d
assets: Avoid deadlock when done initialising asset
...
Avoid to hold the CACHE lock when setting the GTasks return values.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752300
2015-07-13 13:54:35 +02:00
Thibault Saunier
50f26f1269
nleobject: Concider objects as 'inactive' when they have a duration == 0
2015-07-08 19:10:31 +02:00
Thibault Saunier
0fad60e754
track-element: Handle the case where we have only one keyframe set when interpollating keyframes
2015-07-08 18:59:00 +02:00
Thibault Saunier
7be28b29b2
asset: Port use of deprecated GSimpleAsyncResult to GTask
2015-07-06 10:32:32 +02:00
Thibault Saunier
58fb9a6720
track-element: Fix splitting bindings and add unit tests
2015-07-03 14:06:54 +02:00
Thibault Saunier
d9c596162e
structured-interface: Better handle CLOCK_TIME type from GstStructures
2015-07-03 14:06:54 +02:00
Thibault Saunier
5885f58c14
element: Implement a paste method
...
Allowing user to copy paste clips very easily
2015-07-03 14:06:54 +02:00
Thibault Saunier
d23e43ae1a
timeline: Disable movement that lead to 2 transition at a position
...
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.
2015-07-03 14:06:54 +02:00
Thibault Saunier
42700e98c5
smart-video-mixer: Always keep a ref on the mixer pad
2015-07-03 11:20:54 +02:00
Thibault Saunier
54be29e9ed
timeline-element: Add a method to get the TrackType it interacts with
...
API:
+ ges_timeline_element_get_track_types
2015-07-03 11:20:54 +02:00
Thibault Saunier
87b790a9da
timeline: Never create transitions between rippled objects
...
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.
2015-07-03 11:20:54 +02:00
Thibault Saunier
c17dae8f0e
video-transition: Use a SmartMixer as mixer
...
So that the frame position metas are parsed and taken into account
2015-07-03 11:20:54 +02:00
Thibault Saunier
6a0ac89009
track-element: Add method to remove control binding
...
API:
ges_track_element_remove_control_binding
2015-07-03 11:20:54 +02:00
Thibault Saunier
7f4f1b0a07
ges: Handle absolute GstDirectControlBindings
2015-07-03 11:20:54 +02:00
Thibault Saunier
8e13b7d9b8
framepositionner: Make use of the new CompositorPad.width/height
...
So that the scaling is done in the compositor and this way we can cleanly interpolate its value
2015-07-03 09:41:19 +02:00
Thibault Saunier
a0ee7e1f44
timeline: Never change output media time when trimming start
...
+ Fix testsuite
https://bugzilla.gnome.org/show_bug.cgi?id=638802
2015-07-03 09:31:07 +02:00
Thibault Saunier
53defaab7a
track-element: Return right value when editing
...
We used to always return TRUE which was wrong
+ Fix testsuite and remove randomness from the tests
2015-07-03 09:30:50 +02:00
Thibault Saunier
938aaaef24
ges: Do not add a final gap at the end of track while rendering
...
It is not correct to force a black frame at the end of the rendered
video and it also leads to rendering issue with vpX encoders.
https://bugzilla.gnome.org/show_bug.cgi?id=751510
2015-07-02 10:17:25 +02:00
Thibault Saunier
8b821511ad
clip: Use container priority offset when setting children prios
...
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
2015-07-01 11:38:53 +02:00
Thibault Saunier
f7dbdd27ba
clip: Fix track element priority computation
...
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.
2015-07-01 10:19:07 +02:00
Thibault Saunier
9669bafe46
uri-asset: Bump the discoverer timeout to 1 minute
...
We should by default avoid false timeouts
2015-07-01 10:19:07 +02:00
Thibault Saunier
5833aae413
track: Give usefull name to compositions
2015-07-01 10:19:07 +02:00
Thibault Saunier
55f0601211
nle: Port tests to the "commit" action signals
...
Now that nle_object_commit symbol is hidden, we can't use it
in the tests.
2015-06-25 11:03:12 +02:00
Thibault Saunier
2994650f9e
ges: Unbreeak API after renaming of GNL to NLE
2015-06-25 10:54:13 +02:00
Sebastian Dröge
f5a8c24077
ges: Hide more symbols of headers that are not installed
2015-06-25 10:28:41 +02:00
Sebastian Dröge
d46efecf2b
nle: Remove unused function
...
nle/nlecomposition.c:2471:1: error: unused function '_parent_or_priority_changed' [-Werror,-Wunused-function]
_parent_or_priority_changed (NleObject * obj, GNode * oldnode,
^
2015-06-25 10:25:48 +02:00
Sebastian Dröge
fd81083071
nle: Hide away symbols, they're supposed to be internal
2015-06-25 10:24:13 +02:00
Tim-Philipp Müller
700e5b0ae0
nlesource: remove outdated comment
2015-06-23 09:42:08 +01:00
Thibault Saunier
ac49f22530
pipeline: Handle rendering with disabled tracks
...
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
2015-06-10 18:00:58 +02:00
Thibault Saunier
321d2c2edd
ges: Raise an error when the discoverer returns != RESULT_OK
...
And do not try to run the pipeline when that happens
2015-06-10 08:35:45 +02:00
Thibault Saunier
4f83cde172
uri-asset: Add a way to control discoverer timeout through envvar
...
Making it possible to run ges-launch test under valgrind for example
2015-06-10 08:35:45 +02:00
Thibault Saunier
0a6105ee3b
timeline: Never snap end when rippling
...
http://phabricator.freedesktop.org/T74
2015-06-05 22:53:04 +02:00
Thibault Saunier
9d30b0014d
timeline: Never create transition between elements inside the moving context
...
http://phabricator.freedesktop.org/T74
2015-06-05 22:52:57 +02:00
Thibault Saunier
73e4e3bb0a
group: Disconnect from old layer notify::priority when a clip is moved to a NULL layer
...
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
2015-06-05 22:52:43 +02:00
Luis de Bethencourt
b86cca00f1
ges: remove dead code
...
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
2015-06-01 13:32:47 +01:00
Thibault Saunier
c70a654dd6
ges: Handle trimming auto transitions
...
Meaning trimming neighbors.
+ And add a test
2015-06-01 10:24:11 +02:00