platform/upstream/gstreamer.git
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.

9 years agopipeline: Dot not check for chain->tee twice
Thibault Saunier [Tue, 25 Nov 2014 17:46:03 +0000 (18:46 +0100)]
pipeline: Dot not check for chain->tee twice

9 years agovalidate: Avoid depending on not stable APIs
Thibault Saunier [Fri, 21 Nov 2014 18:53:52 +0000 (19:53 +0100)]
validate: Avoid depending on not stable APIs

And cleanup includes

9 years agovalidate: Move to new action type registration API
Thibault Saunier [Fri, 21 Nov 2014 18:53:36 +0000 (19:53 +0100)]
validate: Move to new action type registration API

9 years agovalidate: Add missing action execution printing
Thibault Saunier [Sun, 16 Nov 2014 19:07:24 +0000 (20:07 +0100)]
validate: Add missing action execution printing

9 years agotimeline-element: Properly handle setting name to NULL
Thibault Saunier [Sun, 16 Nov 2014 19:05:25 +0000 (20:05 +0100)]
timeline-element: Properly handle setting name to NULL

9 years agonlecomposition: Add a 'query-position' signal
Thibault Saunier [Tue, 4 Nov 2014 14:38:05 +0000 (15:38 +0100)]
nlecomposition: Add a 'query-position' signal

In order to get the precise position of the pipeline, the only
way is to ask the 'application' to query the pipeline position and
use it.

9 years agoges: Keep backward compatibility for relocated assets CLI
Thibault Saunier [Mon, 3 Nov 2014 11:18:35 +0000 (12:18 +0100)]
ges: Keep backward compatibility for relocated assets CLI

Meaning adding an API for user to add relacation URI paths

API:
    ges_add_missing_uri_relocation_uri

9 years agoAdd some ignore files to .gitignore
Thibault Saunier [Mon, 3 Nov 2014 11:17:42 +0000 (12:17 +0100)]
Add some ignore files to .gitignore

9 years agoges: Add a method to pass argc/argv to GES at init time
Thibault Saunier [Mon, 3 Nov 2014 10:59:32 +0000 (11:59 +0100)]
ges: Add a method to pass argc/argv to GES at init time

Allowing user to set configuration actions without using
the GES GOptionGroup

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

9 years agovalidate: Expose GES Validate action
Thibault Saunier [Mon, 3 Nov 2014 10:58:30 +0000 (11:58 +0100)]
validate: Expose GES Validate action

So other can also make use of those action outside
ges-launch itself

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

9 years agouri-asset: Ensure that UriAssets loaded with error are remembered
Thibault Saunier [Mon, 3 Nov 2014 10:55:29 +0000 (11:55 +0100)]
uri-asset: Ensure that UriAssets loaded with error are remembered

9 years agoproject: Add a method to create assets synchronously
Thibault Saunier [Mon, 3 Nov 2014 10:54:10 +0000 (11:54 +0100)]
project: Add a method to create assets synchronously

This allows to create a add an asset to a project in a
synchronous way.

API:
  ges_project_create_asset_sync

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

9 years agoges: Add an init option to set media paths for moved assets
Thibault Saunier [Mon, 3 Nov 2014 10:51:51 +0000 (11:51 +0100)]
ges: Add an init option to set media paths for moved assets

Allowing user to easily set a set of paths to look for moved
assets instead of needing the to re implement that logic
over and over.

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

9 years agoges: Add a method to get GES GOption group
Thibault Saunier [Mon, 3 Nov 2014 10:14:45 +0000 (11:14 +0100)]
ges: Add a method to get GES GOption group

This allow us to have global options to be
passed as arguments of the program to configure
GES behaviour

API:
  ges_init_get_option_group

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

9 years agopipeline: Disable encoding format renegotiation when rendering
Thibault Saunier [Sun, 16 Nov 2014 15:51:54 +0000 (16:51 +0100)]
pipeline: Disable encoding format renegotiation when rendering

9 years agocheck/ges/track: add forgotten test file.
Mathieu Duponchelle [Fri, 5 Dec 2014 21:19:32 +0000 (22:19 +0100)]
check/ges/track: add forgotten test file.

9 years ago*source: new lines in xml break my parser.
Mathieu Duponchelle [Wed, 26 Nov 2014 00:08:31 +0000 (01:08 +0100)]
*source: new lines in xml break my parser.

