Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer-plugins-base for openSUSE:Factory checked in at 2024-09-25 21:51:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-base (Old) and /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.29891 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-base" Wed Sep 25 21:51:23 2024 rev:108 rq:1203296 version:1.24.8 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer-plugins-base/gstreamer-plugins-base.changes 2024-08-25 12:10:21.339929769 +0200 +++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.29891/gstreamer-plugins-base.changes 2024-09-25 21:51:27.827718268 +0200 @@ -1,0 +2,14 @@ +Mon Sep 23 13:08:20 UTC 2024 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 1.24.8: + + decodebin3: Fix collection identity check + + encodebin: Fix pad removal + + glimagesink: Fix cannot resize viewport when video size changed + in caps + + video: Don't overshoot QoS earliest time by a factor of 2 + + meson: gst-play: link to libm +- Drop gst-plugins-base-decodebin3-collection-identity-check.patch: + Fixed upstream. +- Rebase add_wayland_dep_to_tests.patch with quilt. + +------------------------------------------------------------------- Old: ---- gst-plugins-base-1.24.7.tar.xz gst-plugins-base-decodebin3-collection-identity-check.patch New: ---- gst-plugins-base-1.24.8.tar.xz BETA DEBUG BEGIN: Old: + meson: gst-play: link to libm - Drop gst-plugins-base-decodebin3-collection-identity-check.patch: Fixed upstream. BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer-plugins-base.spec ++++++ --- /var/tmp/diff_new_pack.FHHmBr/_old 2024-09-25 21:51:28.547748259 +0200 +++ /var/tmp/diff_new_pack.FHHmBr/_new 2024-09-25 21:51:28.551748427 +0200 @@ -20,7 +20,7 @@ %define gst_branch 1.0 %define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//") Name: gstreamer-plugins-base -Version: 1.24.7 +Version: 1.24.8 Release: 0 Summary: GStreamer Streaming-Media Framework Plug-Ins License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -31,7 +31,6 @@ Source2: baselibs.conf Patch1: add_wayland_dep_to_tests.patch Patch2: MR-221-video-anc-add-two-new-CEA-608-caption-formats.patch -Patch3: gst-plugins-base-decodebin3-collection-identity-check.patch BuildRequires: Mesa-libGLESv3-devel BuildRequires: cdparanoia-devel ++++++ add_wayland_dep_to_tests.patch ++++++ --- /var/tmp/diff_new_pack.FHHmBr/_old 2024-09-25 21:51:28.575749426 +0200 +++ /var/tmp/diff_new_pack.FHHmBr/_new 2024-09-25 21:51:28.579749593 +0200 @@ -1,8 +1,8 @@ -Index: gst-plugins-base-1.24.5/tests/check/meson.build +Index: gst-plugins-base-1.24.8/tests/check/meson.build =================================================================== ---- gst-plugins-base-1.24.5.orig/tests/check/meson.build -+++ gst-plugins-base-1.24.5/tests/check/meson.build -@@ -138,7 +138,7 @@ if build_gstgl +--- gst-plugins-base-1.24.8.orig/tests/check/meson.build ++++ gst-plugins-base-1.24.8/tests/check/meson.build +@@ -133,7 +133,7 @@ if build_gstgl test_defines += ['-DTEST_GST_GL_ABI_CHECK'] endif ++++++ gst-plugins-base-1.24.7.tar.xz -> gst-plugins-base-1.24.8.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/ChangeLog new/gst-plugins-base-1.24.8/ChangeLog --- old/gst-plugins-base-1.24.7/ChangeLog 2024-08-21 13:26:04.814365600 +0200 +++ new/gst-plugins-base-1.24.8/ChangeLog 2024-09-19 12:01:58.432492700 +0200 @@ -1,3 +1,69 @@ +=== release 1.24.8 === + +2024-09-19 12:01:21 +0200 Tim-Philipp Müller <t...@centricular.com> + + * NEWS: + * RELEASE: + * gst-plugins-base.doap: + * meson.build: + Release 1.24.8 + +2024-04-17 09:46:35 +0200 Edward Hervey <edw...@centricular.com> + + * gst/encoding/gstencodebasebin.c: + encodebin: Fix pad removal for encodebin vs encodebin2 + Clarify the fact that `encodebasebin->src_pad` is set when using a static source + pad (`encodebin`) and when not set it's dynamically added source + pads (`encodebin2`). + Fixes usage of encodebin2 when profiles are updated + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7523> + +2024-09-05 22:07:24 +0300 Sebastian Dröge <sebast...@centricular.com> + + * gst-libs/gst/pbutils/gstaudiovisualizer.c: + * gst-libs/gst/video/gstvideoaggregator.c: + * gst-libs/gst/video/gstvideodecoder.c: + * gst-libs/gst/video/gstvideoencoder.c: + video: Don't overshoot QoS earliest time by a factor of 2 + By setting the earliest time to timestamp + 2 * diff there would be a difference + of 1 * diff between the current clock time and the earliest time the element + would let through in the future. If e.g. a frame is arriving 30s late at the + sink, then not just all frames up to that point would be dropped but also 30s of + frames after the current clock time. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7518> + +2024-09-10 21:25:42 +0200 Carlos Bentzen <cadubent...@igalia.com> + + * tools/meson.build: + meson: gst-play: link to libm + gst-play.c depends on libm due to using `round`. + Passing by, correct identation of `gst_tools` definition. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7501> + +2024-08-13 12:07:12 +0900 Chao Guo <chao....@nxp.com> + + * ext/gl/gstglimagesink.c: + * ext/gl/gstglimagesink.h: + glimagesink: resize viewport when video size changed in caps + When re-negotiation happends and caps is changed, resize the + viewport to the corresponding video size in changed caps. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7450> + +2024-08-21 16:29:03 +0200 Edward Hervey <edw...@centricular.com> + + * gst/playback/gstdecodebin3.c: + decodebin3: Fix collection identity check + Collections can be auto-generated from upstream and yet have exactly the same + streams in it. + Therefore do a more in-depth check for equality. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3742 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7402> + +2024-08-21 12:33:28 +0100 Tim-Philipp Müller <t...@centricular.com> + + * meson.build: + Back to development after 1.24.7 + === release 1.24.7 === 2024-08-21 12:25:15 +0100 Tim-Philipp Müller <t...@centricular.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/NEWS new/gst-plugins-base-1.24.8/NEWS --- old/gst-plugins-base-1.24.7/NEWS 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/NEWS 2024-09-19 12:01:21.000000000 +0200 @@ -2,11 +2,11 @@ GStreamer 1.24.0 was originally released on 4 March 2024. -The latest bug-fix release in the stable 1.24 series is 1.24.6 and was released on 21 August 2024. +The latest bug-fix release in the stable 1.24 series is 1.24.8 and was released on 19 September 2024. See https://gstreamer.freedesktop.org/releases/1.24/ for the latest version of this document. -Last updated: Tuesday 20 August 2024, 20:30 UTC (log) +Last updated: Thursday 19 September 2024, 00:30 UTC (log) ## Introduction @@ -2416,6 +2416,137 @@ - List of Merge Requests applied in 1.24.7 - List of Issues fixed in 1.24.7 +1.24.8 + +The eigth 1.24 bug-fix release (1.24.8) was released on 19 September 2024. + +This release only contains bugfixes and it should be safe to update from 1.24.x. + +Highlighted bugfixes in 1.24.8 + +- decodebin3: collection handling fixes +- encodebin: Fix pad removal (and smart rendering in gst-editing-services) +- glimagesink: Fix cannot resize viewport when video size changed in caps +- matroskamux, webmmux: fix firefox compatibility issue with Opus audio streams +- mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out +- splitmuxsink: Override LATENCY query to pretend to downstream that weâre not live +- video: QoS event handling improvements +- voamrwbenc: fix list of bitrates +- vtenc: Restart encoding session when certain errors are detected +- wayland: Fix ABI break in WL context type name +- webrtcbin: Prevent crash when attempting to set answer on invalid SDP +- cerbero: ship vp8/vp9 software encoders again, which went missing in 1.24.7; ship transcode plugin +- Various bug fixes, memory leak fixes, and other stability and reliability improvements + +gstreamer + +- clock: Fix unchecked overflows in linear regression code +- meta: Add missing include of gststructure.h +- pad: Check data NULL-ness when probes are stopped +- aggregator: Immediately return NONE from simple_get_next_time() on non-TIME segments + +gst-plugins-base + +- decodebin3: Fix collection identity check +- encodebin: Fix pad removal +- glimagesink: Fix cannot resize viewport when video size changed in caps +- v4l2bufferpool: actually queue back the empty buffer flagged LAST +- v4l2videoenc: unref buffer pool after usage properly +- video: Donât overshoot QoS earliest time by a factor of 2 +- meson: gst-play: link to libm + +gst-plugins-good + +- jackaudiosrc: actually use the queried ports from JACK +- matroskamux: Include end padding in the block duration for Opus streams, fixing firefox compatibility +- osxaudio: Avoid dangling pointer on shutdown +- splitmuxsink: Override LATENCY query to pretend to downstream that weâre not live +- v4l2: encoder: Add dynamic framerate support + +gst-plugins-bad + +- GstPlay: Name the different bus +- GstPlay: check whether stream is seekable before seeking when state change +- GstPlayer: Check GstPlayerSignalDispatcher type +- mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out +- mpegtsmux: Fix refcounting issue when selecting the best pad +- uvcsink: fix caps event handling +- v4l2codecs: h265: Minimize memory allocation +- voamrwbenc: fix list of bitrates +- vtenc: Restart encoding session when certain errors are detected +- wayland: Fix ABI break in WL context type name +- webrtcbin: Prevent crash when attempting to set answer on invalid SDP +- wpe: fix gst-launch example + +gst-plugins-ugly + +- No changes + +GStreamer Rust plugins + +- No changes + +gst-libav + +- No changes + +gst-rtsp-server + +- No changes + +gstreamer-vaapi + +- No changes + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- No changes + +gst-editing-services + +- discoverer-manager: Fix race leading to assertion when stopping +- structured-interface: Fix memory leak of invalid fields GList + +gst-devtools, gst-validate + gst-integration-testsuites + +- pad-monitor: Fix remaining pad function data handling +- pad-monitor: Fix pad function data properly + +gst-examples + +- No changes + +Development build environment + +- meson: Update openjpeg wrap to 2.5.2, fixes a warning + +Cerbero build tool and packaging changes in 1.24.8 + +- No vp8 / vp9 encoders packaged (regression) +- libvpx: Fix codec detection to fix vp8enc/vp9enc elements not being shipped +- gst-plugins-bad: Add missing transcode plugin + +Contributors to 1.24.8 + +Andoni Morales Alastruey, Arun Raghavan, Benjamin Gaignard, Carlos Bentzen, Chao Guo, Edward Hervey, Francis Quiers, Guillaume +Desmottes, Hou Qi, Jan Schmidt,, L. E. Segovia, Michael Tretter, Nicolas Dufresne, Nirbheek Chauhan, Peter Kjellerstedt, +Philippe Normand, Piotr BrzeziÅski, Randy Li (ayaka), Sebastian Dröge, Thibault Saunier, Tim-Philipp Müller, Wim Taymans, + +⦠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.24.8 + +- List of Merge Requests applied in 1.24.8 +- List of Issues fixed in 1.24.8 + Schedule for 1.26 Our next major feature release will be 1.26, and 1.25 will be the unstable development version leading up to the stable 1.26 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/RELEASE new/gst-plugins-base-1.24.8/RELEASE --- old/gst-plugins-base-1.24.7/RELEASE 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/RELEASE 2024-09-19 12:01:21.000000000 +0200 @@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-base 1.24.7. +This is GStreamer gst-plugins-base 1.24.8. 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-plugins-base-1.24.7/ext/gl/gstglimagesink.c new/gst-plugins-base-1.24.8/ext/gl/gstglimagesink.c --- old/gst-plugins-base-1.24.7/ext/gl/gstglimagesink.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/ext/gl/gstglimagesink.c 2024-09-19 12:01:21.000000000 +0200 @@ -814,6 +814,7 @@ glimage_sink->handle_events = TRUE; glimage_sink->ignore_alpha = TRUE; glimage_sink->overlay_compositor = NULL; + glimage_sink->need_resize_window = FALSE; glimage_sink->mview_output_mode = DEFAULT_MULTIVIEW_MODE; glimage_sink->mview_output_flags = DEFAULT_MULTIVIEW_FLAGS; @@ -1527,11 +1528,19 @@ GstVideoMultiviewMode mv_mode; GstGLWindow *window = NULL; GstGLTextureTarget previous_target; + gint pre_width = 0, pre_height = 0; + gint cur_width = 0, cur_height = 0; GstStructure *s; const gchar *target_str; GstCaps *out_caps; gboolean ret; + pre_width = GST_VIDEO_INFO_WIDTH (out_info); + pre_height = GST_VIDEO_INFO_HEIGHT (out_info); + + cur_width = GST_VIDEO_INFO_WIDTH (&glimage_sink->in_info); + cur_height = GST_VIDEO_INFO_HEIGHT (&glimage_sink->in_info); + *out_info = glimage_sink->in_info; previous_target = glimage_sink->texture_target; @@ -1625,6 +1634,10 @@ gst_caps_unref (glimage_sink->out_caps); glimage_sink->out_caps = out_caps; + if ((pre_width != 0 && pre_width != cur_width) || + (pre_height != 0 && pre_height != cur_height)) + glimage_sink->need_resize_window = TRUE; + if (previous_target != GST_GL_TEXTURE_TARGET_NONE && glimage_sink->texture_target != previous_target) { /* regenerate the shader for the changed target */ @@ -2517,6 +2530,7 @@ GstGLWindow *window; GstBuffer *old_stored_buffer[2], *old_sync; gulong handler_id; + gboolean resize_window = gl_sink->need_resize_window; window = gst_gl_context_get_window (gl_sink->context); if (!window) @@ -2538,6 +2552,12 @@ return FALSE; } + resize_window = TRUE; + } + + if (resize_window) { + gl_sink->need_resize_window = FALSE; + gst_gl_window_set_preferred_size (window, GST_VIDEO_SINK_WIDTH (gl_sink), GST_VIDEO_SINK_HEIGHT (gl_sink)); gst_gl_window_show (window); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/ext/gl/gstglimagesink.h new/gst-plugins-base-1.24.8/ext/gl/gstglimagesink.h --- old/gst-plugins-base-1.24.7/ext/gl/gstglimagesink.h 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/ext/gl/gstglimagesink.h 2024-09-19 12:01:21.000000000 +0200 @@ -104,6 +104,8 @@ GstGLSyncMeta *stored_sync_meta; GLuint redisplay_texture; + gboolean need_resize_window; + /* protected with drawing_lock */ gboolean window_resized; guint window_width; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst/encoding/gstencodebasebin.c new/gst-plugins-base-1.24.8/gst/encoding/gstencodebasebin.c --- old/gst-plugins-base-1.24.7/gst/encoding/gstencodebasebin.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst/encoding/gstencodebasebin.c 2024-09-19 12:01:21.000000000 +0200 @@ -1562,6 +1562,7 @@ gst_object_unref (muxerpad); } else { if (ebin->srcpad) { + /* encodebin static source pad */ gst_ghost_pad_set_target (GST_GHOST_PAD (ebin->srcpad), srcpad); } else { if (!gst_encode_base_bin_create_src_pad (ebin, srcpad)) { @@ -2272,6 +2273,7 @@ * but for the time being let's assume it's a static pad :) */ muxerpad = gst_element_get_static_pad (muxer, "src"); if (ebin->srcpad) { + /* encodebin static source pad */ if (G_UNLIKELY (muxerpad == NULL)) goto no_muxer_pad; if (!gst_ghost_pad_set_target (GST_GHOST_PAD (ebin->srcpad), muxerpad)) @@ -2551,7 +2553,7 @@ stream_group_remove (ebin, (StreamGroup *) ebin->streams->data); if (ebin->srcpad) { - /* Set ghostpad target to NULL */ + /* encodebin static source pad, set ghostpad target to NULL */ gst_ghost_pad_set_target (GST_GHOST_PAD (ebin->srcpad), NULL); } @@ -2564,7 +2566,8 @@ ebin->muxer = NULL; } - if (!element->srcpads) { + if (!ebin->srcpad) { + /* encodebin2 dynamic source pads */ while (element->srcpads) gst_element_remove_pad (element, element->srcpads->data); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst/playback/gstdecodebin3.c new/gst-plugins-base-1.24.8/gst/playback/gstdecodebin3.c --- old/gst-plugins-base-1.24.7/gst/playback/gstdecodebin3.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst/playback/gstdecodebin3.c 2024-09-19 12:01:21.000000000 +0200 @@ -2724,6 +2724,29 @@ return db_collection; } +static gboolean +collections_are_identical (GstStreamCollection * collection, + GstStreamCollection * previous) +{ + guint i; + + if (collection == previous) + return TRUE; + + if (gst_stream_collection_get_size (collection) != + gst_stream_collection_get_size (previous)) + return FALSE; + + for (i = 0; i < gst_stream_collection_get_size (previous); i++) { + GstStream *stream = gst_stream_collection_get_stream (previous, i); + const gchar *sid = gst_stream_get_stream_id (stream); + if (!stream_in_collection (collection, (gchar *) sid)) + return FALSE; + } + + return TRUE; +} + /** handle_stream_collection_locked: * @dbin: * @collection: (transfer none): The new collection for @input. Can be %NULL. @@ -2798,12 +2821,13 @@ if (dbin->input_collection) { GstStreamCollection *previous = dbin->input_collection->collection; - if (collection == previous) { + if (collections_are_identical (collection, previous)) { GST_DEBUG_OBJECT (dbin, "Collection didn't change"); gst_object_unref (collection); SELECTION_UNLOCK (dbin); return NULL; } + /* Check if this collection is an update of the previous one */ if (gst_stream_collection_get_size (collection) > gst_stream_collection_get_size (previous)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst-libs/gst/pbutils/gstaudiovisualizer.c new/gst-plugins-base-1.24.8/gst-libs/gst/pbutils/gstaudiovisualizer.c --- old/gst-plugins-base-1.24.7/gst-libs/gst/pbutils/gstaudiovisualizer.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst-libs/gst/pbutils/gstaudiovisualizer.c 2024-09-19 12:01:21.000000000 +0200 @@ -1264,7 +1264,7 @@ if (diff >= 0) /* we're late, this is a good estimate for next displayable * frame (see part-qos.txt) */ - scope->priv->earliest_time = timestamp + 2 * diff + + scope->priv->earliest_time = timestamp + MIN (2 * diff, GST_SECOND) + scope->priv->frame_duration; else scope->priv->earliest_time = timestamp + diff; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideoaggregator.c new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideoaggregator.c --- old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideoaggregator.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideoaggregator.c 2024-09-19 12:01:21.000000000 +0200 @@ -1667,7 +1667,8 @@ if (G_LIKELY (timestamp != GST_CLOCK_TIME_NONE)) { if (!live && G_UNLIKELY (diff > 0)) vagg->priv->earliest_time = - timestamp + 2 * diff + gst_util_uint64_scale_int_round (GST_SECOND, + timestamp + MIN (2 * diff, + GST_SECOND) + gst_util_uint64_scale_int_round (GST_SECOND, GST_VIDEO_INFO_FPS_D (&vagg->info), GST_VIDEO_INFO_FPS_N (&vagg->info)); else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideodecoder.c new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideodecoder.c --- old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideodecoder.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideodecoder.c 2024-09-19 12:01:21.000000000 +0200 @@ -1834,7 +1834,8 @@ priv->proportion = proportion; if (G_LIKELY (GST_CLOCK_TIME_IS_VALID (timestamp))) { if (G_UNLIKELY (diff > 0)) { - priv->earliest_time = timestamp + 2 * diff + priv->qos_frame_duration; + priv->earliest_time = + timestamp + MIN (2 * diff, GST_SECOND) + priv->qos_frame_duration; } else { priv->earliest_time = timestamp + diff; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideoencoder.c new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideoencoder.c --- old/gst-plugins-base-1.24.7/gst-libs/gst/video/gstvideoencoder.c 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst-libs/gst/video/gstvideoencoder.c 2024-09-19 12:01:21.000000000 +0200 @@ -1361,7 +1361,8 @@ priv->proportion = proportion; if (G_LIKELY (GST_CLOCK_TIME_IS_VALID (timestamp))) { if (G_UNLIKELY (diff > 0)) { - priv->earliest_time = timestamp + 2 * diff + priv->qos_frame_duration; + priv->earliest_time = + timestamp + MIN (2 * diff, GST_SECOND) + priv->qos_frame_duration; } else { priv->earliest_time = timestamp + diff; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/gst-plugins-base.doap new/gst-plugins-base-1.24.8/gst-plugins-base.doap --- old/gst-plugins-base-1.24.7/gst-plugins-base.doap 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/gst-plugins-base.doap 2024-09-19 12:01:21.000000000 +0200 @@ -36,6 +36,16 @@ <release> <Version> + <revision>1.24.8</revision> + <branch>1.24</branch> + <name></name> + <created>2024-09-19</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.24.8.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.24.7</revision> <branch>1.24</branch> <name></name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/meson.build new/gst-plugins-base-1.24.8/meson.build --- old/gst-plugins-base-1.24.7/meson.build 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/meson.build 2024-09-19 12:01:21.000000000 +0200 @@ -1,5 +1,5 @@ project('gst-plugins-base', 'c', - version : '1.24.7', + version : '1.24.8', meson_version : '>= 1.1', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/po/gst-plugins-base-1.0.pot new/gst-plugins-base-1.24.8/po/gst-plugins-base-1.0.pot --- old/gst-plugins-base-1.24.7/po/gst-plugins-base-1.0.pot 2024-08-21 13:26:04.470363100 +0200 +++ new/gst-plugins-base-1.24.8/po/gst-plugins-base-1.0.pot 2024-09-19 12:01:58.116569800 +0200 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-base-1.24.7\n" +"Project-Id-Version: gst-plugins-base-1.24.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-21 12:26+0100\n" +"POT-Creation-Date: 2024-09-19 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/po/gst-plugins-base.pot new/gst-plugins-base-1.24.8/po/gst-plugins-base.pot --- old/gst-plugins-base-1.24.7/po/gst-plugins-base.pot 2024-08-21 13:26:04.470363100 +0200 +++ new/gst-plugins-base-1.24.8/po/gst-plugins-base.pot 2024-09-19 12:01:58.116569800 +0200 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-base-1.24.7\n" +"Project-Id-Version: gst-plugins-base-1.24.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-08-21 12:26+0100\n" +"POT-Creation-Date: 2024-09-19 12:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gst-plugins-base-1.24.7/tools/meson.build new/gst-plugins-base-1.24.8/tools/meson.build --- old/gst-plugins-base-1.24.7/tools/meson.build 2024-08-21 13:25:15.000000000 +0200 +++ new/gst-plugins-base-1.24.8/tools/meson.build 2024-09-19 12:01:21.000000000 +0200 @@ -25,24 +25,24 @@ endif endif - gst_tools = { - 'gst-device-monitor': { - 'files': files('gst-device-monitor.c'), - 'deps': tool_deps, - 'man_page': files('gst-device-monitor-@0@.1'.format(api_version)) - }, - 'gst-discoverer': { - 'files': files('gst-discoverer.c'), - 'deps': tool_deps, - 'man_page': files('gst-discoverer-@0@.1'.format(api_version)) - }, - 'gst-play': { - 'files': files('gst-play.c', 'gst-play-kb.c'), - 'deps': tool_deps + extra_deps, - 'man_page': files('gst-play-@0@.1'.format(api_version)), - 'extra_c_args': extra_args - }, - } +gst_tools = { + 'gst-device-monitor': { + 'files': files('gst-device-monitor.c'), + 'deps': tool_deps, + 'man_page': files('gst-device-monitor-@0@.1'.format(api_version)) + }, + 'gst-discoverer': { + 'files': files('gst-discoverer.c'), + 'deps': tool_deps, + 'man_page': files('gst-discoverer-@0@.1'.format(api_version)) + }, + 'gst-play': { + 'files': files('gst-play.c', 'gst-play-kb.c'), + 'deps': tool_deps + libm + extra_deps, + 'man_page': files('gst-play-@0@.1'.format(api_version)), + 'extra_c_args': extra_args + }, +} if not get_option('tools').disabled() and not static_build foreach tool, data: gst_tools