Commit graph

2989 commits

Author SHA1 Message Date
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
Seungha Yang
c883f98961 uri-asset: Don't leak GstDiscovererInfo 2019-01-18 20:32:02 +00:00
Seungha Yang
5a46f2eae9 uri-asset: Impl. dispose vfunc
... and fix GList/GESAsset leak
2019-01-18 20:32:02 +00:00
Seungha Yang
075a5df24f transition-clip: Don't leak GESAsset
Returned GESAsset from ges_asset_request should be freed since
ges_extractable_set_asset doesn't take ownership
2019-01-18 20:32:02 +00:00
Seungha Yang
f850da7e4b framepositioner: Fix invalid memory access
The GstFramePositioner might be finalized before the notify callback

Without this commit,
gst-editing-services / ges_basic / test_ges_timeline_remove_track
can reproduce the case.
2019-01-18 20:32:02 +00:00
Seungha Yang
b2c8b23c51 nleoperation: Fix GstPad leak
Returned GstPad by nle_object_remove_ghost_pad() has increased
refcount.
2019-01-18 20:32:02 +00:00
Seungha Yang
98b2d7754f nleghostpad: Fix GstEvent leak 2019-01-18 20:32:02 +00:00