+ So I removed them cause I'm clever

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

9 years agotrack: [API]: ges_track_update_restriction_caps.
Mathieu Duponchelle [Wed, 26 Nov 2014 19:34:24 +0000 (20:34 +0100)]
track: [API]: ges_track_update_restriction_caps.

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

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

9 years agoAutomatic update of common submodule
Edward Hervey [Thu, 27 Nov 2014 16:13:27 +0000 (17:13 +0100)]
Automatic update of common submodule

From 7bb2bce to ef1ffdc

9 years agotests: Fix make distcheck
Thibault Saunier [Mon, 10 Nov 2014 16:24:11 +0000 (17:24 +0100)]
tests: Fix make distcheck

Some xges project are not used anymore and some new appeared, clean
that up in the Makefile.am

9 years agoelement: Add a property allowing user to avoid serializing TimelineElements on demand
Thibault Saunier [Mon, 10 Nov 2014 15:20:29 +0000 (16:20 +0100)]
element: Add a property allowing user to avoid serializing TimelineElements on demand

9 years agoxml-formatter: Serialize groups
Thibault Saunier [Mon, 27 Oct 2014 15:51:42 +0000 (16:51 +0100)]
xml-formatter: Serialize groups

They were not serialized until now.

That implies several changes:

* Override GESTimelineElement [start, inpoint, duration] properties in
  GESGroup to ensure that those properties are not serialized as they
  should not be.

* Rename GESBaseXmlContainer->clips field to
  GESBaseXmlContainer->containers as the hashtable now contains Groups

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

9 years agopipeline: Do not relink an already linked track
Thibault Saunier [Mon, 3 Nov 2014 12:06:34 +0000 (13:06 +0100)]
pipeline: Do not relink an already linked track

9 years agoframeposition: In case sources have the same size as track, follow track size
Thibault Saunier [Sun, 2 Nov 2014 10:46:37 +0000 (11:46 +0100)]
frameposition: In case sources have the same size as track, follow track size

For example if the size has been serialized in a file, but the user has
not personalized the size, we want that whenever the restriction caps
change the size, the video should take the size of the track
restriction caps.

We know need to keep track of the current positionner.size even if
setting through caps size changes.

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

9 years agoxml-formatter: Do not forget to set properties on the track elements
Thibault Saunier [Sat, 1 Nov 2014 10:32:16 +0000 (11:32 +0100)]
xml-formatter: Do not forget to set properties on the track elements

We were just setting children properties, even if the propertie to be
set on themselves where properly passed in

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

9 years agotitle-source: Expose the shaded-background property
Thibault Saunier [Sat, 1 Nov 2014 09:34:41 +0000 (10:34 +0100)]
title-source: Expose the shaded-background property

Rework the way we override the background property to avoid trying to
lookup shaded-foreground-color!

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

9 years agotitlesource: Expose the outline-color property
Thibault Saunier [Sat, 1 Nov 2014 08:47:39 +0000 (09:47 +0100)]
titlesource: Expose the outline-color property

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

9 years agotools: launch: Wait for the project to be loaded to activate gst-validate
Thibault Saunier [Fri, 31 Oct 2014 10:56:16 +0000 (11:56 +0100)]
tools: launch: Wait for the project to be loaded to activate gst-validate

Otherwize we could have a race where GstValidate actions are launched
even before the project has been loaded

9 years agotools: Never try to propose same URI when we know it is missing URI
Thibault Saunier [Fri, 31 Oct 2014 10:32:37 +0000 (11:32 +0100)]
tools: Never try to propose same URI when we know it is missing URI

9 years agopipeline: connect tracks when added, not only on state change.
Mathieu Duponchelle [Tue, 28 Oct 2014 17:36:55 +0000 (18:36 +0100)]
pipeline: connect tracks when added, not only on state change.

+ ghost track src pad before calling track added so that
  pipeline has a pad to link.
+ Remove silly comment.

9 years agoDocument known and usable child properties for GESTrackElements subclasses
Thibault Saunier [Thu, 30 Oct 2014 11:36:57 +0000 (12:36 +0100)]
Document known and usable child properties for GESTrackElements subclasses

