Commit graph

230 commits

Author SHA1 Message Date
Tim-Philipp Müller
95eca6d919 meson: bail out earlier in docs subdir if docs are disabled
The gst_dep.get_variable('libexecdir') may fail in some scenarios
(e.g. building a module alone inside an uninstalled devenv) and
it shouldn't really be reached in the first place if docs are
disabled via options.

Also to avoid confusing meson messages when cross-compiling or
doing a static build.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818>
2024-11-04 19:14:10 +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
Thibault Saunier
63ce3c8da6 nlecomposition: Let parent compositions tell if they will send initialization seeks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035>
2024-10-19 10:30:05 +00:00
Thibault Saunier
daa1519e3d nle: Add validate tests support
This allows us to start testing internal of the elements by linking
the nle pluging directly with validate and implement validate
tests with specific action types.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035>
2024-10-19 10:30:05 +00:00
Thibault Saunier
a39ac67d70 nlecomposition: Fix extra bus message unref
We were dropping a message for which we already passed our reference
while linking up the method.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5035>
2024-10-19 10:30:05 +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
Ruben Gonzalez
5d25ab1306 misc: fix grammar mistake
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7339>
2024-10-14 16:36:25 +02: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
Edward Hervey
b7828d237b nlecomposition: Don't leak QoS events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7276>
2024-07-30 14:22:54 +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
43bf898f2d nlecomposition: Don't leak atomic rc box
* gst_structure_get => increases ref
* query_ancestors_position: There are two refs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116>
2024-07-01 12:25:41 +00:00
Edward Hervey
8addeae87b nlecomposition: Don't leak message
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116>
2024-07-01 12:25:41 +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
Francisco Javier Velázquez-García
b792b558ce meson: Correct typo in 'xptv formatter' description
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6931>
2024-05-27 19:28:20 +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
Edward Hervey
5d705ed923 ges/tools: Use new GstEncodingProfile function from pbutils
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6712>
2024-04-23 14:27:00 +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
47029ca9de ges: tools: Fix printing validate action types
We were not taking into account some arguments could have been eaten

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918>
2024-04-18 00:19:31 +00:00
Edward Hervey
a2254a4968 ges-launcher: Fix for forcing container profiles
If the input profile doesn't have a container, it's fine since we are overriding
it. Just add the elementary stream to the target container profile

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6674>
2024-04-17 16:07:47 +02:00
Tim-Philipp Müller
9e2cc83f23 ges: add check to make sure headers are C++ compiler clean
See 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
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
Tim-Philipp Müller
756064b9c3 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6261>
2024-03-05 12:58:57 +00:00
Tim-Philipp Müller
b125253cad Release 1.24.0 2024-03-04 23:59:25 +00: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
Edward Hervey
a3980f4838 docs: Use Discourse and Matrix as prefered communication channels
Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
2024-02-27 09:35:47 +01:00
Tim-Philipp Müller
d474de8ff0 Release 1.23.90 2024-02-23 18:20:11 +00:00
Nirbheek Chauhan
768aeb739a meson: Use cdata.set_quoted() for configuration data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159>
2024-02-21 21:47:12 +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
Nirbheek Chauhan
ad8ea38e0a meson: Use host_system for the host_machine system
This is a convention everywhere else in gstreamer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159>
2024-02-21 21:47:12 +00:00
Tim-Philipp Müller
88412ef100 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126>
2024-02-15 16:38:53 +00:00
Tim-Philipp Müller
88751d4110 Release 1.23.2 2024-02-15 15:37:17 +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
Tim-Philipp Müller
2111d6f015 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066>
2024-02-06 18:29:31 +00:00
Tim-Philipp Müller
9255e397f0 Release 1.23.1 2024-02-06 16:43:27 +00:00
Thibault Saunier
5051a34318 nlecomposition: Do not forward QoS event while setting up the new stack
Otherwise we might end up dropping buffers even before prerolling the sources

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6032>
2024-01-31 19:43:06 +00:00