Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer for openSUSE:Factory checked in at 2025-12-31 10:46:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer (Old) and /work/SRC/openSUSE:Factory/.gstreamer.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer" Wed Dec 31 10:46:21 2025 rev:118 rq:1324796 version:1.26.10 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer/gstreamer.changes 2025-12-10 15:29:37.435947531 +0100 +++ /work/SRC/openSUSE:Factory/.gstreamer.new.1928/gstreamer.changes 2025-12-31 10:46:27.332097032 +0100 @@ -1,0 +2,35 @@ +Tue Dec 30 09:33:55 UTC 2025 - Bjørn Lie <[email protected]> + +- Update to version 1.26.10: + + Highlighted bugfixes: + - curlhttpsrc fixes and improvements + - decklinkvideosink: Fix frame completion callbacks for + firmware 14.3+ + - flac: Fix 6.1 and 7.1 channel layouts and support encoding + and decoding of 32-bit audio + - glimagesink: Fix handling of odd height buffers + - matroskademux: make maximum allowed block size large enough + to support 4k uncompressed video + - mxf: Add support for custom Sony XDCAM video variant + - opusenc: multichannel and surround sound handling + improvements + - playbin3: HLS/DASH stream selection handling improvements to + fix disabling and re-enabling of audio/video streams with + adaptivedemux2 + - qtmux: robust recording mode space left estimation fixes for + streams that start with a timestamp offset + - splitmuxsrc seeking improvements + - Support FLAC audio in DASH manifests + - Python bindings: fix regression where buffers were no longer + writable in pad probe callbacks + - cerbero: add python bindings for GstApp; Windows installer + improvements + - Various bug fixes, build fixes, memory leak fixes, and other + stability and reliability improvements + + gstreamer: + - pipeline: Improve resource cleanup logic for clock objects + - filesink: fix the build with recent mingw-w64 + - basetransform, basesrc: Fix handling of buffer pool + configuration failures + +------------------------------------------------------------------- Old: ---- gstreamer-1.26.9.obscpio New: ---- gstreamer-1.26.10.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer.spec ++++++ --- /var/tmp/diff_new_pack.QY82Pv/_old 2025-12-31 10:46:28.156130835 +0100 +++ /var/tmp/diff_new_pack.QY82Pv/_new 2025-12-31 10:46:28.156130835 +0100 @@ -19,7 +19,7 @@ %define gst_branch 1.0 Name: gstreamer -Version: 1.26.9 +Version: 1.26.10 Release: 0 Summary: Streaming-Media Framework Runtime License: LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.QY82Pv/_old 2025-12-31 10:46:28.192132312 +0100 +++ /var/tmp/diff_new_pack.QY82Pv/_new 2025-12-31 10:46:28.196132476 +0100 @@ -5,7 +5,7 @@ <param name="url">https://gitlab.freedesktop.org/gstreamer/gstreamer.git</param> <param name="subdir">subprojects/gstreamer</param> <param name="filename">gstreamer</param> - <param name="revision">1.26.9</param> + <param name="revision">1.26.10</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">v?(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ gstreamer-1.26.9.obscpio -> gstreamer-1.26.10.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/NEWS new/gstreamer-1.26.10/NEWS --- old/gstreamer-1.26.9/NEWS 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/NEWS 2025-12-25 15:44:26.000000000 +0100 @@ -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.9 and was released on 01 December 2025. +The latest bug-fix release in the stable 1.26 series is 1.26.10 and was released on 25 December 2025 See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of this document. -Last updated: Monday 01 December 2025, 17:00 UTC (log) +Last updated: Thursday 25 December 2025, 15:00 UTC (log) ## Introduction @@ -3120,6 +3120,191 @@ - List of Merge Requests applied in 1.26.9 - List of Issues fixed in 1.26.9 +1.26.10 + +The tenth 1.26 bug-fix release (1.26.10) was released on 25 December 2025. + +This release only contains bugfixes and it should be safe to update from 1.26.x. + +Highlighted bugfixes in 1.26.10 + +- curlhttpsrc fixes and improvements +- decklinkvideosink: Fix frame completion callbacks for firmware 14.3+ +- flac: Fix 6.1 and 7.1 channel layouts and support encoding and decoding of 32-bit audio +- glimagesink: Fix handling of odd height buffers +- matroskademux: make maximum allowed block size large enough to support 4k uncompressed video +- mxf: Add support for custom Sony XDCAM video variant +- opusenc: multichannel and surround sound handling improvements +- playbin3: HLS/DASH stream selection handling improvements to fix disabling and re-enabling of audio/video streams with + adaptivedemux2 +- qtmux: robust recording mode space left estimation fixes for streams that start with a timestamp offset +- splitmuxsrc seeking improvements +- Support FLAC audio in DASH manifests +- Python bindings: fix regression where buffers were no longer writable in pad probe callbacks +- cerbero: add python bindings for GstApp; Windows installer improvements +- Various bug fixes,build fixes,memory leak fixes,and other stability and reliability improvements + +gstreamer + +- pipeline: Improve resource cleanup logic for clock objects +- filesink: fix the build with recent mingw-w64 +- basetransform, basesrc: Fix handling of buffer pool configuration failures + +gst-plugins-base + +- basetextoverlay: Don’t negotiate if caps haven’t changed +- codec-utils: Update mime codec strings +- fdmemory: Fix size calculation when sharing +- gl elements add a yellow bar on JPEGs with non-even heights +- glimagesink: Fix handling of odd height buffers +- glwindow_cocoa: fix window not closing (w/o user window handle) +- opusenc: Simplify Vorbis channel layout mapping code and fix 7.1 layout & use surround multistream encoder +- parsebin: Improve debug logging +- playbin3: ensure GST_EVENT_SELECT_STREAMS event is sent to collection source +- tagdemux: propagate seek event seqnum to upstream +- videodecoder: Don’t assume the ALLOCATION query contains a pool +- videodecoder, videoaggregator: Fix handling of buffer pool configuration failures + +gst-plugins-good + +- adaptivedemux2: Initialize start bitrate for dashdemux2 and hlsdemux2 +- dashdemux2: Unknown codec ‘flac’ when streaming a DASH MPD manifest with a mp4 FLAC file +- deinterlace: Improve pool configuration +- flac: Fix 6.1 / 7.1 channel layouts +- flacdec: Don’t forbid S32 sample size (0x07) unnecessarily +- flacenc: Support S32 samples +- flacdec: Decode 32-bit FLAC files +- level: fix crash if no caps have been sent +- level: Floating point exception (core dumped) when sending buffers without caps +- matroskademux: Bump maximum block size from 15MB to 32MB to allow 4k raw video +- matroskamux: Fix some more thread-safety issues +- matroskamux: Fix thread-safety issues when requesting new pads +- matroskamux: pad->track handling results in segmentation fault +- mxfdemux / aiffparse / matroskaparse: Remove segment closing on non-flushing seeks +- qtdemux: Use gst_util_uint64_scale to scale guint64 +- qtmux: Fix robust recording estimates +- splitmuxsrc - fix for seeking / flushing deadlock +- v4l2object: Add support for colorimetry 1:4:16:3 +- wavenc: Fix downstream negotiation +- wavparse: prevent setting empty strings as title tag + +gst-plugins-bad + +- aesenc / aesdec: use correct format specifier for buffer size in debug log +- analytics: Fix build on MSVC by using libm dependency +- curlhttpsrc: Various fixes +- decklinkvideosink: Fix frame completion callbacks for firmware 14.3+ +- dtlsdec: mark generated cert agent with GST_OBJECT_FLAG_MAY_BE_LEAKED +- fdkaacdec: Assertion on handling unsupported channel layouts +- fdkaacdec: Invalidate channel_types/indices when setting a known config +- hlssink: Guard NULL structure and use gst_structure_has_name() +- midiparse: Fix a couple of potential out-of-bounds reads +- mpegtsmux: Fix potential deadlock changing pmt-interval +- mxfdemux: reconsider “closing running segment” for non flushing seeks +- mxfdemux / aiffparse / matroskaparse: Remove segment closing on non-flushing seeks +- mxfdemux: Simplify timestamp tracking +- mxfdemux: send event SegmentDone for segment seeks +- mxfmpeg: Add custom Sony picture essence coding UL +- playbin3: ensure GST_EVENT_SELECT_STREAMS event is sent to collection source +- vabasedec: Don’t assert when negotiating based on a gap event before the first buffer +- vkformat: Add VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 format +- webrtc: Keep a ref of the ICEStream in the TransportStream +- GstPlay: set_audio_track_enabled / set_video_track_enabled not functioning for adaptivedemux2 sources +- video: decoders: Fix possible crash when flushing H265/H266 decoder + +gst-plugins-ugly + +- No changes + +GStreamer Rust plugins + +- cctost2038anc: Fix typo with c_not_y_channel property documentation +- dav1d: Stop iteration after finding first working pool +- dav1d: Various fixes to allocation query handling +- gtk4paintablesink: Propose a udmabuf pool / allocator if upstream asks for sysmem +- gtk4: Fix typo in odd-size subsample workaround +- rtp: Update to rtcp-types 0.3 +- st2038combiner: Some fixes +- st2038extractor: Add always-add-st2038-pad property +- threadshare: allow disabling the IPv4 or IPv6 socket in ts-udpsink +- threadshare: Update to flume 0.12 +- tracers: add function and signal for writing logs to PadPushTimings +- version-helper: Update to toml_edit 0.24 +- webrtc: mark static caps with GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED +- webrtcsink: don’t upscale when mitigating low bitrate +- Fix new clippy 1.92 warnings +- Update dependencies + +gst-libav + +- avviddec: Various fixes to allocation query handling +- avviddec: Aggregate GstVideoAlignment on top of the meta api params, instead of overriding them +- avviddec: Set video alignment to internal pool + +gst-rtsp-server + +- No changes + +gstreamer-vaapi + +- No changes + +gstreamer-sharp + +- No changes + +gst-python + +- Override GstPadProbeInfo to get writable objects +- Misc improvements +- More typing fixes +- 1.26.2 breaks Python bindings: No longer able to modify Gst.Buffer metadata in pad probe callbacks + +gst-editing-services + +- python: More typing fixes + +gst-devtools,gst-validate + gst-integration-testsuites + +- dotsviewer: Update Rust dependencies + +gst-examples + +- webrtc: Update Rust dependencies + +gstreamer-docs + +- No changes + +Development build environment + +- No changes + +Cerbero build tool and packaging changes in 1.26.10 + +- pkg-config: Ship it in the devel package +- recipe: Update License enums to SPDX expressions +- recipes: Fix GPL categorization of some plugins +- recipes: Fix stray devel files making it into runtime +- recipes: add GstApp python binding +- Modernize MSI license.rtf formatting +- Use ninja for all cmake recipes by default instead of GNU make +- ci: Mark a racy xcode toolchain bug for retrying + +Contributors to 1.26.10 + +Aaron Boxer, Brad Reitmeyer, Christoph Reiter, Doug Nazar, F. Duncanh, François Laignel, Haejung Hwang, Hou Qi, Hyunjun Ko, +Jakub Adam, Jan Schmidt, Jeongmin Kwak, Jerome Colle, L. E. Segovia, Mathieu Duponchelle, Nicolas Dufresne, Nirbheek Chauhan, +Philippe Normand, Piotr Brzeziński, Pratik Pachange, Robert Mader, Sanchayan Maity, Sebastian Dröge, Stéphane Cerveau, Thibault +Saunier, Tim-Philipp Müller, Tobias Schlager, Vivia Nikolaidou, Wilhelm Bartel, Xavier Claessens, Yun Liu, + +… 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.10 + +- List of Merge Requests applied in 1.26.10 +- List of Issues fixed in 1.26.10 + 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/gstreamer-1.26.9/RELEASE new/gstreamer-1.26.10/RELEASE --- old/gstreamer-1.26.9/RELEASE 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/RELEASE 2025-12-25 15:44:26.000000000 +0100 @@ -1,4 +1,4 @@ -This is GStreamer core 1.26.9. +This is GStreamer core 1.26.10. 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/gstreamer-1.26.9/gst/gstpipeline.c new/gstreamer-1.26.10/gst/gstpipeline.c --- old/gstreamer-1.26.9/gst/gstpipeline.c 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/gst/gstpipeline.c 2025-12-25 15:44:26.000000000 +0100 @@ -400,7 +400,6 @@ { GstStateChangeReturn result = GST_STATE_CHANGE_SUCCESS; GstPipeline *pipeline = GST_PIPELINE_CAST (element); - GstClock *clock; switch (transition) { case GST_STATE_CHANGE_NULL_TO_NULL: @@ -452,6 +451,7 @@ /* only do this for top-level, however */ if (GST_OBJECT_PARENT (element) == NULL && (update_clock || last_start_time != start_time)) { + GstClock *clock = NULL; GST_DEBUG_OBJECT (pipeline, "Need to update start_time"); /* when going to PLAYING, select a clock when needed. If we just got @@ -464,8 +464,7 @@ "Don't need to update clock, using old clock."); /* only try to ref if cur_clock is not NULL */ if (cur_clock) - gst_object_ref (cur_clock); - clock = cur_clock; + clock = gst_object_ref (cur_clock); } if (clock) { @@ -479,8 +478,17 @@ /* now distribute the clock (which could be NULL). If some * element refuses the clock, this will return FALSE and * we effectively fail the state change. */ - if (!gst_element_set_clock (element, clock)) - goto invalid_clock; + if (!gst_element_set_clock (element, clock)) { + /* selected clock was not accepted by some element */ + GST_ELEMENT_ERROR (pipeline, CORE, CLOCK, + (_("Selected clock cannot be used in pipeline.")), + ("Pipeline cannot operate with selected clock")); + GST_DEBUG_OBJECT (pipeline, + "Pipeline cannot operate with selected clock %p", clock); + gst_clear_object (&clock); + gst_clear_object (&cur_clock); + return GST_STATE_CHANGE_FAILURE; + } /* if we selected and distributed a new clock, let the app * know about it */ @@ -488,8 +496,7 @@ gst_message_new_new_clock (GST_OBJECT_CAST (element), clock)); } - if (clock) - gst_object_unref (clock); + gst_clear_object (&clock); if (start_time != GST_CLOCK_TIME_NONE && now != GST_CLOCK_TIME_NONE) { GstClockTime new_base_time = now - start_time + delay; @@ -509,8 +516,7 @@ "NOT adjusting base_time because we selected one before"); } - if (cur_clock) - gst_object_unref (cur_clock); + gst_clear_object (&cur_clock); break; } case GST_STATE_CHANGE_PLAYING_TO_PAUSED: @@ -590,21 +596,6 @@ } } return result; - - /* ERRORS */ -invalid_clock: - { - /* we generate this error when the selected clock was not - * accepted by some element */ - GST_ELEMENT_ERROR (pipeline, CORE, CLOCK, - (_("Selected clock cannot be used in pipeline.")), - ("Pipeline cannot operate with selected clock")); - GST_DEBUG_OBJECT (pipeline, - "Pipeline cannot operate with selected clock %p", clock); - if (clock) - gst_object_unref (clock); - return GST_STATE_CHANGE_FAILURE; - } } /* intercept the bus messages from our children. We watch for the ASYNC_START diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/gstreamer.doap new/gstreamer-1.26.10/gstreamer.doap --- old/gstreamer-1.26.9/gstreamer.doap 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/gstreamer.doap 2025-12-25 15:44:26.000000000 +0100 @@ -40,6 +40,16 @@ <release> <Version> + <revision>1.26.10</revision> + <branch>1.26</branch> + <name></name> + <created>2025-12-25</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.26.10.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.26.9</revision> <branch>1.26</branch> <name></name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/libs/gst/base/gstbasesrc.c new/gstreamer-1.26.10/libs/gst/base/gstbasesrc.c --- old/gstreamer-1.26.9/libs/gst/base/gstbasesrc.c 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/libs/gst/base/gstbasesrc.c 2025-12-25 15:44:26.000000000 +0100 @@ -3313,16 +3313,23 @@ /* If change are not acceptable, fallback to generic pool */ if (!gst_buffer_pool_config_validate_params (config, outcaps, size, min, max)) { + gst_structure_free (config); + gst_clear_object (&pool); + } else if (!gst_buffer_pool_set_config (pool, config)) { + gst_clear_object (&pool); + } + + if (!pool) { GST_DEBUG_OBJECT (basesrc, "unsupported pool, making new pool"); - gst_object_unref (pool); pool = gst_buffer_pool_new (); + config = gst_buffer_pool_get_config (pool); gst_buffer_pool_config_set_params (config, outcaps, size, min, max); gst_buffer_pool_config_set_allocator (config, allocator, ¶ms); - } - if (!gst_buffer_pool_set_config (pool, config)) - goto config_failed; + if (!gst_buffer_pool_set_config (pool, config)) + goto config_failed; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/libs/gst/base/gstbasetransform.c new/gstreamer-1.26.10/libs/gst/base/gstbasetransform.c --- old/gstreamer-1.26.9/libs/gst/base/gstbasetransform.c 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/libs/gst/base/gstbasetransform.c 2025-12-25 15:44:26.000000000 +0100 @@ -874,16 +874,23 @@ /* If change are not acceptable, fallback to generic pool */ if (!gst_buffer_pool_config_validate_params (config, outcaps, size, min, max)) { + gst_structure_free (config); + gst_clear_object (&pool); + } else if (!gst_buffer_pool_set_config (pool, config)) { + gst_clear_object (&pool); + } + + if (!pool) { GST_DEBUG_OBJECT (trans, "unsupported pool, making new pool"); - gst_object_unref (pool); pool = gst_buffer_pool_new (); + config = gst_buffer_pool_get_config (pool); gst_buffer_pool_config_set_params (config, outcaps, size, min, max); gst_buffer_pool_config_set_allocator (config, allocator, ¶ms); - } - if (!gst_buffer_pool_set_config (pool, config)) - goto config_failed; + if (!gst_buffer_pool_set_config (pool, config)) + goto config_failed; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/meson.build new/gstreamer-1.26.10/meson.build --- old/gstreamer-1.26.9/meson.build 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/meson.build 2025-12-25 15:44:26.000000000 +0100 @@ -1,5 +1,5 @@ project('gstreamer', 'c', - version : '1.26.9', + version : '1.26.10', meson_version : '>= 1.4', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.26.9/plugins/elements/gstfilesink.c new/gstreamer-1.26.10/plugins/elements/gstfilesink.c --- old/gstreamer-1.26.9/plugins/elements/gstfilesink.c 2025-12-01 18:27:07.000000000 +0100 +++ new/gstreamer-1.26.10/plugins/elements/gstfilesink.c 2025-12-25 15:44:26.000000000 +0100 @@ -52,6 +52,11 @@ #include <sys/types.h> #include <fcntl.h> +#include <sys/stat.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + #ifdef G_OS_WIN32 #include <io.h> /* lseek, open, close, read */ #undef lseek @@ -67,11 +72,6 @@ #endif #endif -#include <sys/stat.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - #include "gstelements_private.h" #include "gstfilesink.h" #include "gstcoreelementselements.h" ++++++ gstreamer.obsinfo ++++++ --- /var/tmp/diff_new_pack.QY82Pv/_old 2025-12-31 10:46:29.372180718 +0100 +++ /var/tmp/diff_new_pack.QY82Pv/_new 2025-12-31 10:46:29.384181210 +0100 @@ -1,5 +1,5 @@ name: gstreamer -version: 1.26.9 -mtime: 1764610027 -commit: f313fae193089408e278c0dd3450145e5a12307b +version: 1.26.10 +mtime: 1766673866 +commit: bfdc62185e243d3633aa916187a566d03a587792
