Commit graph

2696 commits

Author SHA1 Message Date
Nicolas Dufresne 5dd5b163ae nlecomposition: Always execute seeks
We have an optiominisation to avoid double seeks when a seek is passed
the end of the current stack. The problem, is that we no longer flush
the pipeline when this code is reached. This patch comments out this
optimization adding a FIXME. As mention, flushing the stack instead of
seeking would work, but does not seem trivial considering all the
mechanic inplace to forward or not the events.

https://bugzilla.gnome.org/show_bug.cgi?id=787405
2017-09-19 11:24:22 -03:00
Nicolas Dufresne faf44ac0e2 nlecomposition: Also start task on allocation query
The allocation query may block on the sink when in pause. As a side effect, we
may never get a buffer now that tee does forward the allocation query.
This would often lead in a pipeline stall.

https://bugzilla.gnome.org/show_bug.cgi?id=787405
2017-09-19 11:24:22 -03:00
Nicolas Dufresne a95024545a make: Fix validate scenario install directory 2017-09-07 12:08:40 -04:00
Nicolas Dufresne a05b551843 meson: Install validate helpers and scenarios
This fixes the usage of gst-validate-launcher ges with an installed
version of GES.
2017-09-07 12:07:03 -04:00
Stefan Popa 5b321dbe3a track_element: Always emit "control-binding-removed" signal.
When setting a new control binding on a track element, the old control
binding (if any) is going to be removed. Make sure the
"control-binding-removed" signal is emitted in this case.

Fixes https://phabricator.freedesktop.org/T7340#95666

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1842
2017-09-01 09:38:45 -03:00
Thibault Saunier 4db3800f98 Revert "timeline: Return FALSE when commiting an empty timeline"
This commit means that we do not get ASYNC_DONE anymore when commiting
an empty timeline, which means that we need to special case that.

This actually broke some code and does not bring in much.

Fixes https://phabricator.freedesktop.org/T7802
Fixes https://phabricator.freedesktop.org/T7797

This reverts commit e570d1e080.

Thanks @stefanzzz for investigating!
2017-08-29 22:27:42 -03:00
Stefan Popa 6b67ff61ad xml-formatter: Save encoder and muxer advanced settings
Added support for saving/loading encoder and muxer advanced settings.

Differential Revision: https://phabricator.freedesktop.org/D1837
2017-08-26 11:20:42 -03:00
Thibault Saunier ce4d2d8102 pipeline: Allow up to 2 seconds queueing in the playsink video queue
In playsink the default video queue max size is 3 buffers, which is
sometimes not enough for our use case.

Allow up to 2 seconds of buffered data, giving us more time to do
the transition between clips, and thus avoiding dropping frames in
the sink when bringing up new clip takes too much time.

Differential Revision: https://phabricator.freedesktop.org/D1854
2017-08-19 23:21:57 -03:00
Thibault Saunier 959a3c70b0 timeline: Add from first element with wanted start to the move context
We need to iterate over the previous element from trackelement_iter
to find the first element that is at the moving point. Several
elements can have the same start as the one initiating the move,
and we need to take all of them into account.

Fixes https://phabricator.freedesktop.org/T7819
2017-08-18 23:52:35 -03:00
Thibault Saunier 6e2354bd79 validate: Add an action type to ungroup containers 2017-08-18 23:52:35 -03:00
Tim-Philipp Müller 9f4877b2f5 Automatic update of common submodule
From 48a5d85 to 3f4aa96
2017-08-17 12:26:24 +01:00
Tim-Philipp Müller b14b8b77e8 Hide ges_smart_mixer_* API
The header file isn't installed anyway.
2017-08-12 10:07:22 +01:00
Tim-Philipp Müller ab863549b6 configure: bump gst-validate requirement to 1.12.1
For gst_validate_scenario_get_pipeline().
2017-08-12 10:07:22 +01:00
Tim-Philipp Müller 600f9800e0 meson: hide symbols by default unless explicitly exported 2017-08-11 22:28:04 +01:00
Tim-Philipp Müller 7bec37a755 tests: don't use private debug category in asset test
That will lead to undefined symbol errors once it no
longer gets exported.
2017-08-11 22:24:28 +01:00
Tim-Philipp Müller b0f0655343 ges: sprinkle more GST_EXPORT 2017-08-11 22:24:12 +01:00
Thibault Saunier a8b7180918 smartmixer: Give a unique name to each compositor instances 2017-08-10 21:40:37 -04:00
Thibault Saunier 3a04a1f76b validate: Check subprocess return code in rendering tests 2017-08-10 21:38:04 -04:00
Tim-Philipp Müller abb32de25b validate: fix error message 2017-08-10 15:18:22 +01:00
Tim-Philipp Müller ecd81965af meson: fix a few warnings 2017-08-10 13:46:03 +01:00
Thibault Saunier 2e9fd0b712 Mark symbols explicitly for export with GST_EXPORT
With two exceptions:
  * ges_clip_create_track_elements_func
  * ges_uri_clip_set_uri

