Commit graph

32 commits

Author SHA1 Message Date
Thibault Saunier 27bafd4b81 video-transition: Make smpte props children properties
And deprecate old style accessors.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/207>
2020-09-09 01:45:11 +00:00
Thibault Saunier 6acee38459 smart-mixer: Move the videoconvert to after the mixer
So that it tries to negotiate with alpha and the alpha channel is
dropped as late as possible in the pipeline.

The compositor is able to do video conversion internally in any case
so having a videoconvert before it is useless.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-08-13 18:34:48 -04:00
Thibault Saunier e5b1215d1e transition: Enhance name of the elements
Making it simpler to debug

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-08-13 18:34:48 -04:00
Thibault Saunier 6bf769c821 transition: Better document the way alpha is computed for transitions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204>
2020-08-13 18:34:48 -04:00
Thibault Saunier ffc11daa40 ges: Use assets to instantiate track elements/group
And deprecate all GESTrackElement constructors, but the GESEffect one.
Those should **never** be created by users and should become internal
in the future.

Stop having docstring for the constructors that were internal.
2020-03-27 17:17:23 -03:00
Thibault Saunier 1729104c2c video-transition: When using non crossfade effect use 'over' operations
For smptealph element to work as expected the following compositing
element should mix with the default "over" operator, as described
in its documentation.
2019-05-24 21:13:03 +00:00
Yeongjin Jeong e36ae315dc video-transition: Fix GstPad leak
Returned Gstpad by link_element_to_mixer_with_smpte()
has increased refcount in ges_smart_mixer_get_mixer_pad().
2019-01-29 16:15:03 +09:00
Tim-Philipp Müller a7347ca8f7 WIP: ges: fix API export/import and 'inconsistent linkage' on MSVC
Export GES library API in headers when we're building the
library itself, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

Fix up some missing config.h includes when building the lib which
is needed to get the export api define from config.h

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/42
2018-12-15 00:14:51 +00:00
Thibault Saunier 3c7f488fc2 video-transition: Port to the new 'operator' API in compositor
Now subclassing a ghostpad with an alpha property so that
we can multiply the alpha of the frame positioning meta
and the alpha of that pad, setting it on the compositor pad.

https://bugzilla.gnome.org/show_bug.cgi?id=797169
2018-10-29 13:50:16 +00:00
Thibault Saunier b64dd33661 Revert "video-transition: Make use of the new compositor::crossfade-ratio property"
This reverts commit 57be9b6799.
2018-10-28 15:33:31 +00:00
Thibault Saunier 13b8c8554d Update for g_type_class_add_private() deprecation in recent GLib 2018-09-05 22:57:27 -03: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 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 35256b47ff docs: Port all docstring to gtk-doc markdown 2017-03-08 18:13:48 -03:00
Thibault Saunier 8aa407ff27 video-mixer: Fix the way we release mixer pads
We were using the actual mixer pad to release the smart mixer
pad, which seemed to be on purpose, but was not properly handle,
moreover, it is now forbiden to pass a pad not inside a GstElement
when releasing it.

Also properly remove ghost pads from Smart mixer, we were planly
failling at it.
2016-12-22 09:50:39 -03:00
Thibault Saunier eb48faf342 ges: transition: Make crossfade fade out at the same time as it fade in
Until now fade out was just fading in the new clip, but this is not
correct and crossfade should at the same time fade out while fading
in.

Fixes https://phabricator.freedesktop.org/T3451

Differential Revision: https://phabricator.freedesktop.org/D1278
2016-09-26 13:32:56 -03:00
Aurélien Zanelli 813c4b4fb7 ges: add some g-i annotations according to documentation
Mainly (transfer xxx) and (nullable). Also fix some typo.

https://bugzilla.gnome.org/show_bug.cgi?id=766459
2016-05-14 20:36:07 -03:00
Sebastian Dröge abfe2c5949 ges: Fix typo by renaming positionner to positioner
It's fortunately private API
2016-04-13 12:31:05 +03:00
Thibault Saunier af27a11d65 transition: Lower done some debug loggin level 2016-04-09 18:14:00 -03:00
Thibault Saunier 1131a22a74 video-transition: Make compositor background transparent
Allowing further mixing downstream
2015-09-23 21:23:13 +02:00
Thibault Saunier d1c01678bc video-transition: Add a framepositioner at the end of the transitio
So downstream compositor knows the zorder of the various streams
2015-09-23 21:13:13 +02:00
Thibault Saunier f0b3cd27f9 video:transition: Set mixer pad zorder 2015-09-02 23:27:16 +02:00
Thibault Saunier 8c0a6402f6 video-source: Make sure to set framepositionner zorder when creating it
And fix a computation bug where we would be having mixing order
reversed between layers.

And make sure that the positionner does not mix up Transition handling
of the zorder
2015-09-02 20:42:50 +02:00
Thibault Saunier c17dae8f0e video-transition: Use a SmartMixer as mixer
So that the frame position metas are parsed and taken into account
2015-07-03 11:20:54 +02:00
Thibault Saunier ea2b814fba ges: Use registry to select the compositor element 2014-07-23 16:11:30 +02:00
Christoph Reiter a66e674649 Include class related section documentation in the gir file.
g-ir-scanner includes section docs as class/interface docs if the section name is equal to the lowercase type name.
Since all the documentation is in section blocks, rename them to match the type names.

https://bugzilla.gnome.org/show_bug.cgi?id=727776
2014-04-07 22:13:25 +02:00
Simon Corsin 93de0baf96 videotransition: No need to hard set width and height anymore. 2013-09-03 20:57:31 -04:00
Mathieu Duponchelle 832616fb2c video-transition: Keep switch transition type simple
Also make sure there is a proper default value for transition type.
2013-08-31 13:53:16 -04:00
Mathieu Duponchelle 2cb71e730a track-element: Remove duration_changed virtual method.
We use notifies for the properties.
	+ Use notifies in audio-transition and video-transition
2013-07-08 19:32:15 -04:00
Mathieu Duponchelle c57e463b2d replace query_caps with get_current_caps. don't check for unused gnlobject. 2013-04-23 23:05:17 -03:00
Thibault Saunier ecc9eb3020 Rename GESTrackVideoTransition to GESVideoTransition 2013-02-15 14:42:07 -03:00
Renamed from ges/ges-track-video-transition.c (Browse further)