Commit graph

3376 commits

Author SHA1 Message Date
Thibault Saunier
ac49f22530 pipeline: Handle rendering with disabled tracks
Summary:
The user might want to render only some media type of the timeline,
for example he wants to only render the audio part of the timeline.

It was failing as we were not connecting the track but were still trying
to 'render' it.

Depends on D153

Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D154
2015-06-10 18:00:58 +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
Thibault Saunier
4f83cde172 uri-asset: Add a way to control discoverer timeout through envvar
Making it possible to run ges-launch test under valgrind for example
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
Edward Hervey
639725c6ea Automatic update of common submodule
From d9a3353 to 6015d26
2015-06-09 11:30:59 +02:00
Stefan Sauer
a0f3290b70 Automatic update of common submodule
From d37af32 to d9a3353
2015-06-08 23:08:40 +02:00
Stefan Sauer
86fe256ab8 Automatic update of common submodule
From 21ba2e5 to d37af32
2015-06-07 23:07:40 +02:00
Stefan Sauer
bd839e2793 Automatic update of common submodule
From c408583 to 21ba2e5
2015-06-07 17:32:34 +02:00
Stefan Sauer
fd4b449eb5 Automatic update of common submodule
From d676993 to c408583
2015-06-07 17:16:53 +02:00
Thibault Saunier
0a6105ee3b timeline: Never snap end when rippling
http://phabricator.freedesktop.org/T74
2015-06-05 22:53:04 +02:00
Thibault Saunier
9d30b0014d timeline: Never create transition between elements inside the moving context
http://phabricator.freedesktop.org/T74
2015-06-05 22:52:57 +02:00
Thibault Saunier
73e4e3bb0a group: Disconnect from old layer notify::priority when a clip is moved to a NULL layer
This means we need to properly track the layer a clip was in. We now
keep track of the various signal IDs in a dedicated structure and
keep a ref on the layer an object is in.

http://phabricator.freedesktop.org/T88
2015-06-05 22:52:43 +02: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
Luis de Bethencourt
b86cca00f1 ges: remove dead code
Summary:
No need to recheck if error exists since it has already been checked by the
conditional above.

Coverity CID #1302832

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D200
2015-06-01 13:32:47 +01:00
Thibault Saunier
c70a654dd6 ges: Handle trimming auto transitions
Meaning trimming neighbors.

+ And add a test
2015-06-01 10:24:11 +02:00
Thibault Saunier
d7dfcff745 timeline: Use a simple GList to track auto transitions 2015-05-29 15:27:03 +02:00
Thibault Saunier
4f70e5eb88 nlecomposition: Do not fail when removing/adding child without commiting
Summary:
We use to end up removing the nleobject when the following case happened:

 * add an object
 * remove that object
 * re add the object
 * commit the composition

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D193
2015-05-20 09:53:19 +02:00
Thibault Saunier
3ba6dec976 timeline: Minor documentation addition 2015-05-19 18:19:10 +02:00
Thibault Saunier
241e809a81 ges: Enhance xges format versioning
Summary:
Handle the fact that some new features can be added and that means
generated files will not be fully understandable by older versions of
the formatter.

Make sure that we set the format version to 0.2 when we serialize the
GstEncodingProfile.enabled property.

Add some tests around that.

+ Fix a minor bug in the test-utils
+ Add a meta on the projects to tell in what format version a project
  has been serialized/parsed back

API:
  GES_META_FORMAT_VERSION

Depends on D178

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D184
2015-05-18 21:27:48 +02:00
Thibault Saunier
ff274dee2e ges: If last added clip is not in a layer, get the first layer
Summary:
In case we just removed it from its layer, make sure to
just use the first layer when none specified.

Depends on D177

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D178
2015-05-14 15:31:52 +02: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
2ddab4db57 ges:structured-interface: Use GET_AND_CHECK in more places
Summary:
Giving more details about the issue to the user

