Commit graph

42 commits

Author SHA1 Message Date
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
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
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
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
1f94299c49 validate: Wait for state change to consider commit as done
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/178>
2020-05-26 19:14:53 -04:00
Thibault Saunier
8258d56a13 validate: Fix setting ges properties
And fix typos.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-19 13:27:13 +00:00
Thibault Saunier
69d5202788 validate: Avoid dereferencing NULL pointer
CID: 1461266
2020-04-10 11:12:12 -04:00
Thibault Saunier
f9f30c4ced ges: Add a way to set layer activeness by track
a.k.a muting layers.

Adding unit tests and making sure serialization works properly
2020-03-25 15:40:25 -03:00
Thibault Saunier
1577ac1038 validate: Refactor actions implementation
Making them simpler to read and avoiding leaks
2020-03-25 11:26:29 -03:00
Thibault Saunier
dcb3ad620d ges: Plug some leaks 2020-03-25 11:26:29 -03:00
Thibault Saunier
ae6124e282 validate: Add support to seek in frames 2020-03-25 11:26:29 -03:00
Thibault Saunier
e835042f04 ges: Add APIs to have a sens of frame numbers
APIs:
   - ges_timeline_get_frame_time
   - ges_timeline_get_frame_at
   - ges_clip_asset_get_frame_time
   - ges_clip_get_timeline_time_from_source_frame

Extracting ges_util_structure_get_clocktime to internal utilities adding
support for specifying timing values in frames with the special
f<frame-number> synthax.
2020-03-25 11:26:29 -03:00
Thibault Saunier
f7bd6d63c4 validate: Rename edit-container to edit
Keeping the old version for backward compat
2020-03-25 11:26:29 -03:00
Thibault Saunier
e3aa157d53 validate: Initialize GValue before calling g_object_get_value
This is required with GLib < 2.60
2020-03-19 18:45:51 -03:00
Thibault Saunier
1f919dae98 validate: Handle checking/setting subprojects ges properties 2020-03-09 11:50:01 -03:00
Henry Wilkes
94db57b9bd validate: unref copied and pasted 2020-03-05 16:59:37 -03:00
Thibault Saunier
32dae5e3da validate: Handle absolute control binding support when setting keyframes
And minor fix in set-control-source
2020-02-26 13:36:30 -03:00
Thibault Saunier
99074a01a3 validate: Add action types to set/check various child properties at once
And add a way to take into account control bindings.
2020-02-26 13:36:30 -03:00
Thibault Saunier
4e4473ef8f ges: Plug leaks in new ges-launch and related 2020-02-25 17:44:51 -03:00
Thibault Saunier
056ac5eeb0 validate: Port to the new REPORT_ACTION API 2020-02-25 17:44:51 -03:00
Thibault Saunier
fe96405692 validate: Tear down pipeline when openning a new project
Avoiding potential deadlock when we remove tracks on a playing pipeline
2019-10-22 19:25:09 +02:00
Thibault Saunier
9dc958e8ab ges:validate: Properly error when editing container fails 2019-07-26 13:48:51 -04:00
Thibault Saunier
70d423575d ges:validate: Add a way to execute actions on serialized timelines
This way we can modify nested timelines.
2019-07-26 13:48:51 -04:00
Thibault Saunier
35096e4d94 validate: Allow passing 'uri' to 'load-project'
The action type was thought to allow that but it wasn't implemented.
2019-07-26 13:48:51 -04:00
Thibault Saunier
5e4555c6b3 validate: Create folders as needed when serializing timelines 2019-07-05 18:30:41 -04:00
Thibault Saunier
7b1cb7a1d7 validate: Add action type to copy/paste clips 2019-06-05 00:43:48 +00:00
Thibault Saunier
f85a1bd3a3 validate: cleanup the playback-time from validate structures
Otherwise we might fail on them in the ges-structure-interface
2018-11-26 14:50:03 -03:00
Thibault Saunier
6e2354bd79 validate: Add an action type to ungroup containers 2017-08-18 23:52:35 -03:00
Thibault Saunier
b6746dfd4c validate: Port to new GstValidate API for pipeline retrieval 2017-05-20 18:04:42 +02:00
Scott D Phillips
f203c01af2 Pass gint/guint pointers instead of enum pointers
The underlying integer type for enums are implementation defined and may
not be the same size as gint/guint. So implicitly casting from pointers-
to-enum-types to pointers-to-int-types is unsafe. MSVC warns on these.

https://bugzilla.gnome.org/show_bug.cgi?id=774641
2016-11-18 09:13:53 -03:00
Sebastian Dröge
9deaacbe34 ges-validate: Fix compiler warning caused by usage of wrong enum type
ges-validate.c:237:22: error: implicit conversion from enumeration type
      'GESEdge' to different enumeration type 'GESEditMode'
      [-Werror,-Wenum-conversion]
  GESEditMode edge = GES_EDGE_NONE;
              ~~~~   ^~~~~~~~~~~~~
ges-validate.c:277:41: error: implicit conversion from enumeration type
      'GESEditMode' to different enumeration type 'GESEdge'
      [-Werror,-Wenum-conversion]
              new_layer_priority, mode, edge, position))) {
                                        ^~~~

https://bugzilla.gnome.org/show_bug.cgi?id=759758
2015-12-22 09:58:30 +01:00
Thibault Saunier
9843ffeed2 ges: Fix some error settings
Summary: Depends on D176

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D177
2015-05-14 15:31:52 +02:00
Thibault Saunier
e37d8e768f ges: command-line-formatter: Properly error out on invalid arguments 2015-03-20 13:53:42 +01:00
Mathieu Duponchelle
ed0839dd82 structured-interface: Be clever when no layer priority specified.
And add the new element to the same layer as the last clip that
was added, insted of adding to the last layer of the timeline
(and with the current code, actually adding a new layer each time)
2015-03-20 13:53:41 +01:00
Thibault Saunier
3105797913 ges: Add an internal GstStructure based interface
To be use by GstValidate action and ges-launch

Reviewers: Mathieu_Du, thiblahute

Differential Revision: http://phabricator.freedesktop.org/D42
2015-03-20 13:53:35 +01:00
Thibault Saunier
f3f27bd636 validate: Do not wrongly set clip duration for UriClips
That was making no sense at all....
2015-02-02 11:57:19 +01:00
Thibault Saunier
23c71e8222 validate: Properly expose the commit action as ASYNC 2015-02-02 11:57:03 +01:00
Thibault Saunier
7c6ad5e3ba validate: Add an action type to load a project from its content 2014-12-12 12:07:01 +01:00
Thibault Saunier
c7cceae128 validate: Avoid depending on not stable APIs
And cleanup includes
2014-12-06 10:34:17 +01:00
Thibault Saunier
452ebc1965 validate: Move to new action type registration API 2014-12-06 10:34:17 +01:00
Thibault Saunier
8e3790495f validate: Add missing action execution printing 2014-12-06 10:34:16 +01:00
Thibault Saunier
ac3cad47b6 validate: Expose GES Validate action
So other can also make use of those action outside
ges-launch itself

https://bugzilla.gnome.org/show_bug.cgi?id=740718
2014-12-06 10:34:15 +01:00