9 years agotools:launch: Properly terminate when we get a SIGINT signal
Thibault Saunier [Thu, 30 Oct 2014 11:38:16 +0000 (12:38 +0100)]
tools:launch: Properly terminate when we get a SIGINT signal

9 years agotrackelement: Add a lookup_child vmethod
Thibault Saunier [Wed, 29 Oct 2014 12:40:55 +0000 (13:40 +0100)]
trackelement: Add a lookup_child vmethod

This method can be used for subclass to override the default behaviour
for child lookup. This vmethod can be used for example in the case where
you want the name of a child property to be 'overridden'.

As an example in the GESTitleSource where we have a videotestsrc
which has a 'foreground-color' property that is used in the TitleSource
to set the background color of the title, this vmethod is now used to
tweak the name passed as parameter to rename "background" to
"foreground-backend" making our API understandable.

API:
  GESTrackElement::lookup_child

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

9 years agotitle: Deprecate all method related to child properties
Thibault Saunier [Wed, 29 Oct 2014 11:44:17 +0000 (12:44 +0100)]
title: Deprecate all method related to child properties

The standard way setting children properties is by using the
GESTrackElement::set_child_propery and friend methods

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

9 years agoges-validate: inform of clip removal.
Mathieu Duponchelle [Wed, 29 Oct 2014 12:38:13 +0000 (13:38 +0100)]
ges-validate: inform of clip removal.

9 years agotimeline: connect_after to layer.object_added.
Mathieu Duponchelle [Wed, 29 Oct 2014 12:25:06 +0000 (13:25 +0100)]
timeline: connect_after to layer.object_added.

We want the user provided signal handlers to be called before
we add track elements.

9 years agonle: Downgrade some INFO to DEBUG.
Mathieu Duponchelle [Tue, 28 Oct 2014 16:33:09 +0000 (17:33 +0100)]
nle: Downgrade some INFO to DEBUG.

+ makes it more pleasant to read logs in info.

9 years agonle: Handle sending SEEK event recursively to our children
Thibault Saunier [Wed, 22 Oct 2014 11:49:27 +0000 (13:49 +0200)]
nle: Handle sending SEEK event recursively to our children

Instead of relying on it being implemented in core (as it is currently
not!)

9 years agotests: Use audiomixer as an audio mixing element
Thibault Saunier [Mon, 6 Oct 2014 10:30:17 +0000 (12:30 +0200)]
tests: Use audiomixer as an audio mixing element

Adder is the past!

9 years agovalidate: Implement validate Action type to handle KeyFrames
Thibault Saunier [Wed, 1 Oct 2014 08:04:53 +0000 (10:04 +0200)]
validate: Implement validate Action type to handle KeyFrames

New action types:
  * set-control-binding
  * add-keyframe
  * remove-keyframe

9 years agotrack-element: Add a signal about added control bindings
Thibault Saunier [Wed, 1 Oct 2014 07:54:49 +0000 (09:54 +0200)]
track-element: Add a signal about added control bindings

API:
  GESTrackElement::control-binding-added

9 years agotrack-element: Add an API to list all set ControlBinding
Thibault Saunier [Wed, 1 Oct 2014 07:53:44 +0000 (09:53 +0200)]
track-element: Add an API to list all set ControlBinding

API:
    ges_track_element_get_all_control_bindings

9 years agotitle-source: Properly expose children properties
Thibault Saunier [Sat, 27 Sep 2014 07:59:12 +0000 (09:59 +0200)]
title-source: Properly expose children properties

+ Make sure that the TitleClip properties are not serialized anymore as
  they are serialized through children properties now.

+ Enhance debugging for not serialized properties in GESXmlFormatter.

9 years agonlecomposition: update base time before seeking current stack.
Mathieu Duponchelle [Fri, 26 Sep 2014 16:28:16 +0000 (18:28 +0200)]
nlecomposition: update base time before seeking current stack.

There could be a race where the new segments were pushed after
a seek on some / all pads before the operation had had its basetime
updated, and thus incoming segments were tweaked wrongly.

Reproducible with 3 clips composited and multiple seeks,
FIXME hard to validate.

9 years agoformatter: save and load source's children properties
Joris Valette [Fri, 13 Sep 2013 23:35:55 +0000 (01:35 +0200)]
formatter: save and load source's children properties

9 years agotests: project: Add children properties check
Joris Valette [Mon, 23 Sep 2013 16:40:34 +0000 (18:40 +0200)]
tests: project: Add children properties check

