Commit graph

1604 commits

Author SHA1 Message Date
Mathieu Duponchelle
0bb5227017 ges-smart-adder: use capsfilter instead of GstAudioMixer:caps
The property has been removed, and using a capsfilter instead
is the appropriate solution.
2017-12-19 23:30:18 +01:00
Edward Hervey
9a45d0ef85 ges: Fix a bunch of leaks
There are definitely more left, but don't have time for more debugging
2017-11-27 11:49:43 +01:00
Tim-Philipp Müller
5016c80311 win32: remove .def file with exports
They're no longer needed, symbol exporting is now explicit
via GST_EXPORT in all cases (autotools, meson, incl. MSVC).
2017-11-26 13:30:08 +00:00
Thibault Saunier
a97ab50ab9 uri-clip: Copy previous track elements bindings when setting a new asset
Fixes https://phabricator.freedesktop.org/T7862
2017-11-25 16:12:22 -03:00
Ashish Kumar
23e9044b4e GESAsset, GESLayer: add some function guards
https://bugzilla.gnome.org/show_bug.cgi?id=789521
2017-11-21 14:13:53 +01:00
Thibault Saunier
f20876b9db auto-transition: Fix debug printf format 2017-11-07 11:26:58 -03:00
Thibault Saunier
f3dbcd2753 timeline: Do not snap object within the moving context
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Differential Revision: https://phabricator.freedesktop.org/D1873
2017-11-07 10:18:45 -03:00
Thibault Saunier
62891c3f03 ges: Sync 'par' to track restriction caps in the frame positionner
Allowing GES users to have control over how compositing is done
2017-10-31 12:57:08 -03:00
Sebastian Dröge
6c7c4e0257 ges-source: Fix caps memory leak and compiler warnings when compiling without debug logging 2017-09-20 12:59:40 +03: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
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
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
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
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
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
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
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
88a5894fbd ges: Handle g_object_newv deprecation in latest GLib 2017-06-23 16:17:57 -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
Corentin Noël
1a4c4d3ac0 Tiny fixes in the documentation
https://bugzilla.gnome.org/show_bug.cgi?id=780854
2017-04-02 21:25:38 -03:00
suhas2go
6dc0cd0dec layer: Add ability to get clips in a given interval
Reviewed-by: Alex Băluț <<alexandru.balut@gmail.com>>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D1689
2017-03-28 11:29:37 -03:00
Thibault Saunier
dd8dacdfde docs: Fix generation using markdown for titles around tables 2017-03-13 09:30:39 -03:00
Thibault Saunier
909f0b7412 Revert "Fhotdoc"
This reverts commit 220618ecc7.

This was not meant to be pushed.
2017-03-10 19:46:24 -03:00
Thibault Saunier
a125b8d73b ges: Minor GESTimeline documentation fix 2017-03-10 19:34:21 -03:00
Thibault Saunier
107ad1d3e1 extractable: Typedef only in its own .h 2017-03-09 13:11:37 -03:00
Thibault Saunier
220618ecc7 Fhotdoc 2017-03-09 13:10:46 -03:00
Thibault Saunier
35256b47ff docs: Port all docstring to gtk-doc markdown 2017-03-08 18:13:48 -03:00
Thibault Saunier
e570d1e080 timeline: Return FALSE when commiting an empty timeline
Meaning that ASYNC_DONE/COMMITED is always emited when TRUE is returned
2017-03-06 12:19:16 -03:00
Sebastian Dröge
50c98bae24 framepositioner: Prevent division by zero
CID 1369046
CID 1369047
2017-02-28 15:40:08 +02:00
Sebastian Dröge
58e8277a78 ges-timeline: Document intentional case-fall-through
CID 1364754
2017-02-28 15:36:46 +02:00
Sebastian Dröge
1c6893c57d ges-project: Check for set/unset error correctly by dereferencing
... or simply calling g_clear_error() on it which does that for us.

CID 1257630
2017-02-28 12:59:35 +02:00
Thibault Saunier
fe2efd161d ges: Keep internal symbols internal
The following implementation details where exposed as public symbols:
  - _ges_container_get_priority_offset
  - _ges_container_set_height
  - _ges_container_set_priority_offset
  - _ges_uri_asset_cleanup

but it was not correct and that should never have been used outside
GES.

Moving those declarations to the internal header and marking as
internal.
2017-02-24 16:05:34 -03:00
Thibault Saunier
b27078d8de Minor documentation fix 2017-02-15 12:53:22 -03:00
Thibault Saunier
c5f59a319b ges-meta: Minor documenation fix 2017-02-06 10:05:49 -03:00
Guillaume Desmottes
53c5bc069c introduce ges_deinit()
GstDiscoverer objects were leaked by tests making the leaks detector
unusable.
Introduce ges_deinit(), similiar to gst_deinit(), doing some cleanup
before exiting the process.

https://bugzilla.gnome.org/show_bug.cgi?id=776805
2017-02-06 09:49:20 -03:00