Commit graph

460 commits

Author SHA1 Message Date
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
Thibault Saunier
b6b640d046 test:nle: Soften check on refcount
The composition might already have taken a new ref processing the
source.
2016-12-01 15:52:37 -03:00
Thibault Saunier
3ac6f84259 tests: Fix running python unit tests
Adding missing nose2-junit-xml.cfg.in file and minor fixes in
the way we call nose2 also making sure the .xunit files end
up in the right place.
2016-11-15 19:11:39 -03:00
Alexandru Băluț
d88cee856e tests_: Use nose2 instead of nosetests
Differential Revision: https://phabricator.freedesktop.org/D1394
2016-11-09 18:35:41 -03:00
Mathieu Duponchelle
73cf36fa25 timeline: reimplement snap_to_position a bit more appropriately.
It could yet be made be simpler, but it would require
touching the rest of the timeline editing code.

Fixes https://phabricator.freedesktop.org/T7587

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D657
2016-11-09 18:35:12 -03:00
Thibault Saunier
1b5c3cb865 timeline: Avoid creating extra transition when rippling clips
In some cases when rippling clip we could get the algo lost because
a transition existed between two clips (for example at the end of c1
and at the begining of c2) but while rippling it would have required
a transition at the end of c2 and beginning of c1, and we were properly
not destroying the old one (as the two clips were in the moving context)
but we were still creating the other transition in the end...

Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1362
2016-11-04 15:56:36 -03:00
Thibault Saunier
a2ae8762af timeline: Make sure transitions between rippled clips are never deleted
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1361
2016-11-04 15:56:34 -03:00
Thibault Saunier
e31b8627ef timeline: Destroy transition if a neighbor is not being moved to a layer
And make sure that we move the transition to the right layer, not trying
to figure it out.

Differential Revision: https://phabricator.freedesktop.org/D1360
2016-11-04 15:56:31 -03:00
Alexandru Băluț
ad6aab49ae tests_: Check transition is gone when editing clip to another layer
Differential Revision: https://phabricator.freedesktop.org/D1359
2016-11-04 15:56:30 -03:00
Nirbheek Chauhan
b63d64cb85 Revert "meson: move gstreamer-check-1.0 dependency to tests/check"
This reverts commit 5665c2bfc9.

Does not actually work. See:
https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
2016-10-25 11:48:35 +05:30
Thibault Saunier
5665c2bfc9 meson: move gstreamer-check-1.0 dependency to tests/check 2016-10-21 05:49:18 -03:00
Thibault Saunier
1d6167f07d meson: Use environment object to setup test environment variables
Bump meson requirement to 0.35
2016-10-14 17:44:00 +02:00
Thibault Saunier
aec1442d4c meson: Add python tests 2016-10-11 19:22:47 +02:00
Thibault Saunier
a44e49fafe meson: Setup pre commit hook and fix getpluginsdir for standalone case 2016-09-30 13:35:01 -03:00
Thibault Saunier
3a0598120e tests_:python: Factor out common code
Differential Revision: https://phabricator.freedesktop.org/D1328
2016-09-26 13:33:25 -03:00
Thibault Saunier
cd76231f64 timeline: Properly compute the end of groups when checking snapping
Computation was not taking into account the fact that the start of
the element being moved could be at the middle of a group and not
necessarily at the start!

Fixes T7544

Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1282
2016-09-26 13:33:19 -03:00
Thibault Saunier
1757ae2e5e ges: Handle moving groups with effects inside
We were only concidering that we should let the group handle moving
transitions when changing transitions but in fact as soon as a
transition is happenning between two clips that are in a same group
the group properly handles moving the transition, so let the
group do its job.

Fixes T7543

Differential Revision: https://phabricator.freedesktop.org/D1281
2016-09-26 13:33:00 -03:00
Thibault Saunier
3409719de5 ges: Deprecate GESTimelineElement::priority writability
GESLayer is now responsible for setting clips priorites. Also
GESClip top effects priorities are now set by the
ges_clip_set_top_effect_index method, the user should never call
ges_timeline_element_set_priority as it will anyway be overriden
by GES itself.

Differential Revision: https://phabricator.freedesktop.org/D1280
2016-09-26 13:32:58 -03:00
Thibault Saunier
3daf8bd788 Finally move clip priority handling to GESLayer.
Fix all tests as we now have 1 priority inside the layer
dedicated to transitions (basically no source clip will
ever have a priority of 0 inside a layer).

Differential Revision: https://phabricator.freedesktop.org/D1276
2016-09-26 13:32:53 -03:00
Thibault Saunier
2854c91ebc clip: Make top effect priority inside the clip priority range
And simplify the way we start computing children priority
making min_priority already relative to the clip itself.

Differential Revision: https://phabricator.freedesktop.org/D1275
2016-09-26 13:32:52 -03:00
Thibault Saunier
ae93594f3c tests_: timelineedition: Fix test now that we ripple from start and not from end
Differential Revision: https://phabricator.freedesktop.org/D1274
2016-09-26 13:32:51 -03:00
Alexandru Băluț
a63c754222 timeline: Make get_groups public
Had to separate timeline_emit_group_added from timeline_add_group
to avoid emitting group-added when the project is being loaded.

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1302
2016-09-13 16:47:24 -03:00
Alexandru Băluț
2df506e5ba tests_: Make sure child-removed is emitted when ungrouping
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1301
2016-09-13 16:47:21 -03:00
Thibault Saunier
e619a9858d tests: Move -DGES_TEST_FILES_PATH to common_cflags
As it is needed to build the utils lib
2016-09-09 17:14:43 -03:00
Thibault Saunier
c0d40737a9 tests: Fix the way we get tests assets
Using __FILE__ won't work properly with meson.
2016-09-09 16:43:46 -03:00
Thibault Saunier
4434392b2c meson: Do not build libges against libcheck 2016-09-07 16:53:06 -03:00
Thibault Saunier
042de8118b meson: Properly find where other GStreamer plugins are when using subprojects 2016-09-05 18:19:49 -03:00
Thibault Saunier
383c5d1f6d Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
2016-08-24 16:44:32 -03:00
Thibault Saunier
855488f58e ges: Do not rescale videos if the track aspect ratio changes
Differential Revision: https://phabricator.freedesktop.org/D1242
2016-08-05 21:40:57 -04:00