platform/upstream/gstreamer.git
9 years agotools: Exit the app as it is a simgle instance app
Thibault Saunier [Wed, 3 Jun 2015 12:56:11 +0000 (14:56 +0200)]
tools: Exit the app as it is a simgle instance app

And force exiting GstValidate when wanted

9 years agoges: remove dead code
Luis de Bethencourt [Mon, 1 Jun 2015 12:05:25 +0000 (13:05 +0100)]
ges: remove dead code

Summary:
No need to recheck if error exists since it has already been checked by the
conditional above.

Coverity CID #1302832

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D200

9 years agoges: Handle trimming auto transitions
Thibault Saunier [Sun, 31 May 2015 12:16:05 +0000 (14:16 +0200)]
ges: Handle trimming auto transitions

Meaning trimming neighbors.

+ And add a test

9 years agotimeline: Use a simple GList to track auto transitions
Thibault Saunier [Fri, 29 May 2015 13:15:25 +0000 (15:15 +0200)]
timeline: Use a simple GList to track auto transitions

9 years agonlecomposition: Do not fail when removing/adding child without commiting
Thibault Saunier [Mon, 12 Jan 2015 12:05:30 +0000 (13:05 +0100)]
nlecomposition: Do not fail when removing/adding child without commiting

Summary:
We use to end up removing the nleobject when the following case happened:

 * add an object
 * remove that object
 * re add the object
 * commit the composition

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D193

9 years agotimeline: Minor documentation addition
Thibault Saunier [Tue, 19 May 2015 16:18:30 +0000 (18:18 +0200)]
timeline: Minor documentation addition

9 years agoges: Enhance xges format versioning
Thibault Saunier [Mon, 18 May 2015 19:24:25 +0000 (21:24 +0200)]
ges: Enhance xges format versioning

Summary:
Handle the fact that some new features can be added and that means
generated files will not be fully understandable by older versions of
the formatter.

Make sure that we set the format version to 0.2 when we serialize the
GstEncodingProfile.enabled property.

Add some tests around that.

+ Fix a minor bug in the test-utils
+ Add a meta on the projects to tell in what format version a project
  has been serialized/parsed back

API:
  GES_META_FORMAT_VERSION

Depends on D178

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D184

9 years agoges: If last added clip is not in a layer, get the first layer
Thibault Saunier [Thu, 14 May 2015 09:12:20 +0000 (11:12 +0200)]
ges: If last added clip is not in a layer, get the first layer

Summary:
In case we just removed it from its layer, make sure to
just use the first layer when none specified.

Depends on D177

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D178

9 years agoges: Fix some error settings
Thibault Saunier [Thu, 14 May 2015 09:11:44 +0000 (11:11 +0200)]
ges: Fix some error settings

Summary: Depends on D176

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D177

9 years agoges:structured-interface: Use GET_AND_CHECK in more places
Thibault Saunier [Thu, 14 May 2015 09:10:15 +0000 (11:10 +0200)]
ges:structured-interface: Use GET_AND_CHECK in more places

Summary:
Giving more details about the issue to the user

Depends on D151

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D176

9 years agoxml-formatter: De/serialize whether encoding profiles are enabled or not
Thibault Saunier [Thu, 7 May 2015 08:52:18 +0000 (10:52 +0200)]
xml-formatter: De/serialize whether encoding profiles are enabled or not

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D151

9 years agoRemove obsolete Android build cruft
Tim-Philipp Müller [Sun, 26 Apr 2015 17:22:40 +0000 (18:22 +0100)]
Remove obsolete Android build cruft

This is not needed any longer.

9 years agoUpdate .gitignore
Tim-Philipp Müller [Thu, 23 Apr 2015 19:20:29 +0000 (20:20 +0100)]
Update .gitignore

9 years agotools: Fix string leak
Edward Hervey [Wed, 22 Apr 2015 13:07:58 +0000 (15:07 +0200)]
tools: Fix string leak

