Thibault Saunier [Sat, 2 Jan 2016 15:15:02 +0000 (16:15 +0100)]
Do not install ges-smart-video-mixer.h
it should always have been private
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D617
Thibault Saunier [Wed, 6 Jan 2016 08:50:39 +0000 (09:50 +0100)]
Revert "timeline-element: Do not consider not serializable elements when getting top element"
This commit was causing issue where we were reporting the toplevel
element as an element but that element was actually in another
not serialized group. That is very tricky to handle for end users
as they are not guaranteed the toplevel clips were actually not
contained in another element.
This reverts commit
ceb82ba3028332987d8d5251f98b4896120aa59b.
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D627
Mathieu Duponchelle [Sat, 9 Jan 2016 04:15:47 +0000 (05:15 +0100)]
nlecomposition: use correct type for flush_seqnum.
Mathieu Duponchelle [Sat, 9 Jan 2016 04:14:36 +0000 (05:14 +0100)]
nleghostpad: use GST_SEGMENT_FORMAT
This isn't 2005 anymore.
Sebastian Dröge [Tue, 29 Dec 2015 16:08:03 +0000 (18:08 +0200)]
ges-asset: Don't dereference NULL proxy assets when resolving fails
CID 1346531
Sebastian Dröge [Sat, 26 Dec 2015 08:43:11 +0000 (09:43 +0100)]
ges: Fix various g-i warnings
Sebastian Dröge [Sat, 26 Dec 2015 08:43:19 +0000 (09:43 +0100)]
ges-track-element: Rename control-binding-reomved signal to control-binding-removed
Strictly speaking an API change but nobody on the Internet seemed to have used
the signal with the typo in the name.
Sebastian Dröge [Thu, 24 Dec 2015 14:30:23 +0000 (15:30 +0100)]
Back to development
Sebastian Dröge [Thu, 24 Dec 2015 14:07:57 +0000 (15:07 +0100)]
Release 1.7.1
Sebastian Dröge [Tue, 22 Dec 2015 08:58:06 +0000 (09:58 +0100)]
ges-validate: Fix compiler warning caused by usage of wrong enum type
ges-validate.c:237:22: error: implicit conversion from enumeration type
'GESEdge' to different enumeration type 'GESEditMode'
[-Werror,-Wenum-conversion]
GESEditMode edge = GES_EDGE_NONE;
~~~~ ^~~~~~~~~~~~~
ges-validate.c:277:41: error: implicit conversion from enumeration type
'GESEditMode' to different enumeration type 'GESEdge'
[-Werror,-Wenum-conversion]
new_layer_priority, mode, edge, position))) {
^~~~
https://bugzilla.gnome.org/show_bug.cgi?id=759758
Thibault Saunier [Fri, 18 Dec 2015 12:32:22 +0000 (13:32 +0100)]
timeline-element: Do not consider not serializable elements when getting top element
Those are temporary elements that should not be considered when dealing
with the hierarchy of objects.
Fixes T3455
Thibault Saunier [Thu, 17 Dec 2015 12:36:42 +0000 (13:36 +0100)]
uri-clip: Copy sources child properties when resetting asset
Thibault Saunier [Thu, 12 Mar 2015 12:57:28 +0000 (13:57 +0100)]
examples: Move all examples to the root dir and create foldersdir per language
+ Add some markdown files to link between languages
+ Add a simple 'play timeline with one clip" example in C and python
Sebastian Dröge [Mon, 21 Dec 2015 11:34:56 +0000 (12:34 +0100)]
configure: Use -Bsymbolic-functions if available
While this is more useful for libraries, some of our plugins with multiple
files and some internal API can also benefit from this.
Thibault Saunier [Fri, 11 Dec 2015 14:20:53 +0000 (15:20 +0100)]
Revert "project: Call asset_added in the first signal emition stage"
This reverts commit
08f927ca68f71530a32846b6da19eac9dc439a2c.
That commit was breaking the API and could break other people's code.
Thibault Saunier [Tue, 8 Dec 2015 11:37:29 +0000 (12:37 +0100)]
asset: Add a way to set asset as "needing reload"
Allowing application to force the asset system to recheck if an
asset has been "fixed" and can be used again
API:
+ ges_asset_needs_reload
Differential Revision: https://phabricator.freedesktop.org/D584
Thibault Saunier [Wed, 2 Dec 2015 10:04:10 +0000 (11:04 +0100)]
project: Call asset_added in the first signal emition stage
Differential Revision: https://phabricator.freedesktop.org/D520
Thibault Saunier [Fri, 20 Nov 2015 22:33:12 +0000 (23:33 +0100)]
Implement asset proxying support
API:
ges_asset_set_proxy
ges_asset_get_proxy
ges_asset_list_proxies
ges_asset_get_proxy_target
Differential Revision: https://phabricator.freedesktop.org/D504
Nicolas Dufresne [Mon, 7 Dec 2015 14:11:38 +0000 (09:11 -0500)]
Automatic update of common submodule
From b319909 to 86e4663
Sebastian Dröge [Thu, 26 Nov 2015 17:41:36 +0000 (23:11 +0530)]
bash-completion: Disable during "make distcheck" as this requires installing files outside the prefix
automake requires all files to be installed inside the prefix. bash-completion
requires the files to be in a specific directory given by a pkg-config file.
As such those two are having incompatible requirements and we just disable
bash-completion installation for the time being when running "make distcheck".
Nonetheless things like "make install" with e.g. a DESTDIR or a private
installation into a user's directory will fail as in both cases the
bash-completion data would be tried to be installed system-wide.
Sebastian Dröge [Thu, 26 Nov 2015 17:12:45 +0000 (22:42 +0530)]
Revert "build: fix make distcheck."
This reverts commit
462727d6d825b6e67119e6b8ea47d9e18cc22bdf.
This "fix" broke the build on Windows, where both prefix and datadir are
absolute paths and as such we would concatenate two absolute paths and fail.
Thibault Saunier [Fri, 20 Nov 2015 23:23:02 +0000 (00:23 +0100)]
tests: Properly setup GST_PLUGIN_PATH in test environement
Thibault Saunier [Sat, 14 Nov 2015 23:31:21 +0000 (00:31 +0100)]
Dist gst-editing-services.doap
Thibault Saunier [Sun, 8 Nov 2015 21:49:43 +0000 (22:49 +0100)]
asset: Add a method to retrieve the GError of an asset loaded with error
API:
ges_asset_get_error
Thibault Saunier [Sat, 7 Nov 2015 17:21:53 +0000 (18:21 +0100)]
project: Add a 'asset-loading' signal
Thibault Saunier [Thu, 5 Nov 2015 10:16:31 +0000 (11:16 +0100)]
ges: Set restriction caps in the audio source caps filter
Otherwise we could have not negotiated errors in audiomixer when
the channel/channel-mask do not match
Differential Revision: https://phabricator.freedesktop.org/D493
Reviewed-by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Thibault Saunier [Wed, 4 Nov 2015 19:20:10 +0000 (20:20 +0100)]
formatter: Do not serialize top effect priorities
We just need to make sure they are always serialized in the right
order (which is the case) and de serializing them will lead to the
right behaviour.
We should not serialize the priority as the priority of the source
itself depends on the action having been done on the parent clip,
and we do not serialize the source priorities (and should not, GES
should just do the right thing).
Differential Revision: https://phabricator.freedesktop.org/D491
Thibault Saunier [Wed, 4 Nov 2015 17:37:34 +0000 (18:37 +0100)]
launcher: Make sure to not activate validate twice when simply loading a scenario
Thibault Saunier [Fri, 30 Oct 2015 09:52:12 +0000 (10:52 +0100)]
uri-clip: Make sure to instantiate an asset to back GESUriClip-s
Tim-Philipp Müller [Wed, 21 Oct 2015 13:37:26 +0000 (14:37 +0100)]
Automatic update of common submodule
From b99800a to b319909
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
Sebastian Dröge [Wed, 21 Oct 2015 11:28:54 +0000 (14:28 +0300)]
Automatic update of common submodule
From 9aed1d7 to b99800a
Sebastian Dröge [Fri, 2 Oct 2015 19:27:37 +0000 (22:27 +0300)]
Update GLib dependency to 2.40.0
Justin Kim [Fri, 2 Oct 2015 14:51:56 +0000 (16:51 +0200)]
nlecomposition: free closure actions when disposing
Summary:
After invoking GClosure, the item of action list becomes
orphan so it lost a chance to be freed. In addition, even
when disposing, the list of actions has few items so we
have to check the list.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D324
Justin Kim [Fri, 2 Oct 2015 14:49:31 +0000 (16:49 +0200)]
nlecomposition: fix wrong argument order of GClosureNotify
Summary:
_free_action should follow GClosureNotify type.
```
void
(*GClosureNotify) (gpointer data,
GClosure *closure);
```
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D323
Justin Kim [Fri, 2 Oct 2015 14:39:31 +0000 (16:39 +0200)]
track: mixing_operation is handled by its parent
Summary:
Normally, mixing_operation is created and added to nlecomposition
as a child element so it will be freed when nlecomposition is removed
from a track.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Differential Revision: https://phabricator.freedesktop.org/D319
Justin Kim [Fri, 2 Oct 2015 14:11:33 +0000 (16:11 +0200)]
nleoperation: don't leak iterator
Summary: Once an iterator is created, it should be freed after usage.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D318
Justin Kim [Fri, 2 Oct 2015 14:10:59 +0000 (16:10 +0200)]
asset: simplify if-statement in cache_set_loaded
Summary:
Manual iteration can be replaced with foreach function.
In addition, this patch fixes mismatched GFunc type for
g_list_foreach and adds debug cateory for gst-asset for
convenient debugging.
Reviewers: thiblahute
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D312
Justin Kim [Fri, 2 Oct 2015 14:08:03 +0000 (16:08 +0200)]
uri-asset: do not reuse a passed GError pointer
Summary: A passed GError is re-allocated when discoverer has no information.
Reviewers: thiblahute
Projects: #gstreamer_editing_services
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D302
Justin Kim [Thu, 1 Oct 2015 14:26:05 +0000 (16:26 +0200)]
xml-formatter: handle dispose properly
Summary:
To dispose properly, a child object should call same function
of parent class.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D311
Justin Kim [Thu, 1 Oct 2015 14:06:33 +0000 (16:06 +0200)]
base-xml-formatter: properly handle GFile from wrong uri
Summary:
g_file_new_for_uri never fails so GFile always has valid pointer.
And fix a bug of double unref from D303.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D310
Justin Kim [Thu, 1 Oct 2015 09:28:38 +0000 (11:28 +0200)]
don't leaks caps and converted strings
Summary:
Valgrind reports trivial leakages related to handling
objects and their converted strings.
Reviewers: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D303
Mathieu Duponchelle [Wed, 30 Sep 2015 12:50:46 +0000 (14:50 +0200)]
track: add gaps when going from READY to PAUSED.
Summary:
The backend commits itself automatically in these cases, so track
needs to do so too.
Reviewers: thiblahute
Reviewed By: thiblahute
Differential Revision: https://phabricator.freedesktop.org/D94
Vineeth TM [Thu, 20 Aug 2015 08:16:50 +0000 (17:16 +0900)]
editing-services: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.
And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.
https://bugzilla.gnome.org/show_bug.cgi?id=753864
Justin Kim [Wed, 30 Sep 2015 08:11:20 +0000 (17:11 +0900)]
nleoperation: don't leak srcpad
https://bugzilla.gnome.org/show_bug.cgi?id=755860
Justin Kim [Wed, 30 Sep 2015 08:27:26 +0000 (17:27 +0900)]
project: fix a pointer for error message
https://bugzilla.gnome.org/show_bug.cgi?id=755862
Justin Kim [Wed, 30 Sep 2015 08:26:31 +0000 (17:26 +0900)]
project: don't leak GFileInfo
https://bugzilla.gnome.org/show_bug.cgi?id=755862
Justin Kim [Mon, 21 Sep 2015 16:06:00 +0000 (01:06 +0900)]
timeline-element,track,framepositionner: don't leak internal object
https://bugzilla.gnome.org/show_bug.cgi?id=755247
Justin Kim [Wed, 23 Sep 2015 16:30:09 +0000 (01:30 +0900)]
structured-interface: introduce TRY_GET_STRING
TRY_GET uses gst_structure_get. However, if boxed or
string pointer is retrieved by gst_structure_get,
it should be freed properly.
https://bugzilla.gnome.org/show_bug.cgi?id=755480
Justin Kim [Thu, 24 Sep 2015 04:41:30 +0000 (13:41 +0900)]
uri-asset: don't leak uri string
https://bugzilla.gnome.org/show_bug.cgi?id=755505
Thibault Saunier [Mon, 28 Sep 2015 13:59:58 +0000 (15:59 +0200)]
Revert "title-source: Force format with alpha channels out of videotestsrc"
This reverts commit
7d1e1010728a5348674bb9053de6b095cb824984.
This commit was never meant to be committed (at least *not* on master).
Justin Kim [Mon, 28 Sep 2015 04:21:11 +0000 (13:21 +0900)]
structure-parser: define GES_STRUCTURE_PARSER macro
And fix trivial leakages of internal list structure.
https://bugzilla.gnome.org/show_bug.cgi?id=755716
Thibault Saunier [Sun, 27 Sep 2015 13:15:10 +0000 (15:15 +0200)]
title-source: Force format with alpha channels out of videotestsrc
Making sure the user can set a background of the title with an alpha
channel.
Working around https://bugzilla.gnome.org/show_bug.cgi?id=755482 for
the 1.6 branch.
Thibault Saunier [Fri, 25 Sep 2015 10:30:29 +0000 (12:30 +0200)]
Back to development
Thibault Saunier [Fri, 25 Sep 2015 10:29:40 +0000 (12:29 +0200)]
Release 1.6.0
Thibault Saunier [Thu, 24 Sep 2015 11:21:15 +0000 (13:21 +0200)]
ges: Avoid emitting 'child-added/removed' when signal emission stops addition
In the GESTimeline, TrackElement addition to a clip might get cancelled
(and thus the element gets removed), we need to make sure users do not
get wrong signals.
Also document the fact that user should connect to container::child-added
with g_signal_connect_after.
Justin Kim [Tue, 22 Sep 2015 14:10:35 +0000 (23:10 +0900)]
nle{composition,object}: remove unused allocation & trivial leakages
nlecomposition allocates unused 'UpdateCompositionData' and it
causes leakages.
https://bugzilla.gnome.org/show_bug.cgi?id=755417
Justin Kim [Thu, 24 Sep 2015 04:40:27 +0000 (13:40 +0900)]
pipeline: don't leak GstPad
https://bugzilla.gnome.org/show_bug.cgi?id=755505
Justin Kim [Thu, 24 Sep 2015 04:42:16 +0000 (13:42 +0900)]
pitivi-formatter: don't leak internal hash table
https://bugzilla.gnome.org/show_bug.cgi?id=755505
Thibault Saunier [Wed, 23 Sep 2015 19:23:13 +0000 (21:23 +0200)]
video-transition: Make compositor background transparent
Allowing further mixing downstream
Thibault Saunier [Wed, 23 Sep 2015 19:12:33 +0000 (21:12 +0200)]
video-transition: Add a framepositioner at the end of the transitio
So downstream compositor knows the zorder of the various streams
Thibault Saunier [Fri, 18 Sep 2015 16:40:18 +0000 (18:40 +0200)]
Release 1.5.91
Thibault Saunier [Fri, 18 Sep 2015 08:01:44 +0000 (10:01 +0200)]
ges: Namespace NLE utils function into GES
Avoiding name clashes when built statically
Thibault Saunier [Tue, 15 Sep 2015 10:17:19 +0000 (12:17 +0200)]
nle: Avoid unsetting srcpad target after the srcpad is already freed
That leaded to segfaults
Thibault Saunier [Tue, 15 Sep 2015 09:08:29 +0000 (11:08 +0200)]
nle: Stop wrongly set operation segment base time
Inside the composition we actually do not need to have any notion
of what the timing outside the compositon as we already tweak the segment
base time outside the composition. This code was only there to work
around https://bugzilla.gnome.org/show_bug.cgi?id=753196
https://bugzilla.gnome.org/show_bug.cgi?id=754893
Justin Kim [Fri, 11 Sep 2015 07:18:46 +0000 (16:18 +0900)]
nlecomposition: don't leak internal hashtable
https://bugzilla.gnome.org/show_bug.cgi?id=754867
Justin Kim [Fri, 11 Sep 2015 07:13:19 +0000 (16:13 +0900)]
nleobject: don't leak srcpad when disposing
https://bugzilla.gnome.org/show_bug.cgi?id=754867
Justin Kim [Fri, 11 Sep 2015 07:11:40 +0000 (16:11 +0900)]
timeline: don't leak pad in private structure
https://bugzilla.gnome.org/show_bug.cgi?id=754867
Justin Kim [Fri, 11 Sep 2015 00:58:56 +0000 (09:58 +0900)]
ges-launcher: don't leak GError
https://bugzilla.gnome.org/show_bug.cgi?id=754858
Justin Kim [Wed, 9 Sep 2015 14:32:19 +0000 (23:32 +0900)]
ges-launcher: fix double free when argument is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=754783
Thibault Saunier [Fri, 4 Sep 2015 10:01:16 +0000 (12:01 +0200)]
video-source: Use the priority being set to compute zorder
Thibault Saunier [Wed, 2 Sep 2015 21:27:16 +0000 (23:27 +0200)]
video:transition: Set mixer pad zorder
Thibault Saunier [Wed, 2 Sep 2015 15:58:33 +0000 (17:58 +0200)]
video-source: Make sure to set framepositionner zorder when creating it
And fix a computation bug where we would be having mixing order
reversed between layers.
And make sure that the positionner does not mix up Transition handling
of the zorder
Thibault Saunier [Thu, 27 Aug 2015 14:28:42 +0000 (16:28 +0200)]
video-source: Simply set framepositionner->zorder = self->priority
Summary:
Making the code simpler and handling the transition case
where elements are in the same layer (which was failing
/setting same zorders until now).
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D237
Jan Schmidt [Sat, 22 Aug 2015 15:35:18 +0000 (01:35 +1000)]
Use standard GST_PLUGIN_LDFLAGS for the nle plugin
Add the standard GST_PLUGIN_LDFLAGS to the configure.ac file.
Thibault Saunier [Fri, 21 Aug 2015 19:25:27 +0000 (21:25 +0200)]
Add support for static plugins builds
Thibault Saunier [Thu, 20 Aug 2015 15:55:48 +0000 (17:55 +0200)]
Release 1.5.90
Thibault Saunier [Wed, 19 Aug 2015 09:24:11 +0000 (11:24 +0200)]
Move NLE to a dedicated GstPlugin
Summary: Allowing external user to directly use it
Reviewers: Mathieu_Du
Differential Revision: https://phabricator.freedesktop.org/D231
Thibault Saunier [Thu, 23 Jul 2015 09:53:52 +0000 (11:53 +0200)]
nle: Enhance debug logging
Thibault Saunier [Thu, 23 Jul 2015 09:42:48 +0000 (11:42 +0200)]
ges: Do not leak and uselessly create errors
And avoid parenthesis in GstObject names
Thibault Saunier [Thu, 23 Jul 2015 09:40:57 +0000 (11:40 +0200)]
ges: Fix how we handle layer vs layer-priority in the structured interface
Thibault Saunier [Thu, 23 Jul 2015 09:39:04 +0000 (11:39 +0200)]
tests: Do not use gst-structured-interface in the tests
It breaks $ make distcheck
Tim-Philipp Müller [Thu, 16 Jul 2015 16:26:04 +0000 (17:26 +0100)]
Update mailing list in doap file
Thibault Saunier [Thu, 16 Jul 2015 08:54:54 +0000 (10:54 +0200)]
timeline: Remove transitions that can no fit into an auto transition
When activating auto transition mode
Thibault Saunier [Thu, 16 Jul 2015 08:53:17 +0000 (10:53 +0200)]
ges; Minor debug enhancement
Thibault Saunier [Mon, 13 Jul 2015 11:48:40 +0000 (13:48 +0200)]
assets: Avoid deadlock when done initialising asset
Avoid to hold the CACHE lock when setting the GTasks return values.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752300
Thibault Saunier [Wed, 8 Jul 2015 16:59:33 +0000 (18:59 +0200)]
nleobject: Concider objects as 'inactive' when they have a duration == 0
Thibault Saunier [Wed, 8 Jul 2015 16:59:00 +0000 (18:59 +0200)]
track-element: Handle the case where we have only one keyframe set when interpollating keyframes
Thibault Saunier [Mon, 6 Jul 2015 08:24:33 +0000 (10:24 +0200)]
asset: Port use of deprecated GSimpleAsyncResult to GTask
Stefan Sauer [Fri, 3 Jul 2015 20:00:08 +0000 (22:00 +0200)]
Automatic update of common submodule
From f74b2df to 9aed1d7
Thibault Saunier [Fri, 3 Jul 2015 11:49:57 +0000 (13:49 +0200)]
track-element: Fix splitting bindings and add unit tests
Thibault Saunier [Wed, 1 Jul 2015 16:33:39 +0000 (18:33 +0200)]
structured-interface: Better handle CLOCK_TIME type from GstStructures
Thibault Saunier [Mon, 29 Jun 2015 16:04:32 +0000 (18:04 +0200)]
element: Implement a paste method
Allowing user to copy paste clips very easily
Thibault Saunier [Tue, 23 Jun 2015 14:11:26 +0000 (16:11 +0200)]
timeline: Disable movement that lead to 2 transition at a position
We should never let 3 objects to overlap at a same position, for that
we introduce a "rollback" feature and whenever such an editing happens,
we rollback object position to whatever it was before the move.
Thibault Saunier [Tue, 23 Jun 2015 17:19:29 +0000 (19:19 +0200)]
smart-video-mixer: Always keep a ref on the mixer pad
Thibault Saunier [Tue, 23 Jun 2015 11:27:00 +0000 (13:27 +0200)]
timeline-element: Add a method to get the TrackType it interacts with
API:
+ ges_timeline_element_get_track_types
Thibault Saunier [Fri, 19 Jun 2015 09:08:25 +0000 (11:08 +0200)]
timeline: Never create transitions between rippled objects
In case of groups, we can have track elements that do not belong
directly to the moved_trackelements but will be moved as others. Never
create transition to all object that have a start > moving group start.
Thibault Saunier [Tue, 16 Jun 2015 15:07:40 +0000 (17:07 +0200)]
video-transition: Use a SmartMixer as mixer
So that the frame position metas are parsed and taken into account
Thibault Saunier [Tue, 16 Jun 2015 13:02:18 +0000 (15:02 +0200)]
track-element: Add method to remove control binding
API:
ges_track_element_remove_control_binding
Thibault Saunier [Tue, 16 Jun 2015 11:25:32 +0000 (13:25 +0200)]
ges: Handle absolute GstDirectControlBindings