Commit graph

248 commits

Author SHA1 Message Date
Thibault Saunier
54149e5eb5 tools: Deinit Gst before exiting 2016-11-30 09:53:21 -03:00
Thibault Saunier
244266a94e ges-launch: Be a bit more agressive sanitizing arguments
Otherwise GstStructure might fail parsing some fields
containing brackets

https://bugzilla.gnome.org/show_bug.cgi?id=771434
2016-09-14 18:29:58 -03:00
Thibault Saunier
383c5d1f6d Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
2016-08-24 16:44:32 -03:00
Justin Kim
f8f3444daf ges-launcher: don't leak project uri string
ges_project_get_uri returns a cloned string so it should
be free'd after usage.

Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com>
Differential Revision: https://phabricator.freedesktop.org/D381
2016-07-29 11:00:48 -04:00
Thibault Saunier
be66877d95 tools: Fix printing commands help 2016-07-28 17:10:10 -04:00
Thibault Saunier
b612d015ca ges:validate: Check that no extra decoding happens 2016-07-26 14:48:33 -04:00
Justin Kim
756bd269e1 ges-launch: unref GApplication properly
Differential Revision: https://phabricator.freedesktop.org/D380
2016-06-29 09:02:10 -04:00
Justin Kim
61c25a312f ges-launcher: don't leak sanitized_timeline string
Summary:
sanitized_timeline is created when parsing command line,
but it isn't free'd.

Reviewers: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D382
2016-03-09 10:42:14 +01:00
Thibault Saunier
0045cce6fa launcher: Make sure to not activate validate twice when simply loading a scenario 2015-11-04 18:37:34 +01:00
Vineeth TM
fd29e28c71 editing-services: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753864
2015-09-30 12:16:15 +02:00
Justin Kim
04bac06fad ges-launcher: don't leak GError
https://bugzilla.gnome.org/show_bug.cgi?id=754858
2015-09-11 11:26:35 +02:00
Justin Kim
32c694cc00 ges-launcher: fix double free when argument is invalid
https://bugzilla.gnome.org/show_bug.cgi?id=754783
2015-09-09 16:42:48 +02:00
Thibault Saunier
321d2c2edd ges: Raise an error when the discoverer returns != RESULT_OK
And do not try to run the pipeline when that happens
2015-06-10 08:35:45 +02:00
Tim-Philipp Müller
967bb50814 ges-launch: don't print random position/duration values at startup 2015-06-09 12:23:59 +01:00
Thibault Saunier
fee018b358 tools: Exit the app as it is a simgle instance app
And force exiting GstValidate when wanted
2015-06-05 22:49:46 +02:00
Tim-Philipp Müller
bb40668ff9 Remove obsolete Android build cruft
This is not needed any longer.
2015-04-26 18:23:14 +01:00
Edward Hervey
e651c43914 tools: Fix string leak
Only allocate the return string when we know we are going to return
it.

Coverity CID #1292292
2015-04-22 15:07:58 +02:00
Thibault Saunier
4aaee7d5f5 tools:launch: Print out the timeline description as an INFO not an ERROR 2015-04-16 10:28:46 +02:00
Thibault Saunier
de256fcf13 tools:launch: clean user facing message on wrong timeline description
Summary:
Before:

  $ ../gst-editing-services/tools/ges-launch-1.0 -p
  0:00:00.028629728  8155      0x17e1b60 ERROR                default ges-launcher.c:214:_create_timeline: serialized timeline is   -p

  ** (lt-ges-launch-1.0:8155): ERROR **: Could not create timeline, error: Could not find a suitable formatter
  [1]    8155 trace trap (core dumped)  ../gst-editing-services/tools/ges-launch-1.0 -p

  $

After:

  $ GST_DEBUG=0 ges-launch-1.0 -p

  ERROR: Could not create timeline, error: Could not find a suitable formatter

  $

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D95
2015-04-15 17:53:01 +02:00
Mathieu Duponchelle
c271f89d4a ges-launch: Add support for +test-clip
Summary: With the pattern as a mandatory argument.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D68
2015-04-07 14:15:36 +02:00
Mathieu Duponchelle
44af36026f ges-launch: Add a save-only option.
Summary: + Allows to serialize the timeline without playing it back.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D66
2015-04-07 14:15:36 +02:00
Mathieu Duponchelle
4a519bcf5c ges-launch: Better document options.
+ Sort them by topic
+ remove --sample-paths and --sample-paths-recurse.

