Commit graph

2895 commits

Author SHA1 Message Date
Pat DeSantis ce94db774d Mark ges_timeline_load_from_uri as deprecated 2019-03-12 17:30:02 +00:00
Pat DeSantis 9c14cb33ea Update deprecation warning to match GTK style 2019-03-12 17:30:02 +00:00
Pat DeSantis d352ce911a Mark ges_formatter_save_to_uri as deprecated 2019-03-12 17:30:02 +00:00
Seungha Yang 12d8448cf8 tests: Add inconsistent init/deinit test case 2019-03-12 15:17:18 +00:00
Seungha Yang 41597dfdfd ges: Enhance ges_{init/deinit} documentation
Add some init/deinit related comment and make assertion when
ges_deinit() is called from unexpected thread.
2019-03-12 15:17:18 +00:00
Thibault Saunier facea28b28 tests:python: Use proper GES.Project constructor
Avoiding a g_critical
2019-03-07 12:38:23 +00:00
Seungha Yang 50e40ba621 nlecomposition: Suppress error from child during sync state with parent
This commit is to ensure cleanup internal elements on state change failure.

nlecomposition posts its own error message after cleanup child.
If we don't suppress child error, meanwhile, an application
triggered downward state change (resulting from child error message)
might be able to reach nlecomposition before internal cleaning child up.
That eventually results to downward state change failure.
2019-03-06 13:31:01 +00:00
Seungha Yang 4c94de3c38 nlesource: Don't leak pending seek event on dispose 2019-03-06 13:31:01 +00:00
Seungha Yang 08c70424c2 nlecomposition: Don't keep sync state of child on activation failure
This will result in downward state change failure eventually
when user is finalizing top level (i.g., gespipeline) bin.
2019-03-06 13:31:01 +00:00
Tim-Philipp Müller 78f411d1de examples: add gessrc example binary to .gitignore 2019-03-04 11:09:33 +00:00
Tim-Philipp Müller 9c8357b0f8 gesdemux: don't use deprecated gst_uri_construct()
Fixes #64
2019-03-04 11:07:51 +00:00
Tim-Philipp Müller 673a0e15b3 Back to development 2019-03-04 09:14:25 +00:00
Sebastian Dröge f6efb87a78 ges: Link ges plugin to libgstpbutils
/usr/bin/ld: .libs/libgstges_la-gesdemux.o: in function `ges_timeline_new_from_uri_from_main_thread':
./plugins/ges/gesdemux.c:279: undefined reference to `gst_discoverer_new'
/usr/bin/ld: ./plugins/ges/gesdemux.c:288: undefined reference to `gst_discoverer_start'
2019-02-28 13:09:38 +02:00
Tim-Philipp Müller 7515eebb1a Release 1.15.2 2019-02-26 14:12:40 +00:00
Tim-Philipp Müller 6205da4629 examples: add new gessrc example, so sourcefile gets disted 2019-02-26 14:12:40 +00:00
Tim-Philipp Müller 87f99d34bc plugins: add autotools build for new ges plugin 2019-02-26 14:00:33 +00:00
Thibault Saunier 3ee0e477a2 examples: Add an example about using keyframes in python 2019-02-21 14:13:45 -03:00
Seungha Yang bdbd485ad0 ges-meta-container: Fix g-i annotation
ges-meta-container.c:516: Warning: GES: invalid "allow-none" annotation:
only valid for pointer types and out parameters
2019-02-11 18:27:53 +09:00
Nirbheek Chauhan 50d58678e0 misc: Fix warnings on Cerbero's ancient MinGW
gesdemux.c:297:3: error: value computed is not used [-Werror=unused-value]
2019-02-06 00:31:44 +05:30
Thibault Saunier 9748b963b6 Fix segfault when adding clips to group outside a timeline
Making sure that objects are inside a timeline before adding/removing them from it

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/35
2019-01-30 20:04:04 +00:00
Thibault Saunier 35e39083a2 tests: Fix usage of undefined class 2019-01-30 19:00:10 +00:00
Thibault Saunier f2c00f6d29 launcher: Add options to set tracks restriction caps 2019-01-29 20:00:41 +00:00
Yeongjin Jeong 4bf91bda31 tests: ges: Fix various leak 2019-01-29 16:17:22 +09:00
Yeongjin Jeong 099934c35f layer: Fix asset leak 2019-01-29 16:17:00 +09:00
Yeongjin Jeong 5a4cf445cd effect: Fix string leak 2019-01-29 16:16:55 +09:00
Yeongjin Jeong 70deab616a uri-asset: Implement dispose vmethod for GESUriSourceAsset
... and fix DiscovererStreamInfo leak
2019-01-29 16:16:49 +09:00
Yeongjin Jeong f5f63ecdf3 uri-asset: Don't forget to unref DiscovererInfo on dispose
Dispose() must unref DiscovererInfo ownership
taken by ges_uri_clip_asset_set_info().
2019-01-29 16:16:13 +09:00
Yeongjin Jeong e36ae315dc video-transition: Fix GstPad leak
Returned Gstpad by link_element_to_mixer_with_smpte()
has increased refcount in ges_smart_mixer_get_mixer_pad().
2019-01-29 16:15:03 +09:00
Alexandru Băluț c750345c75 timeline: Better handle loading inconsistent timelines
Auto transition when having 3 overlapping clips in a same point in the
timeline is not supported as we can't handle it in a nice way. Before we
to avoid creating 2 overlapping transitions (which is plain broken in
NLE) were completely disabling `auto-transition` and removing all
auto-transitions in the timeline but this is pretty weird for the end
user. This commit changes and now makes sure 2 transitions are not
created in the same place.

Also cleanup previous test case.
2019-01-28 21:32:58 -03:00
Thibault Saunier aa2f29bad3 s/accured/occurred/g 2019-01-29 00:06:32 +00:00
Thibault Saunier d9f457c578 xml-formatter: Minor debug enhancement 2019-01-29 00:06:32 +00:00
Thibault Saunier 62dba13ccf plugins: Add an a gesdemux element to 'demux' serialized timelines 2019-01-29 00:06:32 +00:00
Thibault Saunier 4b324da3f4 plugins: implement a gessrc element useable from playbin
This is a new simple GstBin that can handle the ges:// uris
and will directly expose the srcppads of the tracks present in the
timeline.
2019-01-29 00:06:32 +00:00
Thibault Saunier bad64296d9 uri-asset: Use the same code path for sync discovery as the async one
And start handling relocated assets.

Also expose the discoverer callback as a vmethod so that we can
overridde the discoverer when necessary (to handle discovering of
timeline through gesdemux for example)
2019-01-29 00:06:32 +00:00
Thibault Saunier c596f80c63 nlecomposition: Get overall pipeline position by recursing up
And handle NLEComposition inside NLEComposition

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/39
2019-01-29 00:06:32 +00:00
Thibault Saunier d8f2a406a7 videomixer: Drop allocation query after the compositor
Working around https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/310
2019-01-29 00:06:31 +00:00
Thibault Saunier dea6f0df98 layer: Resort clips before syncing priorities
We set the priorities making the assumption that `start_clips` is properly
ordered by start!

Fixes https://gitlab.gnome.org/GNOME/pitivi/issues/2254
2019-01-28 19:19:46 -03:00
Seungha Yang 044c2a2d75 tests: asset: Add test async asset request with custom GMainContext
... and test call ges_{init/deinit} multiple times in a unit test.
2019-01-28 19:31:52 +09:00
Seungha Yang fa2d6f360a Revert "ges: Add missing type unref on deinit"
This reverts commit e939cfebaf.

Class might not be initialized if they were already registered
when ges_init() was called, but were not created until ges_deinit() called.
2019-01-28 17:39:31 +09:00
Seungha Yang 702c298122 ges: Add check sync/async discoverer
To support ges_{init/deinit} multiple times in a process,
there should be a method for setting up internal object/table of
GESUriClipAssetClass. because *_class_init() will be called
only once in process lifecycle.
2019-01-28 17:37:10 +09:00
Seungha Yang 173badbccf uri-asset: Add missing GHashTable cleanup
... and use g_object_unref() for GFile object, it's not a GstObject.
2019-01-28 17:35:04 +09:00
Seungha Yang d623411a26 ges: Print initialize error reasons 2019-01-28 17:35:04 +09:00
Seungha Yang 23845faa90 tests: asset: Remove out-of-date comment 2019-01-28 17:35:04 +09:00
Seungha Yang 27212f2d10 tests: asset: Remove pointless gst_init()
It's done by GST_CHECK_MAIN() already
2019-01-28 17:35:04 +09:00
Seungha Yang 78b38f26a7 tests: init/deinit per test case
... in order to verify init/deinit pair.
2019-01-28 17:35:04 +09:00
Seungha Yang 2f491b60c8 ges: Simplify init/deinit flag
In theory, GES can be init/deinit multiple times in a process.
To simplify that use-case, let's trace only "ges_initialized" flag.
2019-01-28 17:35:04 +09:00
Corentin Noël 87925a72da uri-asset: Add ges_uri_clip_asset_finish to get better introspection
Vala requires a matching _finish function to correctly bind the method with the right finish method.
2019-01-23 11:51:08 +00:00
Corentin Noël e7f63b03f8 timeline: fix two issues in the documentation 2019-01-21 14:15:14 +01:00
Thibault Saunier 031803e947 xml-formatter: Do not forget to serialize clips metadata 2019-01-20 14:06:28 +00:00
Thibault Saunier 1f1b1c8cba xml-formatter: Serialize groups metadatas 2019-01-20 14:06:28 +00:00