Depends on D151

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D176
2015-05-14 15:31:51 +02:00
Thibault Saunier
8558a03272 xml-formatter: De/serialize whether encoding profiles are enabled or not
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D151
2015-05-14 11:15:00 +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
Tim-Philipp Müller
0c8c2c4bd7 Update .gitignore 2015-04-23 20:20:29 +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
Sebastian Dröge
1aeb6e691e Remove INSTALL file
autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.
2015-04-22 10:39:38 +02:00
Thibault Saunier
27c016a300 ges:xml-formatter: Call g_markup_parse_context_end_parse
Summary:
Otherwise the parser context will never know that is all the XML it
will receive and fail out if the XML document is not valid (in that
case if it does not end)

https://bugzilla.gnome.org/show_bug.cgi?id=746354

Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D38
2015-04-21 11:25:21 +02:00
Thibault Saunier
8dfac3c94f ges: Add debug output when get_element returns NULL 2015-04-20 17:42:44 +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
506662e2dc nleobject: It is wrong to update object->stop in set_property.
Summary: It must only be done when the object is commited.
We can do that in constructed though, as the changes will
anyway be commited when the object is added to a composition.

Also update the tests, as we set properties spearately then
check the stop, we can commit the source at its creation without
removing meaning from the tests.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D84
2015-04-09 15:40:32 +02:00
Mathieu Duponchelle
2e26a9e926 timeline, track: Emit commited at the correct moment.
Summary:
+ [API] GESTrack::commited signal.
+ [API] ges_track_commit_sync

We were emitting commited when timeline_commit was called, which
wasn't very helpful. This commit makes it so we emit commited once
all the compositions have actually been commited.

We also add a synchronous commit method to spare the user
the need to connect to the signal and wait, and update the
documentation.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D83
2015-04-09 14:44:11 +02:00
Mathieu Duponchelle
54190d9dd8 layer: call timeline_element_set_timeline in layer_set_timeline.
Summary:
Otherwise if there was still a reference to the layer when it
is removed from the timeline, it fails when the last reference
is released, because timeline_element_set_timeline calls
timeline_remove_element, which tries to remove the element from
an already disposed hashtable.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D82
2015-04-08 23:35:01 +02:00
Edward Hervey
6753ad5bd1 tests: Use AM_TESTS_ENVIRONMENT
Needed by the new automake test runner
2015-04-08 17:05:19 +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
47f1713f1e ges-project: Surface a meaningful error when no suitable formatter.
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D67
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
Tim-Philipp Müller
ea348dccc5 Automatic update of common submodule
From bc76a8b to c8fb372
2015-04-03 18:58:32 +01:00
Mathieu Duponchelle
e89dccc9aa timeline-element: Disconnect child properties handlers.
Summary:
+ And freeze notifies while doing so.

We had a race with GstController which isn't MT safe, we can
fix it by propertly disconnecting signals, and making sure
no notifies are emitted while doing so.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D64
2015-03-31 15:32:08 +02:00
Mathieu Duponchelle
1ea442a021 track: Set any caps features on tmpcaps.
Summary: Before checking if we have a specific constructor for a track type.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D63
2015-03-31 15:32:08 +02:00
Mathieu Duponchelle
0d3a3eb9d2 pipeline: no reason to disconnect a pad that is NULL anyway.
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D62
2015-03-31 15:31:49 +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
d4deeae5c1 build: no reason to introspect nodist sources.
Summary: g-ir-scanner was erroring like crazy on the generated sources.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D57
2015-03-25 12:27:02 +01:00
Mathieu Duponchelle
54c5723b75 ges-pitivi-formatter: Don't flood stdout with alarming conclusions.
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D56
2015-03-25 12:23:24 +01:00
Mathieu Duponchelle
4f3b223f98 completions: port to new base gst script 2015-03-24 19:02:58 +01:00
Mathieu Duponchelle
c70f005970 completions: Fix completions after the first command. 2015-03-24 17:13:20 +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