Thibault Saunier
a5a590ba17
structure-interface: Convert fields type as much as possible
...
Since 60922c0288
we force string in the
command line parser which broke setting layers on clips for example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/253 >
2021-05-18 22:16:47 -04:00
Thibault Saunier
c761711a7a
validate: Add support to check properties of object properties
...
And recursively
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/253 >
2021-05-18 22:07:36 -04:00
Seungha Yang
bf5741f424
smart-mixer: Add support for d3d11compositor and glvideomixer
...
Some hardware compositor elements (d3d11compositor and glvideomixer)
consist of wrapper bin with internal mixer element.
So, we need special handling for such elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/242 >
2021-05-15 01:36:45 +09:00
Seungha Yang
eaaaf78090
framepositioner: Install operator property only when compositor is used
...
Other compositor/mixer elements might not have the property. For instance,
d3d11compositor and glvideomixer define graphics API specific blending
properties, instead of simple "operator" one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/242 >
2021-05-15 01:36:44 +09:00
Doug Nazar
60856d5a6f
xml-formatter: Write xml directly to file
...
Skip allocation of temp buffer (which was undersized).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/250 >
2021-05-12 18:59:16 -04:00
Doug Nazar
294ad1d564
tests: Run ges-launch tests non-interactively
...
It's not needed for the tests and fixes an occasional issue where
the terminal is left in -echo mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/248 >
2021-05-10 02:09:10 +00:00
Thibault Saunier
4b0e54b1fb
track-element: Fix and cleanup annotations
...
Making the class subclass able by bindings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/231 >
2021-05-05 10:02:44 +00:00
Thibault Saunier
906654de87
ges: Move GESVideo/AudioSource::create_source to GESSource
...
Deprecating the old variants which were not introspectable
and cleaning a bit the API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/231 >
2021-05-05 10:02:44 +00:00
François Laignel
ec5b267249
Use gst_element_request_pad_simple...
...
Instead of the deprecated gst_element_get_request_pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/240 >
2021-05-05 06:16:53 +00:00
Seungha Yang
6cd13c3b09
ges: Port to gst_print*
...
Sync with gst-launch, as g_print* will print broken string on Windows.
See also
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/258
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/245 >
2021-04-28 01:17:12 +09:00
Seungha Yang
3ee8672897
framepositioner: Allow ANY caps features
...
framepositioner will not touch raw video data and therefore should
be able to accept ANY caps features
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/243 >
2021-04-23 19:35:25 +00:00
reed.lawrence
9f2de279c5
gstframepositioner: fix operator magic number
...
In gst_frame_positioner_init, there was the magic number 1
when assigning the default value of the operator. Now it
has the default value for the operator pulled from the
compositor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/241 >
2021-04-23 09:01:35 -05:00
reed.lawrence
355d986d80
gstframepositioner: added 'operator' property
...
The 'operator' property was added to gstframepositioner so that
blending modes in the compositor could be accessed. This was done
by accessing the pad of the compositor class, and referencing the
'operator' property in that pad. Getters and Setters were also
created so that the 'operator' could be accessed by software that
is based on GES, such as Pitivi.
Related to but does not close Issue
https://gitlab.gnome.org/GNOME/pitivi/-/issues/2313
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/236 >
2021-04-21 18:12:30 -05:00
Seungha Yang
1327f428d2
framepositioner: Fix runtime warning
...
GstCaps is not a GObject!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/238 >
2021-04-14 15:38:32 +09:00
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
Jan Schmidt
22528c4d96
Update check_keyframes_in_compositor_two_sources
...
Update the validate expectation for videoconvert caps changes in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1033
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/229 >
2021-02-19 21:01:29 +11: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
78f8ae860e
test: Check clip positioning works when specifying track size
...
Make use of the new 'timeline specification' support in .validatetest
files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
71fc89e6a8
tools: Fix some naming
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
42cb09a2c2
tools: Reindent options
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
6336c1bb53
launch: Add encoding profiles to the project
...
So it is serialized on `--save`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
8094f8cd93
validate: Handle passing timeline desc in .validatetest files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/227 >
2021-02-10 16:14:47 -03:00
Thibault Saunier
410fd67045
plugin: Fix is-ges-timeline
registration
...
We need to register it for all subclasses.
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
Mathieu Duponchelle
8bbd06c7c6
ges-launcher: do not set rendering details too early
...
It looks like the _set_rendering_details call is superfluous
in _startup(), as it will get called in run_pipeline.
The problem with calling it before timeline_set_user_options
is that we are going to fail creating a smart profile if
the user selected eg --track-types=video, as the get_smart_profile
method compares the tracks in the asset with those on the timeline.
Reproduce with a video-only clip:
ges-launch-1.0 --track-types=video +clip file://$PWD/jelly.mp4 \
inpoint=15.0 -o foo.mp4 --smart-rendering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/228 >
2021-01-29 20:42:26 +01: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
Thibault Saunier
d1aa359c2b
launch: Ensure to add required ref to profiles from project
...
We were unreffing something we were not owning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/224 >
2021-01-05 11:52:43 -03:00
Jan Schmidt
bdfe6e4477
tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
...
This is the same fix that was applied in gst-plugins-good in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/603
and fixes the testsuite running in gst-build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/219 >
2020-12-15 13:39:43 +00:00
Thibault Saunier
6046a515cd
launch: Add an interactive mode where we can seek etc...
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/209 >
2020-12-04 09:29:02 -03:00
Nirbheek Chauhan
51c5171005
meson: Enable some MSVC warnings for parity with GCC/Clang
...
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/220 >
2020-11-04 18:47:28 +05:30
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