Thibault Saunier [Fri, 20 Apr 2018 21:45:19 +0000 (18:45 -0300)]
pipeline: Properly error out when linking fails
In the rendering case we were getting random issues and often the
pipeline was not be able to preroll as some pad were not linked inside
encodebin.
https://bugzilla.gnome.org/show_bug.cgi?id=795422
Thibault Saunier [Fri, 20 Apr 2018 20:54:12 +0000 (17:54 -0300)]
track-element: Fix the way we look for properties on simple elements
Refactor so that the same code is used to add children properties from
bin children and when inspecting a single element.
Thibault Saunier [Fri, 20 Apr 2018 20:36:55 +0000 (17:36 -0300)]
pipeline: Update caps only when rendering as comment suggests
We used to update caps for any more because of missing brackets.
Thibault Saunier [Fri, 20 Apr 2018 20:35:06 +0000 (17:35 -0300)]
effect: Allow setting properties on any element specified by the user
Those are the elements he cares about and we should expose their APIs
as is, event if they are not classified as effects. For example if
the user want to use a capsfilter as effect, he should be able to set
its caps.
Thibault Saunier [Fri, 20 Apr 2018 20:34:17 +0000 (17:34 -0300)]
xml-formatter: Print error if an effect can't be set when deserializing
Tim-Philipp Müller [Mon, 16 Apr 2018 09:53:57 +0000 (10:53 +0100)]
Automatic update of common submodule
From 3fa2c9e to ed78bee
Thibault Saunier [Sat, 31 Mar 2018 16:39:54 +0000 (13:39 -0300)]
Deprecate ges_layer_set_priority
Keep old behaviour but deprecate the method and property as
ges_timeline_move_layer should be used instead.
Thibault Saunier [Sat, 12 Dec 2015 11:29:50 +0000 (11:29 +0000)]
timeline: Add a method to move layers around
summary_:
This way the timeline can handle all priorities for the user
making the API simpler to use.
API:
+ ges_timeline_move_layer
reviewers_: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D232
Thibault Saunier [Sat, 31 Mar 2018 14:24:23 +0000 (11:24 -0300)]
timeline-element: Fix ABI breakage
New fields in structure should be added in place of the padding
Thibault Saunier [Sat, 31 Mar 2018 13:38:19 +0000 (10:38 -0300)]
docs: Move timeline related doc to the timeline section
It wrongly was in the layers
Thibault Saunier [Fri, 30 Mar 2018 21:17:13 +0000 (18:17 -0300)]
ges-launcher: Add support for titles
Thibault Saunier [Fri, 30 Mar 2018 20:41:49 +0000 (17:41 -0300)]
command-line-formatter: Refactor to generate the documentation automatically
https://bugzilla.gnome.org/show_bug.cgi?id=794837
Thibault Saunier [Mon, 26 Mar 2018 15:13:25 +0000 (12:13 -0300)]
ges: Update the media-duration-factor each time a child property is set
Otherwise the changes won't be reflected in the NLE backend.
This makes speed changes working inside ges-launch-1.0
ges-launch-1.0 +clip /path/to/file i=10 d=5 +effect videorate set-rate 5.0
https://bugzilla.gnome.org/show_bug.cgi?id=794699
Suhas Nayak [Mon, 26 Mar 2018 13:26:03 +0000 (18:56 +0530)]
ges: Register videorate::rate as a rate changing property
https://bugzilla.gnome.org/show_bug.cgi?id=794699
Tim-Philipp Müller [Tue, 20 Mar 2018 10:24:35 +0000 (10:24 +0000)]
Back to development
Tim-Philipp Müller [Mon, 19 Mar 2018 20:28:10 +0000 (20:28 +0000)]
Release 1.14.0
Thibault Saunier [Mon, 19 Mar 2018 11:57:47 +0000 (08:57 -0300)]
doc: Remove documentation about GESVideoSource::zorder as it doesn't exist
The zorder is controled through the GESLayer priority API, not directly
on the sources.
Thibault Saunier [Sun, 18 Mar 2018 14:03:00 +0000 (11:03 -0300)]
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
Thibault Saunier [Wed, 14 Mar 2018 23:59:04 +0000 (20:59 -0300)]
group: Handle clips being removed from their layers
Tim-Philipp Müller [Tue, 13 Mar 2018 19:29:44 +0000 (19:29 +0000)]
Release 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 14:14:57 +0000 (14:14 +0000)]
GST_GES_API -> GES_API
Tim-Philipp Müller [Tue, 13 Mar 2018 13:45:24 +0000 (13:45 +0000)]
ges: GST_EXPORT -> GST_GES_API
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
Thibault Saunier [Sun, 11 Mar 2018 14:13:05 +0000 (11:13 -0300)]
clip: Snapping should happen with one and only one TrackElement
This was leading to clip with TrackElements that were not at the
same position in their container, and weird bugs, see:
https://gitlab.gnome.org/GNOME/pitivi/issues/2133
Tim-Philipp Müller [Sat, 3 Mar 2018 23:09:36 +0000 (23:09 +0000)]
Release 1.13.90
Harish Fulara [Sun, 25 Feb 2018 22:31:33 +0000 (04:01 +0530)]
Added paste functionality to GESTimeline class
https://bugzilla.gnome.org/show_bug.cgi?id=793820
Mathieu Duponchelle [Thu, 1 Mar 2018 17:56:05 +0000 (18:56 +0100)]
meson: enable more warnings
Thibault Saunier [Tue, 27 Feb 2018 13:00:32 +0000 (10:00 -0300)]
test: Plug minor leaks
Harish Fulara [Tue, 27 Feb 2018 09:56:29 +0000 (15:26 +0530)]
ges: Fix ges_layer_get_clips_in_interval(start, end) refcount handling
The documentation states that it returns a (transfer full) list
of GESClip but it was returning a (transfer container) list. Make
sure to actually make it (transfer full).
https://bugzilla.gnome.org/show_bug.cgi?id=793874
Thibault Saunier [Mon, 29 Jan 2018 20:46:06 +0000 (17:46 -0300)]
meson: Explicitely include GObject-2.0 in the gir
Tim-Philipp Müller [Wed, 21 Feb 2018 19:42:19 +0000 (19:42 +0000)]
meson: simplify GST_DISABLE_GST_DEBUG check some more
Tim-Philipp Müller [Wed, 21 Feb 2018 19:20:56 +0000 (19:20 +0000)]
meson: don't use add_global_arguments()
.. and tighten check for disabled gst debugging sytem.
add_global_arguments() can't be used in subprojects. It's
entirely possible that ges is a subproject but gstreamer
is picked up from an installed location, so we should
really use add_project_arguments() in both cases.
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:30 +0000 (19:44 +0000)]
Back to development
Tim-Philipp Müller [Thu, 15 Feb 2018 17:20:22 +0000 (17:20 +0000)]
Release 1.13.1
Tim-Philipp Müller [Thu, 8 Feb 2018 19:16:26 +0000 (19:16 +0000)]
meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
Tim-Philipp Müller [Sun, 4 Feb 2018 11:26:48 +0000 (12:26 +0100)]
autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Tim-Philipp Müller [Tue, 30 Jan 2018 20:35:33 +0000 (20:35 +0000)]
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Edward Hervey [Thu, 11 Jan 2018 09:57:30 +0000 (10:57 +0100)]
ges: Fix sizeof() usage
The entries of the array are "gchar *" and not "gchar **"
CID #1427091
CID #1427120
Edward Hervey [Wed, 20 Dec 2017 13:28:33 +0000 (14:28 +0100)]
check: Fix minor leak in test
Mathieu Duponchelle [Tue, 19 Dec 2017 22:28:53 +0000 (23:28 +0100)]
ges-smart-adder: use capsfilter instead of GstAudioMixer:caps
The property has been removed, and using a capsfilter instead
is the appropriate solution.
Matthew Waters [Thu, 14 Dec 2017 03:53:41 +0000 (14:53 +1100)]
Automatic update of common submodule
From e8c7a71 to 3fa2c9e
Edward Hervey [Mon, 27 Nov 2017 10:49:04 +0000 (11:49 +0100)]
ges: Fix a bunch of leaks
There are definitely more left, but don't have time for more debugging
Matthew Waters [Mon, 27 Nov 2017 09:18:55 +0000 (20:18 +1100)]
Automatic update of common submodule
From 3f4aa96 to e8c7a71
Tim-Philipp Müller [Sun, 26 Nov 2017 13:31:02 +0000 (13:31 +0000)]
configure: remove c++ compiler bits that are unused
Tim-Philipp Müller [Sun, 26 Nov 2017 13:29:33 +0000 (13:29 +0000)]
win32: remove .def file with exports
They're no longer needed, symbol exporting is now explicit
via GST_EXPORT in all cases (autotools, meson, incl. MSVC).
Tim-Philipp Müller [Sun, 26 Nov 2017 13:25:06 +0000 (13:25 +0000)]
autotools: stop controlling symbol visibility with -export-symbols-regex
Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.
Tim-Philipp Müller [Sun, 26 Nov 2017 13:26:13 +0000 (13:26 +0000)]
.gitignore: ignore test registry
Thibault Saunier [Sat, 25 Nov 2017 18:56:36 +0000 (15:56 -0300)]
uri-clip: Copy previous track elements bindings when setting a new asset
Fixes https://phabricator.freedesktop.org/T7862
Edward Hervey [Thu, 23 Nov 2017 14:49:48 +0000 (15:49 +0100)]
check: Actually define a registry to use for tests
Otherwise every single run of every single test would recreate
a registry
Ashish Kumar [Tue, 7 Nov 2017 06:34:03 +0000 (12:04 +0530)]
GESAsset, GESLayer: add some function guards
https://bugzilla.gnome.org/show_bug.cgi?id=789521
Thibault Saunier [Tue, 7 Nov 2017 14:26:58 +0000 (11:26 -0300)]
auto-transition: Fix debug printf format
Thibault Saunier [Tue, 7 Nov 2017 13:15:58 +0000 (10:15 -0300)]
timeline: Do not snap object within the moving context
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Differential Revision: https://phabricator.freedesktop.org/D1873
Thibault Saunier [Tue, 31 Oct 2017 15:05:08 +0000 (12:05 -0300)]
ges: Sync 'par' to track restriction caps in the frame positionner
Allowing GES users to have control over how compositing is done
Sebastian Dröge [Wed, 20 Sep 2017 09:59:40 +0000 (12:59 +0300)]
ges-source: Fix caps memory leak and compiler warnings when compiling without debug logging
Nicolas Dufresne [Thu, 7 Sep 2017 16:08:40 +0000 (12:08 -0400)]
nlecomposition: Always execute seeks
We have an optiominisation to avoid double seeks when a seek is passed
the end of the current stack. The problem, is that we no longer flush
the pipeline when this code is reached. This patch comments out this
optimization adding a FIXME. As mention, flushing the stack instead of
seeking would work, but does not seem trivial considering all the
mechanic inplace to forward or not the events.
https://bugzilla.gnome.org/show_bug.cgi?id=787405
Nicolas Dufresne [Thu, 7 Sep 2017 16:08:40 +0000 (12:08 -0400)]
nlecomposition: Also start task on allocation query
The allocation query may block on the sink when in pause. As a side effect, we
may never get a buffer now that tee does forward the allocation query.
This would often lead in a pipeline stall.
https://bugzilla.gnome.org/show_bug.cgi?id=787405
Nicolas Dufresne [Thu, 7 Sep 2017 16:08:40 +0000 (12:08 -0400)]
make: Fix validate scenario install directory
Nicolas Dufresne [Thu, 7 Sep 2017 16:07:03 +0000 (12:07 -0400)]
meson: Install validate helpers and scenarios
This fixes the usage of gst-validate-launcher ges with an installed
version of GES.
Stefan Popa [Thu, 17 Aug 2017 07:28:46 +0000 (07:28 +0000)]
track_element: Always emit "control-binding-removed" signal.
When setting a new control binding on a track element, the old control
binding (if any) is going to be removed. Make sure the
"control-binding-removed" signal is emitted in this case.
Fixes https://phabricator.freedesktop.org/T7340#95666
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1842
Thibault Saunier [Wed, 30 Aug 2017 01:23:57 +0000 (22:23 -0300)]
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
e570d1e08009992a0dd6a24bb4cda4427b2b460f.
Thanks @stefanzzz for investigating!
Stefan Popa [Tue, 22 Aug 2017 14:23:45 +0000 (14:23 +0000)]
xml-formatter: Save encoder and muxer advanced settings
Added support for saving/loading encoder and muxer advanced settings.
Differential Revision: https://phabricator.freedesktop.org/D1837
Thibault Saunier [Sat, 19 Aug 2017 14:42:57 +0000 (11:42 -0300)]
pipeline: Allow up to 2 seconds queueing in the playsink video queue
In playsink the default video queue max size is 3 buffers, which is
sometimes not enough for our use case.
Allow up to 2 seconds of buffered data, giving us more time to do
the transition between clips, and thus avoiding dropping frames in
the sink when bringing up new clip takes too much time.
Differential Revision: https://phabricator.freedesktop.org/D1854
Thibault Saunier [Sat, 19 Aug 2017 02:39:38 +0000 (23:39 -0300)]
timeline: Add from first element with wanted start to the move context
We need to iterate over the previous element from trackelement_iter
to find the first element that is at the moving point. Several
elements can have the same start as the one initiating the move,
and we need to take all of them into account.
Fixes https://phabricator.freedesktop.org/T7819
Thibault Saunier [Sat, 19 Aug 2017 02:18:10 +0000 (23:18 -0300)]
validate: Add an action type to ungroup containers
Tim-Philipp Müller [Thu, 17 Aug 2017 11:26:24 +0000 (12:26 +0100)]
Automatic update of common submodule
From 48a5d85 to 3f4aa96
Tim-Philipp Müller [Sat, 12 Aug 2017 09:04:03 +0000 (10:04 +0100)]
Hide ges_smart_mixer_* API
The header file isn't installed anyway.
Tim-Philipp Müller [Sat, 12 Aug 2017 09:01:51 +0000 (10:01 +0100)]
configure: bump gst-validate requirement to 1.12.1
For gst_validate_scenario_get_pipeline().
Tim-Philipp Müller [Fri, 11 Aug 2017 21:27:48 +0000 (22:27 +0100)]
meson: hide symbols by default unless explicitly exported
Tim-Philipp Müller [Fri, 11 Aug 2017 20:41:52 +0000 (21:41 +0100)]
tests: don't use private debug category in asset test
That will lead to undefined symbol errors once it no
longer gets exported.
Tim-Philipp Müller [Fri, 11 Aug 2017 20:40:14 +0000 (21:40 +0100)]
ges: sprinkle more GST_EXPORT
Thibault Saunier [Thu, 10 Aug 2017 19:05:09 +0000 (15:05 -0400)]
smartmixer: Give a unique name to each compositor instances
Thibault Saunier [Fri, 11 Aug 2017 01:38:04 +0000 (21:38 -0400)]
validate: Check subprocess return code in rendering tests
Tim-Philipp Müller [Thu, 10 Aug 2017 14:18:22 +0000 (15:18 +0100)]
validate: fix error message
Tim-Philipp Müller [Thu, 10 Aug 2017 12:46:03 +0000 (13:46 +0100)]
meson: fix a few warnings
Thibault Saunier [Mon, 7 Aug 2017 19:35:58 +0000 (15:35 -0400)]
Mark symbols explicitly for export with GST_EXPORT
With two exceptions:
* ges_clip_create_track_elements_func
* ges_uri_clip_set_uri
which were never declared in headers and should always have been static.
Thibault Saunier [Thu, 3 Aug 2017 21:03:31 +0000 (17:03 -0400)]
transition: Fix usage of transition types != crossfade
We need to make sure the crossfade ratio is disabled in that case.
Thibault Saunier [Mon, 10 Jul 2017 15:43:11 +0000 (11:43 -0400)]
video-transition: Make use of the new `compositor::crossfade-ratio` property
To achieve a real transition about to handle several level of layers.
https://bugzilla.gnome.org/show_bug.cgi?id=784827
Thibault Saunier [Mon, 31 Jul 2017 18:52:20 +0000 (14:52 -0400)]
win32: Update .def file
Thibault Saunier [Mon, 31 Jul 2017 16:54:25 +0000 (12:54 -0400)]
asset: Add a function to stop proxying an asset
And remove any reference as it beeing a proxy.
Thibault Saunier [Mon, 31 Jul 2017 16:55:53 +0000 (12:55 -0400)]
asset: Clear loading error when reload is requested
Thibault Saunier [Fri, 28 Jul 2017 01:15:34 +0000 (21:15 -0400)]
nlecomposition: Rename segment_start to current_stack_start
It is still not exactly precise, but gives a much better understanding
of what it is.
Thibault Saunier [Tue, 12 Jan 2016 17:05:48 +0000 (17:05 +0000)]
nlecomposition: Properly update segment->start/stop on commit
Otherwise they will just be the ones from the previous seek event/
stack setup and be meaningless.
Also document the priv->segment meaning.
Fixes https://phabricator.freedesktop.org/T7796
Thibault Saunier [Thu, 27 Jul 2017 19:57:31 +0000 (15:57 -0400)]
timeline: Remove trackelements initating move from the moving context
They are handled specially when moving the context and having them
part of the context can lead to weird behaviours.
Fixes https://phabricator.freedesktop.org/T7693
Thibault Saunier [Fri, 21 Jul 2017 20:41:26 +0000 (16:41 -0400)]
xml-formatter: Serialize encoding profiles in reverse order
So they are reloaded in the right order.
Thibault Saunier [Mon, 24 Jul 2017 14:32:47 +0000 (10:32 -0400)]
pipeline: Make sure tracks are unlinked on NULL->NULL state changes
Thibault Saunier [Mon, 24 Jul 2017 14:34:48 +0000 (10:34 -0400)]
Enhance some pad linking issue debug logging.
Thibault Saunier [Thu, 13 Jul 2017 20:38:04 +0000 (16:38 -0400)]
validate: Fix test names now that the launcher handles adding manager name
Thibault Saunier [Tue, 11 Jul 2017 15:40:55 +0000 (11:40 -0400)]
tests: Initialize GES only once in the main process
Fixing calling deinit in a process where init was not called
when libcheck is forking.
Nicolas Dufresne [Tue, 11 Jul 2017 01:42:21 +0000 (21:42 -0400)]
ges: Ref the GES class to avoid later deadlock
This ensure that that all class are initialized from the main thread,
avoid class initialization in random thread, which may cause deadlocks.
https://bugzilla.gnome.org/show_bug.cgi?id=784769
Tim-Philipp Müller [Fri, 7 Jul 2017 11:27:16 +0000 (12:27 +0100)]
meson: find python3 via python3 module
https://bugzilla.gnome.org/show_bug.cgi?id=783198
Stefan Popa [Mon, 3 Jul 2017 15:33:39 +0000 (18:33 +0300)]
"deep-notify" signal gets emitted only from the main thread
https://bugzilla.gnome.org/show_bug.cgi?id=784414
Thibault Saunier [Fri, 30 Jun 2017 20:18:17 +0000 (16:18 -0400)]
video-transition: Make sure crossfade output never contains alpha
Otherwise it would get mixed with lower layers, which is totally
unexpected.
Fixes T7773
Differential Revision: https://phabricator.freedesktop.org/D1764
Thibault Saunier [Fri, 23 Jun 2017 20:18:36 +0000 (16:18 -0400)]
meson: Allow using glib as a subproject
Thibault Saunier [Fri, 23 Jun 2017 20:04:01 +0000 (16:04 -0400)]
ges: Handle g_object_newv deprecation in latest GLib
Nicolas Dufresne [Sat, 10 Jun 2017 00:15:26 +0000 (20:15 -0400)]
Don't dist config.meson.h as it no longer exist
Tim-Philipp Müller [Fri, 9 Jun 2017 20:37:48 +0000 (21:37 +0100)]
meson: remove config.h.meson
Thibault Saunier [Wed, 7 Jun 2017 16:08:00 +0000 (12:08 -0400)]
meson: Do not use path separator in test names
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
Thibault Saunier [Fri, 28 Apr 2017 19:41:42 +0000 (16:41 -0300)]
validate: Port to new GstValidate API for pipeline retrieval
Sebastian Dröge [Mon, 15 May 2017 07:13:38 +0000 (09:13 +0200)]
ges: Correctly handling floating references
If we ref_sink() a parameter, it must be marked as (transfer floating)
and it also has to be handled consistently between error and normal cases.
See https://bugzilla.gnome.org/show_bug.cgi?id=782499
https://bugzilla.gnome.org/show_bug.cgi?id=782652
Nicolas Dufresne [Tue, 16 May 2017 18:37:03 +0000 (14:37 -0400)]
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
Sebastian Dröge [Thu, 4 May 2017 15:59:14 +0000 (18:59 +0300)]
Back to development