Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gstreamer-editing-services for 
openSUSE:Factory checked in at 2025-06-06 22:41:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-editing-services (Old)
 and      /work/SRC/openSUSE:Factory/.gstreamer-editing-services.new.19631 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gstreamer-editing-services"

Fri Jun  6 22:41:25 2025 rev:66 rq:1282475 version:1.26.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gstreamer-editing-services/gstreamer-editing-services.changes
    2025-05-02 14:58:25.863404639 +0200
+++ 
/work/SRC/openSUSE:Factory/.gstreamer-editing-services.new.19631/gstreamer-editing-services.changes
 2025-06-06 22:41:28.624875731 +0200
@@ -1,0 +2,11 @@
+Sun Jun  1 08:07:26 UTC 2025 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 1.26.2:
+  + Fix frame position for sources with par < 1
+  + Fix video position for sources with pixel-aspect-ratio > 1
+  + Valgrind fixes
+  + properties: add G_PARAM_STATIC_STRINGS where missing
+  + Switch to GST_AUDIO_NE() to make things work properly on Big
+    Endian systems
+
+-------------------------------------------------------------------

Old:
----
  gst-editing-services-1.26.1.tar.xz

New:
----
  gst-editing-services-1.26.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gstreamer-editing-services.spec ++++++
--- /var/tmp/diff_new_pack.RT044f/_old  2025-06-06 22:41:29.180898773 +0200
+++ /var/tmp/diff_new_pack.RT044f/_new  2025-06-06 22:41:29.180898773 +0200
@@ -20,7 +20,7 @@
 %define _name gst-editing-services
 
 Name:           gstreamer-editing-services
-Version:        1.26.1
+Version:        1.26.2
 Release:        0
 Summary:        GStreamer Editing Services
 License:        LGPL-2.0-or-later AND LGPL-2.1-or-later

++++++ gst-editing-services-1.26.1.tar.xz -> gst-editing-services-1.26.2.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ChangeLog 
new/gst-editing-services-1.26.2/ChangeLog
--- old/gst-editing-services-1.26.1/ChangeLog   2025-04-24 21:21:41.166370900 
+0200
+++ new/gst-editing-services-1.26.2/ChangeLog   2025-05-30 00:58:13.177266600 
+0200
@@ -1,3 +1,101 @@
+=== release 1.26.2 ===
+
+2025-05-29 23:56:43 +0100  Tim-Philipp Müller <t...@centricular.com>
+
+       * NEWS:
+       * RELEASE:
+       * gst-editing-services.doap:
+       * meson.build:
+         Release 1.26.2
+
+2025-05-14 14:30:09 -0400  Doug Nazar <naz...@nazar.ca>
+
+       * ges/ges-audio-track.c:
+         ges-audio-track: Switch to GST_AUDIO_NE()
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9089>
+
+2025-05-21 09:50:29 -0400  Doug Nazar <naz...@nazar.ca>
+
+       * plugins/ges/gessrc.c:
+         ges: Free path and uri
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9050>
+
+2025-05-21 09:48:32 -0400  Doug Nazar <naz...@nazar.ca>
+
+       * plugins/ges/gesbasebin.c:
+         ges: Ensure we free the pad and the pad template
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9050>
+
+2025-05-21 09:46:12 -0400  Doug Nazar <naz...@nazar.ca>
+
+       * tests/check/python/test_assets.py:
+         ges: Silence warning about invalid escape sequence
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9050>
+
+2025-05-02 08:56:19 +0200  Alexander Slobodeniuk <asloboden...@fluendo.com>
+
+       * 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: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8962>
+
+2025-04-08 15:24:42 +0200  Andoni Morales Alastruey <ylat...@gmail.com>
+
+       * 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: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8894>
+
+2025-03-26 11:38:56 +0100  Andoni Morales Alastruey <ylat...@gmail.com>
+
+       * 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: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8891>
+
+2025-04-24 20:26:57 +0100  Tim-Philipp Müller <t...@centricular.com>
+
+       * meson.build:
+         Back to development after 1.26.1
+         Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8890>
+
 === release 1.26.1 ===
 
 2025-04-24 20:20:14 +0100  Tim-Philipp Müller <t...@centricular.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/NEWS 
new/gst-editing-services-1.26.2/NEWS
--- old/gst-editing-services-1.26.1/NEWS        2025-04-24 21:20:14.000000000 
+0200
+++ new/gst-editing-services-1.26.2/NEWS        2025-05-30 00:56:43.000000000 
+0200
@@ -2,11 +2,11 @@
 
 GStreamer 1.26.0 was originally released on 11 March 2025.
 
-The latest bug-fix release in the stable 1.26 series is 1.26.1 and was 
released on 24 April 2025.
+The latest bug-fix release in the stable 1.26 series is 1.26.2 and was 
released on 29 May 2025.
 
 See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of 
this document.
 
-Last updated: Thursday 24 April 2025, 16:00 UTC (log)
+Last updated: Thursday 29 May 2025, 20:00 UTC (log)
 
 ## Introduction
 
@@ -1568,6 +1568,247 @@
 -   List of Merge Requests applied in 1.26.1
 -   List of Issues fixed in 1.26.1
 