Rename test_project_add_keyframes into test_project_add_properties

9 years agoproject: Do not concider adding am already tracked asset as failure
Thibault Saunier [Fri, 26 Sep 2014 16:39:19 +0000 (18:39 +0200)]
project: Do not concider adding am already tracked asset as failure

It is not really a failure, just a special case.

9 years agoges-validate: Add actions to add/remove object from container
Thibault Saunier [Fri, 26 Sep 2014 15:51:14 +0000 (17:51 +0200)]
ges-validate: Add actions to add/remove object from container

+ Add an action to set an asset on a GESTimelineElement

9 years agoges-validate: Fix edit_container return code
Thibault Saunier [Fri, 26 Sep 2014 15:50:03 +0000 (17:50 +0200)]
ges-validate: Fix edit_container return code

It used to always return FALSE.

+ Fix minor leaks
+ Do not seek ourself, it is users responsability to seek and
commit these days.

9 years agoextractable: Make extractable_set_asset return a boolean
Thibault Saunier [Fri, 26 Sep 2014 15:44:12 +0000 (17:44 +0200)]
extractable: Make extractable_set_asset return a boolean

WARNING: This is a minor API breakage, it should be harmless
and allows us to let users know whether changing setting the
asset worked or no.

9 years agoges-validate: Add an action type to set restriction caps on track
Thibault Saunier [Thu, 25 Sep 2014 15:31:49 +0000 (17:31 +0200)]
ges-validate: Add an action type to set restriction caps on track

9 years agotools: Handle asset relocation for assets from scenario
Thibault Saunier [Thu, 25 Sep 2014 15:31:05 +0000 (17:31 +0200)]
tools: Handle asset relocation for assets from scenario

Allowing us to share scenario and media file!

9 years agoges-validate: Add support for Layer.auto-transition
Thibault Saunier [Thu, 25 Sep 2014 13:30:55 +0000 (15:30 +0200)]
ges-validate: Add support for Layer.auto-transition

+ Fix a bug where the mandatory field name for the name of the clip to
remove in remove-clip did not correspond to what we used in the action
(clip-name vs name).

9 years agoges-validate: Add commit and split-clip action types
Thibault Saunier [Thu, 25 Sep 2014 12:59:40 +0000 (14:59 +0200)]
ges-validate: Add commit and split-clip action types

And stop commit at the end of other action types, this now
has to be done in the scenario itself.

9 years agoges-validate: Add start/inpoint/duration params to the add-clip action
Thibault Saunier [Thu, 25 Sep 2014 12:57:35 +0000 (14:57 +0200)]
ges-validate: Add start/inpoint/duration params to the add-clip action

9 years agotools:ges-launch: Save the project at the end of execution
Thibault Saunier [Thu, 25 Sep 2014 12:55:15 +0000 (14:55 +0200)]
tools:ges-launch: Save the project at the end of execution

So that changes from scenarios are taken into account

9 years agonlecomposition: Fix the get_current_position method
Thibault Saunier [Thu, 25 Sep 2014 12:53:36 +0000 (14:53 +0200)]
nlecomposition: Fix the get_current_position method

9 years agonlecomposition: Wait for a buffer from the new segment to restart task
Thibault Saunier [Tue, 23 Sep 2014 13:01:56 +0000 (15:01 +0200)]
nlecomposition: Wait for a buffer from the new segment to restart task

Avoiding races where we would launch a seek right after a FLUSH_STOP and
before we get a Buffer which would possibly lead to ERROR message when upstream
elements try to push a buffer and check_sticky fails because downstream
is flushing.

9 years agonlecomposition: Do useless thing so that the compiler doesn't warn us!
Thibault Saunier [Mon, 22 Sep 2014 16:58:43 +0000 (18:58 +0200)]
nlecomposition: Do useless thing so that the compiler doesn't warn us!

Otherwize we get a gcc warning about useless statements.

9 years agotools:ges-launch: Do not set pipeline state before the timeline is ready
Thibault Saunier [Fri, 19 Sep 2014 15:14:51 +0000 (17:14 +0200)]
tools:ges-launch: Do not set pipeline state before the timeline is ready

When we are loading a project

