Commit graph

1708 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
e1fff8f864 asset: Fix various leak 2019-01-18 20:32:02 +00:00
Seungha Yang
eb226bc544 enums: Add missing unref 2019-01-18 20:32:02 +00:00
Seungha Yang
580f45dddb structure-parser: Add missig chain up code 2019-01-18 20:32:02 +00:00
Seungha Yang
e939cfebaf ges: Add missing type unref on deinit 2019-01-18 20:32:02 +00:00
Seungha Yang
ef173bb7c4 ges: Cleanup internal hash table on deinit
System-wide once allocated but it makes tracing leak hard
2019-01-18 20:32:02 +00:00
Seungha Yang
15c891e76a ges: Make init/deinit thread safe
Although it might be uncommon use case, init/deinit could be called
in non-main thread.
2019-01-18 20:32:02 +00:00
Seungha Yang
691b6f6f04 asset: Use static lock
The mutex life cycle follows processs.
2019-01-18 20:32:02 +00:00
Thibault Saunier
463ded894a ges: Register formatters during meta registration
So that formatters implemented outside GES itself are registered
2019-01-14 18:32:38 -03:00
Thibault Saunier
b3332e5ab3 ges: Add a ges_is_initialized function 2019-01-14 18:32:38 -03:00
Thibault Saunier
11334118fa formatter: sink ref of the temporary GESFormatter
To accomodate formatters implemented with bindings/in python
2019-01-14 18:32:38 -03:00
Seungha Yang
3b0da0611c pipeline: Ensure timeline state to be NULL on dispose
The GESTimeline's state might not be synced with parent
2019-01-09 20:25:24 +09:00
Alexandru Băluț
a83d539390 ges-meta-container: Fix warning message 2019-01-05 10:58:57 +00:00
Alexandru Băluț
fd7e6aa204 ges-meta-container: Minor documentation fixes 2019-01-05 10:58:57 +00:00
Thibault Saunier
9a20b4cfe9 track-element: Ignore writability for whitlisted children props
If the property was explicitely whitelisted, we should expose it
in any case.

This was a regression from 835d693749
2019-01-04 12:36:20 +01:00
Tim-Philipp Müller
84651fcac7 ges: avoid use of G_DECLARE_FINAL_TYPE which requires GLib 2.44
Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/48
2018-12-30 19:49:44 +00:00
Seungha Yang
1ba5911890 container: Fix GHashTable leak 2018-12-27 10:57:30 +09:00
Seungha Yang
f77eb964dd container: Fix wrong finalize() usage
finalize must chain up to parent's finalize(), not dispose()
2018-12-27 00:18:04 +09:00
Seungha Yang
acbd7e7bc5 timeline-element: Chain up to parent impl. on dispose()
... as documented in glib
2018-12-27 00:14:03 +09:00
Tim-Philipp Müller
a7347ca8f7 WIP: ges: fix API export/import and 'inconsistent linkage' on MSVC
Export GES library API in headers when we're building the
library itself, otherwise import the API from the headers.

This fixes linker warnings on Windows when building with MSVC.

Fix up some missing config.h includes when building the lib which
is needed to get the export api define from config.h

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/42
2018-12-15 00:14:51 +00:00
Matthew Waters
059af7ba32 build: also allow building static libraries for e.g. Android/iOS 2018-12-10 13:28:16 +11:00