Commit graph

488 commits

Author SHA1 Message Date
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
85e4262917 tests:python: assertEquals is deprecated, use assertEqual 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
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
Seungha Yang
12d8448cf8 tests: Add inconsistent init/deinit test case 2019-03-12 15:17:18 +00:00
Thibault Saunier
facea28b28 tests:python: Use proper GES.Project constructor
Avoiding a g_critical
2019-03-07 12:38:23 +00:00
Thibault Saunier
35e39083a2 tests: Fix usage of undefined class 2019-01-30 19:00:10 +00:00
Yeongjin Jeong
4bf91bda31 tests: ges: Fix various leak 2019-01-29 16:17:22 +09:00
Alexandru Băluț
c750345c75 timeline: Better handle loading inconsistent timelines
Auto transition when having 3 overlapping clips in a same point in the
timeline is not supported as we can't handle it in a nice way. Before we
to avoid creating 2 overlapping transitions (which is plain broken in
NLE) were completely disabling `auto-transition` and removing all
auto-transitions in the timeline but this is pretty weird for the end
user. This commit changes and now makes sure 2 transitions are not
created in the same place.

Also cleanup previous test case.
2019-01-28 21:32:58 -03:00
Thibault Saunier
bad64296d9 uri-asset: Use the same code path for sync discovery as the async one
And start handling relocated assets.

Also expose the discoverer callback as a vmethod so that we can
overridde the discoverer when necessary (to handle discovering of
timeline through gesdemux for example)
2019-01-29 00:06:32 +00:00
Thibault Saunier
c596f80c63 nlecomposition: Get overall pipeline position by recursing up
And handle NLEComposition inside NLEComposition

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/39
2019-01-29 00:06:32 +00:00
Thibault Saunier
dea6f0df98 layer: Resort clips before syncing priorities
We set the priorities making the assumption that `start_clips` is properly
ordered by start!

Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2254
2019-01-28 19:19:46 -03:00
Seungha Yang
044c2a2d75 tests: asset: Add test async asset request with custom GMainContext
... and test call ges_{init/deinit} multiple times in a unit test.
2019-01-28 19:31:52 +09:00
Seungha Yang
23845faa90 tests: asset: Remove out-of-date comment 2019-01-28 17:35:04 +09:00
Seungha Yang
27212f2d10 tests: asset: Remove pointless gst_init()
It's done by GST_CHECK_MAIN() already
2019-01-28 17:35:04 +09:00
Seungha Yang
78b38f26a7 tests: init/deinit per test case
... in order to verify init/deinit pair.
2019-01-28 17:35:04 +09:00
Seungha Yang
61c2eb6735 tests: nle: Fix various leak
Don't leak GError and GstPad object
2019-01-18 20:32:02 +00:00
Seungha Yang
a157c9fa10 tests: nle: Fix GList leak 2019-01-18 20:32:02 +00:00
Seungha Yang
a799e1be23 tests: ges: Fix various leak 2019-01-18 20:32:02 +00:00
Seungha Yang
e2533a68dc tests: Increase timeout value to 360 sec
Use consistent timeout value with core and other plugins.
Otherwise, valgrind sometimes timed out with default timeout 30sec.
2019-01-18 09:40:25 +09:00
Alexandru Băluț
f987db47a7 clip: Emit additional signals after child-removed
When removing an effect from a clip, first the notify::priority signals
were being emitted for the remaining effects which changed priority, and only
at the end the child-removed signal. Now the child-removed signal is emitted
first.
2018-11-07 09:09:22 -03:00
Thibault Saunier
2443b1a413 clip: Resync priorities when removing an effect
When removing a top effect in the list of top effects, other
effects priorities need to take that into account to avoid
holes in the indices.
2018-09-05 21:52:37 -03:00
Nirbheek Chauhan
6a806a0dd7 meson: There is no gstreamer-plugins-good-1.0.pc
There is no installed version of that, only an uninstalled version.
2018-08-15 19:15:02 +05:30
Thibault Saunier
bfb943be1b formatter: Serialize Transition border and invert properties
Marking them as children properties and properly allow serializing
clips children properties.

This doesn't handle several TrackElement of a same type with
different property values but this require more worked already
marked as fixme to allow specifying full path of elements in the
children properties API.

See https://gitlab.gnome.org/GNOME/pitivi/issues/1687
2018-07-28 14:25:07 -04:00
Thibault Saunier
e6a270c80c tests: Minor assertion enahncements 2018-07-21 12:03:02 -04:00
Thibault Saunier
db827dbd00 python: Fix GES.Timelineset_child_property
Implementing it in the overrides as PyGObject won't be able to properly
convert python values to GValues in some cases. Using
g_object_set_property works as some logic is implemented inside
PyGObject for that particular case. This is a "regression" due
to https://bugzilla.gnome.org/review?bug=769789&attachment=348766 were
we end up with an OverflowError while setting G_TYPE_UINT children
properties.
2018-07-08 16:02:28 -04:00
Thibault Saunier
1ddc54ee05 tests: Use gst-validate-launcher to run python tests 2018-06-15 18:09:37 -04:00
Thibault Saunier
33d6490308 clip: Make sure to never snap when splitting clips
It makes no sense to snap in that context.