Only allocate the return string when we know we are going to return
it.

Coverity CID #1292292

9 years agoRemove INSTALL file
Sebastian Dröge [Wed, 22 Apr 2015 08:39:25 +0000 (10:39 +0200)]
Remove INSTALL file

autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.

9 years agoges:xml-formatter: Call g_markup_parse_context_end_parse
Thibault Saunier [Tue, 21 Apr 2015 09:24:38 +0000 (11:24 +0200)]
ges:xml-formatter: Call g_markup_parse_context_end_parse

Summary:
Otherwise the parser context will never know that is all the XML it
will receive and fail out if the XML document is not valid (in that
case if it does not end)

https://bugzilla.gnome.org/show_bug.cgi?id=746354

Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D38

9 years agoges: Add debug output when get_element returns NULL
Thibault Saunier [Mon, 20 Apr 2015 15:42:44 +0000 (17:42 +0200)]
ges: Add debug output when get_element returns NULL

9 years agotools:launch: Print out the timeline description as an INFO not an ERROR
Thibault Saunier [Wed, 15 Apr 2015 10:18:15 +0000 (12:18 +0200)]
tools:launch: Print out the timeline description as an INFO not an ERROR

9 years agotools:launch: clean user facing message on wrong timeline description
Thibault Saunier [Wed, 15 Apr 2015 10:18:15 +0000 (12:18 +0200)]
tools:launch: clean user facing message on wrong timeline description

Summary:
Before:

  $ ../gst-editing-services/tools/ges-launch-1.0 -p
  0:00:00.028629728  8155      0x17e1b60 ERROR                default ges-launcher.c:214:_create_timeline: serialized timeline is   -p

  ** (lt-ges-launch-1.0:8155): ERROR **: Could not create timeline, error: Could not find a suitable formatter
  [1]    8155 trace trap (core dumped)  ../gst-editing-services/tools/ges-launch-1.0 -p

  $

After:

  $ GST_DEBUG=0 ges-launch-1.0 -p

  ERROR: Could not create timeline, error: Could not find a suitable formatter

  $

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D95

9 years agonleobject: It is wrong to update object->stop in set_property.
Mathieu Duponchelle [Wed, 8 Apr 2015 21:33:27 +0000 (23:33 +0200)]
nleobject: It is wrong to update object->stop in set_property.

Summary: It must only be done when the object is commited.
We can do that in constructed though, as the changes will
anyway be commited when the object is added to a composition.

Also update the tests, as we set properties spearately then
check the stop, we can commit the source at its creation without
removing meaning from the tests.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D84

9 years agotimeline, track: Emit commited at the correct moment.
Mathieu Duponchelle [Wed, 8 Apr 2015 19:38:48 +0000 (21:38 +0200)]
timeline, track: Emit commited at the correct moment.

Summary:
+ [API] GESTrack::commited signal.
+ [API] ges_track_commit_sync

We were emitting commited when timeline_commit was called, which
wasn't very helpful. This commit makes it so we emit commited once
all the compositions have actually been commited.

We also add a synchronous commit method to spare the user
the need to connect to the signal and wait, and update the
documentation.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D83

9 years agolayer: call timeline_element_set_timeline in layer_set_timeline.
Mathieu Duponchelle [Tue, 7 Apr 2015 20:48:27 +0000 (22:48 +0200)]
layer: call timeline_element_set_timeline in layer_set_timeline.

Summary:
Otherwise if there was still a reference to the layer when it
is removed from the timeline, it fails when the last reference
is released, because timeline_element_set_timeline calls
timeline_remove_element, which tries to remove the element from
an already disposed hashtable.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D82

