Matthew Waters
c0f4a855cc
ges/clip: silence some maybe-unitiailized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Thibault Saunier
f4f473650f
ges: pipeline: Add missing API guard
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7882 >
2024-11-13 21:23:43 +00:00
Víctor Manuel Jáquez Leal
ff16221df5
ges-structured-interface: fix double free
...
This was introduced in commit 6233eb0f
2024-10-29 05:22:25 +00:00
Edward Hervey
38c07a2d01
all: Fix closure annotations
...
This was misused almost everywhere.
See
https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725 >
2024-10-25 08:58:29 +00:00
tomaszmi
f77628a598
ges: Fixed typos found in the ges-launch-1.0 --help-GES section
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7643 >
2024-10-16 17:56:32 +00:00
Thibault Saunier
2dbe077619
ges: Fix reloading timeline from project
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7629 >
2024-10-14 23:19:01 +00:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Jan Alexander Steffens (heftig)
f1aedd65f4
ges: Fix name of GESFrameCompositionMeta API type
...
g-ir-scanner 1.82.0 failed with a fatal error due to the wrong
namespace.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3800
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7554 >
2024-09-21 00:42:36 +02:00
Thibault Saunier
97e5749bfc
ges: discoverer-manager: Fix race leading to assertion when stopping
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7421 >
2024-09-07 16:55:56 +00:00
Tim-Philipp Müller
5e90f3eff7
gst-editing-services: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +00:00
Sebastian Dröge
9638692761
ges-structured-interface: Fix memory leak of invalid fields GList
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7437 >
2024-09-02 16:42:55 +00:00
Sebastian Dröge
1159d7144a
ges-uri-asset: Annotate async/sync/finish functions correctly
...
Due to bad naming, gobject-introspection can't figure these out itself and
prints a warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7118 >
2024-07-01 13:10:27 +00:00
Edward Hervey
734ca44805
ges-layer: Don't use invalid layers
...
There's a possibility that there are no layers at that priority
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
5d7a35ca59
ges-discoverer-manager: Properly initialize/free GRecMutex
...
Fixes small leak of mutex internals
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
dd3344fd2e
ges-pipeline: Configure encodebin before linking
...
Modifying the `avoid-reencoding` property of `encodebin` could potentially cause
it to reconfigure itself, in which case the source pad will be removed and then
re-added.
Therefore set that property *before* attempting to link to that pad.
Fixes smart-render
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6757 >
2024-04-30 15:47:41 +00:00
Loïc Le Page
9fd0f44492
gst-editing-services: add input channels reorder
...
- whitelist corresponding properties from audioconvert
- add input channels reorder validation test in gst-integration-testsuites/ges/scenarios
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5923 >
2024-04-22 12:06:11 +02:00
Edward Hervey
a032c1e1bd
ges-command-line-formatter: Handle transitions
...
Avoids getting a noisy g_warning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6683 >
2024-04-19 08:03:48 +00:00
Edward Hervey
37b60e5354
ges-timeline-tree: Fix debug statement
...
Was printing out garbage in the logs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6683 >
2024-04-19 08:03:48 +00:00
Thibault Saunier
a342d14ba9
ges: Add support for sources reverse playback
...
It introduces a `reverse` property at the `nlesource` level which will
basically reverse playback of the clip.
We guarantee that outside that clip, the data flow looks like it was
playing forward as we add an 'identity' element with `single-segment=true`.
This start making use of the newly introduced concept of
`CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES` as it is natural that
doing `source_clip.set_child_property("reverse", True)` will make
the whole clip go reverse, meaning that all the GESSource children
properties will be set. To set an individual source "reverse" child
property as the desired effect.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/24
Depends on: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/451
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918 >
2024-04-18 00:19:31 +00:00
Thibault Saunier
526f00b07f
ges: test-clip: Fix setting children asset ids
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918 >
2024-04-18 00:19:31 +00:00
Thibault Saunier
388ad9e574
validate: Add an action to group containers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918 >
2024-04-18 00:19:31 +00:00
Thibault Saunier
38d60c9f43
ges: Also track children props 'duplicates' in TimelineElement
...
We used to only track the first one but this was wrong, so we start
tracking all the children properties here, adapting the test which
was already thought for this to be implemented.
At the same time add some flags to determine how children properties
need to be handled adding a mode that means that all duplicated
children props will be set together when the user sets that particular
child property. This is going to be tested in a following commit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918 >
2024-04-18 00:19:31 +00:00
Thibault Saunier
324c211283
ges: frame-composition-meta: Stop using keyword 'operator' for field in C++
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3421
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6440 >
2024-03-26 14:21:34 +00:00
Seungha Yang
2e1eaaec5e
ges: Fix critical warning
...
GStreamer-CRITICAL **: 20:44:38.256: gst_debug_log_full_valist:
assertion 'category != NULL' failed
Make sure debug category initialized.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6304 >
2024-03-08 21:00:51 +09:00
Thibault Saunier
14d6773aba
ges: framepositioner: Expose positioning properties as doubles
...
Making it possible to properly handle compositors that have those
properties as doubles and handle antialiasing.
Internally we were handling those values as doubles in framepositioner,
so expose new properties so user can set values as doubles also.
This changes the GESFramePositionMeta API but we are still on time for 1.24
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6241 >
2024-02-29 00:56:30 +00:00
Nirbheek Chauhan
64fdded13a
ges, gst-python: Fix libpython dlopen on macOS
...
First encountered at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171#note_2290789
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
2cc9a181f9
ges, gst-python: Rework libpython loading to be relocatable
...
If we don't specify a path for loading, the runtime linker will search
for the library instead, which will use the usual mechanisms: RPATHs,
LD_LIBRARY_PATH, PATH (on Windows), etc.
Also try harder to load a non-devel libpython using INSTSONAME, if
available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Xavier Claessens
561f8b71ee
structure: Allow STRICT flag only in _serialize_full()
...
The STRICT flag makes _serialize() nullable which is an API break for
bindings. Forbid it and add _serialize_full() that accepts it and is
properly annotated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829 >
2024-02-09 15:45:33 +00:00
Thibault Saunier
b684ce33b7
timeline: forward element messages we do not know
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
37602d1d02
ges: Keep internal stream selection messages internally
...
Timeline StreamCollection are very specific to inner working of nested
timelines and should not interfere with the usual stream selection
process and are now handled as element messages.
Stream selection inside `nleobject` need to be handled internally by the
application or GES itself so we should just drop all those as they would
interfere and fail if they are exposed to other elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
e7803d1582
ges: clip: doc: Add a reference for more information about effect index
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6009 >
2024-01-30 11:09:00 +00:00
Thibault Saunier
ff9fec521b
ges: track-element: Fix FIXME about handling NULL factories to add properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
8d58d2b43b
ges: Minor debug enhancements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
f205b357bd
ges: Minor typo fix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Philippe Normand
2de5984300
ges: effect: Report asset request errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Philippe Normand
49fec0726f
ges-asset: Fix typo in warning message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
b2c790783d
ges-asset: Log asset ids in ges_asset_request
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
a5e8dedff0
ges-asset: Propagate errors from GInitable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
86ab695e8d
ges-effect: Chain-up to parent constructed vfunc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
fa8a2ec55e
ges: uri-clip: Set error on invalid URI's in check_id
...
The _check_id function signature was incomplete and the last GError
argument was ignored instead of being properly used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Thibault Saunier
0a292b8246
ges: discoverer-manager: Use a recursive mutex to protect the discoverers
...
So we can have subtimelines specified in `ges-launch` without
deadlocking
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5973 >
2024-01-24 18:48:22 +00:00
Thibault Saunier
5575d9cb02
ges: launcher: Make +effect stack effects from source to last effect added
...
Until now when doing `+test-clip blue +effect effect1 + effect effect2`
leaded to the following pseudo pipeline
videotestsrc ! effect2 ! effect1
given the `ges-launch` syntax this is quite unexpected and this needed
fixing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
90218243d2
ges: track-element: Set the nleobject as soon as possible
...
Some subclasses might need to have access to it when configuring their
element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
30cc16d670
ges: composition-meta: Enhance documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
bad6b7e60a
ges: Implement a gesvideoscale
bin
...
This allows user to be in control of when scaling happens in the pipeline.
It can be plugged as an effect and scaling will be forced to happen in
the effect instead of in the compositor.
Without this, it would not be possible for users to, for example,
crop a video source before scaling to the target source size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
b75b17cf73
ges: pipeline: Port to encodebin2
...
This way we can use muxing sinks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5915 >
2024-01-12 12:02:00 +00:00
Thibault Saunier
b85a9454e5
ges: Expose audioconvert mix-matrix property in audio sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5853 >
2024-01-04 12:02:41 +00:00
Thibault Saunier
96cf1f8c8e
ges: asset: Avoid trying to load twice the same asset
...
When requesting an asset from different threads we had no
guarantee that during the time we lookup an asset (which didn't exist)
and the time we create the asset with the same type/ID another thread
could not end up doing the same thing. In turns we could end up with
2 different threads loading the exact same asset and the cache
basically forgetting about one of the entries meaning that the user
would never get notified about one of those being ready to be used.
There was also the case when requesting "sync" where the user was
requesting an asset while another thread is creating it so it was
still in "ASSET_INITIALIZING" state, meaning that the returned asset
would be NULL which would be considered as an error in apps.
Since the cache lock is recursive we can just take it during the whole
ges_asset_request_async call and have other method still hold it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5732 >
2023-12-01 21:51:57 +00:00
Philippe Normand
d6c425fc58
ges: Expose FrameCompositionMeta in public API
...
Knowing the positioning and size of each frame in the composition can help
applications optimize their rendering pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5652 >
2023-11-16 11:45:40 +00:00
Thibault Saunier
23c5025619
ges: Include ges-discoverer-manager.h in ges.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5665 >
2023-11-14 22:01:04 +00:00