Adam Leppky
a059031d02
titleclip: Expose draw-shadow child property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/235 >
2021-04-08 15:35:30 -05:00
Matthew Waters
083ae2b8ed
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/234 >
2021-03-19 17:21:22 +11:00
Thibault Saunier
edf58d30e6
ges: doc: Fix wrong vmethod links
2021-03-08 14:50:52 -03:00
Thibault Saunier
cebdfad9fe
group: Use proper group constructor
...
Otherwise we might en up having a group which is not backed by any asset
leading to possible assertion as this should never happen (see
https://gitlab.gnome.org/GNOME/pitivi/-/issues/2526 )
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/232 >
2021-03-08 09:58:50 -03:00
Thibault Saunier
8a3fadb8ed
project: Plug a leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
15af1f2baf
xml-formatter: Properly report error parsing restriction caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
74460ec221
command-line-formatter: Stop uselessly looping over options
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
d45e594a31
command-line-formatter: Add a way to format timelines using the format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
70e3b8ae2a
ges: Use a ges:
uri to define timeline from description
...
This way the command line formatter actually uses an URI and not
an ugly hack where were passing a random string instead of an URI.
This also allows the `gessrc` element to handle timelines described
in its URI meaning that you can now use, for example:
gst-play-1.0 "ges:+test-clip blue d=4.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
7499d41213
ges: Add keyframe support to the command line formatter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
ad5626dab8
structured-interface: Move set_control_source from ges-validate
...
So it can be reused in the command line formatter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
811d63439f
structured-interface: Factor out method to get element to set property
...
Used to set properties or keyframes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:20:09 -03:00
Thibault Saunier
ba763cfaf3
command-line-formatter: Reindent command line options array
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:11:25 -03:00
Thibault Saunier
d7764275d8
formatter: Use the new GstEncodingProfile:element-properties
property
...
Cleaning up the code and making everything simpler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:11:07 -03:00
Thibault Saunier
7282e1e56c
ges: Minor debug logging level and typo fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:11:07 -03:00
Thibault Saunier
6c5daf8c81
command-line-formatter: Add track management to timeline description
...
Instead of having it all handled by the tool, this way we can
set the restriction before clips are added to the timeline,
leading to better behavior in term of video images placement
in the scene.
Without that we would have the clips positioned before setting the
restriction caps which leads to weird behavior for the end users.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:11:05 -03:00
Thibault Saunier
e3a30744e8
test-source: Respect asset natural size
...
We had cases where the frame positioner had the default natural size for
video test sources instead of the user provided one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-09 18:10:33 -03:00
Henry Wilkes
60922c0288
ges-structure-parser: force string types
...
Force a string type for structure values obtained through parsing a
serialized timeline by inserting a (string) specifier after a '=',
rather than relying on gst_structure_from_string guessing the type.
As such, the functions that extract clocktimes and properties are
modified to accept string value types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123 >
2021-01-26 18:16:50 +00:00
Henry Wilkes
d8dbf50603
command-line-formatter: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123 >
2021-01-26 18:16:50 +00:00
Henry Wilkes
a33a3b145d
marker-list: made deserialize reverse of serialize
...
Changed deserialize method to actually reverse the serialize method by
removing the edge quote marks and reversing g_strescape.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/123 >
2021-01-26 18:16:50 +00:00
Thibault Saunier
0d95d9258b
uri-source: Respect stream-id even on streams muxed in raw
...
The issue is that we rely on `decodebin::autoplug-select` to `SKIP`
unwanted pads, that signal was first provided to select factories during
autoplugin, not totally thought to avoid exposing pads. For streams
muxed directly in raw, decodebin has nothing to plug after the demuxer
and the pad is exposed right away, meaning that we do not have any
chance to avoid that pad to be exposed. This patch takes that limitation
into account and checks the stream ID of the pads exposed by decodebin
before exposing them itself, so we end up using the right pad even if
more are uselessly exposed by decodebin.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/126
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/222 >
2021-01-23 04:27:07 +00:00
Thibault Saunier
8e9e95b90a
audio-track: Respect track restrictions in our gaps
...
Avoiding not negotiated errors in specific cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/225 >
2021-01-19 11:08:32 -03:00
Jan Schmidt
180c23108b
init: Fix initialisation crash
...
Fix a case where initialisation fails without setting
the passed-in GError and the caller assumes it will be
set, and add a guard to catch the condition in case it
happens again in the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/217 >
2020-10-31 20:51:27 +11:00
Xavier Claessens
e267d06344
Meson: Use pkg-config generator
2020-10-23 11:15:15 -04:00
Stéphane Cerveau
4f0bb60c91
meson: update glib minimum version to 2.56
...
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.
Remove compat code as glib requirement
is now > 2.56
Version used by Ubuntu 18.04 LTS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/215 >
2020-10-16 13:17:04 +02:00
Thibault Saunier
0030b0833b
ges: Do not recreate auto-transitions when changing clip assets
...
Otherwise we loose the configuration of the auto transition, and
it is not required at all in any case.
Fixes https://gitlab.gnome.org/GNOME/pitivi/-/issues/2380
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/208 >
2020-09-11 10:46:59 +00:00
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
10f1b3555b
ges:source: Handle missing elements in converters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204 >
2020-08-13 18:34:48 -04: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
ffa00b24a2
source: Handle missing elements in converter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204 >
2020-08-13 18:34:48 -04:00
Thibault Saunier
d6092bc8c5
video-source: Stop giving useless name to frame positioner
...
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
046e609a89
smart-mixer: Use the new 'samples-selected' signal to handle queuing in aggregator pads
...
Since aggregator introduced queueing in its sinkpads the way we set
properties on the pads is incorrect as it doesn't take it into account.
This fixes the issue by using the newly introduced `samples-selected`
signal in aggregator to set the properties right before the compositing
is done.
Also require the compositor we use to be an aggregator.
And add a validate test for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204 >
2020-08-13 18:34:48 -04:00
Thibault Saunier
a3a4fb1a3d
ges:validate: Allow setting keyframes using the clips directly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/204 >
2020-07-31 21:36:43 -04:00
Thibault Saunier
c834ce5bc4
ges-source: Ensure that we output stream with segments in time
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
8c622b18f6
pipeline: Restrict the presence only if the user didn't explicitly provided one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
e6683f0c19
timeline: Add a simplified version of track selection signal
...
Most user do not need to select several tracks for a single
TrackElement and this signal is not binding friendly so
this is adding a simpler, more user and binding friendly version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
3a32247630
uri-source: Respect user stream selection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
6f7d4ac525
ges: Fix smart rendering
...
Smart rendering has been broken since, mostly forever, but some code
was there pretending it was supported... let's try to stop pretending.
We now keep track of the smart rendering state in the timeline, track
and sources to be able to:
* tell decodebin to stop plugging more (decoding elements) as soon as
downstream supports the format.
* avoid plugging converters after the source element when smart
rendering.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Henry Wilkes
c2532a48c2
pipeline: stop setting the track caps
...
Stop setting the track 'caps' property. The previous code could
overwrite a users own setting of the caps for video and audio caps.
Moreover, the 'caps' property is listed as construct only, and users
will likely expect it to stay the same after a track has been added to a
timeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
bf0265ad71
source: Refactor the way we plug converter elements
...
Paving the way to skipping converters when rendering smartly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
09a6900d55
pipeline: Do not name urisink as urisink
as it is useless
...
And actually harmful in case you are debugging several pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
cc490854b5
pipeline: Remove urisink from timeline instead of unrefing it
...
Doing what was suggested in the FIXME and avoiding to unref
something it while we do not actually own it ourself.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
0b05bb6587
pipeline: Discard encoding profiles that don't match any track
...
Otherwise we get a 'not linked' error and we should just help
the user as we can here.
If the user adds a new track, he should set a new encoding profile
anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
834345b1c8
uri*source: Factor out common logic into a GESUriSource private data
...
The two classes are *very* close but have different hierarchy so this
introduces a new GESUriSource structure that is used as private
structure by both subclasses and makes most of the logic shared this
way.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-30 18:44:13 -04:00
Thibault Saunier
135707290e
*uri-source: Call free from the object ->finalize not ->dispose
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198 >
2020-07-26 20:34:58 -04:00
AsociTon
9f202a0a72
Fix retrieving asset metadata on project reload.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/202 >
2020-07-25 08:28:44 +05:30
Thibault Saunier
50616ad293
build: Add version.h to the headers list
...
So it is properly installed and the gir contains the required information
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/75
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/197 >
2020-07-10 08:21:11 -04:00
Thibault Saunier
6938800bc8
pitivi-formatter: Also skip the class
2020-07-09 21:43:33 -04:00