+1.26.2
+
+The second 1.26 bug-fix release (1.26.2) was released on 29 May 2025.
+
+This release only contains bugfixes as well as a number of security fixes and 
important playback fixes, and it should be safe to
+update from 1.26.0.
+
+Highlighted bugfixes in 1.26.2
+
+-   Various security fixes and playback fixes
+-   aggregator base class fixes to not produce buffers too early in live mode
+-   AWS translate element improvements
+-   D3D12 video decoder workarounds for crashes on NVIDIA cards on resolution 
changes
+-   dav1d AV1-decoder performance improvements
+-   fmp4mux: tfdt and composition time offset fixes, plus AC-3 / EAC-3 audio 
support
+-   GStreamer editing services fixes for sources with non-1:1 aspect ratios
+-   MIDI parser improvements for tempo changes
+-   MP4 demuxer atom parsing improvements and security fixes
+-   New skia-based video compositor element
+-   Subtitle parser security fixes
+-   Subtitle rendering and seeking fixes
+-   Playbin3 and uridecodebin3 stability fixes
+-   GstPlay stream selection improvements
+-   WAV playback regression fix
+-   GTK4 paintable sink colorimetry support and other improvements
+-   WebRTC: allow webrtcsrc to wait for a webrtcsink producer to initiate the 
connection
+-   WebRTC: new Janus Video Room WebRTC source element
+-   vah264enc profile decision making logic fixes
+-   Python bindings gained support for handling mini object writability 
(buffers, caps, etc.)
+-   Various bug fixes, build fixes, memory leak fixes, and other stability and 
reliability improvements
+
+gstreamer
+
+-   aggregator: Various state related fixes
+-   element: ref-sink the correct pad template when replacing an existing one
+-   pipeline: Store the actual latency even if no static latency was configured
+-   structure: Add gst_structure_is_writable() API to allow python bindings to 
be able to handle writability of MiniObjects
+-   tracerutils: Do not warn on empty string as tracername
+-   tracerutils: Fix leak in gst_tracer_utils_create_tracer()
+-   Ensure properties are freed before (re)setting with g_value_dup_object() 
or g_value_dup_boxed() and during cleanup
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+
+gst-plugins-base
+
+-   alsa: Avoid infinite loop in DSD rate detection
+-   gl: Implement basetransform meta transform function
+-   glshader: free shader on stop
+-   glupload: Only add texture-target field to GL caps
+-   gstaudioutilsprivate: Fix gcc 15 compiler error with function pointer
+-   mikey: Avoid infinite loop while parsing MIKEY payload with unhandled 
payload types
+-   properties: add G_PARAM_STATIC_STRINGS where missing
+-   riff-media: fix MS and DVI ADPCM av_bps calculations
+-   subtitleoverlay: Remove 0.10 hardware caps handling
+-   subtitleoverlay: Missing support for DMABuf(?)
+-   tests: opus: Update channel support and add to meson
+-   textoverlay: fix shading for RGBx / RGBA pixel format variants
+-   textoverlay background is wrong while cropping
+-   uridecodebin3: Don’t hold play items lock while releasing pads
+-   uridecodebin3: deadlock on PLAY_ITEMS_LOCK
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   Fix Qt detection in various places
+
+gst-plugins-good
+
+-   adaptivedemux2: Fixes for collection handling
+-   adaptivedemux2: Fix several races
+-   dash: mpdclient: Don’t pass terminating NUL to adapter
+-   gl: Implement basetransform meta transform function
+-   imagefreeze: Set seqnum from segment too
+-   interleave: Don’t hold object lock while querying caps downstream
+-   matroskamux: Write stream headers before finishing file, so that a correct 
file with headers is written if we finish without
+    any data
+-   meson: Add build_rpath for qt6 plugin on macOS
+-   meson: Fix qt detection in various places
+-   properties: add G_PARAM_STATIC_STRINGS where missing
+-   qtdemux: Check length of JPEG2000 colr box before parsing it
+-   qtdemux: Parse chan box and improve raw audio channel layout handling
+-   qtdemux: Improve track parsing
+-   qtdemux: Use byte reader to parse mvhd box
+-   qtdemux: cmpd box is only mandatory for uncompressed video with uncC 
version 0
+-   rtph264pay: Reject stream-format=avc without codec_data
+-   rtputils: Add debug category
+-   v4l2: pool: Send drop frame signal after dqbuf success
+-   v4l2: pool: fix assert when mapping video frame with DMA_DRM caps
+-   v4l2videoenc: report error only when buffer pool parameters are invalid
+-   wavparse: Ignore EOS when parsing the headers
+-   wavparse: Regression leading to unplaybable wav files that were working 
before
+-   Ensure properties are freed before (re)setting with g_value_dup_object() 
or g_value_dup_boxed() and during cleanup
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   Fixes for big endian
+-   Switch to GST_AUDIO_NE()
+-   Valgrind fixes
+
+gst-plugins-bad
+
+-   alphacombine: Fix seeking after EOS
+-   cuda: Fix runtime PTX compile, fix example code build with old CUDA SDK
+-   curl: Fix build with MSVC
+-   curl: small fixups p3
+-   d3d12: Fix gstreamer-full subproject build with gcc
+-   d3d12: Generate gir file
+-   d3d12decoder: Workaround for NVIDIA crash on resolution change
+-   d3d12memory: Allow set_fence() only against writable memory
+-   d3d12memory: Make D3D12 map flags inspectable
+-   d3d12screencapturesrc: Fix desktop handle leak
+-   dash: mpdclient: Don’t pass terminating NUL to adapter
+-   dvbsuboverlay: Actually make use of subtitle running time instead of using 
PTS
+-   dvbsuboverlay: No subtitles after seek
+-   h264parse: Never output stream-format=avc/avc3 caps without codec_data
+-   lcevc: Use portable printf formatting macros
+-   midiparse: Consider tempo changes when calculating duration
+-   nvencoder: Fix GstVideoCodecFrame leak on non-flow-ok return
+-   play: Improve stream selection
+-   properties: add G_PARAM_STATIC_STRINGS where missing
+-   rtpsender: fix ‘priority’ GValue get/set
+-   va: Fix H264 profile decision logic
+-   vulkan/wayland: Init debug category before usage
+-   Ensure properties are freed before (re)setting with g_value_dup_object() 
or g_value_dup_boxed() and during cleanup
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   Fixes for big endian
+-   Fix Qt detection in various places
+-   Switch to GST_AUDIO_NE()
+-   Valgrind fixes
+
+gst-plugins-ugly
+
+-   No changes
+
+GStreamer Rust plugins
+
+-   awstranslate: improve control over accumulator behavior
+-   awstranslate: output buffer lists
+-   cea608tott: make test text less shocking by having more cues as context
+-   dav1ddec: Directly decode into downstream allocated buffers if possible
+-   deny: Allow webpki-root-certs license
+-   fmp4mux: Add support for AC-3 / EAC-3
+-   fmp4mux: Use earliest PTS for the base media decode time (tfdt)
+-   fmp4mux: Fix handling of negative DTS in composition time offset
+-   fmp4mux: Write lmsg as compatible brand into the last fragment
+-   mp4mux: add extra brands
+-   mp4: avoid dumping test output into build directory
+-   mp4: migrate to mp4-atom to check muxing
+-   mp4: test the trak structure
+-   gtk4: Update and adapt to texture builder API changes
+-   gtk4: Initial colorimetry support
+-   gtk4: Update default GTK4 target version to 4.10
+-   rtp: Update to bitstream-io 4.0
+-   skia: Implement a video compositor using skia
+-   webrtc: addressing a few deadlocks
+-   webrtc: Support for producer sessions targeted at a given consumer
+-   webrtc: add new JanusVR source element
+-   webrtc: janus: clean up and refactoring
+-   webrtcsink: Use seq number instead of Uuid for discovery
+-   webrtc: Make older peers less likely to crash when webrtcsrc is used
+-   Fix or silence various new clippy warnings
+-   Update Cargo.lock to fix duplicated target-lexicon
+
+gst-libav
+
+-   Valgrind fixes
+-   libav: Only allocate extradata while decoding
+
+gst-rtsp-server
+
+-   properties: add G_PARAM_STATIC_STRINGS where missing
+-   properties: ensure properties are freed before (re)setting with 
g_value_dup_object() or g_value_dup_boxed() and during
+    cleanup
+-   tests: Valgrind fixes
+
+gstreamer-vaapi
+
+-   Ensure properties are freed before (re)setting with g_value_dup_object() 
or g_value_dup_boxed() and during cleanup
+
+gstreamer-sharp
+
+-   No changes
+
+gst-python
+
+This release includes important fixes for the GStreamer Python bindings.
+
+Since pygobject 3.13 around 10 years ago, it wasn’t possible anymore to modify 
GStreamer miniobjects, e.g. modify caps or set
+buffer timestamps, as an implicit copy of the original would always be made. 
This should finally work again now.
+
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   python: Add overrides to be able to handle writability of MiniObjects
+-   python: Convert buffer metadata API to use @property decorators
+-   REGRESSION: pygobject 3.13 now copies the GstStructure when getting them 
from a GstCaps, making it impossible to properly
+    modify structures from caps in place
+
+gst-editing-services
+
+-   Fix frame position for sources with par < 1
+-   Fix video position for sources with pixel-aspect-ratio > 1
+-   Valgrind fixes
+-   properties: add G_PARAM_STATIC_STRINGS where missing
+-   Switch to GST_AUDIO_NE() to make things work properly on Big Endian systems
+
+gst-devtools, gst-validate + gst-integration-testsuites
+
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   validate: baseclasses: Reset Test timeouts between iterations
+-   validate: scenario: Fix race condition when ignoring EOS
+
+gst-examples
+
+-   Fix new warnings on Fedora 42, various meson warnings, and other small 
meson build/wrap fixes
+-   webrtc examples: Fix running against self-signed certs
+-   webrtc/signalling: fix compatibility with python 3.13
+
+gstreamer-docs
+
+-   No changes
+
+Development build environment
+
+-   Various wrap updates
+-   Add qt-method meson options to fix Qt detection in various places
+-   pre-commit: Workaround broken shebang on Windows
+
+Cerbero build tool and packaging changes in 1.26.2
+
+-   directx-headers: Fix g-ir-scanner expecting MSVC naming convention for 
gst-plugins-bad introspection
+-   m4: update recipe to fix hang in configure
+-   pango: Fix introspection missing since 1.56.2 update
+
+Contributors to 1.26.2
+
+Adrian Perez de Castro, Alexander Slobodeniuk, Alicia Boya García, Andoni 
Morales Alastruey, Biswapriyo Nath, Brad Hards, Branko
+Subasic, Christoph Reiter, Daniel Morin, Doug Nazar, Devon Sookhoo, Eva Pace, 
Guillaume Desmottes, Hou Qi, Jakub Adam, Jan
+Schmidt, Jochen Henneberg, Jordan Petridis, L. E. Segovia, Mathieu 
Duponchelle, Matthew Waters, Nicolas Dufresne, Nirbheek
+Chauhan, Olivier Crête, Pablo García, Piotr Brzeziński, Robert Mader, 
Sebastian Dröge, Seungha Yang, Thibault Saunier,
+Tim-Philipp Müller, Vasiliy Doylov, Wim Taymans, Xavier Claessens, Zhao, Gang,
+
+… and many others who have contributed bug reports, translations, sent 
suggestions or helped testing. Thank you all!
+
+List of merge requests and issues fixed in 1.26.2
+
+-   List of Merge Requests applied in 1.26.2
+-   List of Issues fixed in 1.26.2
+
 Schedule for 1.28
 
 Our next major feature release will be 1.28, and 1.27 will be the unstable 