http://phabricator.freedesktop.org/D58
2015-03-25 19:46:59 +01:00
Mathieu Duponchelle
2c4b92fd98 ges-launch: port to GApplication
Summary: + Extract some utility functions.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D55
2015-03-25 12:27:52 +01:00
Mathieu Duponchelle
b55265c70d Revert "ges-launch: no need for a tmp string pointer"
This reverts commit 44a0924c1f.

There indeed is a need for a tmp string pointer.
2015-03-24 13:01:39 +01:00
Luis de Bethencourt
44a0924c1f ges-launch: no need for a tmp string pointer 2015-03-24 11:21:08 +00:00
Luis de Bethencourt
865634d66c ges-launch: free string before going out of scope
CID #1291632
2015-03-24 11:19:50 +00:00
Mathieu Duponchelle
7efa8c86a9 ges-launch: Remove useless options, rename some short options. 2015-03-23 12:41:00 +01:00
Mathieu Duponchelle
8e18fd790c bash-completion: Add support for new ges-launch commands. 2015-03-23 12:41:00 +01:00
Thibault Saunier
e37d8e768f ges: command-line-formatter: Properly error out on invalid arguments 2015-03-20 13:53:42 +01:00
Thibault Saunier
28a1e97aa2 ges: Factor out a GESCommandLineFormatter class
This formatter will allow any user to deserialize a timeline using
the new ges-launch command line interface
2015-03-20 13:53:42 +01:00
Mathieu Duponchelle
761067b685 structure-interface: rename layer-priority to layer.
+ And add a short name for it in ges-launch.
2015-03-20 13:53:41 +01:00
Mathieu Duponchelle
6f1091f84a ges-launch: parse property names longer than 1 char.
+ And finish the previous structure when encountering a setter.
2015-03-20 13:53:41 +01:00
Mathieu Duponchelle
c6dedf2f36 ges-launch: Update lexer / parser to handle set-*
+ cleanup of the lexer
2015-03-20 13:53:40 +01:00
Thibault Saunier
ecf167e95e tools: Implement a new CLI interface for the timeline creation 2015-03-20 13:53:40 +01:00
Thibault Saunier
5d7b37112f launcher: Add support to --set-property in the parser 2015-03-20 13:53:40 +01:00
Mathieu Duponchelle
abb5f2cc2f ges-launch: Implement a new parser for the commandline.
Summary: + flex-based lexing and manual simplistic parsing.

Test Plan: Use that stuff to make awesome things, see if it breaks.
2015-03-20 13:53:40 +01:00
Thibault Saunier
c2583e01b6 tools: Avoid trying to remove a signal handler that has already been removed 2014-12-13 15:14:39 +01:00
Thibault Saunier
ff2ccb71ac validate: Handle long tests in the TestManager
+ Minor bug fixes
2014-12-06 10:34:18 +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
3b353be8ea ges: Keep backward compatibility for relocated assets CLI
Meaning adding an API for user to add relacation URI paths

API:
    ges_add_missing_uri_relocation_uri
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
Thibault Saunier
58d525a4e7 ges: Add an init option to set media paths for moved assets
Allowing user to easily set a set of paths to look for moved
assets instead of needing the to re implement that logic
over and over.

https://bugzilla.gnome.org/show_bug.cgi?id=740714
2014-12-06 10:34:15 +01:00
Thibault Saunier
b14b5d92ca tools: launch: Wait for the project to be loaded to activate gst-validate
Otherwize we could have a race where GstValidate actions are launched
even before the project has been loaded
2014-11-10 16:22:42 +01:00
Thibault Saunier
aac186a742 tools: Never try to propose same URI when we know it is missing URI 2014-11-10 16:22:42 +01:00
Thibault Saunier
903f30cb32 tools:launch: Properly terminate when we get a SIGINT signal 2014-11-10 16:22:41 +01:00
Mathieu Duponchelle
0192c0e237 ges-validate: inform of clip removal. 2014-11-10 16:22:41 +01:00
Thibault Saunier
ca0ce859de validate: Implement validate Action type to handle KeyFrames
New action types:
  * set-control-binding
  * add-keyframe
  * remove-keyframe
2014-11-10 16:22:40 +01:00
Thibault Saunier
6d8f744f7f ges-validate: Add actions to add/remove object from container
+ Add an action to set an asset on a GESTimelineElement
2014-11-10 16:22:39 +01:00
Thibault Saunier
c0a0c1f582 ges-validate: Fix edit_container return code
It used to always return FALSE.