https://gitlab.gnome.org/GNOME/pitivi/issues/2193
2018-05-14 10:42:56 -04:00
Thibault Saunier
136456e180 Deprecate ges_layer_set_priority
Keep old behaviour but deprecate the method and property as
ges_timeline_move_layer should be used instead.
2018-03-31 13:44:14 -03:00
Thibault Saunier
bd142e285d clip: Make sure to create transition after a clip is splitted
In the (now tested) scenario where we have a transition on the right
side of a clip we are splitting, auto transitions can't be created
because we resize the clip after adding the new one, meaning that
there are 3 elements in the "transition zone", we need to force
auto transition creation after the splitting.

Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2142
2018-03-18 11:31:17 -03:00
Thibault Saunier
f219111631 test: Plug minor leaks 2018-02-27 10:00:32 -03:00
Edward Hervey
da9b08c618 check: Fix minor leak in test 2017-12-20 14:28:33 +01:00
Edward Hervey
af40ec08fc check: Actually define a registry to use for tests
Otherwise every single run of every single test would recreate
a registry
2017-11-23 15:49:48 +01:00
Thibault Saunier
4db3800f98 Revert "timeline: Return FALSE when commiting an empty timeline"
This commit means that we do not get ASYNC_DONE anymore when commiting
an empty timeline, which means that we need to special case that.

This actually broke some code and does not bring in much.

Fixes https://phabricator.freedesktop.org/T7802
Fixes https://phabricator.freedesktop.org/T7797

This reverts commit e570d1e080.

Thanks @stefanzzz for investigating!
2017-08-29 22:27:42 -03:00
Tim-Philipp Müller
7bec37a755 tests: don't use private debug category in asset test
That will lead to undefined symbol errors once it no
longer gets exported.
2017-08-11 22:24:28 +01:00
Thibault Saunier
5e4770ccb9 tests: Initialize GES only once in the main process
Fixing calling deinit in a process where init was not called
when libcheck is forking.
2017-07-11 11:40:55 -04:00
Thibault Saunier
797ee730b0 meson: Do not use path separator in test names
Avoiding warnings like:

    WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-07 12:51:17 -04:00
Thibault Saunier
6a37782549 meson: Use get_pkgconfig_variable instead of calling pkg-config ourself
It is avalaible in meson 0.36 which is now are requirement

Nothing happens on not found dependencies.
2017-03-28 14:29:26 -03:00
Thibault Saunier
f57ca17a22 meson: test: Fix environment object usage
And make sure to bring -good plugins in.
2017-03-28 11:29:37 -03:00
suhas2go
6dc0cd0dec layer: Add ability to get clips in a given interval
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1689
2017-03-28 11:29:37 -03:00
Thibault Saunier
e570d1e080 timeline: Return FALSE when commiting an empty timeline
Meaning that ASYNC_DONE/COMMITED is always emited when TRUE is returned
2017-03-06 12:19:16 -03:00
Guillaume Desmottes
da851b254d mixers: fix leaks in tests
- GstMessage and GstBus references were lost
- Need to call gst_bus_remove_signal_watch() for each
gst_bus_add_signal_watch_full() call

https://bugzilla.gnome.org/show_bug.cgi?id=778248
2017-02-06 11:44:48 -03:00
Guillaume Desmottes
53c5bc069c introduce ges_deinit()
GstDiscoverer objects were leaked by tests making the leaks detector
unusable.
Introduce ges_deinit(), similiar to gst_deinit(), doing some cleanup
before exiting the process.

https://bugzilla.gnome.org/show_bug.cgi?id=776805
2017-02-06 09:49:20 -03:00
Thibault Saunier
ab7865d41c clip: Make sure that clip start change is notified before children changes
Fixes https://phabricator.freedesktop.org/T7577

Differential Revision: https://phabricator.freedesktop.org/D1600
2017-01-09 19:49:19 -03:00
Alexandru Băluț
00d6c1e5ae tests_: Check the order of signals when a transition is created
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1391
2017-01-09 19:49:17 -03:00
Thibault Saunier
054ac40473 tests: Remove now meaningless empty testsuite 2016-12-16 14:04:28 -03:00
Thibault Saunier
9dd859403d tests: Make sure tests can be listed
Initializing GstCheck before creating the testsuite
2016-12-14 09:13:18 -03:00