development version leading up to the stable 1.28
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/RELEASE 
new/gst-editing-services-1.26.2/RELEASE
--- old/gst-editing-services-1.26.1/RELEASE     2025-04-24 21:20:14.000000000 
+0200
+++ new/gst-editing-services-1.26.2/RELEASE     2025-05-30 00:56:43.000000000 
+0200
@@ -1,4 +1,4 @@
-This is GStreamer gst-editing-services 1.26.1.
+This is GStreamer gst-editing-services 1.26.2.
 
 The GStreamer team is thrilled to announce a new major feature release
 of your favourite cross-platform multimedia framework!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-asset.c 
new/gst-editing-services-1.26.2/ges/ges-asset.c
--- old/gst-editing-services-1.26.1/ges/ges-asset.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-asset.c     2025-05-30 
00:56:43.000000000 +0200
@@ -494,7 +494,8 @@
   _properties[PROP_TYPE] =
       g_param_spec_gtype ("extractable-type", "Extractable type",
       "The type of the Object that can be extracted out of the asset",
-      G_TYPE_OBJECT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+      G_TYPE_OBJECT,
+      G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESAsset:id:
@@ -512,7 +513,7 @@
   _properties[PROP_ID] =
       g_param_spec_string ("id", "Identifier",
       "The unique identifier of the asset", NULL,
-      G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
+      G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESAsset:proxy:
@@ -526,7 +527,8 @@
    */
   _properties[PROP_PROXY] =
       g_param_spec_object ("proxy", "Proxy",
-      "The asset default proxy.", GES_TYPE_ASSET, G_PARAM_READWRITE);
+      "The asset default proxy.", GES_TYPE_ASSET,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESAsset:proxy-target:
@@ -546,7 +548,8 @@
    */
   _properties[PROP_PROXY_TARGET] =
       g_param_spec_object ("proxy-target", "Proxy target",
-      "The target of a proxy asset.", GES_TYPE_ASSET, G_PARAM_READABLE);
+      "The target of a proxy asset.", GES_TYPE_ASSET,
+      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_properties (object_class, PROP_LAST, _properties);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-audio-track.c 
new/gst-editing-services-1.26.2/ges/ges-audio-track.c
--- old/gst-editing-services-1.26.1/ges/ges-audio-track.c       2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-audio-track.c       2025-05-30 
00:56:43.000000000 +0200
@@ -50,14 +50,8 @@
 #include "ges-audio-track.h"
 
 #define DEFAULT_CAPS "audio/x-raw"
-
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=S32LE, channels=2, "\
-  "rate=44100, layout=interleaved"
-#else
-#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=S32BE, channels=2, "\
-  "rate=44100, layout=interleaved"
-#endif
+#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=" GST_AUDIO_NE (S32) ", 
"\
+  "channels=2, rate=44100, layout=interleaved"
 
 struct _GESAudioTrackPrivate
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-audio-uri-source.c 
new/gst-editing-services-1.26.2/ges/ges-audio-uri-source.c
--- old/gst-editing-services-1.26.1/ges/ges-audio-uri-source.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-audio-uri-source.c  2025-05-30 
00:56:43.000000000 +0200
@@ -149,7 +149,8 @@
    */
   g_object_class_install_property (object_class, PROP_URI,
       g_param_spec_string ("uri", "URI", "uri of the resource",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   element_class->get_natural_framerate = _get_natural_framerate;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-clip-asset.c 
new/gst-editing-services-1.26.2/ges/ges-clip-asset.c
--- old/gst-editing-services-1.26.1/ges/ges-clip-asset.c        2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-clip-asset.c        2025-05-30 
00:56:43.000000000 +0200
@@ -131,7 +131,7 @@
   properties[PROP_SUPPORTED_FORMATS] = g_param_spec_flags ("supported-formats",
       "Supported formats", "Formats supported by the file",
       GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_AUDIO | GES_TRACK_TYPE_VIDEO,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_property (object_class, PROP_SUPPORTED_FORMATS,
       properties[PROP_SUPPORTED_FORMATS]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-clip.c 
new/gst-editing-services-1.26.2/ges/ges-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-clip.c      2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-clip.c      2025-05-30 
00:56:43.000000000 +0200
@@ -2588,7 +2588,7 @@
   properties[PROP_SUPPORTED_FORMATS] = g_param_spec_flags ("supported-formats",
       "Supported formats", "Formats supported by the clip",
       GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_AUDIO | GES_TRACK_TYPE_VIDEO,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_property (object_class, PROP_SUPPORTED_FORMATS,
       properties[PROP_SUPPORTED_FORMATS]);
@@ -2604,7 +2604,8 @@
    */
   properties[PROP_LAYER] = g_param_spec_object ("layer", "Layer",
       "The GESLayer where this clip is being used.",
-      GES_TYPE_LAYER, G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY);
+      GES_TYPE_LAYER,
+      G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_LAYER,
       properties[PROP_LAYER]);
 
@@ -2631,7 +2632,8 @@
   properties[PROP_DURATION_LIMIT] =
       g_param_spec_uint64 ("duration-limit", "Duration Limit",
       "A limit on the duration of the clip", 0, G_MAXUINT64,
-      GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY);
+      GST_CLOCK_TIME_NONE,
+      G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_DURATION_LIMIT,
       properties[PROP_DURATION_LIMIT]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-container.c 
new/gst-editing-services-1.26.2/ges/ges-container.c
--- old/gst-editing-services-1.26.1/ges/ges-container.c 2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-container.c 2025-05-30 
00:56:43.000000000 +0200
@@ -460,7 +460,7 @@
    */
   properties[PROP_HEIGHT] = g_param_spec_uint ("height", "Height",
       "The span of priorities this container occupies", 0, G_MAXUINT, 1,
-      G_PARAM_READABLE);
+      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_HEIGHT,
       properties[PROP_HEIGHT]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-effect-clip.c 
new/gst-editing-services-1.26.2/ges/ges-effect-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-effect-clip.c       2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-effect-clip.c       2025-05-30 
00:56:43.000000000 +0200
@@ -207,7 +207,8 @@
       g_param_spec_string ("video-bin-description",
           "Video bin description",
           "Description of the video track of the effect",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   /**
    * GESEffectClip:audio-bin-description:
@@ -221,7 +222,8 @@
       g_param_spec_string ("audio-bin-description",
           "bin description",
           "Bin description of the audio track of the effect",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   timobj_class->create_track_element = _create_track_element;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-group.c 
new/gst-editing-services-1.26.2/ges/ges-group.c
--- old/gst-editing-services-1.26.1/ges/ges-group.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-group.c     2025-05-30 
00:56:43.000000000 +0200
@@ -583,7 +583,7 @@
    */
   properties[PROP_START] = g_param_spec_uint64 ("start", "Start",
       "The position in the container", 0, G_MAXUINT64, 0,
-      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
+      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESGroup:in-point:
@@ -593,7 +593,8 @@
    */
   properties[PROP_INPOINT] =
       g_param_spec_uint64 ("in-point", "In-point", "The in-point", 0,
-      G_MAXUINT64, 0, G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
+      G_MAXUINT64, 0,
+      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESGroup:duration:
@@ -607,7 +608,7 @@
   properties[PROP_DURATION] =
       g_param_spec_uint64 ("duration", "Duration", "The duration to use", 0,
       G_MAXUINT64, GST_CLOCK_TIME_NONE,
-      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
+      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESGroup:max-duration:
@@ -618,7 +619,8 @@
   properties[PROP_MAX_DURATION] =
       g_param_spec_uint64 ("max-duration", "Maximum duration",
       "The maximum duration of the object", 0, G_MAXUINT64, 
GST_CLOCK_TIME_NONE,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * GESGroup:priority:
@@ -629,7 +631,7 @@
    */
   properties[PROP_PRIORITY] = g_param_spec_uint ("priority", "Priority",
       "The priority of the object", 0, G_MAXUINT, 0,
-      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
+      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_properties (object_class, PROP_LAST, properties);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-image-source.c 
new/gst-editing-services-1.26.2/ges/ges-image-source.c
--- old/gst-editing-services-1.26.1/ges/ges-image-source.c      2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-image-source.c      2025-05-30 
00:56:43.000000000 +0200
@@ -173,7 +173,8 @@
    */
   g_object_class_install_property (object_class, PROP_URI,
       g_param_spec_string ("uri", "URI", "uri of the resource",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   source_class->create_source = ges_image_source_create_source;
   vsource_class->ABI.abi.get_natural_size =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-layer.c 
new/gst-editing-services-1.26.2/ges/ges-layer.c
--- old/gst-editing-services-1.26.1/ges/ges-layer.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-layer.c     2025-05-30 
00:56:43.000000000 +0200
@@ -231,7 +231,8 @@
    */
   g_object_class_install_property (object_class, PROP_PRIORITY,
       g_param_spec_uint ("priority", "Priority",
-          "The priority of the layer", 0, G_MAXUINT, 0, G_PARAM_READWRITE));
+          "The priority of the layer", 0, G_MAXUINT, 0,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESLayer:auto-transition:
@@ -246,7 +247,8 @@
    */
   g_object_class_install_property (object_class, PROP_AUTO_TRANSITION,
       g_param_spec_boolean ("auto-transition", "Auto-Transition",
-          "whether the transitions are added", FALSE, G_PARAM_READWRITE));
+          "whether the transitions are added", FALSE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESLayer::clip-added:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-marker-list.c 
new/gst-editing-services-1.26.2/ges/ges-marker-list.c
--- old/gst-editing-services-1.26.1/ges/ges-marker-list.c       2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-marker-list.c       2025-05-30 
00:56:43.000000000 +0200
@@ -100,7 +100,7 @@
   marker_properties[PROP_MARKER_POSITION] =
       g_param_spec_uint64 ("position", "Position",
       "The position of the marker", 0, G_MAXUINT64,
-      GST_CLOCK_TIME_NONE, G_PARAM_READABLE);
+      GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_MARKER_POSITION,
       marker_properties[PROP_MARKER_POSITION]);
 
@@ -220,7 +220,7 @@
       g_param_spec_flags ("flags", "Flags",
       "Functionalities the marker list should be used for",
       GES_TYPE_MARKER_FLAGS, GES_MARKER_FLAG_NONE,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_MARKER_LIST_FLAGS,
       list_properties[PROP_MARKER_LIST_FLAGS]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-multi-file-source.c 
new/gst-editing-services-1.26.2/ges/ges-multi-file-source.c
--- old/gst-editing-services-1.26.1/ges/ges-multi-file-source.c 2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-multi-file-source.c 2025-05-30 
00:56:43.000000000 +0200
@@ -254,7 +254,8 @@
    */
   g_object_class_install_property (object_class, PROP_URI,
       g_param_spec_string ("uri", "URI", "multifile uri",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
   source_class->create_source = ges_multi_file_source_create_source;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-project.c 
new/gst-editing-services-1.26.2/ges/ges-project.c
--- old/gst-editing-services-1.26.1/ges/ges-project.c   2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-project.c   2025-05-30 
00:56:43.000000000 +0200
@@ -541,7 +541,8 @@
    * The location of the project to use.
    */
   _properties[PROP_URI] = g_param_spec_string ("uri", "URI",
-      "uri of the project", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
+      "uri of the project", NULL,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_properties (object_class, PROP_LAST, _properties);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-test-clip.c 
new/gst-editing-services-1.26.2/ges/ges-test-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-test-clip.c 2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-test-clip.c 2025-05-30 
00:56:43.000000000 +0200
@@ -315,7 +315,8 @@
       g_param_spec_enum ("vpattern", "VPattern",
           "Which video pattern to display. See videotestsrc element",
           GES_VIDEO_TEST_PATTERN_TYPE,
-          DEFAULT_VPATTERN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          DEFAULT_VPATTERN,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTestClip:freq:
@@ -325,7 +326,8 @@
   g_object_class_install_property (object_class, PROP_FREQ,
       g_param_spec_double ("freq", "Audio Frequency",
           "The frequency to generate. See audiotestsrc element",
-          0, 20000, 440, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, 20000, 440,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTestClip:volume:
@@ -335,7 +337,8 @@
   g_object_class_install_property (object_class, PROP_VOLUME,
       g_param_spec_double ("volume", "Audio Volume",
           "The volume of the test audio signal.",
-          0, 1, DEFAULT_VOLUME, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, 1, DEFAULT_VOLUME,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
 
   /**
@@ -345,7 +348,8 @@
    */
   g_object_class_install_property (object_class, PROP_MUTE,
       g_param_spec_boolean ("mute", "Mute", "Mute audio track",
-          FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          FALSE,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   clip_class->create_track_element = ges_test_clip_create_track_element;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-text-overlay-clip.c 
new/gst-editing-services-1.26.2/ges/ges-text-overlay-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-text-overlay-clip.c 2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-text-overlay-clip.c 2025-05-30 
00:56:43.000000000 +0200
@@ -168,7 +168,8 @@
 
   g_object_class_install_property (object_class, PROP_TEXT,
       g_param_spec_string ("text", "Text", "The text to display",
-          DEFAULT_PROP_TEXT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          DEFAULT_PROP_TEXT,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTextOverlayClip:font-desc:
@@ -215,7 +216,8 @@
 
   g_object_class_install_property (object_class, PROP_COLOR,
       g_param_spec_uint ("color", "Color", "The color of the text",
-          0, G_MAXUINT32, G_MAXUINT32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, G_MAXUINT32, G_MAXUINT32,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTextOverlayClip:xpos:
@@ -225,7 +227,8 @@
 
   g_object_class_install_property (object_class, PROP_XPOS,
       g_param_spec_double ("xpos", "Xpos", "The horizontal position",
-          0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, 1, 0.5,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTextOverlayClip:ypos:
@@ -235,7 +238,8 @@
 
   g_object_class_install_property (object_class, PROP_YPOS,
       g_param_spec_double ("ypos", "Ypos", "The vertical position",
-          0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          0, 1, 0.5,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-timeline-element.c 
new/gst-editing-services-1.26.2/ges/ges-timeline-element.c
--- old/gst-editing-services-1.26.1/ges/ges-timeline-element.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-timeline-element.c  2025-05-30 
00:56:43.000000000 +0200
@@ -459,7 +459,7 @@
   properties[PROP_PARENT] =
       g_param_spec_object ("parent", "Parent",
       "The parent container of the object", GES_TYPE_TIMELINE_ELEMENT,
-      G_PARAM_READWRITE);
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:timeline:
@@ -469,7 +469,7 @@
   properties[PROP_TIMELINE] =
       g_param_spec_object ("timeline", "Timeline",
       "The timeline the object is in", GES_TYPE_TIMELINE,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:start:
@@ -483,7 +483,7 @@
    */
   properties[PROP_START] = g_param_spec_uint64 ("start", "Start",
       "The position in the timeline", 0, G_MAXUINT64, 0,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:in-point: (getter get_inpoint)(setter set_inpoint)
@@ -504,7 +504,8 @@
    */
   properties[PROP_INPOINT] =
       g_param_spec_uint64 ("in-point", "In-point", "The in-point", 0,
-      G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_MAXUINT64, 0,
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:duration:
@@ -519,7 +520,7 @@
   properties[PROP_DURATION] =
       g_param_spec_uint64 ("duration", "Duration", "The play duration", 0,
       G_MAXUINT64, GST_CLOCK_TIME_NONE,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:max-duration:
@@ -542,7 +543,8 @@
   properties[PROP_MAX_DURATION] =
       g_param_spec_uint64 ("max-duration", "Maximum duration",
       "The maximum duration of the object", 0, G_MAXUINT64, 
GST_CLOCK_TIME_NONE,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:priority:
@@ -552,7 +554,8 @@
    * Deprecated: 1.10: Priority management is now done by GES itself.
    */
   properties[PROP_PRIORITY] = g_param_spec_uint ("priority", "Priority",
-      "The priority of the object", 0, G_MAXUINT, 0, G_PARAM_READWRITE);
+      "The priority of the object", 0, G_MAXUINT, 0,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * GESTimelineElement:name:
@@ -570,7 +573,7 @@
    */
   properties[PROP_SERIALIZE] = g_param_spec_boolean ("serialize", "Serialize",
       "Whether the element should be serialized", TRUE,
-      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
+      G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_properties (object_class, PROP_LAST, properties);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-timeline.c 
new/gst-editing-services-1.26.2/ges/ges-timeline.c
--- old/gst-editing-services-1.26.1/ges/ges-timeline.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-timeline.c  2025-05-30 
00:56:43.000000000 +0200
@@ -629,7 +629,7 @@
   properties[PROP_DURATION] =
       g_param_spec_uint64 ("duration", "Duration",
       "The duration of the timeline", 0, G_MAXUINT64,
-      GST_CLOCK_TIME_NONE, G_PARAM_READABLE);
+      GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_DURATION,
       properties[PROP_DURATION]);
 
@@ -643,7 +643,8 @@
    */
   g_object_class_install_property (object_class, PROP_AUTO_TRANSITION,
       g_param_spec_boolean ("auto-transition", "Auto-Transition",
-          "whether the transitions are added", FALSE, G_PARAM_READWRITE));
+          "whether the transitions are added", FALSE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTimeline:snapping-distance:
@@ -656,7 +657,7 @@
   properties[PROP_SNAPPING_DISTANCE] =
       g_param_spec_uint64 ("snapping-distance", "Snapping distance",
       "Distance from which moving an object will snap with neighbours", 0,
-      G_MAXUINT64, 0, G_PARAM_READWRITE);
+      G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_SNAPPING_DISTANCE,
       properties[PROP_SNAPPING_DISTANCE]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-title-clip.c 
new/gst-editing-services-1.26.2/ges/ges-title-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-title-clip.c        2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-title-clip.c        2025-05-30 
00:56:43.000000000 +0200
@@ -152,7 +152,7 @@
   g_object_class_install_property (object_class, PROP_TEXT,
       g_param_spec_string ("text", "Text", "The text to display",
           DEFAULT_TEXT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
-          GES_PARAM_NO_SERIALIZATION));
+          GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTitleClip:font-desc:
@@ -220,7 +220,7 @@
   g_object_class_install_property (object_class, PROP_COLOR,
       g_param_spec_uint ("color", "Color", "The color of the text",
           0, G_MAXUINT32, G_MAXUINT32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
-          GES_PARAM_NO_SERIALIZATION));
+          GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTitleClip:background:
@@ -235,7 +235,8 @@
   g_object_class_install_property (object_class, PROP_BACKGROUND,
       g_param_spec_uint ("background", "Background",
           "The background of the text", 0, G_MAXUINT32, G_MAXUINT32,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION));
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION |
+          G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTitleClip:xpos:
@@ -250,7 +251,7 @@
   g_object_class_install_property (object_class, PROP_XPOS,
       g_param_spec_double ("xpos", "Xpos", "The horizontal position",
           0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT
-          | GES_PARAM_NO_SERIALIZATION));
+          | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESTitleClip:ypos:
@@ -265,7 +266,7 @@
   g_object_class_install_property (object_class, PROP_YPOS,
       g_param_spec_double ("ypos", "Ypos", "The vertical position",
           0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT
-          | GES_PARAM_NO_SERIALIZATION));
+          | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-track-element-asset.c 
new/gst-editing-services-1.26.2/ges/ges-track-element-asset.c
--- old/gst-editing-services-1.26.1/ges/ges-track-element-asset.c       
2025-04-24 21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-track-element-asset.c       
2025-05-30 00:56:43.000000000 +0200
@@ -92,7 +92,7 @@
   properties[PROP_TRACK_TYPE] = g_param_spec_flags ("track-type",
       "Track type", "The GESTrackType in which the object is",
       GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_UNKNOWN,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
 
   g_object_class_install_property (object_class, PROP_TRACK_TYPE,
       properties[PROP_TRACK_TYPE]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-track-element.c 
new/gst-editing-services-1.26.2/ges/ges-track-element.c
--- old/gst-editing-services-1.26.1/ges/ges-track-element.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-track-element.c     2025-05-30 
00:56:43.000000000 +0200
@@ -356,7 +356,7 @@
    */
   properties[PROP_ACTIVE] =
       g_param_spec_boolean ("active", "Active", "Use object in output", TRUE,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_ACTIVE,
       properties[PROP_ACTIVE]);
 
@@ -371,7 +371,7 @@
   properties[PROP_TRACK_TYPE] = g_param_spec_flags ("track-type", "Track Type",
       "The track type of the object", GES_TYPE_TRACK_TYPE,
       GES_TRACK_TYPE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
-      G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_TRACK_TYPE,
       properties[PROP_TRACK_TYPE]);
 
@@ -382,7 +382,8 @@
    * belong to a track.
    */
   properties[PROP_TRACK] = g_param_spec_object ("track", "Track",
-      "The track the object is in", GES_TYPE_TRACK, G_PARAM_READABLE);
+      "The track the object is in", GES_TYPE_TRACK,
+      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_TRACK,
       properties[PROP_TRACK]);
 
@@ -429,7 +430,7 @@
   properties[PROP_HAS_INTERNAL_SOURCE] =
       g_param_spec_boolean ("has-internal-source", "Has Internal Source",
       "Whether the element has some internal source of stream data", FALSE,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_HAS_INTERNAL_SOURCE,
       properties[PROP_HAS_INTERNAL_SOURCE]);
 
@@ -452,7 +453,7 @@
       g_param_spec_boolean ("auto-clamp-control-sources",
       "Auto-Clamp Control Sources", "Whether to automatically update the "
       "control sources with a change in in-point or out-point", TRUE,
-      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
+      G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class,
       PROP_AUTO_CLAMP_CONTROL_SOURCES,
       properties[PROP_AUTO_CLAMP_CONTROL_SOURCES]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-track.c 
new/gst-editing-services-1.26.2/ges/ges-track.c
--- old/gst-editing-services-1.26.1/ges/ges-track.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-track.c     2025-05-30 
00:56:43.000000000 +0200
@@ -734,7 +734,8 @@
    */
   properties[ARG_CAPS] = g_param_spec_boxed ("caps", "Caps",
       "Caps used to choose the output stream",
-      GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
+      GST_TYPE_CAPS,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, ARG_CAPS,
       properties[ARG_CAPS]);
 
@@ -754,7 +755,7 @@
   properties[ARG_RESTRICTION_CAPS] =
       g_param_spec_boxed ("restriction-caps", "Restriction caps",
       "Caps used as a final filter on the output stream", GST_TYPE_CAPS,
-      G_PARAM_READWRITE);
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, ARG_RESTRICTION_CAPS,
       properties[ARG_RESTRICTION_CAPS]);
 
@@ -769,7 +770,7 @@
    * the underlying composition? */
   properties[ARG_DURATION] = g_param_spec_uint64 ("duration", "Duration",
       "The current duration of the track", 0, G_MAXUINT64, GST_SECOND,
-      G_PARAM_READABLE);
+      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, ARG_DURATION,
       properties[ARG_DURATION]);
 
@@ -786,7 +787,7 @@
   properties[ARG_TYPE] = g_param_spec_flags ("track-type", "TrackType",
       "Type of stream the track outputs",
       GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_CUSTOM,
-      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, ARG_TYPE,
       properties[ARG_TYPE]);
 
@@ -801,7 +802,9 @@
    */
   properties[ARG_MIXING] = g_param_spec_boolean ("mixing", "Mixing",
       "Whether layer mixing is activated on the track or not",
-      TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY);
+      TRUE,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY |
+      G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, ARG_MIXING,
       properties[ARG_MIXING]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-transition-clip.c 
new/gst-editing-services-1.26.2/ges/ges-transition-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-transition-clip.c   2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-transition-clip.c   2025-05-30 
00:56:43.000000000 +0200
@@ -284,7 +284,7 @@
           "The SMPTE video wipe to use, or 0 for crossfade",
           GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE,
           GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   GES_TIMELINE_ELEMENT_CLASS (klass)->lookup_child = _lookup_child;
   container_class->child_added = _child_added;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-uri-asset.c 
new/gst-editing-services-1.26.2/ges/ges-uri-asset.c
--- old/gst-editing-services-1.26.1/ges/ges-uri-asset.c 2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-uri-asset.c 2025-05-30 
00:56:43.000000000 +0200
@@ -287,7 +287,8 @@
    */
   properties[PROP_DURATION] =
       g_param_spec_uint64 ("duration", "Duration", "The duration to use", 0,
-      G_MAXUINT64, GST_CLOCK_TIME_NONE, G_PARAM_READWRITE);
+      G_MAXUINT64, GST_CLOCK_TIME_NONE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_DURATION,
       properties[PROP_DURATION]);
 
@@ -300,7 +301,8 @@
    */
   properties[PROP_IS_NESTED_TIMELINE] =
       g_param_spec_boolean ("is-nested-timeline", "Is nested timeline",
-      "Whether this is a nested timeline", FALSE, G_PARAM_READABLE);
+      "Whether this is a nested timeline", FALSE,
+      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_IS_NESTED_TIMELINE,
       properties[PROP_IS_NESTED_TIMELINE]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/ges-uri-clip.c 
new/gst-editing-services-1.26.2/ges/ges-uri-clip.c
--- old/gst-editing-services-1.26.1/ges/ges-uri-clip.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-uri-clip.c  2025-05-30 
00:56:43.000000000 +0200
@@ -157,7 +157,7 @@
    */
   g_object_class_install_property (object_class, PROP_URI,
       g_param_spec_string ("uri", "URI", "uri of the resource", NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   /**
    * GESUriClip:mute:
@@ -166,7 +166,8 @@
    */
   g_object_class_install_property (object_class, PROP_MUTE,
       g_param_spec_boolean ("mute", "Mute", "Mute audio track",
-          FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          FALSE,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /**
    * GESUriClip:is-image:
@@ -177,7 +178,8 @@
   g_object_class_install_property (object_class, PROP_IS_IMAGE,
       g_param_spec_boolean ("is-image", "Is still image",
           "Whether the clip represents a still image or not",
-          FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          FALSE,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   /* Redefine the supported formats property so the default value is UNKNOWN
    * and not AUDIO | VIDEO */
@@ -185,7 +187,7 @@
       g_param_spec_flags ("supported-formats",
           "Supported formats", "Formats supported by the file",
           GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_UNKNOWN,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
   element_class->set_max_duration = uri_clip_set_max_duration;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-video-transition.c 
new/gst-editing-services-1.26.2/ges/ges-video-transition.c
--- old/gst-editing-services-1.26.1/ges/ges-video-transition.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-video-transition.c  2025-05-30 
00:56:43.000000000 +0200
@@ -158,7 +158,7 @@
    */
   properties[PROP_BORDER] =
       g_param_spec_uint ("border", "Border", "The border width", 0,
-      G_MAXUINT, 0, G_PARAM_READWRITE);
+      G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_BORDER,
       properties[PROP_BORDER]);
 
@@ -172,7 +172,8 @@
   properties[PROP_TRANSITION_TYPE] =
       g_param_spec_enum ("transition-type", "Transition type",
       "The type of the transition", GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE,
-      GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE, G_PARAM_READWRITE);
+      GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_TRANSITION_TYPE,
       properties[PROP_TRANSITION_TYPE]);
 
@@ -185,7 +186,8 @@
    */
   properties[PROP_INVERT] =
       g_param_spec_boolean ("invert", "Invert",
-      "Whether the transition is inverted", FALSE, G_PARAM_READWRITE);
+      "Whether the transition is inverted", FALSE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_INVERT,
       properties[PROP_INVERT]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/ges/ges-video-uri-source.c 
new/gst-editing-services-1.26.2/ges/ges-video-uri-source.c
--- old/gst-editing-services-1.26.1/ges/ges-video-uri-source.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/ges-video-uri-source.c  2025-05-30 
00:56:43.000000000 +0200
@@ -122,13 +122,11 @@
   par_n = gst_discoverer_video_info_get_par_num (info);
   par_d = gst_discoverer_video_info_get_par_denom (info);
 
-  if (par_n > 0 && par_d > 0) {
-    if (*height % par_n == 0) {
+  if (par_n != par_d && par_n > 0 && par_d > 0) {
+    if (par_n < par_d) {
       *height = gst_util_uint64_scale_int (*height, par_d, par_n);
-    } else if (*width % par_d == 0) {
-      *height = gst_util_uint64_scale_int (*width, par_n, par_d);
     } else {
-      *width = gst_util_uint64_scale_int (*height, par_d, par_n);
+      *width = gst_util_uint64_scale_int (*width, par_n, par_d);
     }
   }
 
@@ -330,7 +328,8 @@
    */
   g_object_class_install_property (object_class, PROP_URI,
       g_param_spec_string ("uri", "URI", "uri of the resource",
-          NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+          NULL,
+          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | 
G_PARAM_STATIC_STRINGS));
 
   src_class->select_pad = ges_uri_source_select_pad;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/ges/gstframepositioner.c 
new/gst-editing-services-1.26.2/ges/gstframepositioner.c
--- old/gst-editing-services-1.26.1/ges/gstframepositioner.c    2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/ges/gstframepositioner.c    2025-05-30 
00:56:43.000000000 +0200
@@ -542,7 +542,7 @@
    */
   properties[PROP_ALPHA] =
       g_param_spec_double ("alpha", "alpha", "alpha of the stream", 0.0, 1.0,
-      1.0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE);
+      1.0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | 
G_PARAM_STATIC_STRINGS);
 
   /**
    * gstframepositioner:posx:
@@ -552,7 +552,8 @@
   properties[PROP_POSX] =
       g_param_spec_int ("posx", "posx", "x position of the stream",
       MIN_PIXELS, MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gstframepositioner:fposx:
@@ -562,7 +563,8 @@
   properties[PROP_FPOSX] =
       g_param_spec_float ("fposx", "fposx", "x position of the stream in 
float",
       MIN_PIXELS, MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gstframepositioner:posy:
@@ -572,7 +574,8 @@
   properties[PROP_POSY] =
       g_param_spec_int ("posy", "posy", "y position of the stream",
       MIN_PIXELS, MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
 
   /**
@@ -583,7 +586,8 @@
   properties[PROP_FPOSY] =
       g_param_spec_float ("fposy", "fposy", "y position of the stream in 
float",
       MIN_PIXELS, MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gstframepositioner:zorder:
@@ -592,7 +596,7 @@
    */
   properties[PROP_ZORDER] =
       g_param_spec_uint ("zorder", "zorder", "z order of the stream", 0,
-      G_MAXUINT, 0, G_PARAM_READWRITE);
+      G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
   /**
    * gesframepositioner:width:
@@ -603,7 +607,8 @@
   properties[PROP_WIDTH] =
       g_param_spec_int ("width", "width", "width of the source", 0,
       MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gesframepositioner:fwidth:
@@ -614,7 +619,8 @@
   properties[PROP_FWIDTH] =
       g_param_spec_float ("fwidth", "fwidth", "width of the source in float", 
0,
       MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gesframepositioner:height:
@@ -625,7 +631,8 @@
   properties[PROP_HEIGHT] =
       g_param_spec_int ("height", "height", "height of the source", 0,
       MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gesframepositioner:fheight:
@@ -636,7 +643,8 @@
   properties[PROP_FHEIGHT] =
       g_param_spec_float ("fheight", "fheight", "height of the source in 
float",
       0, MAX_PIXELS, 0,
-      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
+      G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION |
+      G_PARAM_STATIC_STRINGS);
 
   /**
    * gesframepositioner:operator:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/gst-editing-services.doap 
new/gst-editing-services-1.26.2/gst-editing-services.doap
--- old/gst-editing-services-1.26.1/gst-editing-services.doap   2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/gst-editing-services.doap   2025-05-30 
00:56:43.000000000 +0200
@@ -32,6 +32,16 @@
 
  <release>
   <Version>
+   <revision>1.26.2</revision>
+   <branch>1.26</branch>
+   <name></name>
+   <created>2025-05-29</created>
+   <file-release 
rdf:resource="https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.26.2.tar.xz";
 />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.26.1</revision>
    <branch>1.26</branch>
    <name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/meson.build 
new/gst-editing-services-1.26.2/meson.build
--- old/gst-editing-services-1.26.1/meson.build 2025-04-24 21:20:14.000000000 
+0200
+++ new/gst-editing-services-1.26.2/meson.build 2025-05-30 00:56:43.000000000 
+0200
@@ -1,5 +1,5 @@
 project('gst-editing-services', 'c',
-  version : '1.26.1',
+  version : '1.26.2',
   meson_version : '>= 1.4',
   default_options : [ 'warning_level=1',
                       'buildtype=debugoptimized' ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/plugins/ges/gesbasebin.c 
new/gst-editing-services-1.26.2/plugins/ges/gesbasebin.c
--- old/gst-editing-services-1.26.1/plugins/ges/gesbasebin.c    2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/ges/gesbasebin.c    2025-05-30 
00:56:43.000000000 +0200
@@ -303,6 +303,7 @@
     GstPad *proxy_pad, *tmppad, *pad =
         ges_timeline_get_pad_for_track (timeline, track);
     GstStaticPadTemplate *template;
+    GstPadTemplate *pad_template;
 
     if (!pad) {
       GST_WARNING_OBJECT (sbin, "No pad for track: %" GST_PTR_FORMAT, track);
@@ -318,6 +319,7 @@
       template = &video_src_template;
     } else {
       GST_INFO_OBJECT (sbin, "Track type not handled: %" GST_PTR_FORMAT, 
track);
+      gst_object_unref (pad);
       continue;
     }
 
@@ -328,6 +330,7 @@
     if (!gst_bin_add (sbin, queue)) {
       g_free (name);
       gst_object_unref (queue);
+      gst_object_unref (pad);
       continue;
     }
 
@@ -341,14 +344,17 @@
       g_free (name);
       gst_object_unref (tmppad);
       gst_bin_remove (sbin, queue);
+      gst_object_unref (pad);
       continue;
     }
 
     gst_object_unref (tmppad);
+
+    pad_template = gst_static_pad_template_get (template);
     tmppad = gst_element_get_static_pad (queue, "src");
-    gpad = gst_ghost_pad_new_from_template (name, tmppad,
-        gst_static_pad_template_get (template));
+    gpad = gst_ghost_pad_new_from_template (name, tmppad, pad_template);
     gst_object_unref (tmppad);
+    gst_object_unref (pad_template);
     g_free (name);
 
     gst_pad_set_active (gpad, TRUE);
@@ -367,6 +373,7 @@
     gst_pad_set_chain_function (proxy_pad, ges_base_bin_src_chain);
     gst_pad_set_event_function (proxy_pad, ges_base_bin_event);
     gst_object_unref (proxy_pad);
+    gst_object_unref (pad);
 
     GST_DEBUG_OBJECT (sbin,
         "Added pad: %" GST_PTR_FORMAT " for track %" GST_PTR_FORMAT, gpad,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/plugins/ges/gessrc.c 
new/gst-editing-services-1.26.2/plugins/ges/gessrc.c
--- old/gst-editing-services-1.26.1/plugins/ges/gessrc.c        2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/ges/gessrc.c        2025-05-30 
00:56:43.000000000 +0200
@@ -106,12 +106,15 @@
   GstUri *uri = gst_uri_from_string (uristr);
   GESProject *project = NULL;
   GESTimeline *timeline = NULL;
+  gchar *path;
 
-  if (!gst_uri_get_path (uri)) {
+  path = gst_uri_get_path (uri);
+  if (!path) {
     GST_INFO_OBJECT (handler, "User need to specify the timeline");
     res = TRUE;
     goto done;
   }
+  g_free (path);
 
   project = ges_project_new (uristr);
   timeline = (GESTimeline *) ges_asset_extract (GES_ASSET (project), NULL);
@@ -146,10 +149,23 @@
     G_IMPLEMENT_INTERFACE (GST_TYPE_URI_HANDLER, ges_src_uri_handler_init));
 
 static void
+ges_src_finalize (GObject * object)
+{
+  GESSrc *self = GES_SRC (object);
+
+  g_free (self->uri);
+
+  G_OBJECT_CLASS (ges_src_parent_class)->finalize (object);
+}
+
+static void
 ges_src_class_init (GESSrcClass * self_class)
 {
+  GObjectClass *gobject_class = G_OBJECT_CLASS (self_class);
   GstElementClass *gstelement_klass = GST_ELEMENT_CLASS (self_class);
 
+  gobject_class->finalize = ges_src_finalize;
+
   GST_DEBUG_CATEGORY_INIT (gessrc, "gessrc", 0, "ges src element");
   gst_element_class_set_static_metadata (gstelement_klass,
       "GStreamer Editing Services based 'source'",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/plugins/nle/nleobject.c 
new/gst-editing-services-1.26.2/plugins/nle/nleobject.c
--- old/gst-editing-services-1.26.1/plugins/nle/nleobject.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/nle/nleobject.c     2025-05-30 
00:56:43.000000000 +0200
@@ -195,7 +195,7 @@
    */
   properties[PROP_START] = g_param_spec_uint64 ("start", "Start",
       "The start position relative to the parent (in nanoseconds)",
-      0, G_MAXUINT64, 0, G_PARAM_READWRITE);
+      0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_START,
       properties[PROP_START]);
 
@@ -206,7 +206,7 @@
    */
   properties[PROP_DURATION] = g_param_spec_int64 ("duration", "Duration",
       "Outgoing duration (in nanoseconds)", 0, G_MAXINT64, 0,
-      G_PARAM_READWRITE);
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_DURATION,
       properties[PROP_DURATION]);
 
@@ -219,7 +219,7 @@
    */
   properties[PROP_STOP] = g_param_spec_uint64 ("stop", "Stop",
       "The stop position relative to the parent (in nanoseconds)",
-      0, G_MAXUINT64, 0, G_PARAM_READABLE);
+      0, G_MAXUINT64, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_STOP,
       properties[PROP_STOP]);
 
@@ -234,7 +234,7 @@
   properties[PROP_INPOINT] =
       g_param_spec_uint64 ("inpoint", "Media start",
       "The media start position (in nanoseconds)", 0, G_MAXUINT64,
-      GST_CLOCK_TIME_NONE, G_PARAM_READWRITE);
+      GST_CLOCK_TIME_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_INPOINT,
       properties[PROP_INPOINT]);
 
@@ -254,7 +254,7 @@
    */
   properties[PROP_PRIORITY] = g_param_spec_uint ("priority", "Priority",
       "The priority of the object (0 = highest priority)", 0, G_MAXUINT, 0,
-      G_PARAM_READWRITE);
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_PRIORITY,
       properties[PROP_PRIORITY]);
 
@@ -266,7 +266,8 @@
    * Set to #TRUE to temporarily disable this object in a #NleComposition.
    */
   properties[PROP_ACTIVE] = g_param_spec_boolean ("active", "Active",
-      "Use this object in the NleComposition", TRUE, G_PARAM_READWRITE);
+      "Use this object in the NleComposition", TRUE,
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_ACTIVE,
       properties[PROP_ACTIVE]);
 
@@ -282,7 +283,7 @@
    */
   properties[PROP_CAPS] = g_param_spec_boxed ("caps", "Caps",
       "Caps used to filter/choose the output stream",
-      GST_TYPE_CAPS, G_PARAM_READWRITE);
+      GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_CAPS,
       properties[PROP_CAPS]);
 
@@ -295,7 +296,7 @@
   properties[PROP_EXPANDABLE] =
       g_param_spec_boolean ("expandable", "Expandable",
       "Expand to the full duration of the container composition", FALSE,
-      G_PARAM_READWRITE);
+      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_EXPANDABLE,
       properties[PROP_EXPANDABLE]);
 
@@ -314,7 +315,7 @@
   properties[PROP_MEDIA_DURATION_FACTOR] =
       g_param_spec_double ("media-duration-factor", "Media duration factor",
       "The relative rate caused by this object", 0.01, G_MAXDOUBLE,
-      1.0, G_PARAM_READWRITE | G_PARAM_DEPRECATED);
+      1.0, G_PARAM_READWRITE | G_PARAM_DEPRECATED | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (gobject_class, PROP_MEDIA_DURATION_FACTOR,
       properties[PROP_MEDIA_DURATION_FACTOR]);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/plugins/nle/nleoperation.c 
new/gst-editing-services-1.26.2/plugins/nle/nleoperation.c
--- old/gst-editing-services-1.26.1/plugins/nle/nleoperation.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/nle/nleoperation.c  2025-05-30 
00:56:43.000000000 +0200
@@ -176,7 +176,7 @@
   g_object_class_install_property (gobject_class, ARG_SINKS,
       g_param_spec_int ("sinks", "Sinks",
           "Number of input sinks (-1 for automatic handling)", -1, G_MAXINT, 
-1,
-          G_PARAM_READWRITE));
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   /**
    * NleOperation:input-priority-changed:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gst-editing-services-1.26.1/plugins/nle/nlesource.c 
new/gst-editing-services-1.26.2/plugins/nle/nlesource.c
--- old/gst-editing-services-1.26.1/plugins/nle/nlesource.c     2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/nle/nlesource.c     2025-05-30 
00:56:43.000000000 +0200
@@ -168,7 +168,7 @@
   g_object_class_install_property (gobject_class, PROP_REVERSE,
       g_param_spec_boolean ("reverse", "Reverse",
           "Whether to playback the source reverse or not", FALSE,
-          G_PARAM_READWRITE));
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_set_static_metadata (gstelement_class, "GNonLin Source",
       "Filter/Editor",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/plugins/nle/nleurisource.c 
new/gst-editing-services-1.26.2/plugins/nle/nleurisource.c
--- old/gst-editing-services-1.26.1/plugins/nle/nleurisource.c  2025-04-24 
21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/plugins/nle/nleurisource.c  2025-05-30 
00:56:43.000000000 +0200
@@ -85,7 +85,8 @@
 
   g_object_class_install_property (gobject_class, ARG_URI,
       g_param_spec_string ("uri", "Uri",
-          "Uri of the file to use", NULL, G_PARAM_READWRITE));
+          "Uri of the file to use", NULL,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   gst_element_class_add_static_pad_template (gstelement_class,
       &nle_urisource_src_template);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gst-editing-services-1.26.1/tests/check/python/test_assets.py 
new/gst-editing-services-1.26.2/tests/check/python/test_assets.py
--- old/gst-editing-services-1.26.1/tests/check/python/test_assets.py   
2025-04-24 21:20:14.000000000 +0200
+++ new/gst-editing-services-1.26.2/tests/check/python/test_assets.py   
2025-05-30 00:56:43.000000000 +0200
@@ -97,7 +97,7 @@
         xges = """<ges version='0.3'>
             <project properties='properties;' metadatas='metadatas;'>
                 <ressources>
-                    <asset id='%(uri)s' extractable-type-name='GESUriClip' 
properties='properties, supported-formats=(int)6, 
duration=(guint64)2003000000;' metadatas='metadatas, 
container-format=(string)Matroska, language-code=(string)und, 
application-name=(string)Lavc56.60.100, encoder-version=(uint)0, 
audio-codec=(string)Vorbis, nominal-bitrate=(uint)80000, bitrate=(uint)80000, 
video-codec=(string)&quot;On2\ VP8&quot;, file-size=(guint64)223340, 
foo=(string)bar;' >
+                    <asset id='%(uri)s' extractable-type-name='GESUriClip' 
properties='properties, supported-formats=(int)6, 
duration=(guint64)2003000000;' metadatas='metadatas, 
container-format=(string)Matroska, language-code=(string)und, 
application-name=(string)Lavc56.60.100, encoder-version=(uint)0, 
audio-codec=(string)Vorbis, nominal-bitrate=(uint)80000, bitrate=(uint)80000, 
video-codec=(string)&quot;On2 VP8&quot;, file-size=(guint64)223340, 
foo=(string)bar;' >
                     </asset>
                 </ressources>
             </project>

Reply via email to