+ Fix minor leaks
+ Do not seek ourself, it is users responsability to seek and
commit these days.
2014-11-10 16:22:39 +01:00
Thibault Saunier
0cdec2c2d0 ges-validate: Add an action type to set restriction caps on track 2014-11-10 16:22:38 +01:00
Thibault Saunier
92cb5811e7 tools: Handle asset relocation for assets from scenario
Allowing us to share scenario and media file!
2014-11-10 16:22:38 +01:00
Thibault Saunier
4691210030 ges-validate: Add support for Layer.auto-transition
+ Fix a bug where the mandatory field name for the name of the clip to
remove in remove-clip did not correspond to what we used in the action
(clip-name vs name).
2014-11-10 16:22:38 +01:00
Thibault Saunier
f362e81a29 ges-validate: Add commit and split-clip action types
And stop commit at the end of other action types, this now
has to be done in the scenario itself.
2014-11-10 16:22:38 +01:00
Thibault Saunier
8a6892ba0a ges-validate: Add start/inpoint/duration params to the add-clip action 2014-11-10 16:22:38 +01:00
Thibault Saunier
f4faa487ba tools:ges-launch: Save the project at the end of execution
So that changes from scenarios are taken into account
2014-11-10 16:22:38 +01:00
Thibault Saunier
2d3769f079 tools:ges-launch: Do not set pipeline state before the timeline is ready
When we are loading a project
2014-11-10 16:22:37 +01:00
Thibault Saunier
cc84b63305 tools:launcher: Avoid commiting when we are not done loading the timeline 2014-10-31 11:58:07 +01:00
Mathieu Duponchelle
5779e68102 ges-validate: issues naming have changed.
Update the override.
2014-10-22 14:15:11 +02:00
Thibault Saunier
7e36a752bc validate: Fix naming of add_action_type to register_action_type
That function was just renamed in Validate
2014-10-16 14:18:16 +02:00
Thibault Saunier
6d06079202 validate: Rename --list-action-types to --inspect-action-type
Making clearer the meaning of the parameter and closer to
the usual naming in the GStreamer land.
2014-10-12 19:46:59 +02:00
Lubosz Sarnecki
79322a452d ges-launch: option to select encoding profile from xml
https://bugzilla.gnome.org/show_bug.cgi?id=735121
2014-09-11 12:28:26 +02:00
Lubosz Sarnecki
b6bc750730 ges-launch: clean up help page
https://bugzilla.gnome.org/show_bug.cgi?id=735121
2014-09-11 12:28:23 +02:00
Thibault Saunier
18e7cb571f validate: gst_validate_print_action_types now takes a const gchar ** 2014-09-05 23:14:10 +02:00
Thibault Saunier
de33101ac0 validate: Add the "ges" as implementer namespace for our action types 2014-09-05 23:09:15 +02:00
Sebastian Dröge
44ef8f200b ges-launch: Fix typo in --help output 2014-09-05 22:09:44 +03:00
Sebastian Dröge
320e2406d1 ges-launch: Fix compiler warnings
ges_validate_print_action_types() takes a const gchar **.
2014-09-05 22:08:49 +03:00
Thibault Saunier
73d9fd70c9 ges-validate: Rename edit-clip to edit-container
So it represent better what the action does at the GES level
2014-09-05 13:54:45 +02:00
Thibault Saunier
9f97c14cea ges-validate: Port to the new GstValidate action registration API 2014-09-05 13:54:40 +02:00
Thibault Saunier
9a07ce7681 tools:validate: Concider seek in PAUSED position being not exact as WARNING
In some corner cases in GNL it is totally correct that a position in a
seek in paused is not perfectly exact
2014-09-05 13:54:34 +02:00
Thibault Saunier
ae60e09a1f ges-validate: Let GstValidate handle assert logs 2014-09-05 13:54:26 +02:00
Thibault Saunier
c7d572aa90 ges:validate: Port to the new handles-states API 2014-09-05 13:54:13 +02:00
Thibault Saunier
a3e87f262b tools: Fix transition handling in ges-launch
https://bugzilla.gnome.org/show_bug.cgi?id=730806
2014-06-09 16:10:41 +02:00
Thibault Saunier
b3a240126d pipeline: Add support to rendering without container
+ Simplify the support in ges-launch as we should not require the
profile desc to start with : in that case