9 years agotests: Use AM_TESTS_ENVIRONMENT
Edward Hervey [Wed, 8 Apr 2015 15:05:19 +0000 (17:05 +0200)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner

9 years agoges-launch: Add support for +test-clip
Mathieu Duponchelle [Fri, 3 Apr 2015 15:38:53 +0000 (17:38 +0200)]
ges-launch: Add support for +test-clip

Summary: With the pattern as a mandatory argument.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D68

9 years agoges-project: Surface a meaningful error when no suitable formatter.
Mathieu Duponchelle [Fri, 3 Apr 2015 14:48:03 +0000 (16:48 +0200)]
ges-project: Surface a meaningful error when no suitable formatter.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D67

9 years agoges-launch: Add a save-only option.
Mathieu Duponchelle [Fri, 3 Apr 2015 13:35:54 +0000 (15:35 +0200)]
ges-launch: Add a save-only option.

Summary: + Allows to serialize the timeline without playing it back.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D66

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:58:32 +0000 (18:58 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agotimeline-element: Disconnect child properties handlers.
Mathieu Duponchelle [Tue, 31 Mar 2015 12:26:19 +0000 (14:26 +0200)]
timeline-element: Disconnect child properties handlers.

Summary:
+ And freeze notifies while doing so.

We had a race with GstController which isn't MT safe, we can
fix it by propertly disconnecting signals, and making sure
no notifies are emitted while doing so.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D64

9 years agotrack: Set any caps features on tmpcaps.
Mathieu Duponchelle [Mon, 30 Mar 2015 16:41:11 +0000 (18:41 +0200)]
track: Set any caps features on tmpcaps.

Summary: Before checking if we have a specific constructor for a track type.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D63

9 years agopipeline: no reason to disconnect a pad that is NULL anyway.
Mathieu Duponchelle [Tue, 31 Mar 2015 13:29:49 +0000 (15:29 +0200)]
pipeline: no reason to disconnect a pad that is NULL anyway.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D62

9 years agoges-launch: Better document options.
Mathieu Duponchelle [Wed, 25 Mar 2015 14:43:16 +0000 (15:43 +0100)]
ges-launch: Better document options.

+ Sort them by topic
+ remove --sample-paths and --sample-paths-recurse.

http://phabricator.freedesktop.org/D58

9 years agoges-launch: port to GApplication
Mathieu Duponchelle [Tue, 24 Mar 2015 13:13:54 +0000 (14:13 +0100)]
ges-launch: port to GApplication

Summary: + Extract some utility functions.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D55

9 years agobuild: no reason to introspect nodist sources.
Mathieu Duponchelle [Wed, 25 Mar 2015 11:25:54 +0000 (12:25 +0100)]
build: no reason to introspect nodist sources.

Summary: g-ir-scanner was erroring like crazy on the generated sources.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D57

9 years agoges-pitivi-formatter: Don't flood stdout with alarming conclusions.
Mathieu Duponchelle [Wed, 25 Mar 2015 11:22:43 +0000 (12:22 +0100)]
ges-pitivi-formatter: Don't flood stdout with alarming conclusions.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D56

9 years agocompletions: port to new base gst script
Mathieu Duponchelle [Mon, 23 Mar 2015 11:27:56 +0000 (12:27 +0100)]
completions: port to new base gst script

9 years agocompletions: Fix completions after the first command.
Mathieu Duponchelle [Tue, 24 Mar 2015 16:13:20 +0000 (17:13 +0100)]
completions: Fix completions after the first command.

9 years agoRevert "ges-launch: no need for a tmp string pointer"
Mathieu Duponchelle [Tue, 24 Mar 2015 12:01:39 +0000 (13:01 +0100)]
Revert "ges-launch: no need for a tmp string pointer"

This reverts commit 44a0924c1f6b07f0c91ee8bd03d3ae5d97da92d5.

There indeed is a need for a tmp string pointer.

9 years agoges-launch: no need for a tmp string pointer
Luis de Bethencourt [Tue, 24 Mar 2015 11:21:08 +0000 (11:21 +0000)]
ges-launch: no need for a tmp string pointer

9 years agoges-launch: free string before going out of scope
Luis de Bethencourt [Tue, 24 Mar 2015 11:19:09 +0000 (11:19 +0000)]
ges-launch: free string before going out of scope

CID #1291632

9 years agobuild: fix make distcheck.
Mathieu Duponchelle [Thu, 26 Feb 2015 16:08:43 +0000 (17:08 +0100)]
build: fix make distcheck.

9 years agoges: Do not clear potentially NULL errors
Thibault Saunier [Tue, 17 Mar 2015 17:25:02 +0000 (18:25 +0100)]
ges: Do not clear potentially NULL errors

And avoid dereferencing NULL errors

9 years agoges-launch: Prefix clip, transition and effect instruction with a +
Thibault Saunier [Fri, 13 Mar 2015 12:02:30 +0000 (12:02 +0000)]
ges-launch: Prefix clip, transition and effect instruction with a +

Slightly changing the CLI so that we have indicators of the timeline
commands adding new objects.

9 years agoges: Accept path as URI in the create clip structured interface
Thibault Saunier [Sun, 1 Mar 2015 12:10:55 +0000 (13:10 +0100)]
ges: Accept path as URI in the create clip structured interface

9 years agoges-launch: Remove useless options, rename some short options.
Mathieu Duponchelle [Thu, 26 Feb 2015 12:49:23 +0000 (13:49 +0100)]
ges-launch: Remove useless options, rename some short options.

9 years agobash-completion: Add support for new ges-launch commands.
Mathieu Duponchelle [Thu, 26 Feb 2015 12:19:25 +0000 (13:19 +0100)]
bash-completion: Add support for new ges-launch commands.

9 years agoparse.l: Modify command arguments.
Mathieu Duponchelle [Wed, 25 Feb 2015 17:01:38 +0000 (18:01 +0100)]
parse.l: Modify command arguments.

+ --clip uri=file:// becomes clip file:// for example.

9 years agoges: command-line-formatter: Properly error out on invalid arguments
Thibault Saunier [Mon, 23 Feb 2015 16:41:59 +0000 (17:41 +0100)]
ges: command-line-formatter: Properly error out on invalid arguments

9 years agoges: Factor out a GESCommandLineFormatter class
Thibault Saunier [Mon, 23 Feb 2015 13:48:18 +0000 (14:48 +0100)]
ges: Factor out a GESCommandLineFormatter class

This formatter will allow any user to deserialize a timeline using
the new ges-launch command line interface

9 years agostructured-interface: Be clever when no layer priority specified.
Mathieu Duponchelle [Sun, 22 Feb 2015 23:53:14 +0000 (00:53 +0100)]
structured-interface: Be clever when no layer priority specified.

And add the new element to the same layer as the last clip that
was added, insted of adding to the last layer of the timeline
(and with the current code, actually adding a new layer each time)

9 years agoges-structured-interface: fix build
Mathieu Duponchelle [Sat, 21 Feb 2015 14:30:57 +0000 (15:30 +0100)]
ges-structured-interface: fix build

9 years agoges: Automatically put clips at the end of layer if no start specified
Thibault Saunier [Fri, 20 Feb 2015 11:26:54 +0000 (12:26 +0100)]
ges: Automatically put clips at the end of layer if no start specified

In the 'structured' interface we should add it at the end of the layer

And make use of the new ges_timeline_get_layer API

9 years agostructure-interface: rename layer-priority to layer.
Mathieu Duponchelle [Thu, 19 Feb 2015 18:29:36 +0000 (19:29 +0100)]
structure-interface: rename layer-priority to layer.

+ And add a short name for it in ges-launch.

9 years agoges: Add layer up to the wanted layer priority in the structure interface
Thibault Saunier [Fri, 20 Feb 2015 11:12:52 +0000 (12:12 +0100)]
ges: Add layer up to the wanted layer priority in the structure interface

Making the thing easier to use

9 years agoges-launch: parse property names longer than 1 char.
Mathieu Duponchelle [Thu, 19 Feb 2015 18:16:44 +0000 (19:16 +0100)]
ges-launch: parse property names longer than 1 char.

+ And finish the previous structure when encountering a setter.

9 years agoges-launch: Update lexer / parser to handle set-*
Mathieu Duponchelle [Thu, 19 Feb 2015 12:15:25 +0000 (13:15 +0100)]
ges-launch: Update lexer / parser to handle set-*

+ cleanup of the lexer

9 years agotools: Implement a new CLI interface for the timeline creation
Thibault Saunier [Thu, 19 Feb 2015 17:28:41 +0000 (18:28 +0100)]
tools: Implement a new CLI interface for the timeline creation

9 years agoges: Handle setting child property on container directly in the structured based...
Thibault Saunier [Thu, 19 Feb 2015 11:34:21 +0000 (12:34 +0100)]
ges: Handle setting child property on container directly in the structured based interface

9 years agolauncher: Add support to --set-property in the parser
Thibault Saunier [Thu, 19 Feb 2015 10:28:48 +0000 (11:28 +0100)]
launcher: Add support to --set-property in the parser

9 years agoges-launch: Implement a new parser for the commandline.
Mathieu Duponchelle [Thu, 19 Feb 2015 07:51:20 +0000 (08:51 +0100)]
ges-launch: Implement a new parser for the commandline.

Summary: + flex-based lexing and manual simplistic parsing.

Test Plan: Use that stuff to make awesome things, see if it breaks.

9 years agoges: Add an internal GstStructure based interface
Thibault Saunier [Tue, 17 Feb 2015 22:48:12 +0000 (23:48 +0100)]
ges: Add an internal GstStructure based interface

To be use by GstValidate action and ges-launch

Reviewers: Mathieu_Du, thiblahute

Differential Revision: http://phabricator.freedesktop.org/D42

9 years agoges: Fix build for older GLib
Thibault Saunier [Thu, 19 Mar 2015 08:32:25 +0000 (09:32 +0100)]
ges: Fix build for older GLib

The return type of g_hash_table_insert changed from void to boolean

9 years agocontainer: implement children property handling
Thibault Saunier [Thu, 19 Feb 2015 17:19:44 +0000 (18:19 +0100)]
container: implement children property handling

9 years agoges: Move the notion of children properties to GESTimelineElement
Thibault Saunier [Thu, 19 Feb 2015 15:30:18 +0000 (16:30 +0100)]
ges: Move the notion of children properties to GESTimelineElement

Summary:
Deprecate the old GESTrackElement children property handling API.

New APIs:
  * ges_timeline_element_list_children_properties
  * ges_timeline_element_lookup_child
  * ges_timeline_element_get_child_property_by_pspec
  * ges_timeline_element_get_child_property_valist
  * ges_timeline_element_get_child_properties
  * ges_timeline_element_set_child_property_valist
  * ges_timeline_element_set_child_property_by_pspec
  * ges_timeline_element_set_child_properties
  * ges_timeline_element_set_child_property
  * ges_timeline_element_get_child_property
  * ges_timeline_element_add_child_property
  * ges_timeline_element_remove_child_property

Deprecated APIs:
  * ges_track_element_list_children_properties
  * ges_track_element_lookup_child
  * ges_track_element_get_child_property_by_pspec
  * ges_track_element_get_child_property_valist
  * ges_track_element_get_child_properties
  * ges_track_element_set_child_property_valist
  * ges_track_element_set_child_property_by_pspec
  * ges_track_element_set_child_properties
  * ges_track_element_set_child_property
  * ges_track_element_get_child_property
  * ges_track_element_add_child_property

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D40

9 years agotimeline: Add API to find a layer with a specific priority in a timeline
Thibault Saunier [Fri, 20 Feb 2015 11:24:49 +0000 (12:24 +0100)]
timeline: Add API to find a layer with a specific priority in a timeline

Summary:
API:
  * ges_timeline_get_layer

Test Plan: Nan

Reviewers: mathieu.duponchelle

9 years agoRevert "ges: Move the notion of children properties to GESTimelineElement"
Thibault Saunier [Fri, 20 Feb 2015 11:24:49 +0000 (12:24 +0100)]
Revert "ges: Move the notion of children properties to GESTimelineElement"

I got some trouble with

  arc land

and I wanted to push the 3 commit coming after this revert as 3
different commits but they ended up being all squash into one single
commit, which is clearly not cool for later bisecting and blaming.
Reverting that commit and re pushing those 3 commits as they were
supposed to be.

This reverts commit 9fe15ef4354dc1d878dbdec80908ac8541bc6131.

9 years agoges: Move the notion of children properties to GESTimelineElement
Thibault Saunier [Wed, 18 Mar 2015 19:23:55 +0000 (20:23 +0100)]
ges: Move the notion of children properties to GESTimelineElement

Summary:
Deprecate the old GESTrackElement children property handling API.

New APIs:
  * ges_timeline_element_list_children_properties
  * ges_timeline_element_lookup_child
  * ges_timeline_element_get_child_property_by_pspec
  * ges_timeline_element_get_child_property_valist
  * ges_timeline_element_get_child_properties
  * ges_timeline_element_set_child_property_valist
  * ges_timeline_element_set_child_property_by_pspec
  * ges_timeline_element_set_child_properties
  * ges_timeline_element_set_child_property
  * ges_timeline_element_get_child_property
  * ges_timeline_element_add_child_property
  * ges_timeline_element_remove_child_property

Deprecated APIs:
  * ges_track_element_list_children_properties
  * ges_track_element_lookup_child
  * ges_track_element_get_child_property_by_pspec
  * ges_track_element_get_child_property_valist
  * ges_track_element_get_child_properties
  * ges_track_element_set_child_property_valist
  * ges_track_element_set_child_property_by_pspec
  * ges_track_element_set_child_properties
  * ges_track_element_set_child_property
  * ges_track_element_get_child_property
  * ges_track_element_add_child_property

Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D40

9 years agoges: Remove all reference to already dead GESSimpleLayer
Thibault Saunier [Sun, 1 Mar 2015 20:13:35 +0000 (21:13 +0100)]
ges: Remove all reference to already dead GESSimpleLayer

9 years agoproject: remove unnecessary dereference
Luis de Bethencourt [Thu, 5 Mar 2015 13:53:15 +0000 (13:53 +0000)]
project: remove unnecessary dereference

g_clear_error() already dereferences the error pointer, no need to manually
check and do it.

CID #1257630

9 years agoexamples: check argument is valid
Luis de Bethencourt [Tue, 3 Mar 2015 14:26:40 +0000 (14:26 +0000)]
examples: check argument is valid

9 years agoges-base-xml-formatter: fix setting of child properties
Tim-Philipp Müller [Fri, 27 Feb 2015 01:26:24 +0000 (01:26 +0000)]
ges-base-xml-formatter: fix setting of child properties

Make sure all child properties get set. GstStructureForeachFunc
takes a gboolean return value that decides whether to
continue or not.

9 years agoges-meta-container: fix ges_meta_container_foreach()
Tim-Philipp Müller [Fri, 27 Feb 2015 01:22:39 +0000 (01:22 +0000)]
ges-meta-container: fix ges_meta_container_foreach()

Really call function on all metadata inside the container
instead of stopping randomly. GstStructureForeachFunc
takes a gboolean return value.

9 years agoges-base-xml-formatter: fix property setting
Tim-Philipp Müller [Thu, 26 Feb 2015 20:14:31 +0000 (20:14 +0000)]
ges-base-xml-formatter: fix property setting

GstStructureForeachFunc has a gboolean return value,
and the foreach function will stop unless we return
TRUE here. This meant it was potluck whether all
properties in the structure got set or not.

Fixes setting of text overlay clip text property
in particular.

https://bugzilla.gnome.org/show_bug.cgi?id=743874

9 years agobuild: fix make distcheck.
Mathieu Duponchelle [Tue, 24 Feb 2015 17:00:34 +0000 (18:00 +0100)]
build: fix make distcheck.

And install bash-completions in the supplied prefix.

9 years agoges-launch: enable auto-completion.
Mathieu Duponchelle [Fri, 20 Feb 2015 14:22:25 +0000 (15:22 +0100)]
ges-launch: enable auto-completion.

Summary: + And be a little smart about it.

Test Plan: New feature, working, not testing bash completion

Reviewers: tsaunier

Differential Revision: http://internal.opencreed.com:8888/D25

9 years agoges: Always set ANY capsfeatures on tracks caps property
Thibault Saunier [Fri, 20 Feb 2015 12:51:47 +0000 (13:51 +0100)]
ges: Always set ANY capsfeatures on tracks caps property

Summary:
We should not restrict the CapsFeatures on the track caps.
If someone want to do such a restriction he should add it to
the restriction caps directly

Test Plan: Run testsuite

Reviewers: mathieu.duponchelle

9 years agoges-project: no need to commit an empty timeline.
Mathieu Duponchelle [Thu, 19 Feb 2015 16:33:12 +0000 (17:33 +0100)]
ges-project: no need to commit an empty timeline.

Summary: Can lead to deadlocks if the user commits at the same time.

Test Plan: Ran make check, it worked

Reviewers: tsaunier

9 years agoges: initialize timeline_duration value
Luis de Bethencourt [Tue, 10 Feb 2015 10:29:39 +0000 (10:29 +0000)]
ges: initialize timeline_duration value

If priv->timeline is False the function does not set any value for
timeline_duration before using it in gap_new (). Initialize the value to aviod
unexpected behaviour.

CID #1268405

9 years agoconfigure: Bump our Gst related dependencies to 1.5.0.1
Thibault Saunier [Fri, 6 Feb 2015 09:01:14 +0000 (10:01 +0100)]
configure: Bump our Gst related dependencies to 1.5.0.1

9 years agonlecomposition: Properly protect the children task
Thibault Saunier [Wed, 4 Feb 2015 14:21:55 +0000 (15:21 +0100)]
nlecomposition: Properly protect the children task

9 years agoCleanly handle removing the last object in a composition
Mathieu Duponchelle [Tue, 3 Feb 2015 11:02:42 +0000 (12:02 +0100)]
Cleanly handle removing the last object in a composition

The strategy here is to seek at the new end of the composition. And in
GES we always add a 1ns long gap at the end of the tracks so that all
track have the exact same duration, and we have black frames when the
timeline is empty

9 years agovalidate: Do not wrongly set clip duration for UriClips
Thibault Saunier [Mon, 2 Feb 2015 10:57:19 +0000 (11:57 +0100)]
validate: Do not wrongly set clip duration for UriClips

That was making no sense at all....

9 years agovalidate: Properly expose the commit action as ASYNC
Thibault Saunier [Mon, 12 Jan 2015 12:04:16 +0000 (13:04 +0100)]
validate: Properly expose the commit action as ASYNC

9 years agolayer: Remove child from children list before emitting "child-removed"
Thibault Saunier [Tue, 27 Jan 2015 20:16:05 +0000 (21:16 +0100)]
layer: Remove child from children list before emitting "child-removed"

9 years agoges: remove useless gpointer variable
Luis de Bethencourt [Mon, 26 Jan 2015 18:25:02 +0000 (18:25 +0000)]
ges: remove useless gpointer variable

gpointer useless is indeed useless since we can use GST_DEBUG_REGISTER_FUNCPTR
to avoid having to store the return of the GST_DEBUG_FUNCPTR registration.

CID #1265771

9 years agoges: merge MIN() and MAX() into CLAMP()
Luis de Bethencourt [Mon, 26 Jan 2015 17:46:36 +0000 (17:46 +0000)]
ges: merge MIN() and MAX() into CLAMP()

Merge the usage of MIN() and MAX() into one CLAMP() function.

CID #1265770

9 years agoges: Make sure the GESTextOverlayClip is register on init
Thibault Saunier [Sat, 24 Jan 2015 09:54:13 +0000 (10:54 +0100)]
ges: Make sure the GESTextOverlayClip is register on init

So it can be used when de serializing projects containing it.

https://bugzilla.gnome.org/show_bug.cgi?id=743406

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 15:14:32 +0000 (16:14 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:56:54 +0000 (10:56 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

9 years agotools: Avoid trying to remove a signal handler that has already been removed
Thibault Saunier [Sat, 13 Dec 2014 14:13:32 +0000 (15:13 +0100)]
tools: Avoid trying to remove a signal handler that has already been removed

9 years agouri-asset: Check that the newly computed URI exist
Thibault Saunier [Fri, 12 Dec 2014 11:02:41 +0000 (12:02 +0100)]
uri-asset: Check that the newly computed URI exist

No the one we know failed!

9 years agovalidate: Add an action type to load a project from its content
Thibault Saunier [Wed, 10 Dec 2014 09:21:16 +0000 (10:21 +0100)]
validate: Add an action type to load a project from its content

9 years agoRevert "track: [API]: ges_track_update_restriction_caps."
Thibault Saunier [Sat, 6 Dec 2014 09:41:25 +0000 (10:41 +0100)]
Revert "track: [API]: ges_track_update_restriction_caps."

This reverts commit e9544ce1d67da6990f0a1cae75774063ec37be9d.

This commit should never have landed we decided we do not want to do
that.

9 years agotimeline: Add a method to easily check if a timeline is empty
Thibault Saunier [Sun, 30 Nov 2014 23:38:07 +0000 (00:38 +0100)]
timeline: Add a method to easily check if a timeline is empty

API:
    + ges_timeline_is_empty

9 years agoges: Recompute Group priority when one of its clip.layer change priority
Thibault Saunier [Sun, 30 Nov 2014 23:34:38 +0000 (00:34 +0100)]
ges: Recompute Group priority when one of its clip.layer change priority

And add a unit test for that case where it was previously failing

9 years agovalidate: Start using the new testsuite based API from GstValidate
Thibault Saunier [Sat, 29 Nov 2014 00:12:43 +0000 (01:12 +0100)]
validate: Start using the new testsuite based API from GstValidate

9 years agotrack: [API]: ges_track_update_restriction_caps.
Mathieu Duponchelle [Tue, 25 Nov 2014 23:28:35 +0000 (00:28 +0100)]
track: [API]: ges_track_update_restriction_caps.

+ And specify default restriction caps for audio and video tracks.
+ Add ges_track_set_restriction_caps to the sections, it was missing.

https://bugzilla.gnome.org/show_bug.cgi?id=740726

9 years agotests: Remove integration tests, GstValidate is the way forward!
Thibault Saunier [Tue, 25 Nov 2014 22:35:55 +0000 (23:35 +0100)]
tests: Remove integration tests, GstValidate is the way forward!

9 years agovalidate: Handle long tests in the TestManager
Thibault Saunier [Tue, 25 Nov 2014 18:15:52 +0000 (19:15 +0100)]
validate: Handle long tests in the TestManager

+ Minor bug fixes

9 years agonlecomposition: Minor debug enhancements
Thibault Saunier [Tue, 25 Nov 2014 18:14:59 +0000 (19:14 +0100)]
nlecomposition: Minor debug enhancements

9 years agopipeline: Expose playsink::video-filter and playsink::audio-filter
Thibault Saunier [Tue, 25 Nov 2014 18:13:02 +0000 (19:13 +0100)]
pipeline: Expose playsink::video-filter and playsink::audio-filter

That can be used to add filters at the very end of the pipeline,
and one can think of adding a watchdog element in there for
example.