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)"On2\ VP8", 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)"On2 VP8", file-size=(guint64)223340, foo=(string)bar;' > </asset> </ressources> </project>