Mart Raudsepp
0c592ad6ac
track: Avoid various sorting operations before timeline commit
...
These are showing up in performance profile of 1000+ clips looped addition.
All this is done at commit time as well, so let that do only one update and
sorting.
2019-04-17 20:17:59 +00:00
Thibault Saunier
6a0f2358ce
asset: Do not take an extra ref on asset when already initialized
...
The task already has a ref so this one doesn't make sense and leads to leaks
2019-04-15 17:11:48 -04:00
Thibault Saunier
2d8be79cb7
xml-formatter: Fix some asset leaks
2019-04-15 17:11:48 -04:00
Thibault Saunier
86ac3b3159
tests: Plug misc leaks
2019-04-15 17:11:48 -04:00
Thibault Saunier
61a659d298
framepositioner: Plug caps leak
2019-04-15 17:11:48 -04:00
Thibault Saunier
33cf9ec180
xml-formatter: Plug some leaks
2019-04-15 17:11:48 -04:00
Thibault Saunier
d04bffc541
timeline: Plug leak of the auto transition asset
2019-04-15 17:11:48 -04:00
Thibault Saunier
e31aa62f7b
tree: Plug a GList leak
2019-04-15 17:11:48 -04:00
Thibault Saunier
45c2d81a4e
pipeline: Plug pad leak
2019-04-15 17:11:48 -04:00
Thibault Saunier
cfd5fda38d
title: Deprecate method that return newly allocated const gchar*
...
This is just plain broken 190643508f
but we can't do anything about it.
2019-04-15 17:11:48 -04:00
Thibault Saunier
5c54ba55b7
Plug some GError leaks when loading assets
2019-04-15 17:11:48 -04:00
Thibault Saunier
683f827a8b
xml-formatter: Free pending clips on disposal
2019-04-15 17:11:48 -04:00
Thibault Saunier
de7c0731f5
asset: Plug a GError leak
2019-04-15 17:11:48 -04:00
Thibault Saunier
2b79c0db5e
tests: Avoid random timeout and let the launcher set it up for us
2019-04-15 17:11:48 -04:00
Thibault Saunier
61c14b6406
asset: s/unsure/ensure
2019-04-15 17:11:48 -04:00
Thibault Saunier
9d4e0640c7
asset: Plug a leak of EncodingProfiles
2019-04-15 17:11:48 -04:00
Thibault Saunier
adc4843f53
xml-formatter: Plug leaks of pending groups
2019-04-15 17:11:48 -04:00
Thibault Saunier
0dcf78f3ec
asset: plug a GTask leak
2019-04-15 17:11:48 -04:00
Thibault Saunier
7f0810bae7
Fix splitting control bindings leaks
2019-04-15 17:11:48 -04:00
Thibault Saunier
49b004fe30
tests: Fix a leak in the 'asset' test
2019-04-15 16:18:11 -04:00
Thibault Saunier
7d7be4eecd
tree: Fixup some GList leaks
2019-04-15 16:18:11 -04:00
Yeongjin Jeong
05d919a2eb
uri-asset: Ensure that the discoverer stops on deinit.
...
Discoverer maintain a referernce on the discoverer object while
the async timeout callback is alive to prevent a potential crash
if the object is freed while the callback is pending.
But if g_main_context is released before calling the timeout callback,
the discoverer pointer which was weak referenced from GESUriClipAssetClass
will not be disposed because the discoverer object is not finalized.
2019-04-15 18:37:58 +09:00
Tim-Philipp Müller
6b40569e7e
Release 1.15.90
2019-04-11 00:37:01 +01:00
Tim-Philipp Müller
8e0c3285f4
g-i: pass --quiet to g-ir-scanner
...
This suppresses the annoying 'g-ir-scanner: link: cc ..' output
that we get even if everything works just fine.
We still get g-ir-scanner warnings and compiler warnings if
we pass this option.
2019-03-23 19:21:31 +00:00
Jakub Adam
0ce4b5cb85
videosource: Expose video-direction child property
2019-03-20 09:17:38 +01:00
Jakub Adam
77dac21488
videosource: auto-flip the image according to image-orientation tag
...
If there's image-orientation tag, make sure the image is correctly
oriented before we scale it.
2019-03-19 10:01:40 +01:00
Tim-Philipp Müller
64f23a2a80
Fix autotools build
2019-03-16 15:04:29 +00:00
Thibault Saunier
521b0fc8b7
clip: Make sure to set the pasted clip start before adding to layer
...
And handle the fact that adding to a layer can fail.
Also plug some leaks in the dispose method (and use the dispose
vmethod instead of finalize as appropriate).
2019-03-15 23:51:55 +00:00
Thibault Saunier
b294b56a76
clip: Emit signals while splitting in a way the operation is undoable
...
Basically if we do not emit a "duration" change of the clip being
splitted first when executing the 'reverse' operations would lead
to fully overallaping clips.
2019-03-15 23:51:55 +00:00
Thibault Saunier
a46390ff56
Reimplement the timeline editing API
...
This is implemented on top of a Tree that represents the whole timeline.
SourceClips can not fully overlap anymore and the tests have been
updated to take that into account. Some new tests were added to verify
that behaviour in greater details
2019-03-15 23:51:55 +00:00
Thibault Saunier
7261f714fc
Some copyright fixing
2019-03-15 23:51:55 +00:00
Thibault Saunier
fa909a7cef
timeline: Rename group_id to stream_start_group_id
2019-03-15 23:51:55 +00:00
Thibault Saunier
4a1679f698
tests: Add utilities to print the timeline
...
Making debugging tests simpler
2019-03-15 23:51:55 +00:00
Thibault Saunier
7c5f2d11b2
timeline-element: Add a method to retrieve layer priority
...
Each timeline element is in a layer (potentially spanning
over several), it is very often useful to retrieve an element
layer priority (from an app perspective more than the element
priority itself as that is a bit of an implementation detail
in the end).
Port tests to it
2019-03-15 23:51:55 +00:00
Thibault Saunier
fe1595aef1
python: Implement TimelineElement.__repr__
2019-03-15 23:51:55 +00:00
Thibault Saunier
694e39186b
Add API to get the GESEdge names
2019-03-15 23:51:55 +00:00
Thibault Saunier
69456e4f14
ges: Move GESClipFlags to GESTimelineElementFlags
...
Keeping it internal
And add an internal method to get layer priority for GESTimelineElements
(dirty implementation to make it simple for now)
2019-03-15 23:51:55 +00:00
Thibault Saunier
85e4262917
tests:python: assertEquals is deprecated, use assertEqual
2019-03-15 23:51:55 +00:00
Thibault Saunier
b4bdf51935
layer: factor out a method to remove an object without signaling it
2019-03-15 23:51:55 +00:00
Thibault Saunier
df731aba35
tests: python: Move assertTimelineTopology to the baseclass
2019-03-15 23:51:55 +00:00
Thibault Saunier
72519e6c5c
timeline: No error when moving an object as part of the context
...
It will just happen from the context
2019-03-15 23:51:55 +00:00
Thibault Saunier
1a69f0d535
timeline: Not being able to trim and object is an error
...
So error out when that happens.
2019-03-15 23:51:55 +00:00
Thibault Saunier
100276d02a
timeline: Setting duration to the same value is valid
...
And should not be advertised as if the operation failed.
2019-03-15 23:51:55 +00:00
Thibault Saunier
22ae41e984
timeline: Do not ripple if resulting duration would be 0
2019-03-15 23:51:55 +00:00
Thibault Saunier
1c2784daa6
clip: Add a method to get the priority of the layer it is in
...
Just an helper method to get the 'priority of a the clip'
2019-03-15 23:51:55 +00:00
Thibault Saunier
c901e4289a
clip: Rollback moving clips when moving a contained TrackElement fails
...
And fix unit tests to match the correct behaviour
2019-03-15 23:51:55 +00:00
Thibault Saunier
957d9a01fe
Shorten GES_FORMAT output
2019-03-15 23:51:55 +00:00
Thibault Saunier
430719d172
clip: Make sure to remove and re add effects when adding clips to layer
...
And make re add them in the same order.
And enhance tests to check that
2019-03-15 23:51:55 +00:00
Thibault Saunier
23d3e69f2b
source: No checks when linking default elements
2019-03-15 23:51:55 +00:00
Thibault Saunier
f255ae72d9
nlesource: Use gst_element_call_async as appropriate
2019-03-15 18:31:30 -03:00