Age | Commit message (Collapse) | Author | Files | Lines |
|
There is a race where we can have an EOS from the element which
srcpad is our ghost pad but other elements upstream are still outputing
data and we flush the element so its pads have no segment info
anymore, and we end up having warning about flow before segement event.
The solution here is that we do not let any data flowing when we are
updating the pipeline.
|
|
Fixes warnings with automake 1.14
https://bugzilla.gnome.org/show_bug.cgi?id=705350
|
|
When checking for request pads as fallback, just look at the
element's class, not the factory, since there might not be
a factory (in case of python elements) or the factory might
be the wrong one (in case of a GstBin sub-class) and doesn't
have complete information.
https://bugzilla.gnome.org/show_bug.cgi?id=582244
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=701647
|
|
The object can be removed at the time the pad is removed, avoid segfaulting
when that happens.
|
|
Avoiding races where the pad would be added right between the connection
and inserting to the hashtable
|
|
The way we were handling gap was weird and not natural at all for
users, remove it for now.
In the long term, we should have a proper way of filling gaps in the
API and for now only emit an STREAM_ERROR message on the bus when a
gap is detected.
The user is now responsible for filling gaps in the composition
https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
Going from
if (something) {
do_something();
} else {
}
to
if (!something)
return;
do_something ();
|
|
When calling the gnl_object_commit method, we need to make sure that no
object can be changed and, it should be true until the pipeline has
fully been udpated.
We now need the update_pipeline function to be called with the
COMP_OBJECTS_LOCK taken, and we do not unlock that lock during the whole
pipeline updating process.
https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
This was how expandables worked prior to the expandable property.
Using MAXUINT32 has some limitation and which are fully covered by the
expandable property. Drop this support, as we will plan on implementing
an automatic way of filling gaps.
https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
Currently, the only safe way to modify a composition, or an object, is to pause
the pipeline first. We think that this limitation eliminates many use cases for
GNonLin. Few video editors let you create a draft of your video by applying
multi-cam technic. Also people could want to eventually consider doing live
video production, which obviously require being able to change the composition
in playing state (and increase compositon duration as we go).
This commit is a first step making GNL fully commit base. Objects, Operations and
Compositon keep a copy of modified values, and only apply those changes
when a commit is executed. This potentially allows making the changes
(or group of changes) fully 'atomic' without having to pause the pipeline.
Added API:
----------
GnlObject::commit action signal
Removed API:
------------
GnlComposition:update property
+ Fix the tests
https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
|
|
Rational described at https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
Rational described at https://bugzilla.gnome.org/show_bug.cgi?id=701287
|
|
|
|
except those consecutive to a seek event.
The 'reset-time' parameter has been added in 1.0, and we need it to be FALSE
outside the composition.
Related to https://bugzilla.gnome.org/show_bug.cgi?id=701146
|
|
We do it ourselves when needed, doing so led the pipeline to lose state,
which was updating the base time.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=701146
|
|
For operations (especially mixers) to be able to do proper
synchronization they need the segment from different sources to be in
the same running time context.
This commit makes sure that the basetime of the incoming segments of
operations will be the same, and equal to the duration of the
already "played" time of the operation at the position at which
the new portion of the composition starts.
|
|
From 098c0d7 to 01a7a46
|
|
+ Create a no_install libtestutils.
+ Remove code from common.h to put it in common.c
+ Abstract away bus polling from test_simplest # TODO use it as much as possible.
+ Fix various little errors spotted thanks to new flags.
|
|
associated to its target.
|
|
+ This function is called in a thread of its own.
|
|
|
|
|
|
As a result, remove unused gnl_object_ghost_pad_full.
|
|
Linking the element should automatically resend all sticky events.
|
|
We where trying to activate the pad even if creating the ghostpad failed.
Instead, warn if that fails, and return NULL as expected.
|
|
|
|
|
|
|
|
nowadays the plugin description is used.
|
|
|
|
This reverts commit 9db8b0211bf64137ff3215b78172fe76de1994a1.
This should be implemented properly using our knowledge of the
composition's content
|
|
|
|
|
|
We concider the output of a gnlcomposition as 1 coherente stream.
|
|
|
|
|
|
From 5edcd85 to 098c0d7
|
|
From 3cb3d3c to 5edcd85
|
|
|
|
From aed87ae to 3cb3d3c
|
|
From 04c7a1e to aed87ae
|
|
We update it based on accumulated segment time.
Tests are also updated to check for valid base/time/duration
|
|
The 'update' parameter in seek_handling is used to know if flush most be
performed before unlinking or linking new objects. It accidently set to
TRUE d196cd3cdc850f2355bb16518e22ccfda1170078.
|
|
gnl_composition_ghost_pad_set_target() require the objects_lock to be
taken. Aslo improve protection around user_seek_flush.
|
|
From 2de221c to 04c7a1e
|
|
|
|
From a942293 to 2de221c
|
|
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
|