Sebastian Dröge [Thu, 10 Nov 2016 13:17:50 +0000 (15:17 +0200)]
nlecomposition: Fix small remaining race in previous commit
The seek action might currently be handled (in which case it is not in
the actions list and the action lock is not locked), but not actually
handled completely yet (the seqnum is not stored yet).
To prevent this, we remember what the current action is that is being
handled, and also compare to that.
https://bugzilla.gnome.org/show_bug.cgi?id=774149
Alexandru Băluț [Wed, 19 Oct 2016 14:34:56 +0000 (16:34 +0200)]
tests_: Use nose2 instead of nosetests
Differential Revision: https://phabricator.freedesktop.org/D1394
Alexandru Băluț [Wed, 19 Oct 2016 10:36:45 +0000 (12:36 +0200)]
ges: Fix documentation and debug comments
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1393
Mathieu Duponchelle [Tue, 12 Jan 2016 14:51:55 +0000 (14:51 +0000)]
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
Sebastian Dröge [Wed, 9 Nov 2016 15:14:19 +0000 (17:14 +0200)]
nlecomposition: De-duplicate seek events based on their sequence number
If there are e.g. multiple video sinks, we would get the same seek event
multiple times. But we only want to handle it once.
https://bugzilla.gnome.org/show_bug.cgi?id=774149
Thibault Saunier [Mon, 7 Nov 2016 21:01:51 +0000 (18:01 -0300)]
test:validate: Port to python3
Sebastian Dröge [Wed, 9 Nov 2016 09:48:09 +0000 (11:48 +0200)]
ges-timeline: Fix typo in debug messages
Thibault Saunier [Sat, 8 Oct 2016 08:43:07 +0000 (10:43 +0200)]
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
Thibault Saunier [Fri, 7 Oct 2016 13:31:40 +0000 (15:31 +0200)]
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
Thibault Saunier [Thu, 6 Oct 2016 17:14:57 +0000 (19:14 +0200)]
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
Alexandru Băluț [Thu, 6 Oct 2016 12:00:23 +0000 (14:00 +0200)]
tests_: Check transition is gone when editing clip to another layer
Differential Revision: https://phabricator.freedesktop.org/D1359
Thibault Saunier [Fri, 4 Nov 2016 17:41:13 +0000 (14:41 -0300)]
meson: Unset the plugin paths to generate the .gir files
Avoiding problems when using subproject:
'Failed to load plugin something.so file too short'
Tim-Philipp Müller [Tue, 1 Nov 2016 18:10:47 +0000 (18:10 +0000)]
meson: update version
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development
Sebastian Dröge [Tue, 1 Nov 2016 16:12:35 +0000 (18:12 +0200)]
Release 1.10.0
Scott D Phillips [Tue, 25 Oct 2016 15:54:11 +0000 (08:54 -0700)]
meson: Don't depend on gstreamer-check-1.0 on windows
https://bugzilla.gnome.org/show_bug.cgi?id=773114
Nirbheek Chauhan [Tue, 25 Oct 2016 06:18:35 +0000 (11:48 +0530)]
Revert "meson: move gstreamer-check-1.0 dependency to tests/check"
This reverts commit
5665c2bfc9cae531c6dd9a75766d06a4af25ab9a.
Does not actually work. See:
https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
Thibault Saunier [Fri, 21 Oct 2016 08:49:18 +0000 (05:49 -0300)]
meson: move gstreamer-check-1.0 dependency to tests/check
Scott D Phillips [Mon, 17 Oct 2016 16:34:27 +0000 (09:34 -0700)]
meson: mark gstreamer-check-1.0 as required: false
Nirbheek Chauhan [Sat, 15 Oct 2016 16:51:24 +0000 (22:21 +0530)]
meson: Don't set c_std to gnu99
Use the default for each compiler on every platform instead. This
improves our compatibility with compilers that don't have gnu99 as
a c_std.
Thibault Saunier [Mon, 3 Oct 2016 20:44:04 +0000 (17:44 -0300)]
meson: Use environment object to setup test environment variables
Bump meson requirement to 0.35
Thibault Saunier [Mon, 10 Oct 2016 22:59:47 +0000 (00:59 +0200)]
track-element: Avoid dereferencing NULL pointer
We set TrackElement track type very early when creating effects
so it now uses that information to find TrackElement in clips
by track type.
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Differential Revision: https://phabricator.freedesktop.org/D1370
Thibault Saunier [Tue, 13 Sep 2016 15:31:54 +0000 (12:31 -0300)]
meson: Add python tests
Thibault Saunier [Fri, 30 Sep 2016 14:35:42 +0000 (11:35 -0300)]
meson: Setup pre commit hook and fix getpluginsdir for standalone case
Tim-Philipp Müller [Fri, 30 Sep 2016 13:56:48 +0000 (14:56 +0100)]
meson: update version
Sebastian Dröge [Fri, 30 Sep 2016 10:04:39 +0000 (13:04 +0300)]
Release 1.9.90
Thibault Saunier [Fri, 23 Sep 2016 23:41:04 +0000 (20:41 -0300)]
meson: Fix gtkdoc using new meson features
Thibault Saunier [Wed, 21 Sep 2016 19:41:31 +0000 (16:41 -0300)]
meson: Fix installing configured files
Thibault Saunier [Sat, 13 Aug 2016 23:54:22 +0000 (19:54 -0400)]
uriclip: Remove some filesource leftovers
Differential Revision: https://phabricator.freedesktop.org/D1329
Thibault Saunier [Sun, 14 Aug 2016 01:09:53 +0000 (21:09 -0400)]
tests_:python: Factor out common code
Differential Revision: https://phabricator.freedesktop.org/D1328
Thibault Saunier [Sat, 17 Sep 2016 12:46:59 +0000 (09:46 -0300)]
nle: Drop tags getting out of the composition
Those tag are meaningless in for the new stream created by the composition
First step toward fixing T3070
Differential Revision: https://phabricator.freedesktop.org/D1327
Thibault Saunier [Thu, 11 Aug 2016 19:12:07 +0000 (15:12 -0400)]
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
Thibault Saunier [Thu, 11 Aug 2016 17:19:44 +0000 (13:19 -0400)]
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
Thibault Saunier [Thu, 11 Aug 2016 14:54:08 +0000 (10:54 -0400)]
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
Thibault Saunier [Thu, 11 Aug 2016 14:36:44 +0000 (10:36 -0400)]
layer: Handle operation priorities
All operations should have higher priorites and sources should be
on top of those. We now first set the operations priorities in
a first pass and then stack sources on top of those.
Differential Revision: https://phabricator.freedesktop.org/D1279
Thibault Saunier [Thu, 11 Aug 2016 13:53:58 +0000 (09:53 -0400)]
ges: transition: Make crossfade fade out at the same time as it fade in
Until now fade out was just fading in the new clip, but this is not
correct and crossfade should at the same time fade out while fading
in.
Fixes https://phabricator.freedesktop.org/T3451
Differential Revision: https://phabricator.freedesktop.org/D1278
Thibault Saunier [Thu, 11 Aug 2016 13:42:32 +0000 (09:42 -0400)]
layer: Make sure to resync priorities on commit
In case effects have been added priorites might become wrong,
but until the timeline is not commited, it does not matter.
Make sure all priorities are correct before commiting compositions
Differential Revision: https://phabricator.freedesktop.org/D1277
Thibault Saunier [Thu, 11 Aug 2016 13:14:42 +0000 (09:14 -0400)]
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
Thibault Saunier [Thu, 11 Aug 2016 12:54:23 +0000 (08:54 -0400)]
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
Thibault Saunier [Thu, 11 Aug 2016 11:54:42 +0000 (07:54 -0400)]
tests_: timelineedition: Fix test now that we ripple from start and not from end
Differential Revision: https://phabricator.freedesktop.org/D1274
Sebastian Dröge [Thu, 22 Sep 2016 15:28:21 +0000 (11:28 -0400)]
nlecomposition: Don't try to seek on an empty stack
We would seek on a NULL pad then, which gives ugly assertions.
https://bugzilla.gnome.org/show_bug.cgi?id=771843
Sebastian Dröge [Thu, 22 Sep 2016 15:25:18 +0000 (11:25 -0400)]
nleurisource: Always provide a srcpad
By putting uridecodebin into a bin with a ghostpad. Without this,
nlesource tries to get a srcpad too early (before uridecodebin added
one) and everything fails miserably.
This has to be fixed properly in nlesource at some point, by properly
handling dynamically added pads. Currently they can only work if they
are added in states <= READY, which is not the usual case.
https://bugzilla.gnome.org/show_bug.cgi?id=771843
Sebastian Dröge [Wed, 21 Sep 2016 22:23:56 +0000 (18:23 -0400)]
nlesource: Fail prepare() if no valid source pad is found
https://bugzilla.gnome.org/show_bug.cgi?id=771792
Thibault Saunier [Wed, 14 Sep 2016 17:32:19 +0000 (14:32 -0300)]
ges-launch: Be a bit more agressive sanitizing arguments
Otherwise GstStructure might fail parsing some fields
containing brackets
https://bugzilla.gnome.org/show_bug.cgi?id=771434
Sebastian Dröge [Wed, 14 Sep 2016 09:31:23 +0000 (11:31 +0200)]
configure: Depend on gstreamer 1.9.2.1
Alexandru Băluț [Tue, 6 Sep 2016 12:27:38 +0000 (14:27 +0200)]
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
Alexandru Băluț [Tue, 6 Sep 2016 13:49:49 +0000 (15:49 +0200)]
tests_: Make sure child-removed is emitted when ungrouping
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1301
Alexandru Băluț [Tue, 6 Sep 2016 11:03:11 +0000 (13:03 +0200)]
timeline: Fix documentation
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1300
Alexandru Băluț [Mon, 5 Sep 2016 10:23:30 +0000 (12:23 +0200)]
Remove obsolete dependency
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1299
Jan Schmidt [Sat, 10 Sep 2016 10:52:38 +0000 (20:52 +1000)]
Automatic update of common submodule
From b18d820 to f980fd9
Jan Schmidt [Fri, 9 Sep 2016 23:58:37 +0000 (09:58 +1000)]
Automatic update of common submodule
From f49c55e to b18d820
Thibault Saunier [Fri, 9 Sep 2016 20:14:43 +0000 (17:14 -0300)]
tests: Move -DGES_TEST_FILES_PATH to common_cflags
As it is needed to build the utils lib
Thibault Saunier [Fri, 9 Sep 2016 19:42:13 +0000 (16:42 -0300)]
tests: Fix the way we get tests assets
Using __FILE__ won't work properly with meson.
Thibault Saunier [Fri, 9 Sep 2016 11:52:32 +0000 (08:52 -0300)]
test:validate: Handle new expected_failures Test argument
Thibault Saunier [Wed, 7 Sep 2016 19:53:06 +0000 (16:53 -0300)]
meson: Do not build libges against libcheck
Thibault Saunier [Mon, 5 Sep 2016 20:55:42 +0000 (17:55 -0300)]
meson: Properly find where other GStreamer plugins are when using subprojects
Thibault Saunier [Mon, 5 Sep 2016 17:54:53 +0000 (14:54 -0300)]
Revert "validate: Blacklist racy tests"
This reverts commit
ce35412ff260fbd6e07b374bc3ca677053c277e0.
https://bugzilla.gnome.org/show_bug.cgi?id=769894 has been fixed
Thibault Saunier [Fri, 26 Aug 2016 22:55:33 +0000 (19:55 -0300)]
meson: Handle building the gir file when used as subproject
Add support for building GIR when used as subproject
Add an option to disable GIR generation
And bump version to 1.9.2
Sebastian Dröge [Thu, 1 Sep 2016 09:33:22 +0000 (12:33 +0300)]
Back to development
Sebastian Dröge [Thu, 1 Sep 2016 09:33:13 +0000 (12:33 +0300)]
Release 1.9.2
Thibault Saunier [Thu, 25 Aug 2016 18:04:54 +0000 (15:04 -0300)]
meson: doc: Fix building documentation when using subprojects
And check the presence of gtk-doc before building the documentation
Sebastian Dröge [Thu, 25 Aug 2016 07:06:51 +0000 (10:06 +0300)]
ges: Rename parse_lex.h to ges-parse-lex.h
Fixes the build and makes it consistent with the meson build system.
Thibault Saunier [Thu, 4 Aug 2016 21:33:55 +0000 (17:33 -0400)]
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
Philippe Renon [Thu, 18 Aug 2016 16:43:08 +0000 (18:43 +0200)]
ges-track-element: fix typos in control_binding_removed signal declaration
https://bugzilla.gnome.org/show_bug.cgi?id=770101
Edward Hervey [Sun, 14 Aug 2016 15:45:16 +0000 (17:45 +0200)]
validate: Blacklist racy tests
See https://bugzilla.gnome.org/show_bug.cgi?id=769894
Edward Hervey [Sun, 14 Aug 2016 15:44:36 +0000 (17:44 +0200)]
ges-timeline: Demote some debugging statements
locking should be in a lower level to avoid too many messages
Edward Hervey [Sat, 13 Aug 2016 09:08:34 +0000 (11:08 +0200)]
timeline-element: Reset pointer after freeing
dispose can be called multiple times, make sure we don't call functions
on free'd pointers.
Thibault Saunier [Wed, 3 Aug 2016 15:40:30 +0000 (11:40 -0400)]
ges: Do not rescale videos if the track aspect ratio changes
Differential Revision: https://phabricator.freedesktop.org/D1242
Thibault Saunier [Tue, 2 Aug 2016 20:42:20 +0000 (16:42 -0400)]
ges: Let the compositor do the scaling if mixing is enabled
Differential Revision: https://phabricator.freedesktop.org/D1241
Thibault Saunier [Mon, 1 Aug 2016 16:55:07 +0000 (12:55 -0400)]
tests:validate: Also test opus and theora in OGG
Thibault Saunier [Fri, 29 Jul 2016 19:48:28 +0000 (15:48 -0400)]
validate: Start also testing jpeg encoding
Thibault Saunier [Fri, 29 Jul 2016 01:50:58 +0000 (21:50 -0400)]
timeline: Keep transitions when moving the moving context between layers
Differential Revision: https://phabricator.freedesktop.org/D1225
Justin Kim [Thu, 15 Oct 2015 22:13:30 +0000 (22:13 +0000)]
ges-launcher: don't leak project uri string
ges_project_get_uri returns a cloned string so it should
be free'd after usage.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D381
Thibault Saunier [Thu, 28 Jul 2016 23:30:28 +0000 (19:30 -0400)]
timeline: Ripple from start of clips and not the end.
Fixes https://phabricator.freedesktop.org/T7503
Thibault Saunier [Thu, 28 Jul 2016 21:23:31 +0000 (17:23 -0400)]
enums: Fix absolute text overlay alignment value
It needs to be in sync with GstBaseTextOverlayHAlign order.
Thibault Saunier [Thu, 28 Jul 2016 20:04:42 +0000 (16:04 -0400)]
title-source: Properly implement GESTimelineElement->lookup_child
GESTrackElement->lookup_child is deprecated and should be avoided
as much as possible.
Thibault Saunier [Thu, 28 Jul 2016 20:02:05 +0000 (16:02 -0400)]
clip: Reimplement look_child and iterate over children if needed
Otherwise in the case where children reimplement lookup_child to
handle some property renaming lookup fails.
Thibault Saunier [Thu, 28 Jul 2016 18:24:07 +0000 (14:24 -0400)]
tools: Fix printing commands help
Thibault Saunier [Tue, 26 Jul 2016 18:05:06 +0000 (14:05 -0400)]
ges:validate: Check that no extra decoding happens
Thibault Saunier [Tue, 26 Jul 2016 15:59:39 +0000 (11:59 -0400)]
uri-sources: Make sure to set decodebin 'caps' property
Fixes a regression where we decode streams twice,
this was introduced when we started creating NLE
object at GESTrackElement construct time.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=769193
Thibault Saunier [Sun, 24 Jul 2016 12:32:06 +0000 (08:32 -0400)]
timeline: Emit snap-ended on commit if needed
Commiting the timeline means that the current operations on the clips are over,
so we should concider snapping as done at that point
Fixes T7499
Mohan R [Sun, 26 Jun 2016 06:53:40 +0000 (12:23 +0530)]
fixed ges-version.h not found issue during out of tree build
Thibault Saunier [Fri, 22 Jul 2016 11:32:51 +0000 (07:32 -0400)]
image-source: Do not concider inpoints
We have no restriction on inpoint for Images
Differential Revision: https://phabricator.freedesktop.org/D1202
Thibault Saunier [Fri, 15 Jul 2016 12:57:28 +0000 (08:57 -0400)]
tests:validate: Better choose tested rendering formats
Stefan Sauer [Mon, 11 Jul 2016 19:16:11 +0000 (21:16 +0200)]
Automatic update of common submodule
From f363b32 to f49c55e
Sebastian Dröge [Wed, 6 Jul 2016 10:51:18 +0000 (13:51 +0300)]
Back to development
Sebastian Dröge [Wed, 6 Jul 2016 10:45:17 +0000 (13:45 +0300)]
Release 1.9.1
Justin Kim [Wed, 29 Jun 2016 00:39:02 +0000 (00:39 +0000)]
ges-launch: unref GApplication properly
Differential Revision: https://phabricator.freedesktop.org/D380
Justin Kim [Wed, 29 Jun 2016 00:38:36 +0000 (00:38 +0000)]
project_: improve get_uri doc
The return value of ges_project_get_uri should be freed
after usage.
Differential Revision: https://phabricator.freedesktop.org/D1142
Nicolas Dufresne [Tue, 21 Jun 2016 15:49:14 +0000 (11:49 -0400)]
Automatic update of common submodule
From ac2f647 to f363b32
Thibault Saunier [Tue, 21 Jun 2016 01:29:44 +0000 (21:29 -0400)]
tests: Make sure to run python tests against the build in tree
Thibault Saunier [Sat, 18 Jun 2016 20:16:00 +0000 (16:16 -0400)]
ges: Don't remove track elements from clips when removing from layer
And reuse the same previously created element when adding the clip
back to a layer, avoiding losing all setting done on clip children
in that situation
This is a behaviour change but previous behaviour was actually totally
unexpected and people working around that weird behaviour will moste
probably not care about that change
Differential Revision: https://phabricator.freedesktop.org/D1094
Thibault Saunier [Mon, 20 Jun 2016 18:00:07 +0000 (14:00 -0400)]
title_: Do not forget to link up child_added/removed vmethod
Otherwise effect handling is broken
Differential Revision: https://phabricator.freedesktop.org/D1099
Thibault Saunier [Mon, 20 Jun 2016 00:02:06 +0000 (20:02 -0400)]
auto-transitions: Do not remove auto transitions when moving neighboor from the same group
Differential Revision: https://phabricator.freedesktop.org/D1097
Aurélien Zanelli [Sat, 14 May 2016 17:33:05 +0000 (19:33 +0200)]
ges: fix various leaks with usage of ges_timeline_element_lookup_child
Some callers forgot to unref out child, pspec or both leading to leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=766449
Aurélien Zanelli [Sat, 14 May 2016 17:02:57 +0000 (19:02 +0200)]
video-track: don't leak restriction caps in _sync_capsfilter_with_track()
https://bugzilla.gnome.org/show_bug.cgi?id=766450
Sebastian Dröge [Mon, 6 Jun 2016 14:44:15 +0000 (17:44 +0300)]
ges-uri-asset: GstDiscoverer can return a valid info but a non-OK result, consider this an error
The asynchronous case in ges_uri_clip_asset_request_async() already considered
it an error, do the same in ges_uri_clip_asset_request_sync().
https://bugzilla.gnome.org/show_bug.cgi?id=767293
Sebastian Dröge [Tue, 31 May 2016 09:09:44 +0000 (12:09 +0300)]
nlecomposition: Fix race condition in seek handling causing deadlocks
We might receive another seek from the application while the action task is
handling a previous seek (and thus setting seeking_itself to TRUE). To prevent
this seek to go through directly instead of being added as an action, also
check if the seek event was received from our action task thread or some other
thread.
https://bugzilla.gnome.org/show_bug.cgi?id=767053
Thibault Saunier [Tue, 31 May 2016 13:29:44 +0000 (09:29 -0400)]
ges: Emit GESMetontainer::notify-meta even if value is unset
Thibault Saunier [Mon, 30 May 2016 14:51:51 +0000 (10:51 -0400)]
ges: Allow passing `NULL` as a value to ges_meta_container_set_meta
Fixes T7430