https://bugzilla.gnome.org/show_bug.cgi?id=731245
2014-06-09 16:10:41 +02:00
Thibault Saunier
84f02f288e tools: Handle request state changes from GstValidate 2014-05-18 18:34:26 +02:00
Thibault Saunier
b2c8a9efb3 ges: Do not use freed pointers
COVERTY CID 1212182
COVERTY CID 1212184
COVERTY CID 1212185
2014-05-10 23:00:45 +02:00
Thibault Saunier
9184c7ed7e tool: Add the option to set audiosink
And use gst_parse_bin_from_description to create the sinks letting more
control to users.
2014-05-08 17:28:00 +02:00
Mathieu Duponchelle
6b61c29907 scenarios: update the prototype of ges_validate_activate
if validate is not present.
2014-05-08 17:11:54 +02:00
Mathieu Duponchelle
7138bfb700 ges-launch: add an option to use a custom video sink 2014-05-08 14:28:58 +02:00
Mathieu Duponchelle
324742826b validate: make sure we release our ref when we get_timeline.
Conflicts:
	tools/ges-validate.c
2014-05-08 14:28:45 +02:00
Mathieu Duponchelle
0de6ecebcf scenarios: Check priority before creating a layer. 2014-05-08 14:27:06 +02:00
Mathieu Duponchelle
171710f0c5 ges-launch: Make it so actions are executed directly when needed. 2014-05-08 14:26:49 +02:00
Mathieu Duponchelle
48f3315e9b validate: implement remove / add clip actions
And a helper to get a layer by priority
2014-05-08 14:26:45 +02:00
Mathieu Duponchelle
f16ad15ef3 ges-launch: Only create a layer if needed.
That way scenarios can start with an empty timeline
2014-05-08 14:26:38 +02:00
Mathieu Duponchelle
5d21fb74fe validate: Add add-layer and remove-layer 2014-05-08 14:26:33 +02:00
Mathieu Duponchelle
e8713bbf87 scenarios: add a remove-asset action 2014-05-08 14:26:30 +02:00
Mathieu Duponchelle
3c7b9d0ea4 ges-validate: add an add-asset action
Conflicts:
	tools/ges-validate.c
2014-05-08 14:26:16 +02:00
Mathieu Duponchelle
49a21044ca ges-launch: When a scenario is set, don't request triplets 2014-05-08 14:25:22 +02:00
Tim-Philipp Müller
10820bd41d ges-launch: remove dead code
duration can't be smaller than 0 because it's unsigned,
and it can't be 0 because 0 is transformed to CLOCK_TIME_NONE
earlier.

Coverity CID 1211822.
2014-05-05 11:58:45 +01:00
Thibault Saunier
5785178e52 tools: Add a way to look for moved media sample recursively
In ges-launch let the user set a folder where the media sample that
move can be found recursing into that specified folder.

https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:59:08 +02:00
Thibault Saunier
2dd59ab53a tools: Add an option to disable mixing
+ Add a a GObject property so that the info is seralized

https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:59:08 +02:00
Thibault Saunier
92b115d3e0 tools: Always activate gst-validate to have position printing
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
36cc9f13ec tools: Handle times as doubles + concider duration=0 as TIME_NONE
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
44cbc27cb8 tools: Disable --set-scenario if not compiled against gst-validate
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
8601666a5a ges-validate: Add an action to serialize the project
https://bugzilla.gnome.org/show_bug.cgi?id=729382

Conflicts:
	tools/ges-validate.c
2014-05-02 16:58:42 +02:00
Thibault Saunier
4ce52d8a62 tools:validate: Always seek after editing a clip
Otherwize the displayed frame will not be updated when paused.

+ Add a get_timeline internal helper method in ges-validate.c

https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
9cb7d8e3e7 ges-validate: Add a GstValidate action to set children properties
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:58:42 +02:00
Thibault Saunier
87e10c4478 tools:validate: Add an action to allow editing clips
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 16:30:08 +02:00
Thibault Saunier
3197a02487 tools: Position printing is now done at the gst-validate level
https://bugzilla.gnome.org/show_bug.cgi?id=729382
2014-05-02 14:34:00 +02:00
Thibault Saunier
fe69b92455 ges-launch: Not being able to load an asset is an error 2014-03-26 11:45:07 +01:00
Thibault Saunier
1108a2c6ac ges-launch: Format the position printing as in gst-validate and friends 2014-03-20 17:25:53 +01:00