which were never declared in headers and should always have been static.
2017-08-07 15:41:28 -04:00
Thibault Saunier ef86b7f7e6 transition: Fix usage of transition types != crossfade
We need to make sure the crossfade ratio is disabled in that case.
2017-08-03 17:04:04 -04:00
Thibault Saunier 57be9b6799 video-transition: Make use of the new compositor::crossfade-ratio property
To achieve a real transition about to handle several level of layers.

https://bugzilla.gnome.org/show_bug.cgi?id=784827
2017-08-03 13:16:46 -04:00
Thibault Saunier cfbeeba3d7 win32: Update .def file 2017-07-31 14:52:20 -04:00
Thibault Saunier 9a76617fc7 asset: Add a function to stop proxying an asset
And remove any reference as it beeing a proxy.
2017-07-31 13:14:04 -04:00
Thibault Saunier eae6b70523 asset: Clear loading error when reload is requested 2017-07-31 13:03:59 -04:00
Thibault Saunier 623683b621 nlecomposition: Rename segment_start to current_stack_start
It is still not exactly precise, but gives a much better understanding
of what it is.
2017-07-29 19:47:27 -04:00
Thibault Saunier 03317e710d nlecomposition: Properly update segment->start/stop on commit
Otherwise they will just be the ones from the previous seek event/
stack setup and be meaningless.

Also document the priv->segment meaning.

Fixes https://phabricator.freedesktop.org/T7796
2017-07-29 19:47:27 -04:00
Thibault Saunier 487d9df367 timeline: Remove trackelements initating move from the moving context
They are handled specially when moving the context and having them
part of the context can lead to weird behaviours.

Fixes https://phabricator.freedesktop.org/T7693
2017-07-27 16:32:31 -04:00
Thibault Saunier daca7acf96 xml-formatter: Serialize encoding profiles in reverse order
So they are reloaded in the right order.
2017-07-26 19:25:48 -04:00
Thibault Saunier 2efebc8587 pipeline: Make sure tracks are unlinked on NULL->NULL state changes 2017-07-26 19:25:46 -04:00
Thibault Saunier c37fac7c27 Enhance some pad linking issue debug logging. 2017-07-26 19:25:44 -04:00
Thibault Saunier 5098e1066b validate: Fix test names now that the launcher handles adding manager name 2017-07-18 10:55:48 -04:00
Thibault Saunier 5e4770ccb9 tests: Initialize GES only once in the main process
Fixing calling deinit in a process where init was not called
when libcheck is forking.
2017-07-11 11:40:55 -04:00
Nicolas Dufresne c5eae31cf7 ges: Ref the GES class to avoid later deadlock
This ensure that that all class are initialized from the main thread,
avoid class initialization in random thread, which may cause deadlocks.

https://bugzilla.gnome.org/show_bug.cgi?id=784769
2017-07-11 10:23:58 -04:00
Tim-Philipp Müller 4c773e64d8 meson: find python3 via python3 module
https://bugzilla.gnome.org/show_bug.cgi?id=783198
2017-07-07 12:27:16 +01:00
Stefan Popa e9794d2bf2 "deep-notify" signal gets emitted only from the main thread
https://bugzilla.gnome.org/show_bug.cgi?id=784414
2017-07-03 11:40:04 -04:00
Thibault Saunier 50865a4f37 video-transition: Make sure crossfade output never contains alpha
Otherwise it would get mixed with lower layers, which is totally
unexpected.

Fixes T7773

Differential Revision: https://phabricator.freedesktop.org/D1764
2017-06-30 16:24:10 -04:00
Thibault Saunier a934efe601 meson: Allow using glib as a subproject 2017-06-23 16:18:36 -04:00
Thibault Saunier 88a5894fbd ges: Handle g_object_newv deprecation in latest GLib 2017-06-23 16:17:57 -04:00
Nicolas Dufresne cc703228fb Don't dist config.meson.h as it no longer exist 2017-06-09 20:15:26 -04:00
Tim-Philipp Müller 57c1339056 meson: remove config.h.meson 2017-06-09 21:37:48 +01:00
Thibault Saunier 797ee730b0 meson: Do not use path separator in test names
Avoiding warnings like:

    WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-07 12:51:17 -04:00
Thibault Saunier b6746dfd4c validate: Port to new GstValidate API for pipeline retrieval 2017-05-20 18:04:42 +02:00
Sebastian Dröge be67574245 ges: Correctly handling floating references
If we ref_sink() a parameter, it must be marked as (transfer floating)
and it also has to be handled consistently between error and normal cases.

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

https://bugzilla.gnome.org/show_bug.cgi?id=782652
2017-05-20 16:53:57 +02:00
Nicolas Dufresne 4a906e412e Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:37:03 -04:00
Sebastian Dröge 7d5b3ca7a9 Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge e2424ad267 Release 1.12.0 2017-05-04 15:43:12 +03:00
Sebastian Dröge ee6d22b1c7 Release 1.11.91 2017-04-27 17:47:16 +03:00
Tim-Philipp Müller 2487248b00 Automatic update of common submodule
From 60aeef6 to 48a5d85
2017-04-24 20:30:46 +01:00