=== release 1.26.3 === 2025-06-26 21:25:24 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.26.3 2025-05-30 00:03:12 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.26.2 === release 1.26.2 === 2025-05-29 23:56:43 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.26.2 2025-05-14 14:30:09 -0400 Doug Nazar * ges/ges-audio-track.c: ges-audio-track: Switch to GST_AUDIO_NE() Part-of: 2025-05-21 09:50:29 -0400 Doug Nazar * plugins/ges/gessrc.c: ges: Free path and uri Part-of: 2025-05-21 09:48:32 -0400 Doug Nazar * plugins/ges/gesbasebin.c: ges: Ensure we free the pad and the pad template Part-of: 2025-05-21 09:46:12 -0400 Doug Nazar * tests/check/python/test_assets.py: ges: Silence warning about invalid escape sequence Part-of: 2025-05-02 08:56:19 +0200 Alexander Slobodeniuk * ges/ges-asset.c: * ges/ges-audio-uri-source.c: * ges/ges-clip-asset.c: * ges/ges-clip.c: * ges/ges-container.c: * ges/ges-effect-clip.c: * ges/ges-group.c: * ges/ges-image-source.c: * ges/ges-layer.c: * ges/ges-marker-list.c: * ges/ges-multi-file-source.c: * ges/ges-project.c: * ges/ges-test-clip.c: * ges/ges-text-overlay-clip.c: * ges/ges-timeline-element.c: * ges/ges-timeline.c: * ges/ges-title-clip.c: * ges/ges-track-element-asset.c: * ges/ges-track-element.c: * ges/ges-track.c: * ges/ges-transition-clip.c: * ges/ges-uri-asset.c: * ges/ges-uri-clip.c: * ges/ges-video-transition.c: * ges/ges-video-uri-source.c: * ges/gstframepositioner.c: * plugins/nle/nleobject.c: * plugins/nle/nleoperation.c: * plugins/nle/nlesource.c: * plugins/nle/nleurisource.c: properties: add G_PARAM_STATIC_STRINGS where missing "Hold on, I know you need to generate the registry, but let me just create copies of all those strings first", Framework whispered Part-of: 2025-04-08 15:24:42 +0200 Andoni Morales Alastruey * ges/ges-video-uri-source.c: ges: fix frame position for sources with par < 1 In #8693 the issue was fixed for par > 1 without noticing that it was also broken for par > 1. Given that the natural width and height only changes when par != 1, the logic is simplified to do: * par_n < par_d -> the height is corrected * par_n > par_d -> the width is corrected Part-of: 2025-03-26 11:38:56 +0100 Andoni Morales Alastruey * ges/ges-video-uri-source.c: ges: fix frame position for sources with par > 1 A source with 1920x1080 and par 16:15 has a natural size of 2048x1080. The current code is incorrectly setting the natural width as height resulting in 1920x2048. Part-of: 2025-04-24 20:26:57 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.26.1 Part-of: === release 1.26.1 === 2025-04-24 20:20:14 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.26.1 2025-03-14 19:14:43 -0400 Doug Nazar * ges/ges-asset.c: * ges/ges-effect-clip.c: * ges/ges-effect.c: * ges/ges-image-source.c: * ges/ges-multi-file-source.c: * ges/ges-project.c: * ges/ges-uri-clip.c: all: Annotate *_set_property() contructor only props without free Properties that are marked constructor only aren't required to be freed before g_value_dup_string() as they can only be called once during construction. Part-of: 2025-03-11 20:23:16 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.26.0 Part-of: === release 1.26.0 === 2025-03-11 20:14:44 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.26.0 2025-02-23 23:52:57 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.25.90 === release 1.25.90 === 2025-02-23 23:44:10 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.25.90 2025-02-13 08:55:36 -0300 Thibault Saunier * ges/ges-timeline-element.c: ges: Annotate TimelineElement in-point getter and setter So they are not duplicated in (rust) bindings. Part-of: 2025-02-10 23:59:40 +0100 Alexander Slobodeniuk * plugins/ges/gesbasebin.c: gesbasebin: fix missing GObject vtable chainups Part-of: 2025-02-06 11:27:17 +0100 Alexander Slobodeniuk * ges/ges-smart-video-mixer.c: * ges/ges-track.c: * plugins/nle/nleobject.c: ges: fix chaining up GObject's constructed virtual method Part-of: 2025-02-09 17:47:32 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.25.50 === release 1.25.50 === 2025-02-09 17:35:17 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.25.50 2025-01-22 10:44:33 -0300 L. E. Segovia * meson.build: * meson_options.txt: meson: Add python-exe option to override target Python installation Fixes #4185 Part-of: 2025-01-20 13:23:50 +0100 Mathieu Duponchelle * docs/meson.build: docs: explicitly list gir files as depends for generating configs Part-of: 2025-01-15 17:36:00 +0100 Mathieu Duponchelle * docs/meson.build: docs: generate hotdoc configs for libraries with our helper script With this patch, configure time is identical no matter whether doc is enabled or not. The configuration files also now contain explicitly-listed sources with no wildcards. For the four libraries where hotdoc needs to use clang to generate the documentation (as opposed to the rest of the libraries where hotdoc uses the gir), the script will call pkg-config to determine the appropriate C flags. This means a side effect of this patch is that pkg-config files are now generated for the gstadaptivedemux and gstopencv libraries. Part-of: 2025-01-17 16:51:22 +0100 Mathieu Duponchelle * meson.build: meson: bump minimum version to 1.4 in every subprojects 36c01d05797ad9c7778939c54870f979bdcbba1f bumped to 1.4 for gst-devtools and the root project, but we usually keep those in sync everywhere. Part-of: 2025-01-14 15:00:43 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.25.1 === release 1.25.1 === 2025-01-14 14:52:48 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-editing-services.doap: * meson.build: Release 1.25.1 2025-01-13 18:10:31 +0100 Mathieu Duponchelle * docs/meson.build: * meson.build: * plugins/ges/meson.build: * plugins/meson.build: * plugins/nle/meson.build: docs: port plugins to explicit sources Part-of: 2025-01-10 08:58:56 +0100 Edward Hervey * meson.build: * tools/ges-launcher.c: editing-services: Add more warning flags Part-of: 2025-01-10 11:22:32 +0100 Edward Hervey * ges/ges-timeline-tree.c: * plugins/ges/gesdemux.c: * plugins/nle/validate.c: * tests/check/nle/tempochange.c: ges: Fix old style function Part-of: 2025-01-08 11:47:34 -0300 L. E. Segovia * meson.build: ges: Fix Xcode-provided Python library name fetching Both INSTSONAME and LDLIBRARY point to the Python interpreter, not to libpythonX.Y.dylib, unlike the pythonX.Y-embed module Xcode provides. Part-of: 2024-12-22 11:14:45 -0300 L. E. Segovia * meson.build: ges: Fix Python library name fetching on Windows The fix in 753aeccde70006ebbc50db2982e323cd1328c1ab is also needed here. See #3368 Part-of: 2023-04-28 23:58:31 +0200 Thibault Saunier * ges/ges-pipeline.c: ges: pipeline: Implement context sharing logic That is the logic from `playbin2` Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4005 Part-of: 2024-12-18 17:11:33 -0300 Thibault Saunier * docs/meson.build: * ges/meson.build: * meson.build: * tests/check/meson.build: * tests/validate/meson.build: * tools/meson.build: meson: Give the same name for api_version in all modules There were 2 version of it, apiversion and api_version, I chose the one with most occurencies: `api_version` Part-of: 2024-12-18 13:18:32 -0300 Thibault Saunier * docs/meson.build: doc: Handle gst_dep.get_variable('libexecdir') failure Part-of: 2024-12-18 12:27:30 -0300 Thibault Saunier * docs/meson.build: doc: Allow updating the plugins cache for all modules even if hotdoc is not present This was possible for some modules but not all, for no good reason. Part-of: 2024-12-13 09:17:32 -0300 Thibault Saunier * tools/ges-launcher.c: ges-launcher: return early on 'project-loaded' signal on error Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4102 Part-of: 2024-12-13 09:11:05 -0300 Thibault Saunier * ges/ges-project.c: ges: project: Add missing API guards Part-of: 2024-12-13 09:09:15 -0300 Thibault Saunier * ges/ges-formatter.c: ges: formatter: Keep a reference on the timelines We will be using it in an async way so we need to keep our own reference to it. Part-of: 2024-12-13 10:14:32 -0300 Thibault Saunier * ges/ges-meta-container.h: ges-meta-container: Fix the GET_INTERFACE macro It had a synthax issue Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/141 Part-of: 2024-12-10 12:52:33 +0000 Tim-Philipp Müller * meson.build: meson: unset GST_TRACERS for g-ir-scanner to avoid warnings People might have GST_TRACERS=leaks set in their environment by default, which will now trigger criticals during the build when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH so that the scanner doesn't load any plugins. Fixes #4093 Part-of: 2024-12-06 09:26:29 -0300 Thibault Saunier * docs/design/asset.txt: typos: Fix avalaible/available typos Part-of: 2024-11-13 17:01:03 +1100 Matthew Waters * ges/ges-clip.c: ges/clip: silence some maybe-unitiailized warnings Part-of: 2024-11-15 11:46:14 -0300 Thibault Saunier * meson.build: meson: Bump minimum version to 1.3 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025 Part-of: 2024-11-13 18:19:50 -0300 Thibault Saunier * ges/ges-pipeline.c: ges: pipeline: Add missing API guard Part-of: 2024-11-13 18:18:30 -0300 Thibault Saunier * tools/ges-launcher.c: * tools/ges-validate.c: ges: launch: Fix usage of save-only after loading a project We need to wait for the project to be loaded before saving the file and quit Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4003 Part-of: 2024-08-27 17:48:25 -0400 Thibault Saunier * tools/ges-launcher.c: * tools/ges-validate.c: validate: Allow overriding features rank early in testfiles meta Part-of: 2024-03-06 16:37:48 -0300 Thibault Saunier * tests/check/python/test_timeline.py: validate: Remove some regex related python 3.12 warnings Part-of: 2024-11-03 17:30:40 +0000 Tim-Philipp Müller * docs/meson.build: 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: 2024-10-28 18:34:30 +0100 Víctor Manuel Jáquez Leal * ges/ges-structured-interface.c: ges-structured-interface: fix double free This was introduced in commit 6233eb0f 2024-10-24 09:17:54 +0200 Edward Hervey * ges/ges-base-effect.c: * ges/ges-meta-container.c: 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: 2024-02-01 17:59:59 -0300 Thibault Saunier * plugins/nle/nlecomposition.c: * tests/validate/meson.build: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks.validatetest: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks/flow-expectations/log-overlay-src-expected: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks/flow-expectations/log-source_L0-src-expected: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks/flow-expectations/log-source_L1-src-expected: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks/flow-expectations/log-source_L2-src-expected: * tests/validate/nle/ensure_no_unnecessary_stack_init_seeks/flow-expectations/log-source_L3-src-expected: nlecomposition: Let parent compositions tell if they will send initialization seeks Part-of: 2023-07-13 16:25:53 -0400 Thibault Saunier * plugins/nle/meson.build: * plugins/nle/nlecomposition.c: * plugins/nle/nlecomposition.h: * plugins/nle/nleobject.c: * plugins/nle/validate.c: * tests/meson.build: * tests/validate/meson.build: * tests/validate/nle/simple_source_in_composition_playback.validatetest: * tests/validate/nle/simple_source_playback.validatetest: 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: 2024-08-29 12:08:17 -0400 Thibault Saunier * plugins/nle/nlecomposition.c: 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: 2024-10-10 11:08:06 -0400 tomaszmi <257184-tomaszmi@users.noreply.gitlab.freedesktop.org> * ges/ges-command-line-formatter.c: ges: Fixed typos found in the ges-launch-1.0 --help-GES section Part-of: 2024-10-02 14:16:11 -0300 Thibault Saunier * ges/ges-project.c: * ges/ges-timeline.c: ges: Fix reloading timeline from project Part-of: 2024-08-11 15:25:58 +0200 Ruben Gonzalez * tests/check/ges/timelineedition.c: misc: fix grammar mistake Part-of: 2024-08-29 20:09:52 +0300 Sebastian Dröge * ges/ges-base-xml-formatter.c: * ges/ges-internal.h: * ges/ges-meta-container.c: * ges/ges-structured-interface.c: * ges/ges-track.c: * ges/ges-validate.c: common: Stop using GQuark-based GstStructure field name API Part-of: 2024-09-20 01:44:53 +0200 Jan Alexander Steffens (heftig) * ges/ges-frame-composition-meta.c: 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: 2024-02-16 12:48:59 -0300 Thibault Saunier * ges/ges-discoverer-manager.c: ges: discoverer-manager: Fix race leading to assertion when stopping Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3757 Part-of: 2024-08-20 02:09:39 +0100 Tim-Philipp Müller * ges/ges-container.c: * ges/ges-timeline-element.c: * ges/glib-compat-private.h: 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: 2024-09-02 14:07:38 +0300 Sebastian Dröge * ges/ges-structured-interface.c: ges-structured-interface: Fix memory leak of invalid fields GList Part-of: 2024-07-26 16:00:11 +0200 Edward Hervey * plugins/nle/nlecomposition.c: nlecomposition: Don't leak QoS events Part-of: 2024-07-01 10:41:28 +0300 Sebastian Dröge * ges/ges-uri-asset.c: 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: 2024-06-29 09:52:42 +0200 Edward Hervey nlecomposition: Don't leak atomic rc box * gst_structure_get => increases ref * query_ancestors_position: There are two refs. Part-of: 2024-06-29 09:52:23 +0200 Edward Hervey * plugins/nle/nlecomposition.c: nlecomposition: Don't leak message Part-of: 2024-06-29 09:51:46 +0200 Edward Hervey * ges/ges-track.c: ges-layer: Don't use invalid layers There's a possibility that there are no layers at that priority Part-of: 2024-06-29 09:51:07 +0200 Edward Hervey * ges/ges-discoverer-manager.c: ges-discoverer-manager: Properly initialize/free GRecMutex Fixes small leak of mutex internals Part-of: 2024-05-27 14:55:21 +0200 Francisco Javier Velázquez-García * meson_options.txt: meson: Correct typo in 'xptv formatter' description Part-of: 2024-04-17 10:23:29 +0200 Edward Hervey * ges/ges-pipeline.c: 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: 2024-04-23 07:30:12 +0200 Edward Hervey * tools/ges-launcher.c: * tools/utils.c: * tools/utils.h: ges/tools: Use new GstEncodingProfile function from pbutils Part-of: 2024-02-08 20:36:19 +0100 Loïc Le Page * ges/ges-audio-source.c: 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: 2024-04-18 11:29:21 +0200 Edward Hervey * ges/ges-command-line-formatter.c: ges-command-line-formatter: Handle transitions Avoids getting a noisy g_warning Part-of: 2024-04-18 11:28:45 +0200 Edward Hervey * ges/ges-timeline-tree.c: ges-timeline-tree: Fix debug statement Was printing out garbage in the logs Part-of: 2020-05-01 22:56:38 -0400 Thibault Saunier * docs/gst_plugins_cache.json: * ges/ges-source.c: * ges/ges-timeline-element.c: * plugins/nle/nleghostpad.c: * plugins/nle/nlesource.c: * plugins/nle/nlesource.h: 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: 2020-05-23 19:17:35 -0400 Thibault Saunier * ges/ges-test-clip.c: ges: test-clip: Fix setting children asset ids Part-of: 2020-05-01 22:54:07 -0400 Thibault Saunier * ges/ges-validate.c: validate: Add an action to group containers Part-of: 2020-05-01 11:33:38 -0400 Thibault Saunier * ges/ges-container.c: * ges/ges-internal.h: * ges/ges-test-clip.c: * ges/ges-timeline-element.c: * ges/ges-track-element.c: * tests/check/ges/group.c: 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: 2020-05-01 20:26:29 -0400 Thibault Saunier * tools/ges-launcher.c: ges: tools: Fix printing validate action types We were not taking into account some arguments could have been eaten Part-of: 2024-04-17 13:53:21 +0200 Edward Hervey * tools/ges-launcher.c: 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: 2024-03-26 12:28:50 +0000 Tim-Philipp Müller * tests/check/gescpp.cc: * tests/check/meson.build: ges: add check to make sure headers are C++ compiler clean See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3421 Part-of: 2024-03-26 08:42:26 -0300 Thibault Saunier * ges/ges-frame-composition-meta.h: ges: frame-composition-meta: Stop using keyword 'operator' for field in C++ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3421 Part-of: 2024-03-08 20:56:46 +0900 Seungha Yang * ges/ges-asset.c: 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: 2024-03-05 12:58:57 +0000 Tim-Philipp Müller * RELEASE: * meson.build: Back to development Part-of: === release 1.24.0 ===