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
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
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
Thibault Saunier [Mon, 3 Nov 2014 12:06:34 +0000 (13:06 +0100)]
pipeline: Do not relink an already linked track
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
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
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
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
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
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
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.
Thibault Saunier [Thu, 30 Oct 2014 11:36:57 +0000 (12:36 +0100)]
Document known and usable child properties for GESTrackElements subclasses
Thibault Saunier [Thu, 30 Oct 2014 11:38:16 +0000 (12:38 +0100)]
tools:launch: Properly terminate when we get a SIGINT signal
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
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
Mathieu Duponchelle [Wed, 29 Oct 2014 12:38:13 +0000 (13:38 +0100)]
ges-validate: inform of clip removal.
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.
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.
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!)
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!
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
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
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
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.
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.
Joris Valette [Fri, 13 Sep 2013 23:35:55 +0000 (01:35 +0200)]
formatter: save and load source's children properties
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
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.
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
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.
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.
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
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!
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).
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.
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
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
Thibault Saunier [Thu, 25 Sep 2014 12:53:36 +0000 (14:53 +0200)]
nlecomposition: Fix the get_current_position method
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.
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.
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
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
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.
Thibault Saunier [Fri, 19 Sep 2014 10:58:26 +0000 (12:58 +0200)]
tests: Use the new gst_check_objects_destroyed_on_unref function
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!
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.
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
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).
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.
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.
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'.
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
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
Thibault Saunier [Tue, 21 Oct 2014 09:01:17 +0000 (11:01 +0200)]
ges: Use audiomixer instead of adder by default
Thibault Saunier [Tue, 21 Oct 2014 08:59:43 +0000 (10:59 +0200)]
Port to the new NLE API
Port the timeline, track and pipeline to the new NLE API where
all objects have static src pads.
Thibault Saunier [Fri, 15 Aug 2014 13:48:14 +0000 (15:48 +0200)]
Cleanup import of GNL and rename gnl to nle for Non Linear Engine
Conflicts:
ges/ges-track-element.c
gnl/Makefile.am
gnl/common
Conflicts:
ges/ges-internal.h
ges/ges-track.c
ges/ges-utils.c
ges/nle/.gitignore
ges/nle/gnlmarshal.list
ges/nle/nle.h
ges/nle/nlecomposition.c
ges/nle/nlecomposition.h
ges/nle/nleghostpad.c
ges/nle/nleghostpad.h
ges/nle/nleobject.c
ges/nle/nleoperation.c
ges/nle/nleoperation.h
ges/nle/nlesource.c
ges/nle/nlesource.h
ges/nle/nletypes.h
ges/nle/nleurisource.c
ges/nle/nleurisource.h
gnl/Makefile.am
gnl/gnl.c
gnl/gnl.h
gnl/gnl/gnl.h
gnl/gnl/gnlcomposition.c
gnl/gnl/gnlcomposition.h
gnl/gnl/gnlghostpad.c
gnl/gnl/gnlghostpad.h
gnl/gnl/gnlmarshal.list
gnl/gnl/gnlobject.c
gnl/gnl/gnloperation.c
gnl/gnl/gnloperation.h
gnl/gnl/gnlsource.c
gnl/gnl/gnlsource.h
gnl/gnl/gnltypes.h
gnl/gnl/gnlurisource.c
gnl/gnl/gnlurisource.h
gnl/gnlcomposition.c
gnl/gnlcomposition.h
gnl/gnlghostpad.c
gnl/gnlghostpad.h
gnl/gnlmarshal.list
gnl/gnlobject.c
gnl/gnlobject.h
gnl/gnloperation.c
gnl/gnloperation.h
gnl/gnlsource.c
gnl/gnlsource.h
gnl/gnltypes.h
gnl/gnlurisource.c
gnl/gnlurisource.h
gnl/tests/check/gnl/common.c
gnl/tests/check/gnl/common.h
gnl/tests/check/gnl/complex.c
gnl/tests/check/gnl/gnlcomposition.c
gnl/tests/check/gnl/gnloperation.c
gnl/tests/check/gnl/gnlsource.c
gnl/tests/check/gnl/seek.c
gnl/tests/check/gnl/simple.c
tests/check/gnl/common.c
tests/check/gnl/common.h
tests/check/gnl/complex.c
tests/check/gnl/gnlcomposition.c
tests/check/gnl/gnloperation.c
tests/check/gnl/gnlsource.c
tests/check/gnl/seek.c
tests/check/gnl/simple.c
tests/check/nle/common.c
tests/check/nle/common.h
tests/check/nle/complex.c
tests/check/nle/nlecomposition.c
tests/check/nle/nleoperation.c
tests/check/nle/nlesource.c
tests/check/nle/seek.c
tests/check/nle/simple.c
Thibault Saunier [Tue, 12 Aug 2014 12:35:09 +0000 (14:35 +0200)]
composition: Commit all values before initializing the pipeline
Mathieu Duponchelle [Tue, 5 Aug 2014 13:43:11 +0000 (15:43 +0200)]
composition: Prevent update sources from being added after seek.
Mathieu Duponchelle [Thu, 31 Jul 2014 14:02:06 +0000 (16:02 +0200)]
composition: only flush stop after seek was set to READY.
Thibault Saunier [Tue, 29 Jul 2014 21:41:45 +0000 (23:41 +0200)]
composition: Also ignore all messages from children tearing them to READY
At that stage elements should not be taken into account anymore. In some
spacial cases they can post ERROR messages (when trying to push sticky
events on flushing pads) on the bus. We actually do not care about those
issues at that exact point.
Thibault Saunier [Mon, 28 Jul 2014 18:24:50 +0000 (20:24 +0200)]
composition: Do not try to paused the task that could have been stopped
There was a race where we ended up trying to update the pipeline and
stop our children task at the exact moment where we were actually
setting its state to PAUSED. Take the composition lock and make sure
that can't happen
Thibault Saunier [Fri, 25 Jul 2014 08:55:52 +0000 (10:55 +0200)]
composition: Post messages on the bus when it updates itself
And properly set the seqnums of those messages so that the application,
parents have the exact information about what is going on and why.
Mathieu Duponchelle [Tue, 22 Jul 2014 16:22:09 +0000 (18:22 +0200)]
composition: push flush events on the target.
Thibault Saunier [Sat, 19 Jul 2014 09:41:56 +0000 (11:41 +0200)]
composition: No need for action signal to add and remove objects!
Mathieu Duponchelle [Mon, 21 Jul 2014 14:59:24 +0000 (16:59 +0200)]
composition: we're initialized even if update_pipeline returned FALSE
Mathieu Duponchelle [Mon, 21 Jul 2014 14:57:14 +0000 (16:57 +0200)]
composition: reset base time to 0 when needed.
Mathieu Duponchelle [Mon, 21 Jul 2014 14:54:46 +0000 (16:54 +0200)]
composition: Forward flushes on initialization
Mathieu Duponchelle [Fri, 18 Jul 2014 02:04:16 +0000 (04:04 +0200)]
object: make the check for self commit work in a crappy way.
Mathieu Duponchelle [Fri, 18 Jul 2014 02:01:25 +0000 (04:01 +0200)]
composition: use g_main_context_set_dispatches_per_iteration ()
Let's hope this gets merged ...
Mathieu Duponchelle [Tue, 15 Jul 2014 13:17:43 +0000 (15:17 +0200)]
composition: set next_eos_seqnum when we get seeked too.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Tue, 15 Jul 2014 13:47:59 +0000 (15:47 +0200)]
gnl: Rely on the GstElement to properly handle their seqnums
Actually it is not exactly thread safe to tweak them ourself at the GNL
level.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Tue, 15 Jul 2014 13:16:23 +0000 (15:16 +0200)]
composition: Always return a value in GSourceFuncs
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Tue, 15 Jul 2014 13:01:59 +0000 (15:01 +0200)]
composition: Rename _flush_downstream to _have_to_seek_downstrean
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Tue, 15 Jul 2014 12:59:54 +0000 (14:59 +0200)]
source: Remove cruft code to seek sources
We now seek on ready and thus do not need to do magic trying to seek
the source as soon as possible as we now do it even sooner than soon.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Tue, 15 Jul 2014 07:46:03 +0000 (09:46 +0200)]
composition: Do not remove all sources when stopping task
We only want to remove updates and seek, commits should be kept
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Tue, 15 Jul 2014 00:37:25 +0000 (02:37 +0200)]
composition: Don't send flushes downstream on pipeline update.
The code is still a bit redundant in set_current_bin_to_ready, need
to discuss.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 15:52:36 +0000 (17:52 +0200)]
composition: Remove locking making sure that we manipulate children in right places
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 15:47:07 +0000 (17:47 +0200)]
composition: Avoid a race in PAUSED_TO_READY
as we were using our children list in there without locking them.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 15:18:23 +0000 (17:18 +0200)]
composition: No need to reset the composition when going to PAUSED or NULL
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 15:10:35 +0000 (17:10 +0200)]
composition: Make sure we have a peer when we send flushes downstream
And avoid leaks
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 15:06:05 +0000 (17:06 +0200)]
composition: Minor cleanups
Thibault Saunier [Mon, 14 Jul 2014 14:51:56 +0000 (16:51 +0200)]
composition: Take the objects lock when reseting the composition
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 14:47:45 +0000 (16:47 +0200)]
composition: Remove the reset children method
as it is all already done in _empty_bin ()
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 14:44:43 +0000 (16:44 +0200)]
composition: Set children caps only when they are added to the composition
No need to do it again on READY_TO_PAUSED
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 14:41:25 +0000 (16:41 +0200)]
composition: No need to children state locked anymore
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 14:30:35 +0000 (16:30 +0200)]
composition: cleanup dispose / finalize
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 14:24:46 +0000 (16:24 +0200)]
composition: remove children warning drop HACK.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 14:12:00 +0000 (16:12 +0200)]
composition: remove now useless notion of GnlCompositionEntry.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 13:50:58 +0000 (15:50 +0200)]
composition: cleanup GnlCompositionEntry before its actual removal.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 13:43:04 +0000 (15:43 +0200)]
composition: remove now useless prop "deactivated_elements_state".
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 13:40:28 +0000 (15:40 +0200)]
composition: Remove now useless flag "reset_time".
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 13:37:51 +0000 (15:37 +0200)]
composition: Remove now useless flag "stackvalid".
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 13:35:47 +0000 (15:35 +0200)]
composition: remove now useless "flushing" flag.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 11:36:31 +0000 (13:36 +0200)]
composition: Do not use 'update' seek for now
This is not working in our new context and the seek do not work at
all when we set seek start to CLOCK_TIME_NONE and type to TYPE_NONE.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Mon, 14 Jul 2014 11:35:24 +0000 (13:35 +0200)]
composition: Add the stack start/stop that has been set in dotfile name
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Mon, 14 Jul 2014 11:34:25 +0000 (13:34 +0200)]
composition: Push flush events *downstream* not 'somewhere' :)
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Sun, 13 Jul 2014 14:59:15 +0000 (16:59 +0200)]
source: Atomically change the probe ID
Avoiding races where the probe would be removed 2 times
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Sun, 13 Jul 2014 09:51:51 +0000 (11:51 +0200)]
composition: Avoid deadlock when setting current bin to ready (on commit or seek)
We need to make sure that between the time we send flush_start/stop and
the time we actually set the bin to READY, no buffer got prerolled again
as it would lead to a deadlock trying to set the bin to READY (while
deactivating the pads, it needs the streaming lock, which would be
taken in that case)
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Mathieu Duponchelle [Sat, 12 Jul 2014 18:54:55 +0000 (20:54 +0200)]
composition: Only sync state of current bin when activating new stack.
Co-Authored by: Thibault Saunier <tsaunier@gnome.org>
Thibault Saunier [Fri, 11 Jul 2014 19:59:43 +0000 (21:59 +0200)]
composition: Start kindergarten task when going to READY.
And stop it when going back to NULL.
Update tests.
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>