9 years agonlecomposition: Update start stop and duration on initialization
Thibault Saunier [Fri, 19 Sep 2014 15:13:52 +0000 (17:13 +0200)]
nlecomposition: Update start stop and duration on initialization

So that the composition is usable right after the initialization

9 years agoges: Avoid to always commit when a project is loaded
Thibault Saunier [Fri, 19 Sep 2014 15:12:18 +0000 (17:12 +0200)]
ges: Avoid to always commit when a project is loaded

In case we are not in a PLAYING state and the project is loaded, the
only thing that should be done is to fill the gaps and this way when the
composition get to PLAYING, their initialization will be enough to get
everything on track.

9 years agotests: Use the new gst_check_objects_destroyed_on_unref function
Thibault Saunier [Fri, 19 Sep 2014 10:58:26 +0000 (12:58 +0200)]
tests: Use the new gst_check_objects_destroyed_on_unref function

9 years agoStart taking advantage of the fact that NLE is in the same three as GES!
Thibault Saunier [Fri, 19 Sep 2014 10:57:30 +0000 (12:57 +0200)]
Start taking advantage of the fact that NLE is in the same three as GES!

9 years agonlecomposition: Fix several leaks
Thibault Saunier [Fri, 19 Sep 2014 10:55:51 +0000 (12:55 +0200)]
nlecomposition: Fix several leaks

* In the action closure invokation we were alway leaking the composition.
* gst_bin_add will actually take an extra ref since we already  gst_object_ref_sink so we
own the object, other call to that method will increase the refcount which means we do
not need to pass an extra ref to the bin.
* We want to ref_sink right when the object is added to the composition, making things
cleaner and simpler to follow in the tests.

9 years agonlecomposition: Activate the composition ghostpad to flush downstream
Thibault Saunier [Fri, 19 Sep 2014 10:52:45 +0000 (12:52 +0200)]
nlecomposition: Activate the composition ghostpad to flush downstream

Since commit 060b16ac75ac227d4cfe1db89ccdc4f4b31545ff
"pad: don't accept flush-stop on inactive pads" in -core, the flush_stop event will not be
fowarded downstream in case the pad is not activated. In our case the element is in
READY state, so pads are deactivated. In that commit we simply make sure that the
event can be fowarded downstream

9 years agonlecomposition: Restart the main task on FLUSH_STOP
Thibault Saunier [Fri, 19 Sep 2014 10:49:52 +0000 (12:49 +0200)]
nlecomposition: Restart the main task on FLUSH_STOP

It means stop using a dedicated probe to restart task so that the main probe does not
drop the FLUSH_STOP event before we have a chance to restart the task. (and this is
for sure cleaner/and simpler to read).

9 years agonle:source: Protect the probeid field with the GST_OBJECT_LOCK
Thibault Saunier [Fri, 19 Sep 2014 10:29:28 +0000 (12:29 +0200)]
nle:source: Protect the probeid field with the GST_OBJECT_LOCK

Avoiding races where we try to remove a probe on an already destroyed pad.

9 years agoframepositionner: Add a weak pointer to the track_source
Thibault Saunier [Fri, 19 Sep 2014 10:28:05 +0000 (12:28 +0200)]
framepositionner: Add a weak pointer to the track_source

Avoiding assertions when the object is destroyed.

9 years agonle: Seek gnlsource when prerolled only
Mathieu Duponchelle [Mon, 25 Aug 2014 16:11:52 +0000 (18:11 +0200)]
nle: Seek gnlsource when prerolled only

Instead of implementing seek on ready all around GStreamer, just
seek in PAUSED, when the source gets 'prerolled'.

9 years agoges-track: Do not set removed object state
Thibault Saunier [Thu, 28 Aug 2014 08:20:24 +0000 (10:20 +0200)]
ges-track: Do not set removed object state

It is the composition to handle

9 years agonle: Stop using a MainContext avoiding needing one iter per source dispach
Thibault Saunier [Wed, 20 Aug 2014 11:15:30 +0000 (13:15 +0200)]
nle: Stop using a MainContext avoiding needing one iter per source dispach

Using GClosure to handle the source handling and handle our action
ordering ourselves

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

9 years agoges: Use audiomixer instead of adder by default
Thibault Saunier [Tue, 21 Oct 2014 09:01:17 +0000 (11:01 +0200)]
ges: Use audiomixer instead of adder by default