Thibault Saunier [Sat, 28 Jul 2018 18:29:11 +0000 (14:29 -0400)]
xml-formatter: Bump format version
Previous commit makes the format not forward compat.
Thibault Saunier [Sat, 28 Jul 2018 16:16:36 +0000 (12:16 -0400)]
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
Thibault Saunier [Sat, 28 Jul 2018 02:11:33 +0000 (22:11 -0400)]
project: Compute relocation URIs in missing-uri signal
Until know we were doing it outside of the signal and subclasses didn't
have a chance to know that some assets was relocated.
This is required so that Pitivi can handle proxy delation and relocated
assets.
Required for https://gitlab.gnome.org/GNOME/pitivi/issues/2203
Nirbheek Chauhan [Wed, 25 Jul 2018 11:50:02 +0000 (17:20 +0530)]
meson: Convert common options to feature options
The remaining automagic options are in tests and examples.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
Thibault Saunier [Mon, 23 Jul 2018 04:07:07 +0000 (00:07 -0400)]
validate: Let testsuites define scenarios path
The code was not taking into account the fact that testsuite could be
located in a different folder that the default one.
Now the testsuite is responsible for providing a path if it wants
to set extra scenarios or the user can set one by hand.
Thibault Saunier [Sat, 14 Jul 2018 13:00:51 +0000 (09:00 -0400)]
pitivi-formatter: Do not g_file_test on a NULL pointer
Thibault Saunier [Wed, 18 Jul 2018 16:38:04 +0000 (12:38 -0400)]
nlecomposition: Rename outside_segment to seek_segment
This segment is representing the last seek received
inside the composition. Or a simply initialized segment
if need seek occurred.
Thibault Saunier [Wed, 18 Jul 2018 16:52:59 +0000 (12:52 -0400)]
tests: Minor assertion enahncements
Thibault Saunier [Thu, 19 Jul 2018 14:55:31 +0000 (10:55 -0400)]
project: Do not emit 'error-loading-asset' when we are trying to update the ID
Thibault Saunier [Fri, 20 Jul 2018 02:06:54 +0000 (22:06 -0400)]
validate: Handle scenario only based tests
Meaning tests that do not need project at all
Thibault Saunier [Thu, 12 Jul 2018 17:53:44 +0000 (13:53 -0400)]
track: Set restriction caps when update_restriction before caps being set
And stop leaking intermediary restriction caps.
https://bugzilla.gnome.org/show_bug.cgi?id=796802
Thibault Saunier [Sun, 8 Jul 2018 20:09:46 +0000 (16:09 -0400)]
python:overrides: Remove spurious print
Thibault Saunier [Sun, 8 Jul 2018 14:36:36 +0000 (10:36 -0400)]
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.
Bastian Köcher [Sun, 1 Apr 2018 14:22:16 +0000 (16:22 +0200)]
meson: fix install dir for configure files
Nixos configures a custom includedir.
https://bugzilla.gnome.org/show_bug.cgi?id=794856
Thibault Saunier [Sun, 1 Jul 2018 20:22:24 +0000 (16:22 -0400)]
Set GLib log domain to GES
Thibault Saunier [Sun, 1 Jul 2018 16:21:54 +0000 (12:21 -0400)]
group: Handle clips that get readded to a layer and inside a group
Mathieu Duponchelle [Tue, 26 Jun 2018 14:21:22 +0000 (16:21 +0200)]
asset: documentation fix
Thibault Saunier [Fri, 15 Jun 2018 20:49:55 +0000 (16:49 -0400)]
tests: Use gst-validate-launcher to run python tests
Thibault Saunier [Thu, 14 Jun 2018 21:07:10 +0000 (17:07 -0400)]
meson: Rename the gtkdoc option to gtk_doc
This is what other modules use
Tim-Philipp Müller [Sun, 20 May 2018 22:48:39 +0000 (23:48 +0100)]
examples: override -Werror
Don't want to error out on deprecated API warnings and such.
Just drop -Werror for the examples until someone updates them
to recent gtk3 API. Maybe showing the warnings will motivate
someone.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
Tim-Philipp Müller [Sun, 20 May 2018 22:47:14 +0000 (23:47 +0100)]
examples: always build against gtk3
Drop gtk2 option.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
Tim-Philipp Müller [Sun, 20 May 2018 22:46:42 +0000 (23:46 +0100)]
examples: ges-ui: fix some gtk2-ism
Still lots of deprecated API to update.
https://bugzilla.gnome.org/show_bug.cgi?id=796243
Thibault Saunier [Mon, 14 May 2018 01:12:35 +0000 (21:12 -0400)]
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
Thibault Saunier [Sun, 13 May 2018 20:37:08 +0000 (16:37 -0400)]
validate: Run IQA tests when possible
Meaning that a reference file has to be present on disk with a
`.expected_result` extension.
Thibault Saunier [Fri, 20 Apr 2018 20:56:15 +0000 (17:56 -0300)]
validate: Stop forcing I420 in profiles restriction caps
This was a workaround for encoders bad behavior in the reconfigure case.
https://bugzilla.gnome.org/show_bug.cgi?id=795420
Nirbheek Chauhan [Sat, 5 May 2018 14:04:14 +0000 (19:34 +0530)]
meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
Tim-Philipp Müller [Wed, 25 Apr 2018 10:01:01 +0000 (11:01 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported
Just like the autotools build.
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