openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2022
- 1 participants
- 2263 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-good for openSUSE:Factory checked in at 2022-12-25 15:14:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-good (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-good"
Sun Dec 25 15:14:24 2022 rev:86 rq:1045097 version:1.20.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer-plugins-good/gstreamer-plugins-good.changes 2022-10-25 11:18:43.361965798 +0200
+++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-good.new.1563/gstreamer-plugins-good.changes 2022-12-25 15:14:31.301260585 +0100
@@ -1,0 +2,29 @@
+Fri Dec 23 19:09:27 UTC 2022 - Bj��rn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 1.20.5:
+ + flacparse: Fix handling of headers advertising 32bps
+ + multiudpsink: allow binding to IPv6 address
+ + oss4: Fix debug category initialization
+ + qt5:
+ - Deactivate context if fill_info fails
+ - Initialize GError properly in gst_qt_get_gl_wrapcontext()
+ + qtdemux:
+ - Check return value from gst_structure_get in PIFF box
+ - Use unsigned int types to store result of QT_UINT32
+ - Prefill mode fixes
+ + rtpjitterbuffer tests: Cast drop-messages-interval type
+ properly (fixing it on 32-bit architectures)
+ + rtspsrc:
+ - Don't replace 404 errors with "no auth protocol found"
+ - Fix seek event leaks
+ - Fix usage of IPv6 connections in SETUP
+ - Only EOS on timeout if all streams are timed out/EOS
+ + splitmuxsrc: don't queue data on unlinked pads
+ + v4l2: Fix SIGSEGV on 'change state' during 'format change'
+ + v4l2videodec: Fix activation of internal pool
+ + wavparse:
+ - Avoid occasional crash due to referencing freed buffer.
+ - Fix crash that occurs in push mode when header chunks are
+ corrupted in certain ways.
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-good-1.20.4.tar.xz
New:
----
gst-plugins-good-1.20.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-good.spec ++++++
--- /var/tmp/diff_new_pack.HXKsgI/_old 2022-12-25 15:14:31.793263370 +0100
+++ /var/tmp/diff_new_pack.HXKsgI/_new 2022-12-25 15:14:31.797263394 +0100
@@ -26,7 +26,7 @@
%define gst_branch 1.0
Name: gstreamer-plugins-good
-Version: 1.20.4
+Version: 1.20.5
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: LGPL-2.1-or-later
++++++ gst-plugins-good-1.20.4.tar.xz -> gst-plugins-good-1.20.5.tar.xz ++++++
++++ 2717 lines of diff (skipped)
1
0
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 2022-12-25 15:14:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-base (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-base"
Sun Dec 25 15:14:22 2022 rev:88 rq:1045096 version:1.20.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer-plugins-base/gstreamer-plugins-base.changes 2022-10-25 11:18:46.025971702 +0200
+++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-base.new.1563/gstreamer-plugins-base.changes 2022-12-25 15:14:29.153248429 +0100
@@ -1,0 +2,27 @@
+Fri Dec 23 18:59:40 UTC 2022 - Bj��rn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 1.20.5:
+ + audioconvert, audioresample, audiofilter: fix divide by 0 for
+ input buffer without caps
+ + cdparanoia: Ignore compiler warning coming from the cdparanoia
+ header
+ + oggdemux, parsebin: More leak fixes
+ + opengl:
+ - Fix automatic dispmanx detection for rpi4
+ - Fix usage of eglCreate/DestroyImage
+ - Fix static linking on macOS
+ + Bump core requirement in 1.20 branch to 1.20.4
+ + oggdemux: Don't leak incoming EOS event
+ + opusdec: Various channel-related fixes
+ + subparse: Fix non-closed tag handling.
+ + textrender:
+ - Don't blindly forward all events and don't blindly forward
+ all events
+ - Negotiate caps on a GAP event if none were negotiated yet
+ + timeoverlay: fix pad leak
+ + videodecoder: Only post latency message if it changed
+ + videoscale: buffer meta handling fixes (NULL-terminate array of
+ valid meta tags)
+ + videosink: Don't return unknown end-time from get_times()
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-base-1.20.4.tar.xz
New:
----
gst-plugins-base-1.20.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-base.spec ++++++
--- /var/tmp/diff_new_pack.NuSVTy/_old 2022-12-25 15:14:29.653251259 +0100
+++ /var/tmp/diff_new_pack.NuSVTy/_new 2022-12-25 15:14:29.657251281 +0100
@@ -20,7 +20,7 @@
%define gst_branch 1.0
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
Name: gstreamer-plugins-base
-Version: 1.20.4
+Version: 1.20.5
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: GPL-2.0-or-later AND LGPL-2.1-or-later
++++++ gst-plugins-base-1.20.4.tar.xz -> gst-plugins-base-1.20.5.tar.xz ++++++
++++ 1701 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ChangeLog new/gst-plugins-base-1.20.5/ChangeLog
--- old/gst-plugins-base-1.20.4/ChangeLog 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ChangeLog 2022-12-20 00:34:46.000000000 +0100
@@ -1,7 +1,243 @@
+=== release 1.20.5 ===
+
+2022-12-19 23:34:42 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gst-plugins-base.doap:
+ * meson.build:
+ Release 1.20.5
+
+2022-12-19 23:34:34 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.5
+
+2022-12-19 15:22:15 +0100 Philipp Zabel <p.zabel(a)pengutronix.de>
+
+ * gst/videoscale/gstvideoscale.c:
+ videoscale: fix valid_tags NULL-terminated array of strings
+ The valid_tags array of strings must be NULL-terminated,
+ as it is passed to the g_strv_contains() function.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3604>
+
+2022-11-17 15:41:35 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * gst/playback/gstdecodebin2.c:
+ decodebin2: Minor debug fix for decodepad
+ decodedad might have their name changed when exposing, causing a race when
+ trying to get their name without taking a lock. Just use GST_PTR_POINTER in
+ debug statements instead
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3597>
+
+2022-11-21 15:12:26 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * ext/ogg/gstoggdemux.c:
+ oggdemux: Don't leak pending seek event
+ Make sure any pending seek event is released when going back down to READY.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3578>
+
+2022-11-21 15:10:35 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * gst/playback/gstparsebin.c:
+ parsebin: Don't leak parsepad list on shutdown
+ Free it as it is down in other cases
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3578>
+
+2022-11-30 20:48:28 +0200 Vivia Nikolaidou <vivia(a)ahiru.eu>
+
+ * ext/opus/gstopusdec.c:
+ opusdec: Use proper guint/guint8 type conversion
+ Do not cast, that might yield wrong results.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3576>
+
+2022-11-30 20:47:11 +0200 Vivia Nikolaidou <vivia(a)ahiru.eu>
+
+ * ext/opus/gstopusdec.c:
+ opusdec: Negotiate default to 2 channels
+ In that place, dec->n_channels can still theoretically be 0. Default to
+ 2 in that case.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3576>
+
+2022-12-11 17:36:53 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * ext/pango/gsttimeoverlay.c:
+ timeoverlay: fix pad leak
+ Spotted by Jiri Uncovsky.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3559>
+
+2022-12-07 14:49:05 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * ext/pango/gsttextrender.c:
+ textrender: Negotiate caps on a GAP event if none were negotiated yet
+ Otherwise downstream wouldn't have received a segment event either and
+ wouldn't know what to do with the gap event
+ And also forward any pending segment event.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3548>
+
+2022-11-26 09:23:59 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * gst-libs/gst/audio/gstaudiofilter.c:
+ * gst/audioconvert/gstaudioconvert.c:
+ * gst/audioresample/gstaudioresample.c:
+ audioconvert, audioresample, audiofilter: fix divide by 0 for input buffer without caps
+ gst-launch-1.0 audiotestsrc ! udpsink host=127.0.0.1
+ gst-launch-1.0 udpsrc ! audioconvert ! autoaudiosink
+ would crash with a floating point exception when clipping the input
+ buffer owing to a division by zero because no caps event was received.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3470>
+
+2022-11-21 18:47:50 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * ext/pango/gsttextrender.c:
+ * ext/pango/gsttextrender.h:
+ textrender: Don't pass plaintext as pango markup to Pango
+ Otherwise e.g. & in the text will cause Pango to complain about invalid
+ markup and render the text incorrectly.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3458>
+
+2022-11-21 18:43:54 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * ext/pango/gsttextrender.c:
+ textrender: Don't blindly forward all events
+ Use gst_pad_event_default(), which does the right thing by default.
+ Especially it does not forward text/x-plain caps downstream.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3458>
+
+2022-11-14 07:26:25 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * ext/ogg/gstoggdemux.c:
+ oggdemux: Don't leak incoming EOS event
+ If we're going to drop it ... then do drop it :)
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3412>
+
+2022-11-05 07:34:27 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * gst/subparse/gstsubparse.c:
+ subparse: Fix non-closed tag handling.
+ Unclear what the goal was, but we could end up reading way past the next_tag.
+ Instead just move everything from after the end tag ('>') to the next_tag.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53040
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3351>
+
+2022-10-27 15:13:36 +0300 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * gst-libs/gst/app/gstappsrc.c:
+ * gst-libs/gst/audio/gstaudiodecoder.c:
+ * gst-libs/gst/audio/gstaudioencoder.c:
+ * gst-libs/gst/video/gstvideoencoder.c:
+ core/base: Only post latency messages if the latency values have actually changed
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3291>
+
+2022-10-27 07:21:19 +0200 Edward Hervey <edward(a)centricular.com>
+
+ * gst-libs/gst/video/gstvideodecoder.c:
+ videodecoder: Only post latency message if it changed
+ Posting latency messages causes a full and potentially expensive latency
+ recalculation of the pipeline. While subclasses should check whether the latency
+ really changed or not before calling this function, we ensure that we do not
+ post such messages if it didn't change.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3291>
+
+2022-10-06 00:00:59 +0900 Seungha Yang <seungha(a)centricular.com>
+
+ * gst-libs/gst/video/gstvideosink.c:
+ videosink: Don't return unknown end-time from get_times()
+ ... in case of reverse playback. Otherwise basesink will not
+ wait for clock
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3277>
+
+2022-10-21 21:50:01 +0530 Nirbheek Chauhan <nirbheek(a)centricular.com>
+
+ * gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
+ * gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
+ * gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
+ gl/vulkan: Fix static linking on macOS
+ duplicate symbol '__invoke_on_main' in:
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
+ /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
+ ld: 1 duplicate symbol for architecture x86_64
+ clang: error: linker command failed with exit code 1 (use -v to see invocation)
+ Also make the same change in iOS for consistency.
+ Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3263>
+
+2022-10-14 14:59:49 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * meson.build:
+ gst-plugins-base: bump core req to 1.20.4
+ For newly-added _gst_meta_tag_memory_reference symbol.
+ https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928#no…
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3185>
+
+2022-10-04 05:39:51 +0100 Matthew Waters <matthew(a)centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ build/gl: fix automatic dispmanx detection for rpi4
+ rpi4 doesn't contain dispmanx but still contains bcm_host.pc which
+ confuses the configure detection. Add an explicit check for
+ EGL_DISPMANX_WINDOW_T to ensure that we only build with dispmanx when
+ the types are available.
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/893
+ Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/952
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3246>
+
+2022-07-06 21:45:24 +0300 Jordan Petridis <jordan(a)centricular.com>
+
+ * ext/cdparanoia/meson.build:
+ cdparanoia: Ignore compiler warning coming from the cdparanoia header
+ When trying to build the plugin, GCC starts complaining about issues
+ with one of the cdparanoia headers and it block us from being able
+ to build the plugin with Werror.
+ The current warning in the header look like this:
+ ```
+ [1/2] Compiling C object subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so.p/gstcdparanoiasrc.c.o
+ In file included from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.h:37,
+ from ../subprojects/gst-plugins-base/ext/cdparanoia/gstcdparanoiasrc.c:31:
+ /usr/include/cdda/cdda_interface.h:164:3: warning: initialization discards ���const��� qualifier from pointer target type [-Wdiscarded-qualifiers]
+ 164 | "Success",
+ | ^~~~~~~~~
+ ...
+ /usr/include/cdda/cdda_interface.h:163:14: warning: ���strerror_tr��� defined but not used [-Wunused-variable]
+ 163 | static char *strerror_tr[]={
+ | ^~~~~~~~~~~
+ [2/2] Linking target subprojects/gst-plugins-base/ext/cdparanoia/libgstcdparanoia.so
+ ```
+ Last release of cdparanoia was in 2008, so our best bet for the
+ time is to ignore the warnings.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3232>
+
+2022-10-14 16:12:45 +0200 Edward Hervey <edward(a)centricular.com>
+
+ * tools/gst-play.c:
+ gst-play: Don't leak the stream collection
+ We are given a reference to the collection when parsing it from the
+ message. Just store it (instead of referencing it again).
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3191>
+
+2022-08-22 16:33:23 -0400 Nicolas Dufresne <nicolas.dufresne(a)collabora.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ opengl: Fix usage of eglCreate/DestroyImage
+ The implementation was inconsistent between create and destroy. EGLImage
+ creation and destruction is requires for EGL 1.5 and up, while
+ otherwise the KHR version is only available if EGL_KHR_image_base
+ feature is set. Not doing these check may lead to getting a function
+ pointer to a stub, which is notably the case when using apitrace.
+ Fixes #1389
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3170>
+
+2022-10-12 18:40:25 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * meson.build:
+ Back to development
+
=== release 1.20.4 ===
2022-10-12 16:39:47 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-base.doap:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/NEWS new/gst-plugins-base-1.20.5/NEWS
--- old/gst-plugins-base-1.20.4/NEWS 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/NEWS 2022-12-20 00:34:46.000000000 +0100
@@ -2,13 +2,13 @@
GStreamer 1.20.0 was originally released on 3 February 2022.
-The latest bug-fix release in the 1.20 series is 1.20.4 and was released
-on 12 October 2022.
+The latest bug-fix release in the 1.20 series is 1.20.5 and was released
+on 19 December 2022.
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
version of this document.
-Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
+Last updated: Monday 19 December 2022, 19:00 UTC (log)
Introduction
@@ -1791,6 +1791,13 @@
Known Issues
+- GStreamer may fail to build the hotdoc documentation with the Meson
+ 0.64.0 release owing to a Meson bug. This should only affect systems
+ where hotdoc is installed, and will be fixed in Meson 0.64.1 by this
+ Meson PR in combination with this GStreamer MR. In the meantime,
+ users can pass -Ddoc=disabledor downgrade to an older Meson version
+ (< 0.64.0).
+
- nothing in particular at this point (but also see possibly breaking
changes section above)
@@ -2530,6 +2537,7 @@
chroma (Y41B, YUV9, YVU9 and IYU9)
- macOS build and packaging fixes, in particular fix finding of gio
modules on macOS for https/TLS support
+- Fix consuming of the macOS package as a framework in XCode
- Performance improvements
- Miscellaneous bug fixes, memory leak fixes, and other stability and
reliability improvements
@@ -2783,6 +2791,252 @@
- List of Merge Requests applied in 1.20.4
- List of Issues fixed in 1.20.4
+1.20.5
+
+The fifth 1.20 bug-fix release (1.20.5) was released on 19 December
+2022.
+
+This release only contains bugfixes and it should be safe to upgrade
+from 1.20.x.
+
+Highlighted bugfixes in 1.20.5
+
+- systemclock waiting fixes for certain 32-bit platforms/libcs
+- alphacombine: robustness improvements for corner case scenarios
+- avfvideosrc: Report latency when doing screen capture
+- d3d11videosink: various thread-safety and stability fixes
+- decklink: fix performance issue when HDMI signal has been lost for a
+ long time
+- flacparse: Fix handling of headers advertising 32 bits per sample
+- mpegts: Handle when iconv doesn���t support ISO 6937 (e.g.��musl libc)
+- opengl: fix automatic dispmanx detection for rpi4 and fix usage of
+ eglCreate/DestroyImage
+- opusdec: Various channel-related fixes
+- textrender: event handling fixes, esp.��for GAP event
+- subparse: Fix non-closed tag handling
+- videoscale: fix handling of unknown buffer metas
+- videosink: reverse playback handling fixes
+- qtmux: Prefill mode fixes, especially for raw audio
+- multiudpsink: allow binding to IPv6 address
+- rtspsrc: Fix usage of IPv6 connections in SETUP
+- rtspsrc: Only EOS on timeout if all streams are timed out/EOS
+- splitmuxsrc: fix playback stall if there are unlinked pads
+- v4l2: Fix SIGSEGV on state change during format changes
+- wavparse robustness fixes
+- Fix static linking on macOS (opengl, vulkan)
+- gstreamer-vaapi: fix headless build against mesa >= 22.3.0
+- GStreamer Editing Services library: Fix build with tools disabled
+- webrtc example/demo fixes
+- unit test fixes for aesdec and rtpjitterbuffer
+- Cerbero: Fix ios cross-compile with cmake on M1; some recipe updates
+ and other build fixes
+- Binary packages: pkg-config file fixes for various recipes (ffmpeg,
+ taglib, gstreamer)
+- Binary packages: Enable high bitdepth support for libvpx (VP8/VP9
+ encoding/decoding)
+- Binary packages: ship aes plugin
+- Miscellaneous bug fixes, memory leak fixes, and other stability and
+ reliability improvements
+- Performance improvements
+
+gstreamer
+
+- allocator: Copy allocator name in gst_allocator_register()
+- miniobject: support higher refcount values
+- pads: Fix non-serialized sticky event push, e.g.��instant change rate
+ events
+- padtemplate: Fix annotations
+- systemclock: Use futex_time64 syscall on x32 and other platforms
+ that always���
+- Fix build of 1.20 branch with Meson 0.64.1 for those who have hotdoc
+ installed on their system.
+- meson: fix check for pthread_setname_np()
+- -Wimplicit-function-declaration in pthread_setname_np check (missing
+ _GNU_SOURCE)
+- gst-inspect: Don���t leak list
+
+Core Elements
+
+- concat: Properly propagate EOS seqnum
+- fakesrc: avoid time overflow with datarate
+
+gst-plugins-base
+
+- audioconvert, audioresample, audiofilter: fix divide by 0 for input
+ buffer without caps
+- cdparanoia: Ignore compiler warning coming from the cdparanoia
+ header
+- oggdemux, parsebin: More leak fixes
+- opengl: fix automatic dispmanx detection for rpi4
+- opengl: Fix usage of eglCreate/DestroyImage
+- opengl: Fix static linking on macOS
+- opusdec: Various channel-related fixes
+- textrender: Negotiate caps on a GAP event if none were negotiated
+ yet
+- textrender: Don���t blindly forward all events and don���t blindly
+ forward all events
+- timeoverlay: fix pad leak
+- oggdemux: Don���t leak incoming EOS event
+- subparse: Fix non-closed tag handling.
+- videodecoder: Only post latency message if it changed
+- videoscale: buffer meta handling fixes (NULL-terminate array of
+ valid meta tags)
+- videosink: Don���t return unknown end-time from get_times()
+- Bump core requirement in 1.20 branch to 1.20.4
+
+Tools
+
+- gst-play: Don���t leak the stream collection
+
+gst-plugins-good
+
+- flacparse: Fix handling of headers advertising 32bps
+- qt5: deactivate context if fill_info fails
+- qt5: initialize GError properly in gst_qt_get_gl_wrapcontext()
+- qtdemux: check return value from gst_structure_get in PIFF box
+- qtdemux: use unsigned int types to store result of QT_UINT32
+- qtmux: Prefill mode fixes
+- oss4: Fix debug category initialization
+- multiudpsink: allow binding to IPv6 address
+- rtpjitterbuffer tests: Cast drop-messages-interval type properly
+ (fixing it on 32-bit architectures)
+- rtspsrc: fix seek event leaks
+- rtspsrc: Don���t replace 404 errors with ���no auth protocol found���
+- rtspsrc: Only EOS on timeout if all streams are timed out/EOS
+- rtspsrc: Fix usage of IPv6 connections in SETUP
+- splitmuxsrc: don���t queue data on unlinked pads
+- v4l2: Fix SIGSEGV on ���change state��� during ���format change���
+- v4l2videodec: Fix activation of internal pool
+- wavparse: Avoid occasional crash due to referencing freed buffer.
+- wavparse: Fix crash that occurs in push mode when header chunks are
+ corrupted in certain ways.
+
+gst-plugins-bad
+
+- aesdec: Fix padding removal for per-buffer-padding=FALSE
+- aesdec test failing in gst-plugins-bad
+- alphacombine: Add missing query handler for gaps
+- avfdeviceprovider: do not leak the properties
+- avfvideosrc: Report latency when doing screen capture
+- d3d11screencapturesrc: Specify PAR 1/1 to template caps
+- d3d11videosink: Fixing focus lost on desktop layout change
+- d3d11videosink: Call ShowWindow() from window thread
+- d3d11videosink: Fix deadlock when parent window is busy
+- d3d11videosink: Always clear back buffer on resize
+- decklink: reset calculation of time_mapping to fix clipping HDMI
+ video
+- directshow: Fix build error with glib 2.75 and newer
+- dvbsubenc: Forward GAP events as-is if we wouldn���t produce an end
+ packet and���
+- dvbsubenc: Write Display Definition Segment if a non-default
+ width/height is used
+- h265decoder: Do not abort when failed to prepare ref pic set
+- h264parser: Fix a typo in pred_weight_table parsing.
+- mediafoundation, d3d11: Fix memory leak and make leak tracer happy
+- mpegts: Handle when iconv doesn���t support ISO 6937 (e.g.��musl libc)
+- mpegts: Check continuity counter on section streams
+- mpegts: Revert ���mpegtspacketizer: memcmp potentially seen_before
+ data���
+- mpegtspacketizer: memcmp potentially seen_before data
+- mpegtsdemux: Always clear packetizer on DISCONT push mode
+- srt: various fixes - improve stats and error handling
+- rtmp2: Improve error messages
+- rtmp2sink: Correctly return GST_FLOW_ERROR on error
+- vulkan: Fix static linking on macOS
+- webrtcbin: also add rtcp-fb ccm fir for video mlines by default
+- webrtc/nice: fix small leak of split strings
+
+gst-plugins-ugly
+
+- No changes
+
+gst-libav
+
+- avdec_h265: Fix endless renegotiation with alternate interlacing
+- avviddec: Avoid flushing on framerate changes
+
+gst-rtsp-server
+
+- rtsp-server: Free client if no connection could be created
+
+gstreamer-vaapi
+
+- vaapi: prefix internal USE_X11 define to fix build with mesa 22.3.0
+- vaapi: libs: context: use queried value for attrib
+- gstreamer-vaapi cannot be built without X11 with recent mesa
+
+gstreamer-sharp
+
+- No changes
+
+gst-omx
+
+- No changes
+
+gst-python
+
+- No changes
+
+gst-editing-services
+
+- Fix building ges with tools disabled
+- Fix leaks and minor races in GES
+
+gst-examples:
+
+- webrtc: Fix double free in webrtc-recvonly-h264 demo
+- webrtc: Fix critical in webrtc-recvonly-h264 example
+- webrtc/signalling examples: Fix compatibility with Python 3.10
+
+Development build environment + gst-full build
+
+- No major changes
+
+Cerbero build tool and packaging changes in 1.20.5
+
+- oven: output status line at least every minute
+- Unconditionally set CMAKE_SYSTEM_NAME on Windows
+- Fix ios cross-compile with cmake on M1
+- Speed up downloads on Windows drastically
+- Fix tar usage on bsdtar and print progress while compressing
+- Actually print the sha for which the cache was not found
+
+Recipes
+
+- ffmpeg: add patch to generate the pc files properly
+- taglib: add patch to generate the pc files properly
+- fontconfig: update to 2.14.1
+- Windows: Crash on GStreamer 1.20.x x86_64 MSVC + MS-Windows due to
+ libfontconfig fonts.conf file invalid.
+- openssl: Fix compile errors on upgrades
+- moltenvk: Also ship the static library on macOS
+- gstreamer: Add some missing pkgconfig files
+- gst-plugins-good: Fix post_install failure when qt5 is enabled
+- gst-plugins-bad: Ship AES plugin
+- libvpx: Enable high bitdepth support
+- openssl: update to 1.1.1s
+- glib: Update patch to auto-detect modules on macOS
+
+Contributors to 1.20.5
+
+Aleksandr Slobodeniuk, Arun Raghavan, A. Wilcox, Bo Elmgreen, Boyuan
+Zhang, Bunio FH, C��lestin Marot, Devin Anderson, Edward Hervey, He
+Junyan, Ignacio Casal Quinteiro, Jacek Skiba, Jan Alexander Steffens
+(heftig), Jan Schmidt, Jonas Bonn, Jordan Petridis, Justin Chadwell,
+Linus Svensson, Marek Olejnik, Mathieu Duponchelle, Matthew Waters,
+Nicolas Dufresne, Nirbheek Chauhan, Patrick Griffis, Pawel Stawicki,
+Philippe Normand, Ruben Gonzalez, Sam Van Den Berge, Sebastian Dr��ge,
+Seungha Yang, St��phane Cerveau, Tim-Philipp M��ller, Vivia Nikolaidou,
+Wojciech Kapsa, Xavier Claessens,
+
+��� 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.20.5
+
+- List of Merge Requests applied in 1.20.5
+- List of Issues fixed in 1.20.5
+
Schedule for 1.22
Our next major feature release will be 1.22, and 1.21 will be the
@@ -2790,7 +3044,7 @@
development of 1.21/1.22 will happen in the git main branch.
The plan for the 1.22 development cycle is now confirmed, and we aim for
-a 1.22.0 release in December 2022.
+a 1.22.0 release in December 2022 or early January 2023.
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/RELEASE new/gst-plugins-base-1.20.5/RELEASE
--- old/gst-plugins-base-1.20.4/RELEASE 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/RELEASE 2022-12-20 00:34:46.000000000 +0100
@@ -1,4 +1,4 @@
-This is GStreamer gst-plugins-base 1.20.4.
+This is GStreamer gst-plugins-base 1.20.5.
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' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/cdparanoia/meson.build new/gst-plugins-base-1.20.5/ext/cdparanoia/meson.build
--- old/gst-plugins-base-1.20.4/ext/cdparanoia/meson.build 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/cdparanoia/meson.build 2022-12-20 00:34:46.000000000 +0100
@@ -29,10 +29,19 @@
endif
if cdparanoia_found
+ # The cdda/cdda_interface.h header triggers GCC 12+ warnings which
+ # then trickle down when we build the plugin with -Werror.
+ # This wouldn't be needed usually, but cdparanoia's last release
+ # was in 2008.
+ extra_args = cc.get_supported_arguments([
+ '-Wno-discarded-qualifiers',
+ '-Wno-unused-variable'
+ ])
+
gstcdparanoia = library('gstcdparanoia',
['gstcdparanoiasrc.c'],
include_directories: [configinc, libsinc],
- c_args : gst_plugins_base_args,
+ c_args : gst_plugins_base_args + extra_args,
dependencies : cdparanoia_deps + glib_deps + [audio_dep, gst_dep, gst_base_dep],
install : true,
install_dir : plugins_install_dir,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/ogg/gstoggdemux.c new/gst-plugins-base-1.20.5/ext/ogg/gstoggdemux.c
--- old/gst-plugins-base-1.20.4/ext/ogg/gstoggdemux.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/ogg/gstoggdemux.c 2022-12-20 00:34:46.000000000 +0100
@@ -2524,6 +2524,7 @@
GST_DEBUG_OBJECT (ogg, "Error seeking back after duration check: %d",
res);
}
+ gst_event_unref (event);
res = TRUE;
break;
} else {
@@ -2538,6 +2539,8 @@
}
if (!drop)
res = gst_ogg_demux_send_event (ogg, event);
+ else
+ gst_event_unref (event);
if (ogg->current_chain == NULL) {
GST_WARNING_OBJECT (ogg,
"EOS while trying to retrieve chain, seeking disabled");
@@ -5262,6 +5265,7 @@
gst_ogg_demux_clear_chains (ogg);
GST_OBJECT_LOCK (ogg);
ogg->running = FALSE;
+ gst_event_replace (&ogg->seek_event, NULL);
GST_OBJECT_UNLOCK (ogg);
break;
case GST_STATE_CHANGE_READY_TO_NULL:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/opus/gstopusdec.c new/gst-plugins-base-1.20.5/ext/opus/gstopusdec.c
--- old/gst-plugins-base-1.20.4/ext/opus/gstopusdec.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/opus/gstopusdec.c 2022-12-20 00:34:46.000000000 +0100
@@ -310,7 +310,7 @@
gst_structure_fixate_field_nearest_int (s, "rate", dec->sample_rate);
gst_structure_get_int (s, "rate", &rate);
channels = dec->n_channels > 0 ? dec->n_channels : 2;
- gst_structure_fixate_field_nearest_int (s, "channels", dec->n_channels);
+ gst_structure_fixate_field_nearest_int (s, "channels", channels);
gst_structure_get_int (s, "channels", &channels);
gst_caps_unref (inter);
@@ -363,6 +363,7 @@
{
GstAudioChannelPosition pos[64];
const GstAudioChannelPosition *posn = NULL;
+ guint8 n_channels;
if (!gst_opus_header_is_id_header (buf)) {
GST_ELEMENT_ERROR (dec, STREAM, FORMAT, (NULL),
@@ -372,7 +373,7 @@
if (!gst_codec_utils_opus_parse_header (buf,
&dec->sample_rate,
- (guint8 *) & dec->n_channels,
+ &n_channels,
&dec->channel_mapping_family,
&dec->n_streams,
&dec->n_stereo_streams,
@@ -381,6 +382,7 @@
("Failed to parse Opus ID header"));
return GST_FLOW_ERROR;
}
+ dec->n_channels = n_channels;
dec->r128_gain_volume = gst_opus_dec_get_r128_volume (dec->r128_gain);
GST_INFO_OBJECT (dec,
@@ -886,13 +888,15 @@
}
} else {
const GstAudioChannelPosition *posn = NULL;
+ guint8 n_channels;
if (!gst_codec_utils_opus_parse_caps (caps, &dec->sample_rate,
- (guint8 *) & dec->n_channels, &dec->channel_mapping_family,
+ &n_channels, &dec->channel_mapping_family,
&dec->n_streams, &dec->n_stereo_streams, dec->channel_mapping)) {
ret = FALSE;
goto done;
}
+ dec->n_channels = n_channels;
if (dec->channel_mapping_family == 1 && dec->n_channels <= 8)
posn = gst_opus_channel_positions[dec->n_channels - 1];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/pango/gsttextrender.c new/gst-plugins-base-1.20.5/ext/pango/gsttextrender.c
--- old/gst-plugins-base-1.20.4/ext/pango/gsttextrender.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/pango/gsttextrender.c 2022-12-20 00:34:46.000000000 +0100
@@ -531,7 +531,10 @@
/* render text */
GST_DEBUG ("rendering '%*s'", (gint) size, data);
- pango_layout_set_markup (render->layout, (gchar *) data, size);
+ if (render->have_pango_markup)
+ pango_layout_set_markup (render->layout, (gchar *) data, size);
+ else
+ pango_layout_set_text (render->layout, (gchar *) data, size);
gst_text_render_render_pangocairo (render);
gst_buffer_unmap (inbuf, &map);
@@ -630,8 +633,44 @@
}
break;
}
+ case GST_EVENT_CAPS:
+ {
+ GstCaps *caps;
+ GstStructure *structure;
+ const gchar *format;
+
+ gst_event_parse_caps (event, &caps);
+
+ structure = gst_caps_get_structure (caps, 0);
+ format = gst_structure_get_string (structure, "format");
+ render->have_pango_markup = (strcmp (format, "pango-markup") == 0);
+
+ gst_event_unref (event);
+ ret = TRUE;
+
+ break;
+ }
+ case GST_EVENT_GAP:
+ /* Negotiate caps first if we negotiated none so far as otherwise
+ * downstream wouldn't have received a segment event either and
+ * wouldn't know what to do with the gap event */
+ if (!gst_pad_has_current_caps (render->srcpad)) {
+ if (gst_text_render_renegotiate (render) != GST_FLOW_OK) {
+ gst_event_unref (event);
+ ret = FALSE;
+ break;
+ }
+ }
+
+ if (render->segment_event) {
+ gst_pad_push_event (render->srcpad, render->segment_event);
+ render->segment_event = NULL;
+ }
+
+ ret = gst_pad_event_default (pad, parent, event);
+ break;
default:
- ret = gst_pad_push_event (render->srcpad, event);
+ ret = gst_pad_event_default (pad, parent, event);
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/pango/gsttextrender.h new/gst-plugins-base-1.20.5/ext/pango/gsttextrender.h
--- old/gst-plugins-base-1.20.4/ext/pango/gsttextrender.h 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/pango/gsttextrender.h 2022-12-20 00:34:46.000000000 +0100
@@ -93,6 +93,7 @@
gint ypad;
GstEvent *segment_event;
+ gboolean have_pango_markup;
};
struct _GstTextRenderClass {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/ext/pango/gsttimeoverlay.c new/gst-plugins-base-1.20.5/ext/pango/gsttimeoverlay.c
--- old/gst-plugins-base-1.20.4/ext/pango/gsttimeoverlay.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/ext/pango/gsttimeoverlay.c 2022-12-20 00:34:46.000000000 +0100
@@ -331,6 +331,7 @@
video_sink = gst_element_get_static_pad (GST_ELEMENT (overlay), "video_sink");
overlay->orig_video_event = GST_PAD_EVENTFUNC (video_sink);
gst_pad_set_event_function (video_sink, gst_time_overlay_video_event);
+ gst_object_unref (video_sink);
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/audioconvert/gstaudioconvert.c new/gst-plugins-base-1.20.5/gst/audioconvert/gstaudioconvert.c
--- old/gst-plugins-base-1.20.4/gst/audioconvert/gstaudioconvert.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/audioconvert/gstaudioconvert.c 2022-12-20 00:34:46.000000000 +0100
@@ -918,6 +918,11 @@
GstAudioConvert *this = GST_AUDIO_CONVERT (base);
if (base->segment.format == GST_FORMAT_TIME) {
+ if (!GST_AUDIO_INFO_IS_VALID (&this->in_info)) {
+ GST_WARNING_OBJECT (this, "Got buffer, but not negotiated yet!");
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+
input =
gst_audio_buffer_clip (input, &base->segment, this->in_info.rate,
this->in_info.bpf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/audioresample/gstaudioresample.c new/gst-plugins-base-1.20.5/gst/audioresample/gstaudioresample.c
--- old/gst-plugins-base-1.20.4/gst/audioresample/gstaudioresample.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/audioresample/gstaudioresample.c 2022-12-20 00:34:46.000000000 +0100
@@ -977,6 +977,11 @@
GstAudioResample *resample = GST_AUDIO_RESAMPLE (base);
if (base->segment.format == GST_FORMAT_TIME) {
+ if (!GST_AUDIO_INFO_IS_VALID (&resample->in)) {
+ GST_WARNING_OBJECT (resample, "Got buffer, but not negotiated yet!");
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+
input =
gst_audio_buffer_clip (input, &base->segment, resample->in.rate,
resample->in.bpf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/playback/gstdecodebin2.c new/gst-plugins-base-1.20.5/gst/playback/gstdecodebin2.c
--- old/gst-plugins-base-1.20.4/gst/playback/gstdecodebin2.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/playback/gstdecodebin2.c 2022-12-20 00:34:46.000000000 +0100
@@ -5012,7 +5012,7 @@
GstDecodePad *dpad = user_data;
gboolean res = TRUE;
- GST_LOG_OBJECT (pad, "%s dpad:%p", GST_EVENT_TYPE_NAME (event), dpad);
+ GST_LOG_OBJECT (pad, "event %s", GST_EVENT_TYPE_NAME (event));
if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
GST_DEBUG_OBJECT (pad, "we received EOS");
@@ -5159,8 +5159,8 @@
ret = FALSE;
GST_DEBUG_OBJECT (dpad->dbin,
- "calling autoplug-query for %s (element %s): %" GST_PTR_FORMAT,
- GST_PAD_NAME (dpad), GST_ELEMENT_NAME (delem->element), query);
+ "calling autoplug-query for %" GST_PTR_FORMAT " (element %s): %"
+ GST_PTR_FORMAT, dpad, GST_ELEMENT_NAME (delem->element), query);
g_signal_emit (G_OBJECT (dpad->dbin),
gst_decode_bin_signals[SIGNAL_AUTOPLUG_QUERY], 0, dpad, delem->element,
query, &ret);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/playback/gstparsebin.c new/gst-plugins-base-1.20.5/gst/playback/gstparsebin.c
--- old/gst-plugins-base-1.20.4/gst/playback/gstparsebin.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/playback/gstparsebin.c 2022-12-20 00:34:46.000000000 +0100
@@ -3573,6 +3573,7 @@
/* Don't expose if we're currently shutting down */
DYN_LOCK (parsebin);
if (G_UNLIKELY (parsebin->shutdown)) {
+ g_list_free_full (endpads, (GDestroyNotify) gst_object_unref);
GST_WARNING_OBJECT (parsebin,
"Currently, shutting down, aborting exposing");
DYN_UNLOCK (parsebin);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/subparse/gstsubparse.c new/gst-plugins-base-1.20.5/gst/subparse/gstsubparse.c
--- old/gst-plugins-base-1.20.4/gst/subparse/gstsubparse.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/subparse/gstsubparse.c 2022-12-20 00:34:46.000000000 +0100
@@ -785,9 +785,11 @@
last = g_ptr_array_index (open_tags, num_open_tags - 1);
if (num_open_tags == 0
|| g_ascii_strncasecmp (end_tag - 1, last, strlen (last))) {
- GST_LOG ("broken input, closing tag '%s' is not open", end_tag - 1);
- memmove (next_tag, end_tag + 1, strlen (end_tag) + 1);
- next_tag -= strlen (end_tag);
+ GST_LOG ("broken input, closing tag '%s' is not open", next_tag);
+ /* Move everything after the tag end, including closing \0 */
+ memmove (next_tag, end_tag + 1, strlen (end_tag));
+ cur = next_tag;
+ continue;
} else {
--num_open_tags;
g_ptr_array_remove_index (open_tags, num_open_tags);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst/videoscale/gstvideoscale.c new/gst-plugins-base-1.20.5/gst/videoscale/gstvideoscale.c
--- old/gst-plugins-base-1.20.4/gst/videoscale/gstvideoscale.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst/videoscale/gstvideoscale.c 2022-12-20 00:34:46.000000000 +0100
@@ -519,7 +519,8 @@
const gchar *const valid_tags[] = { GST_META_TAG_VIDEO_STR,
GST_META_TAG_VIDEO_COLORSPACE_STR,
GST_META_TAG_VIDEO_ORIENTATION_STR,
- GST_META_TAG_VIDEO_SIZE_STR
+ GST_META_TAG_VIDEO_SIZE_STR,
+ NULL
};
tags = gst_meta_api_type_get_tags (info->api);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/app/gstappsrc.c new/gst-plugins-base-1.20.5/gst-libs/gst/app/gstappsrc.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/app/gstappsrc.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/app/gstappsrc.c 2022-12-20 00:34:46.000000000 +0100
@@ -183,6 +183,9 @@
guint64 min_latency;
guint64 max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
+
gboolean emit_signals;
guint min_percent;
gboolean handle_segment_change;
@@ -1103,6 +1106,7 @@
priv->is_eos = FALSE;
priv->flushing = TRUE;
priv->started = FALSE;
+ priv->posted_latency_msg = FALSE;
gst_app_src_flush_queued (appsrc, TRUE);
g_cond_broadcast (&priv->cond);
g_mutex_unlock (&priv->mutex);
@@ -2325,6 +2329,10 @@
priv->max_latency = max;
changed = TRUE;
}
+ if (!priv->posted_latency_msg) {
+ priv->posted_latency_msg = TRUE;
+ changed = TRUE;
+ }
g_mutex_unlock (&priv->mutex);
if (changed) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudiodecoder.c new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudiodecoder.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudiodecoder.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudiodecoder.c 2022-12-20 00:34:46.000000000 +0100
@@ -180,6 +180,8 @@
/* MT-protected (with LOCK) */
GstClockTime min_latency;
GstClockTime max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
GstAllocator *allocator;
GstAllocationParams params;
@@ -555,6 +557,7 @@
memset (&dec->priv->ctx, 0, sizeof (dec->priv->ctx));
gst_audio_info_init (&dec->priv->ctx.info);
+ dec->priv->ctx.posted_latency_msg = FALSE;
GST_OBJECT_UNLOCK (dec);
dec->priv->ctx.had_output_data = FALSE;
dec->priv->ctx.had_input_data = FALSE;
@@ -3391,24 +3394,43 @@
* @min: minimum latency
* @max: maximum latency
*
- * Sets decoder latency.
+ * Sets decoder latency. If the provided values changed from
+ * previously provided ones, this will also post a LATENCY message on the bus
+ * so the pipeline can reconfigure its global latency.
*/
void
gst_audio_decoder_set_latency (GstAudioDecoder * dec,
GstClockTime min, GstClockTime max)
{
+ gboolean post_message = FALSE;
+
g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min));
g_return_if_fail (min <= max);
+ GST_DEBUG_OBJECT (dec,
+ "min_latency:%" GST_TIME_FORMAT " max_latency:%" GST_TIME_FORMAT,
+ GST_TIME_ARGS (min), GST_TIME_ARGS (max));
+
GST_OBJECT_LOCK (dec);
- dec->priv->ctx.min_latency = min;
- dec->priv->ctx.max_latency = max;
+ if (dec->priv->ctx.min_latency != min) {
+ dec->priv->ctx.min_latency = min;
+ post_message = TRUE;
+ }
+ if (dec->priv->ctx.max_latency != max) {
+ dec->priv->ctx.max_latency = max;
+ post_message = TRUE;
+ }
+ if (!dec->priv->ctx.posted_latency_msg) {
+ dec->priv->ctx.posted_latency_msg = TRUE;
+ post_message = TRUE;
+ }
GST_OBJECT_UNLOCK (dec);
/* post latency message on the bus */
- gst_element_post_message (GST_ELEMENT (dec),
- gst_message_new_latency (GST_OBJECT (dec)));
+ if (post_message)
+ gst_element_post_message (GST_ELEMENT (dec),
+ gst_message_new_latency (GST_OBJECT (dec)));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudioencoder.c new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudioencoder.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudioencoder.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudioencoder.c 2022-12-20 00:34:46.000000000 +0100
@@ -172,6 +172,9 @@
GstClockTime min_latency;
GstClockTime max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
+
GList *headers;
gboolean new_headers;
@@ -487,6 +490,7 @@
memset (&enc->priv->ctx, 0, sizeof (enc->priv->ctx));
gst_audio_info_init (&enc->priv->ctx.info);
+ enc->priv->ctx.posted_latency_msg = FALSE;
GST_OBJECT_UNLOCK (enc);
if (enc->priv->upstream_tags) {
@@ -2308,27 +2312,43 @@
* @min: minimum latency
* @max: maximum latency
*
- * Sets encoder latency.
+ * Sets encoder latency. If the provided values changed from
+ * previously provided ones, this will also post a LATENCY message on the bus
+ * so the pipeline can reconfigure its global latency.
*/
void
gst_audio_encoder_set_latency (GstAudioEncoder * enc,
GstClockTime min, GstClockTime max)
{
+ gboolean post_message = FALSE;
+
g_return_if_fail (GST_IS_AUDIO_ENCODER (enc));
g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min));
g_return_if_fail (min <= max);
+ GST_DEBUG_OBJECT (enc,
+ "min_latency:%" GST_TIME_FORMAT " max_latency:%" GST_TIME_FORMAT,
+ GST_TIME_ARGS (min), GST_TIME_ARGS (max));
+
GST_OBJECT_LOCK (enc);
- enc->priv->ctx.min_latency = min;
- enc->priv->ctx.max_latency = max;
+ if (enc->priv->ctx.min_latency != min) {
+ enc->priv->ctx.min_latency = min;
+ post_message = TRUE;
+ }
+ if (enc->priv->ctx.max_latency != max) {
+ enc->priv->ctx.max_latency = max;
+ post_message = TRUE;
+ }
+ if (!enc->priv->ctx.posted_latency_msg) {
+ enc->priv->ctx.posted_latency_msg = TRUE;
+ post_message = TRUE;
+ }
GST_OBJECT_UNLOCK (enc);
- GST_LOG_OBJECT (enc, "set to %" GST_TIME_FORMAT "-%" GST_TIME_FORMAT,
- GST_TIME_ARGS (min), GST_TIME_ARGS (max));
-
/* post latency message on the bus */
- gst_element_post_message (GST_ELEMENT (enc),
- gst_message_new_latency (GST_OBJECT (enc)));
+ if (post_message)
+ gst_element_post_message (GST_ELEMENT (enc),
+ gst_message_new_latency (GST_OBJECT (enc)));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudiofilter.c new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudiofilter.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/audio/gstaudiofilter.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/audio/gstaudiofilter.c 2022-12-20 00:34:46.000000000 +0100
@@ -180,6 +180,11 @@
GstAudioFilter *filter = GST_AUDIO_FILTER (btrans);
if (btrans->segment.format == GST_FORMAT_TIME) {
+ if (!GST_AUDIO_INFO_IS_VALID (&filter->info)) {
+ GST_WARNING_OBJECT (filter, "Got buffer, but not negotiated yet!");
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+
input =
gst_audio_buffer_clip (input, &btrans->segment, filter->info.rate,
filter->info.bpf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h
--- old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h 2022-12-20 00:34:46.000000000 +0100
@@ -61,7 +61,7 @@
gboolean gst_gl_window_cocoa_create_window (GstGLWindowCocoa *window_cocoa);
G_GNUC_INTERNAL
-void _invoke_on_main (GstGLWindowCB func, gpointer data, GDestroyNotify notify);
+void _gst_gl_invoke_on_main (GstGLWindowCB func, gpointer data, GDestroyNotify notify);
G_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m
--- old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m 2022-12-20 00:34:46.000000000 +0100
@@ -313,7 +313,7 @@
context_cocoa->priv->pixel_format = fmt;
context_cocoa->priv->gl_context = glContext;
- _invoke_on_main ((GstGLWindowCB) gst_gl_window_cocoa_create_window,
+ _gst_gl_invoke_on_main ((GstGLWindowCB) gst_gl_window_cocoa_create_window,
gst_object_ref (window_cocoa), (GDestroyNotify) gst_object_unref);
if (!context_cocoa->priv->gl_context) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m
--- old/gst-plugins-base-1.20.4/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m 2022-12-20 00:34:46.000000000 +0100
@@ -269,8 +269,8 @@
static void
gst_gl_window_cocoa_close (GstGLWindow * window)
{
- _invoke_on_main ((GstGLWindowCB) _close_window, gst_object_ref (window),
- (GDestroyNotify) gst_object_unref);
+ _gst_gl_invoke_on_main ((GstGLWindowCB) _close_window,
+ gst_object_ref (window), (GDestroyNotify) gst_object_unref);
}
static guintptr
@@ -352,8 +352,8 @@
}
if (!priv->external_view && !priv->visible)
- _invoke_on_main ((GstGLWindowCB) _show_window, gst_object_ref (window),
- (GDestroyNotify) gst_object_unref);
+ _gst_gl_invoke_on_main ((GstGLWindowCB) _show_window,
+ gst_object_ref (window), (GDestroyNotify) gst_object_unref);
}
}
@@ -585,8 +585,8 @@
render->rect.w = width;
render->rect.h = height;
- _invoke_on_main ((GstGLWindowCB) _set_render_rectangle, render,
- (GDestroyNotify) _free_set_render_rectangle);
+ _gst_gl_invoke_on_main ((GstGLWindowCB) _set_render_rectangle, render,
+ (GDestroyNotify) _free_set_render_rectangle);
return TRUE;
}
@@ -738,7 +738,7 @@
@end
void
-_invoke_on_main (GstGLWindowCB func, gpointer data, GDestroyNotify notify)
+_gst_gl_invoke_on_main (GstGLWindowCB func, gpointer data, GDestroyNotify notify)
{
if ([NSThread isMainThread]) {
func (data);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/gl/egl/gsteglimage.c new/gst-plugins-base-1.20.5/gst-libs/gst/gl/egl/gsteglimage.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/gl/egl/gsteglimage.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/gl/egl/gsteglimage.c 2022-12-20 00:34:46.000000000 +0100
@@ -299,10 +299,8 @@
EGLContext egl_context = EGL_NO_CONTEXT;
EGLImageKHR img = EGL_NO_IMAGE_KHR;
GstGLDisplayEGL *display_egl;
- gint plat_major, plat_minor;
guint attrib_len = 0;
- gst_gl_context_get_gl_platform_version (context, &plat_major, &plat_minor);
display_egl = gst_gl_display_egl_from_gl_display (context->display);
if (!display_egl) {
@@ -321,6 +319,9 @@
while (attribs[attrib_len++] != EGL_NONE) {
}
#ifdef EGL_VERSION_1_5
+ gint plat_major, plat_minor;
+ gst_gl_context_get_gl_platform_version (context, &plat_major, &plat_minor);
+
if (GST_GL_CHECK_GL_VERSION (plat_major, plat_minor, 1, 5)) {
EGLImageKHR (*gst_eglCreateImage) (EGLDisplay dpy, EGLContext ctx,
EGLenum target, EGLClientBuffer buffer, const EGLAttrib * attrib_list);
@@ -347,7 +348,7 @@
g_free (egl_attribs);
} else
#endif
- {
+ if (gst_gl_context_check_feature (context, "EGL_KHR_image_base")) {
EGLImageKHR (*gst_eglCreateImageKHR) (EGLDisplay dpy, EGLContext ctx,
EGLenum target, EGLClientBuffer buffer, const EGLint * attrib_list);
EGLint *egl_attribs = NULL;
@@ -356,8 +357,8 @@
gst_eglCreateImageKHR = gst_gl_context_get_proc_address (context,
"eglCreateImageKHR");
if (!gst_eglCreateImageKHR) {
- GST_WARNING_OBJECT (context, "\"eglCreateImageKHR\" not exposed by the "
- "implementation");
+ GST_ERROR_OBJECT (context, "\"eglCreateImageKHR\" not exposed by the "
+ "implementation as required by EGL_KHR_image_base");
return EGL_NO_IMAGE_KHR;
}
@@ -371,6 +372,9 @@
egl_attribs);
g_free (egl_attribs);
+ } else {
+ GST_INFO_OBJECT (context, "EGLImage creation not supported");
+ return EGL_NO_IMAGE_KHR;
}
return img;
@@ -383,16 +387,31 @@
EGLDisplay egl_display = EGL_DEFAULT_DISPLAY;
GstGLDisplayEGL *display_egl;
- gst_eglDestroyImage = gst_gl_context_get_proc_address (context,
- "eglDestroyImage");
- if (!gst_eglDestroyImage) {
+#ifdef EGL_VERSION_1_5
+ gint plat_major, plat_minor;
+ gst_gl_context_get_gl_platform_version (context, &plat_major, &plat_minor);
+
+ if (GST_GL_CHECK_GL_VERSION (plat_major, plat_minor, 1, 5)) {
+ gst_eglDestroyImage = gst_gl_context_get_proc_address (context,
+ "eglDestroyImage");
+ if (!gst_eglDestroyImage) {
+ GST_ERROR_OBJECT (context, "\"eglDestroyImage\" not exposed by the "
+ "implementation as required by EGL >= 1.5");
+ return;
+ }
+ } else
+#endif
+ if (gst_gl_context_check_feature (context, "EGL_KHR_image_base")) {
gst_eglDestroyImage = gst_gl_context_get_proc_address (context,
"eglDestroyImageKHR");
if (!gst_eglDestroyImage) {
GST_ERROR_OBJECT (context, "\"eglDestroyImage\" not exposed by the "
- "implementation");
+ "implementation as required by EGL_KHR_image_base");
return;
}
+ } else {
+ GST_ERROR_OBJECT (context, "Destruction of EGLImage not supported.");
+ return;
}
display_egl = gst_gl_display_egl_from_gl_display (context->display);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/gl/meson.build new/gst-plugins-base-1.20.5/gst-libs/gst/gl/meson.build
--- old/gst-plugins-base-1.20.4/gst-libs/gst/gl/meson.build 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/gl/meson.build 2022-12-20 00:34:46.000000000 +0100
@@ -689,7 +689,16 @@
endif
if need_win_dispmanx != 'no'
- if bcm_host_dep.found()
+ have_dispmanx_window_t = cc.has_type(
+ 'EGL_DISPMANX_WINDOW_T',
+ prefix: '''
+#include <bcm_host.h>
+#include <EGL/egl.h>
+''',
+ dependencies: [gl_lib_deps, egl_dep, bcm_host_dep],
+ include_directories: gl_includes)
+
+ if have_dispmanx_window_t and bcm_host_dep.found()
if not egl_dep.found()
error('dispmanx requires the use of egl')
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideodecoder.c new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideodecoder.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideodecoder.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideodecoder.c 2022-12-20 00:34:46.000000000 +0100
@@ -446,6 +446,9 @@
gint64 min_latency;
gint64 max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
+
/* upstream stream tags (global tags are passed through as-is) */
GstTagList *upstream_tags;
@@ -2384,6 +2387,8 @@
priv->dropped = 0;
priv->processed = 0;
+ priv->posted_latency_msg = FALSE;
+
priv->decode_frame_number = 0;
priv->base_picture_number = 0;
@@ -5073,24 +5078,41 @@
* @min_latency: minimum latency
* @max_latency: maximum latency
*
- * Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
- * latency is. Will also post a LATENCY message on the bus so the pipeline
- * can reconfigure its global latency.
+ * Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder latency
+ * is. If the provided values changed from previously provided ones, this will
+ * also post a LATENCY message on the bus so the pipeline can reconfigure its
+ * global latency.
*/
void
gst_video_decoder_set_latency (GstVideoDecoder * decoder,
GstClockTime min_latency, GstClockTime max_latency)
{
+ gboolean post_message = FALSE;
g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min_latency));
g_return_if_fail (max_latency >= min_latency);
+ GST_DEBUG_OBJECT (decoder,
+ "min_latency:%" GST_TIME_FORMAT " max_latency:%" GST_TIME_FORMAT,
+ GST_TIME_ARGS (min_latency), GST_TIME_ARGS (max_latency));
+
GST_OBJECT_LOCK (decoder);
- decoder->priv->min_latency = min_latency;
- decoder->priv->max_latency = max_latency;
+ if (decoder->priv->min_latency != min_latency) {
+ decoder->priv->min_latency = min_latency;
+ post_message = TRUE;
+ }
+ if (decoder->priv->max_latency != max_latency) {
+ decoder->priv->max_latency = max_latency;
+ post_message = TRUE;
+ }
+ if (!decoder->priv->posted_latency_msg) {
+ decoder->priv->posted_latency_msg = TRUE;
+ post_message = TRUE;
+ }
GST_OBJECT_UNLOCK (decoder);
- gst_element_post_message (GST_ELEMENT_CAST (decoder),
- gst_message_new_latency (GST_OBJECT_CAST (decoder)));
+ if (post_message)
+ gst_element_post_message (GST_ELEMENT_CAST (decoder),
+ gst_message_new_latency (GST_OBJECT_CAST (decoder)));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideoencoder.c new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideoencoder.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideoencoder.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideoencoder.c 2022-12-20 00:34:46.000000000 +0100
@@ -134,6 +134,9 @@
gint64 min_latency;
gint64 max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
+
/* FIXME 2.0: Use a GQueue or similar, see GstVideoCodecFrame::events */
GList *current_frame_events;
@@ -524,6 +527,8 @@
priv->dropped = 0;
priv->processed = 0;
+
+ priv->posted_latency_msg = FALSE;
} else {
GList *l;
@@ -2864,22 +2869,41 @@
* @min_latency: minimum latency
* @max_latency: maximum latency
*
- * Informs baseclass of encoding latency.
+ * Informs baseclass of encoding latency. If the provided values changed from
+ * previously provided ones, this will also post a LATENCY message on the bus
+ * so the pipeline can reconfigure its global latency.
*/
void
gst_video_encoder_set_latency (GstVideoEncoder * encoder,
GstClockTime min_latency, GstClockTime max_latency)
{
+ gboolean post_message = FALSE;
+
g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min_latency));
g_return_if_fail (max_latency >= min_latency);
+ GST_DEBUG_OBJECT (encoder,
+ "min_latency:%" GST_TIME_FORMAT " max_latency:%" GST_TIME_FORMAT,
+ GST_TIME_ARGS (min_latency), GST_TIME_ARGS (max_latency));
+
GST_OBJECT_LOCK (encoder);
- encoder->priv->min_latency = min_latency;
- encoder->priv->max_latency = max_latency;
+ if (encoder->priv->min_latency != min_latency) {
+ encoder->priv->min_latency = min_latency;
+ post_message = TRUE;
+ }
+ if (encoder->priv->max_latency != max_latency) {
+ encoder->priv->max_latency = max_latency;
+ post_message = TRUE;
+ }
+ if (!encoder->priv->posted_latency_msg) {
+ encoder->priv->posted_latency_msg = TRUE;
+ post_message = TRUE;
+ }
GST_OBJECT_UNLOCK (encoder);
- gst_element_post_message (GST_ELEMENT_CAST (encoder),
- gst_message_new_latency (GST_OBJECT_CAST (encoder)));
+ if (post_message)
+ gst_element_post_message (GST_ELEMENT_CAST (encoder),
+ gst_message_new_latency (GST_OBJECT_CAST (encoder)));
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideosink.c new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideosink.c
--- old/gst-plugins-base-1.20.4/gst-libs/gst/video/gstvideosink.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-libs/gst/video/gstvideosink.c 2022-12-20 00:34:46.000000000 +0100
@@ -273,6 +273,12 @@
*end = timestamp +
gst_util_uint64_scale_int (GST_SECOND, vsink->priv->info.fps_d,
vsink->priv->info.fps_n);
+ } else if (bsink->segment.rate < 0) {
+ /* The end time will be used for clock waiting time position
+ * in case of revese playback, and unknown end time will result in
+ * never waiting for clock (as if sync=false).
+ * Returning timestamp here would be the best effort we can do */
+ *end = timestamp;
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/gst-plugins-base.doap new/gst-plugins-base-1.20.5/gst-plugins-base.doap
--- old/gst-plugins-base-1.20.4/gst-plugins-base.doap 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/gst-plugins-base.doap 2022-12-20 00:34:46.000000000 +0100
@@ -36,6 +36,16 @@
<release>
<Version>
+ <revision>1.20.5</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-12-19</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.2…" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.4</revision>
<branch>1.20</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/meson.build new/gst-plugins-base-1.20.5/meson.build
--- old/gst-plugins-base-1.20.4/meson.build 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/meson.build 2022-12-20 00:34:46.000000000 +0100
@@ -1,5 +1,5 @@
project('gst-plugins-base', 'c',
- version : '1.20.4',
+ version : '1.20.5',
meson_version : '>= 0.59',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
@@ -30,11 +30,7 @@
glib_req = '>= 2.56.0'
orc_req = '>= 0.4.24'
-if gst_version_is_stable
- gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor)
-else
- gst_req = '>= ' + gst_version
-endif
+gst_req = '>= 1.20.4' # for _gst_meta_tag_memory_reference
api_version = '1.0'
soversion = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gst-plugins-base-1.20.4/tools/gst-play.c new/gst-plugins-base-1.20.5/tools/gst-play.c
--- old/gst-plugins-base-1.20.4/tools/gst-play.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gst-plugins-base-1.20.5/tools/gst-play.c 2022-12-20 00:34:46.000000000 +0100
@@ -604,8 +604,9 @@
if (collection) {
g_mutex_lock (&play->selection_lock);
- gst_object_replace ((GstObject **) & play->collection,
- (GstObject *) collection);
+ if (play->collection)
+ gst_object_unref (play->collection);
+ play->collection = collection;
g_mutex_unlock (&play->selection_lock);
}
break;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer for openSUSE:Factory checked in at 2022-12-25 15:14:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer (Old)
and /work/SRC/openSUSE:Factory/.gstreamer.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer"
Sun Dec 25 15:14:21 2022 rev:82 rq:1045094 version:1.20.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer/gstreamer.changes 2022-10-25 11:18:39.557957366 +0200
+++ /work/SRC/openSUSE:Factory/.gstreamer.new.1563/gstreamer.changes 2022-12-25 15:14:26.585233893 +0100
@@ -1,0 +2,59 @@
+Thu Dec 22 12:43:08 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 1.20.5:
+ + This release only contains bugfixes and it should be safe to
+ upgrade from 1.20.x.
+ + systemclock waiting fixes for certain 32-bit platforms/libcs
+ + alphacombine: robustness improvements for corner case scenarios
+ + avfvideosrc: Report latency when doing screen capture
+ + d3d11videosink: various thread-safety and stability fixes
+ + decklink: fix performance issue when HDMI signal has been lost
+ for a long time
+ + flacparse: Fix handling of headers advertising 32 bits per
+ sample
+ + mpegts: Handle when iconv doesn't support ISO 6937 (e.g. musl
+ libc)
+ + opengl: fix automatic dispmanx detection for rpi4 and fix usage
+ of eglCreate/DestroyImage
+ + opusdec: Various channel-related fixes
+ + textrender: event handling fixes, esp. for GAP event
+ + subparse: Fix non-closed tag handling
+ + videoscale: fix handling of unknown buffer metas
+ + videosink: reverse playback handling fixes
+ + qtmux: Prefill mode fixes, especially for raw audio
+ + multiudpsink: allow binding to IPv6 address
+ + rtspsrc:
+ - Fix usage of IPv6 connections in SETUP
+ - Only EOS on timeout if all streams are timed out/EOS
+ + splitmuxsrc: fix playback stall if there are unlinked pads
+ + v4l2: Fix SIGSEGV on state change during format changes
+ + wavparse robustness fixes
+ + Fix static linking on macOS (opengl, vulkan)
+ + gstreamer-vaapi: fix headless build against mesa >= 22.3.0
+ + GStreamer Editing Services library: Fix build with tools
+ disabled
+ + webrtc example/demo fixes
+ + unit test fixes for aesdec and rtpjitterbuffer
+ + Cerbero: Fix ios cross-compile with cmake on M1; some recipe
+ updates and other build fixes
+ + Miscellaneous bug fixes, memory leak fixes, and other stability
+ and reliability improvements
+ + Performance improvements
+ + Changes in gstreamer base package:
+ - allocator: Copy allocator name in gst_allocator_register()
+ - concat: Properly propagate EOS seqnum
+ - fakesrc: avoid time overflow with datarate
+ - Fix build of 1.20 branch with Meson 0.64.1 for those who have
+ hotdoc installed on their system.
+ - gst-inspect: Don't leak list
+ - meson: fix check for pthread_setname_np()
+ - miniobject: support higher refcount values
+ - pads: Fix non-serialized sticky event push, e.g. instant
+ change rate events
+ - padtemplate: Fix annotations
+ - systemclock: Use futex_time64 syscall on x32 and other
+ platforms that always...
+ - -Wimplicit-function-declaration in pthread_setname_np check
+ (missing GNUSOURCE)
+
+-------------------------------------------------------------------
Old:
----
gstreamer-1.20.4.tar.xz
New:
----
gstreamer-1.20.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer.spec ++++++
--- /var/tmp/diff_new_pack.IZL6A4/_old 2022-12-25 15:14:27.941241570 +0100
+++ /var/tmp/diff_new_pack.IZL6A4/_new 2022-12-25 15:14:27.941241570 +0100
@@ -19,7 +19,7 @@
%define gst_branch 1.0
Name: gstreamer
-Version: 1.20.4
+Version: 1.20.5
Release: 0
Summary: Streaming-Media Framework Runtime
License: LGPL-2.1-or-later
++++++ gstreamer-1.20.4.tar.xz -> gstreamer-1.20.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/ChangeLog new/gstreamer-1.20.5/ChangeLog
--- old/gstreamer-1.20.4/ChangeLog 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/ChangeLog 2022-12-20 00:34:46.000000000 +0100
@@ -1,7 +1,125 @@
+=== release 1.20.5 ===
+
+2022-12-19 23:34:42 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * NEWS:
+ * RELEASE:
+ * gstreamer.doap:
+ * meson.build:
+ Release 1.20.5
+
+2022-12-19 23:34:34 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * ChangeLog:
+ Update ChangeLogs for 1.20.5
+
+2022-12-12 11:34:51 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * gst/gstsystemclock.c:
+ * meson.build:
+ systemclock: Use `futex_time64` syscall if available (32-bit systems) and use correct `struct timespec` definition
+ See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1648
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3572>
+
+2022-11-07 09:27:09 -0500 Xavier Claessens <xavier.claessens(a)collabora.com>
+
+ * docs/meson.build:
+ hotdoc: gst-hotdoc-plugins-scanner is not needed for libraries
+ Meson >= 0.64.0 does not allow any more to add executables into
+ hotdoc.generate_doc(..., dependencies: ...) and it should not be needed
+ any way.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3554>
+
+2022-12-07 11:49:40 +0000 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * meson.build:
+ meson: fix check for pthread_setname_np()
+ Need to define _GNU_SOURCE.
+ Fixes #1542
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3539>
+
+2022-11-30 09:59:09 +0100 Edward Hervey <edward(a)centricular.com>
+
+ * tools/gst-inspect.c:
+ gst-inspect: Don't leak list
+ Just iterate the list instead of trying to be smart...
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3499>
+
+2022-11-18 16:57:16 +0100 C��lestin Marot <c.marot(a)intopix.com>
+
+ * plugins/elements/gstfakesrc.c:
+ fakesrc: avoid time overflow with datarate
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3438>
+
+2022-11-08 17:45:37 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * gst/gstallocator.c:
+ allocator: Switch `allow-none` annotations to `nullable` / `optional`
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3369>
+
+2022-11-08 17:44:54 +0200 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * gst/gstallocator.c:
+ allocator: Copy allocator name in gst_allocator_register()
+ The parameter is not marked as `transfer full` and stays around in the
+ hash table, so we will have to copy it ourselves.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3369>
+
+2022-10-24 12:13:14 +0200 Edward Hervey <edward(a)centricular.com>
+
+ * gst/gstpad.c:
+ gstpad: Fix non-serialized sticky event push
+ With non-serialized sticky events, such as GST_EVENT_INSTANT_RATE, we both want
+ to store the event (for later re-linking) *AND* push the event in a non-blocking
+ way.
+ We therefore must *not* propagate pending sticky events if the event is "sticky
+ or serialized" but only if it's "serialized"
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3332>
+
+2022-10-27 15:13:36 +0300 Sebastian Dr��ge <sebastian(a)centricular.com>
+
+ * libs/gst/base/gstaggregator.c:
+ * libs/gst/base/gstbaseparse.c:
+ core/base: Only post latency messages if the latency values have actually changed
+ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1525
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3291>
+
+2022-10-27 11:18:24 +0200 Edward Hervey <edward(a)centricular.com>
+
+ * plugins/elements/gstconcat.c:
+ concat: Properly propagate EOS seqnum
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3288>
+
+2022-10-22 22:04:57 +0900 Seungha Yang <seungha(a)centricular.com>
+
+ * gst/gstpadtemplate.c:
+ padtemplate: Fix annotations
+ gst_caps_replace() does not take ownership of the new caps
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3262>
+
+2022-10-18 16:41:36 +0200 Bunio_FH <buniofh(a)gmail.com>
+
+ * gst/gstminiobject.c:
+ gstminiobject: shares capacity increase
+ during the MSE (WebKit) tests from Apple suite:
+ https://hls-streaming.cdn-apple.com/hls_conformance/dist/v1.1/index.html?pr…
+ webkit attempts to add a single audio buffer containing ~35.5k frames.
+ when corresponding GstSamples are pulled buffer is being referenced
+ more than object capacity allows: 2^15-1. since the case could be considered
+ malformed a surgical patch is applied to increase the capacity.
+ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3233>
+
+2022-10-12 18:40:25 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+
+ * meson.build:
+ Back to development
+
=== release 1.20.4 ===
2022-10-12 16:39:47 +0100 Tim-Philipp M��ller <tim(a)centricular.com>
+ * ChangeLog:
* NEWS:
* RELEASE:
* gstreamer.doap:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/NEWS new/gstreamer-1.20.5/NEWS
--- old/gstreamer-1.20.4/NEWS 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/NEWS 2022-12-20 00:34:46.000000000 +0100
@@ -2,13 +2,13 @@
GStreamer 1.20.0 was originally released on 3 February 2022.
-The latest bug-fix release in the 1.20 series is 1.20.4 and was released
-on 12 October 2022.
+The latest bug-fix release in the 1.20 series is 1.20.5 and was released
+on 19 December 2022.
See https://gstreamer.freedesktop.org/releases/1.20/ for the latest
version of this document.
-Last updated: Wednesday 12 October 2022, 15:00 UTC (log)
+Last updated: Monday 19 December 2022, 19:00 UTC (log)
Introduction
@@ -1791,6 +1791,13 @@
Known Issues
+- GStreamer may fail to build the hotdoc documentation with the Meson
+ 0.64.0 release owing to a Meson bug. This should only affect systems
+ where hotdoc is installed, and will be fixed in Meson 0.64.1 by this
+ Meson PR in combination with this GStreamer MR. In the meantime,
+ users can pass -Ddoc=disabledor downgrade to an older Meson version
+ (< 0.64.0).
+
- nothing in particular at this point (but also see possibly breaking
changes section above)
@@ -2530,6 +2537,7 @@
chroma (Y41B, YUV9, YVU9 and IYU9)
- macOS build and packaging fixes, in particular fix finding of gio
modules on macOS for https/TLS support
+- Fix consuming of the macOS package as a framework in XCode
- Performance improvements
- Miscellaneous bug fixes, memory leak fixes, and other stability and
reliability improvements
@@ -2783,6 +2791,252 @@
- List of Merge Requests applied in 1.20.4
- List of Issues fixed in 1.20.4
+1.20.5
+
+The fifth 1.20 bug-fix release (1.20.5) was released on 19 December
+2022.
+
+This release only contains bugfixes and it should be safe to upgrade
+from 1.20.x.
+
+Highlighted bugfixes in 1.20.5
+
+- systemclock waiting fixes for certain 32-bit platforms/libcs
+- alphacombine: robustness improvements for corner case scenarios
+- avfvideosrc: Report latency when doing screen capture
+- d3d11videosink: various thread-safety and stability fixes
+- decklink: fix performance issue when HDMI signal has been lost for a
+ long time
+- flacparse: Fix handling of headers advertising 32 bits per sample
+- mpegts: Handle when iconv doesn���t support ISO 6937 (e.g.��musl libc)
+- opengl: fix automatic dispmanx detection for rpi4 and fix usage of
+ eglCreate/DestroyImage
+- opusdec: Various channel-related fixes
+- textrender: event handling fixes, esp.��for GAP event
+- subparse: Fix non-closed tag handling
+- videoscale: fix handling of unknown buffer metas
+- videosink: reverse playback handling fixes
+- qtmux: Prefill mode fixes, especially for raw audio
+- multiudpsink: allow binding to IPv6 address
+- rtspsrc: Fix usage of IPv6 connections in SETUP
+- rtspsrc: Only EOS on timeout if all streams are timed out/EOS
+- splitmuxsrc: fix playback stall if there are unlinked pads
+- v4l2: Fix SIGSEGV on state change during format changes
+- wavparse robustness fixes
+- Fix static linking on macOS (opengl, vulkan)
+- gstreamer-vaapi: fix headless build against mesa >= 22.3.0
+- GStreamer Editing Services library: Fix build with tools disabled
+- webrtc example/demo fixes
+- unit test fixes for aesdec and rtpjitterbuffer
+- Cerbero: Fix ios cross-compile with cmake on M1; some recipe updates
+ and other build fixes
+- Binary packages: pkg-config file fixes for various recipes (ffmpeg,
+ taglib, gstreamer)
+- Binary packages: Enable high bitdepth support for libvpx (VP8/VP9
+ encoding/decoding)
+- Binary packages: ship aes plugin
+- Miscellaneous bug fixes, memory leak fixes, and other stability and
+ reliability improvements
+- Performance improvements
+
+gstreamer
+
+- allocator: Copy allocator name in gst_allocator_register()
+- miniobject: support higher refcount values
+- pads: Fix non-serialized sticky event push, e.g.��instant change rate
+ events
+- padtemplate: Fix annotations
+- systemclock: Use futex_time64 syscall on x32 and other platforms
+ that always���
+- Fix build of 1.20 branch with Meson 0.64.1 for those who have hotdoc
+ installed on their system.
+- meson: fix check for pthread_setname_np()
+- -Wimplicit-function-declaration in pthread_setname_np check (missing
+ _GNU_SOURCE)
+- gst-inspect: Don���t leak list
+
+Core Elements
+
+- concat: Properly propagate EOS seqnum
+- fakesrc: avoid time overflow with datarate
+
+gst-plugins-base
+
+- audioconvert, audioresample, audiofilter: fix divide by 0 for input
+ buffer without caps
+- cdparanoia: Ignore compiler warning coming from the cdparanoia
+ header
+- oggdemux, parsebin: More leak fixes
+- opengl: fix automatic dispmanx detection for rpi4
+- opengl: Fix usage of eglCreate/DestroyImage
+- opengl: Fix static linking on macOS
+- opusdec: Various channel-related fixes
+- textrender: Negotiate caps on a GAP event if none were negotiated
+ yet
+- textrender: Don���t blindly forward all events and don���t blindly
+ forward all events
+- timeoverlay: fix pad leak
+- oggdemux: Don���t leak incoming EOS event
+- subparse: Fix non-closed tag handling.
+- videodecoder: Only post latency message if it changed
+- videoscale: buffer meta handling fixes (NULL-terminate array of
+ valid meta tags)
+- videosink: Don���t return unknown end-time from get_times()
+- Bump core requirement in 1.20 branch to 1.20.4
+
+Tools
+
+- gst-play: Don���t leak the stream collection
+
+gst-plugins-good
+
+- flacparse: Fix handling of headers advertising 32bps
+- qt5: deactivate context if fill_info fails
+- qt5: initialize GError properly in gst_qt_get_gl_wrapcontext()
+- qtdemux: check return value from gst_structure_get in PIFF box
+- qtdemux: use unsigned int types to store result of QT_UINT32
+- qtmux: Prefill mode fixes
+- oss4: Fix debug category initialization
+- multiudpsink: allow binding to IPv6 address
+- rtpjitterbuffer tests: Cast drop-messages-interval type properly
+ (fixing it on 32-bit architectures)
+- rtspsrc: fix seek event leaks
+- rtspsrc: Don���t replace 404 errors with ���no auth protocol found���
+- rtspsrc: Only EOS on timeout if all streams are timed out/EOS
+- rtspsrc: Fix usage of IPv6 connections in SETUP
+- splitmuxsrc: don���t queue data on unlinked pads
+- v4l2: Fix SIGSEGV on ���change state��� during ���format change���
+- v4l2videodec: Fix activation of internal pool
+- wavparse: Avoid occasional crash due to referencing freed buffer.
+- wavparse: Fix crash that occurs in push mode when header chunks are
+ corrupted in certain ways.
+
+gst-plugins-bad
+
+- aesdec: Fix padding removal for per-buffer-padding=FALSE
+- aesdec test failing in gst-plugins-bad
+- alphacombine: Add missing query handler for gaps
+- avfdeviceprovider: do not leak the properties
+- avfvideosrc: Report latency when doing screen capture
+- d3d11screencapturesrc: Specify PAR 1/1 to template caps
+- d3d11videosink: Fixing focus lost on desktop layout change
+- d3d11videosink: Call ShowWindow() from window thread
+- d3d11videosink: Fix deadlock when parent window is busy
+- d3d11videosink: Always clear back buffer on resize
+- decklink: reset calculation of time_mapping to fix clipping HDMI
+ video
+- directshow: Fix build error with glib 2.75 and newer
+- dvbsubenc: Forward GAP events as-is if we wouldn���t produce an end
+ packet and���
+- dvbsubenc: Write Display Definition Segment if a non-default
+ width/height is used
+- h265decoder: Do not abort when failed to prepare ref pic set
+- h264parser: Fix a typo in pred_weight_table parsing.
+- mediafoundation, d3d11: Fix memory leak and make leak tracer happy
+- mpegts: Handle when iconv doesn���t support ISO 6937 (e.g.��musl libc)
+- mpegts: Check continuity counter on section streams
+- mpegts: Revert ���mpegtspacketizer: memcmp potentially seen_before
+ data���
+- mpegtspacketizer: memcmp potentially seen_before data
+- mpegtsdemux: Always clear packetizer on DISCONT push mode
+- srt: various fixes - improve stats and error handling
+- rtmp2: Improve error messages
+- rtmp2sink: Correctly return GST_FLOW_ERROR on error
+- vulkan: Fix static linking on macOS
+- webrtcbin: also add rtcp-fb ccm fir for video mlines by default
+- webrtc/nice: fix small leak of split strings
+
+gst-plugins-ugly
+
+- No changes
+
+gst-libav
+
+- avdec_h265: Fix endless renegotiation with alternate interlacing
+- avviddec: Avoid flushing on framerate changes
+
+gst-rtsp-server
+
+- rtsp-server: Free client if no connection could be created
+
+gstreamer-vaapi
+
+- vaapi: prefix internal USE_X11 define to fix build with mesa 22.3.0
+- vaapi: libs: context: use queried value for attrib
+- gstreamer-vaapi cannot be built without X11 with recent mesa
+
+gstreamer-sharp
+
+- No changes
+
+gst-omx
+
+- No changes
+
+gst-python
+
+- No changes
+
+gst-editing-services
+
+- Fix building ges with tools disabled
+- Fix leaks and minor races in GES
+
+gst-examples:
+
+- webrtc: Fix double free in webrtc-recvonly-h264 demo
+- webrtc: Fix critical in webrtc-recvonly-h264 example
+- webrtc/signalling examples: Fix compatibility with Python 3.10
+
+Development build environment + gst-full build
+
+- No major changes
+
+Cerbero build tool and packaging changes in 1.20.5
+
+- oven: output status line at least every minute
+- Unconditionally set CMAKE_SYSTEM_NAME on Windows
+- Fix ios cross-compile with cmake on M1
+- Speed up downloads on Windows drastically
+- Fix tar usage on bsdtar and print progress while compressing
+- Actually print the sha for which the cache was not found
+
+Recipes
+
+- ffmpeg: add patch to generate the pc files properly
+- taglib: add patch to generate the pc files properly
+- fontconfig: update to 2.14.1
+- Windows: Crash on GStreamer 1.20.x x86_64 MSVC + MS-Windows due to
+ libfontconfig fonts.conf file invalid.
+- openssl: Fix compile errors on upgrades
+- moltenvk: Also ship the static library on macOS
+- gstreamer: Add some missing pkgconfig files
+- gst-plugins-good: Fix post_install failure when qt5 is enabled
+- gst-plugins-bad: Ship AES plugin
+- libvpx: Enable high bitdepth support
+- openssl: update to 1.1.1s
+- glib: Update patch to auto-detect modules on macOS
+
+Contributors to 1.20.5
+
+Aleksandr Slobodeniuk, Arun Raghavan, A. Wilcox, Bo Elmgreen, Boyuan
+Zhang, Bunio FH, C��lestin Marot, Devin Anderson, Edward Hervey, He
+Junyan, Ignacio Casal Quinteiro, Jacek Skiba, Jan Alexander Steffens
+(heftig), Jan Schmidt, Jonas Bonn, Jordan Petridis, Justin Chadwell,
+Linus Svensson, Marek Olejnik, Mathieu Duponchelle, Matthew Waters,
+Nicolas Dufresne, Nirbheek Chauhan, Patrick Griffis, Pawel Stawicki,
+Philippe Normand, Ruben Gonzalez, Sam Van Den Berge, Sebastian Dr��ge,
+Seungha Yang, St��phane Cerveau, Tim-Philipp M��ller, Vivia Nikolaidou,
+Wojciech Kapsa, Xavier Claessens,
+
+��� 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.20.5
+
+- List of Merge Requests applied in 1.20.5
+- List of Issues fixed in 1.20.5
+
Schedule for 1.22
Our next major feature release will be 1.22, and 1.21 will be the
@@ -2790,7 +3044,7 @@
development of 1.21/1.22 will happen in the git main branch.
The plan for the 1.22 development cycle is now confirmed, and we aim for
-a 1.22.0 release in December 2022.
+a 1.22.0 release in December 2022 or early January 2023.
1.22 will be backwards-compatible to the stable 1.20, 1.18, 1.16, 1.14,
1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/RELEASE new/gstreamer-1.20.5/RELEASE
--- old/gstreamer-1.20.4/RELEASE 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/RELEASE 2022-12-20 00:34:46.000000000 +0100
@@ -1,4 +1,4 @@
-This is GStreamer core 1.20.4.
+This is GStreamer core 1.20.5.
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.20.4/docs/meson.build new/gstreamer-1.20.5/docs/meson.build
--- old/gstreamer-1.20.4/docs/meson.build 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/docs/meson.build 2022-12-20 00:34:46.000000000 +0100
@@ -121,7 +121,7 @@
gi_index: 'gst/gi-index.md',
gi_smart_index: true,
gi_c_source_roots: [join_paths(meson.current_source_dir(), '../gst/'), ],
- dependencies: [gst_dep, glib_dep, gobject_dep, gmodule_dep, hotdoc_plugin_scanner],
+ dependencies: [gst_dep, glib_dep, gobject_dep, gmodule_dep],
extra_assets: [join_paths(meson.current_source_dir(), 'images')],
)]
@@ -147,7 +147,7 @@
gi_index: join_paths('libs/', name, 'index.md'),
gi_smart_index: true,
gi_order_generated_subpages: true,
- dependencies: deps + [hotdoc_plugin_scanner],
+ dependencies: deps,
install: false,
)]
endforeach
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gst/gstallocator.c new/gstreamer-1.20.5/gst/gstallocator.c
--- old/gstreamer-1.20.4/gst/gstallocator.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gst/gstallocator.c 2022-12-20 00:34:46.000000000 +0100
@@ -233,13 +233,14 @@
g_rw_lock_writer_lock (&lock);
/* The ref will never be released */
GST_OBJECT_FLAG_SET (allocator, GST_OBJECT_FLAG_MAY_BE_LEAKED);
- g_hash_table_insert (allocators, (gpointer) name, (gpointer) allocator);
+ g_hash_table_insert (allocators, (gpointer) g_strdup (name),
+ (gpointer) allocator);
g_rw_lock_writer_unlock (&lock);
}
/**
* gst_allocator_find:
- * @name: (allow-none): the name of the allocator
+ * @name: (nullable): the name of the allocator
*
* Find a previously registered allocator with @name. When @name is %NULL, the
* default allocator will be returned.
@@ -289,9 +290,9 @@
/**
* gst_allocator_alloc:
- * @allocator: (transfer none) (allow-none): a #GstAllocator to use
+ * @allocator: (transfer none) (nullable): a #GstAllocator to use
* @size: size of the visible memory area
- * @params: (transfer none) (allow-none): optional parameters
+ * @params: (transfer none) (nullable): optional parameters
*
* Use @allocator to allocate a new memory block with memory that is at least
* @size big.
@@ -599,7 +600,7 @@
_priv_gst_allocator_initialize (void)
{
g_rw_lock_init (&lock);
- allocators = g_hash_table_new_full (g_str_hash, g_str_equal, NULL,
+ allocators = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
gst_object_unref);
#ifdef HAVE_GETPAGESIZE
@@ -642,8 +643,8 @@
* @maxsize: allocated size of @data
* @offset: offset in @data
* @size: size of valid data
- * @user_data: (allow-none): user_data
- * @notify: (allow-none) (scope async) (closure user_data): called with @user_data when the memory is freed
+ * @user_data: (nullable): user_data
+ * @notify: (nullable) (scope async) (closure user_data): called with @user_data when the memory is freed
*
* Allocate a new memory block that wraps the given @data.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gst/gstminiobject.c new/gstreamer-1.20.5/gst/gstminiobject.c
--- old/gstreamer-1.20.4/gst/gstminiobject.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gst/gstminiobject.c 2022-12-20 00:34:46.000000000 +0100
@@ -217,7 +217,7 @@
gboolean
gst_mini_object_lock (GstMiniObject * object, GstLockFlags flags)
{
- gint access_mode, state, newstate;
+ guint access_mode, state, newstate;
g_return_val_if_fail (object != NULL, FALSE);
g_return_val_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object), FALSE);
@@ -228,9 +228,9 @@
do {
access_mode = flags & FLAG_MASK;
- newstate = state = g_atomic_int_get (&object->lockstate);
+ newstate = state = (guint) g_atomic_int_get (&object->lockstate);
- GST_CAT_TRACE (GST_CAT_LOCKING, "lock %p: state %08x, access_mode %d",
+ GST_CAT_TRACE (GST_CAT_LOCKING, "lock %p: state %08x, access_mode %u",
object, state, access_mode);
if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
@@ -265,7 +265,7 @@
lock_failed:
{
GST_CAT_DEBUG (GST_CAT_LOCKING,
- "lock failed %p: state %08x, access_mode %d", object, state,
+ "lock failed %p: state %08x, access_mode %u", object, state,
access_mode);
return FALSE;
}
@@ -281,16 +281,16 @@
void
gst_mini_object_unlock (GstMiniObject * object, GstLockFlags flags)
{
- gint access_mode, state, newstate;
+ guint access_mode, state, newstate;
g_return_if_fail (object != NULL);
g_return_if_fail (GST_MINI_OBJECT_IS_LOCKABLE (object));
do {
access_mode = flags & FLAG_MASK;
- newstate = state = g_atomic_int_get (&object->lockstate);
+ newstate = state = (guint) g_atomic_int_get (&object->lockstate);
- GST_CAT_TRACE (GST_CAT_LOCKING, "unlock %p: state %08x, access_mode %d",
+ GST_CAT_TRACE (GST_CAT_LOCKING, "unlock %p: state %08x, access_mode %u",
object, state, access_mode);
if (access_mode & GST_LOCK_FLAG_EXCLUSIVE) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gst/gstpad.c new/gstreamer-1.20.5/gst/gstpad.c
--- old/gstreamer-1.20.4/gst/gstpad.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gst/gstpad.c 2022-12-20 00:34:46.000000000 +0100
@@ -5492,8 +5492,7 @@
GST_PAD_PROBE_TYPE_BLOCK, event, probe_stopped);
/* recheck sticky events because the probe might have cause a relink */
if (GST_PAD_HAS_PENDING_EVENTS (pad) && GST_PAD_IS_SRC (pad)
- && (GST_EVENT_IS_SERIALIZED (event)
- || GST_EVENT_IS_STICKY (event))) {
+ && (GST_EVENT_IS_SERIALIZED (event))) {
PushStickyData data = { GST_FLOW_OK, FALSE, event };
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
@@ -5510,8 +5509,7 @@
/* recheck sticky events because the probe might have cause a relink */
if (GST_PAD_HAS_PENDING_EVENTS (pad) && GST_PAD_IS_SRC (pad)
- && (GST_EVENT_IS_SERIALIZED (event)
- || GST_EVENT_IS_STICKY (event))) {
+ && (GST_EVENT_IS_SERIALIZED (event))) {
PushStickyData data = { GST_FLOW_OK, FALSE, event };
GST_OBJECT_FLAG_UNSET (pad, GST_PAD_FLAG_PENDING_EVENTS);
@@ -5669,15 +5667,17 @@
break;
}
}
- if (GST_PAD_IS_SRC (pad) && (serialized || sticky)) {
- /* all serialized or sticky events on the srcpad trigger push of
- * sticky events */
+ if (GST_PAD_IS_SRC (pad) && serialized) {
+ /* All serialized events on the srcpad trigger push of sticky events.
+ *
+ * Note that we do not do this for non-serialized sticky events since it
+ * could potentially block. */
res = (check_sticky (pad, event) == GST_FLOW_OK);
}
- if (!sticky) {
+ if (!serialized || !sticky) {
GstFlowReturn ret;
- /* other events are pushed right away */
+ /* non-serialized and non-sticky events are pushed right away. */
ret = gst_pad_push_event_unchecked (pad, event, type);
/* dropped events by a probe are not an error */
res = (ret == GST_FLOW_OK || ret == GST_FLOW_CUSTOM_SUCCESS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gst/gstpadtemplate.c new/gstreamer-1.20.5/gst/gstpadtemplate.c
--- old/gstreamer-1.20.4/gst/gstpadtemplate.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gst/gstpadtemplate.c 2022-12-20 00:34:46.000000000 +0100
@@ -483,7 +483,7 @@
/**
* gst_pad_template_set_documentation_caps:
* @templ: the pad template to set documented capabilities on
- * @caps: (transfer full): the documented capabilities
+ * @caps: (transfer none): the documented capabilities
*
* Certain elements will dynamically construct the caps of their
* pad templates. In order not to let environment-specific information
@@ -510,7 +510,7 @@
*
* See gst_pad_template_set_documentation_caps().
*
- * Returns: The caps to document. For convenience, this will return
+ * Returns: (transfer full): The caps to document. For convenience, this will return
* gst_pad_template_get_caps() when no documentation caps were set.
* Since: 1.18
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gst/gstsystemclock.c new/gstreamer-1.20.5/gst/gstsystemclock.c
--- old/gstreamer-1.20.4/gst/gstsystemclock.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gst/gstsystemclock.c 2022-12-20 00:34:46.000000000 +0100
@@ -70,11 +70,15 @@
#define GST_SYSTEM_CLOCK_WAIT(clock) g_cond_wait(GST_SYSTEM_CLOCK_GET_COND(clock),GST_SYSTEM_CLOCK_GET_LOCK(clock))
#define GST_SYSTEM_CLOCK_BROADCAST(clock) g_cond_broadcast(GST_SYSTEM_CLOCK_GET_COND(clock))
-#if defined(HAVE_FUTEX)
+#if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
#include <unistd.h>
#include <linux/futex.h>
#include <sys/syscall.h>
+#if !defined(__NR_futex) && !defined(__NR_futex_time64)
+#error "Neither __NR_futex nor __NR_futex_time64 are defined but were found by meson"
+#endif
+
#ifndef FUTEX_WAIT_BITSET_PRIVATE
#define FUTEX_WAIT_BITSET_PRIVATE FUTEX_WAIT_BITSET
#endif
@@ -123,14 +127,35 @@
{
g_atomic_int_inc (cond_val);
+#if defined(__NR_futex_time64)
+ {
+ int res;
+ res = syscall (__NR_futex_time64, cond_val, (gsize) FUTEX_WAKE_PRIVATE,
+ (gsize) INT_MAX, NULL);
+
+ /* If the syscall does not exist (`ENOSYS`), we retry again below with the
+ * normal `futex` syscall. This can happen if newer kernel headers are
+ * used than the kernel that is actually running.
+ */
+#ifdef __NR_futex
+ if (res >= 0 || errno != ENOSYS) {
+#else
+ {
+#endif
+ return;
+ }
+ }
+#endif
+
+#if defined(__NR_futex)
syscall (__NR_futex, cond_val, (gsize) FUTEX_WAKE_PRIVATE, (gsize) INT_MAX,
NULL);
+#endif
}
static gboolean
gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time)
{
- struct timespec end;
guint sampled;
int res;
gboolean success;
@@ -138,20 +163,92 @@
if (end_time < 0)
return FALSE;
- end.tv_sec = end_time / 1000000000;
- end.tv_nsec = end_time % 1000000000;
-
sampled = *cond_val;
g_mutex_unlock (mutex);
- /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
- * able to use absolute time */
- res =
- syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
- (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
- success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
- g_mutex_lock (mutex);
- return success;
+ /* `struct timespec` as defined by the libc headers does not necessarily
+ * have any relation to the one used by the kernel for the `futex` syscall.
+ *
+ * Specifically, the libc headers might use 64-bit `time_t` while the kernel
+ * headers use 32-bit `__kernel_old_time_t` on certain systems.
+ *
+ * To get around this problem we
+ * a) check if `futex_time64` is available, which only exists on 32-bit
+ * platforms and always uses 64-bit `time_t`.
+ * b) otherwise (or if that returns `ENOSYS`), we call the normal `futex`
+ * syscall with the `struct timespec_t` used by the kernel, which uses
+ * `__kernel_long_t` for both its fields. We use that instead of
+ * `__kernel_old_time_t` because it is equivalent and available in the
+ * kernel headers for a longer time.
+ *
+ * Also some 32-bit systems do not define `__NR_futex` at all and only
+ * define `__NR_futex_time64`.
+ */
+
+#ifdef __NR_futex_time64
+ {
+ struct
+ {
+ gint64 tv_sec;
+ gint64 tv_nsec;
+ } end;
+
+ end.tv_sec = end_time / 1000000000;
+ end.tv_nsec = end_time % 1000000000;
+
+ /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
+ * able to use absolute time */
+ res =
+ syscall (__NR_futex_time64, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
+ (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
+
+ /* If the syscall does not exist (`ENOSYS`), we retry again below with the
+ * normal `futex` syscall. This can happen if newer kernel headers are
+ * used than the kernel that is actually running.
+ */
+#ifdef __NR_futex
+ if (res >= 0 || errno != ENOSYS) {
+#else
+ {
+#endif
+ success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+ g_mutex_lock (mutex);
+
+ return success;
+ }
+ }
+#endif
+
+#ifdef __NR_futex
+ {
+ struct
+ {
+ __kernel_long_t tv_sec;
+ __kernel_long_t tv_nsec;
+ } end;
+
+ /* Make sure to only ever call this if the end time actually fits into the
+ * target type */
+ g_assert (sizeof (__kernel_long_t) >= 8
+ || end_time / 1000000000 <= G_MAXINT32);
+
+ end.tv_sec = end_time / 1000000000;
+ end.tv_nsec = end_time % 1000000000;
+
+ /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be
+ * able to use absolute time */
+ res =
+ syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE,
+ (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY);
+ success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+ g_mutex_lock (mutex);
+
+ return success;
+ }
+#endif
+
+ /* We can't end up here because of the checks above */
+ g_assert_not_reached ();
}
#elif defined (G_OS_UNIX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/gstreamer.doap new/gstreamer-1.20.5/gstreamer.doap
--- old/gstreamer-1.20.4/gstreamer.doap 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/gstreamer.doap 2022-12-20 00:34:46.000000000 +0100
@@ -40,6 +40,16 @@
<release>
<Version>
+ <revision>1.20.5</revision>
+ <branch>1.20</branch>
+ <name></name>
+ <created>2022-12-19</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.20.5.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.20.4</revision>
<branch>1.20</branch>
<name></name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/libs/gst/base/gstaggregator.c new/gstreamer-1.20.5/libs/gst/base/gstaggregator.c
--- old/gstreamer-1.20.4/libs/gst/base/gstaggregator.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/libs/gst/base/gstaggregator.c 2022-12-20 00:34:46.000000000 +0100
@@ -382,6 +382,8 @@
GstClockTime sub_latency_min; /* protected by src_lock */
GstClockTime sub_latency_max; /* protected by src_lock */
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
GstClockTime upstream_latency_min; /* protected by src_lock */
@@ -1897,6 +1899,7 @@
agg->priv->has_peer_latency = FALSE;
agg->priv->peer_latency_live = FALSE;
agg->priv->peer_latency_min = agg->priv->peer_latency_max = 0;
+ agg->priv->posted_latency_msg = FALSE;
if (agg->priv->tags)
gst_tag_list_unref (agg->priv->tags);
@@ -3667,7 +3670,7 @@
*
* Lets #GstAggregator sub-classes tell the baseclass what their internal
* latency is. Will also post a LATENCY message on the bus so the pipeline
- * can reconfigure its global latency.
+ * can reconfigure its global latency if the values changed.
*/
void
gst_aggregator_set_latency (GstAggregator * self,
@@ -3688,6 +3691,10 @@
self->priv->sub_latency_max = max_latency;
changed = TRUE;
}
+ if (!self->priv->posted_latency_msg) {
+ self->priv->posted_latency_msg = TRUE;
+ changed = TRUE;
+ }
if (changed)
SRC_BROADCAST (self);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/libs/gst/base/gstbaseparse.c new/gstreamer-1.20.5/libs/gst/base/gstbaseparse.c
--- old/gstreamer-1.20.4/libs/gst/base/gstbaseparse.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/libs/gst/base/gstbaseparse.c 2022-12-20 00:34:46.000000000 +0100
@@ -231,6 +231,8 @@
guint lead_in, lead_out;
GstClockTime lead_in_ts, lead_out_ts;
GstClockTime min_latency, max_latency;
+ /* Tracks whether the latency message was posted at least once */
+ gboolean posted_latency_msg;
gboolean discont;
gboolean flushing;
@@ -899,6 +901,7 @@
parse->priv->detect_buffers_size = 0;
parse->priv->segment_seqnum = GST_SEQNUM_INVALID;
+ parse->priv->posted_latency_msg = FALSE;
GST_OBJECT_UNLOCK (parse);
}
@@ -4071,23 +4074,44 @@
* @max_latency: maximum parse latency
*
* Sets the minimum and maximum (which may likely be equal) latency introduced
- * by the parsing process. If there is such a latency, which depends on the
+ * by the parsing process. If there is such a latency, which depends on the
* particular parsing of the format, it typically corresponds to 1 frame duration.
+ *
+ * If the provided values changed from previously provided ones, this will
+ * also post a LATENCY message on the bus so the pipeline can reconfigure its
+ * global latency.
*/
void
gst_base_parse_set_latency (GstBaseParse * parse, GstClockTime min_latency,
GstClockTime max_latency)
{
+ gboolean post_message = FALSE;
+
g_return_if_fail (GST_CLOCK_TIME_IS_VALID (min_latency));
g_return_if_fail (min_latency <= max_latency);
- GST_OBJECT_LOCK (parse);
- parse->priv->min_latency = min_latency;
- parse->priv->max_latency = max_latency;
- GST_OBJECT_UNLOCK (parse);
GST_INFO_OBJECT (parse, "min/max latency %" GST_TIME_FORMAT ", %"
GST_TIME_FORMAT, GST_TIME_ARGS (min_latency),
GST_TIME_ARGS (max_latency));
+
+ GST_OBJECT_LOCK (parse);
+ if (parse->priv->min_latency != min_latency) {
+ parse->priv->min_latency = min_latency;
+ post_message = TRUE;
+ }
+ if (parse->priv->max_latency != max_latency) {
+ parse->priv->max_latency = max_latency;
+ post_message = TRUE;
+ }
+ if (!parse->priv->posted_latency_msg) {
+ parse->priv->posted_latency_msg = TRUE;
+ post_message = TRUE;
+ }
+ GST_OBJECT_UNLOCK (parse);
+
+ if (post_message)
+ gst_element_post_message (GST_ELEMENT_CAST (parse),
+ gst_message_new_latency (GST_OBJECT_CAST (parse)));
}
static gboolean
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/meson.build new/gstreamer-1.20.5/meson.build
--- old/gstreamer-1.20.4/meson.build 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/meson.build 2022-12-20 00:34:46.000000000 +0100
@@ -1,5 +1,5 @@
project('gstreamer', 'c',
- version : '1.20.4',
+ version : '1.20.5',
meson_version : '>= 0.59',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
@@ -258,7 +258,8 @@
cdata.set('HAVE_DECL_LOCALTIME_R', 1)
endif
-if cc.links('''#include <pthread.h>
+if cc.links('''#define _GNU_SOURCE
+ #include <pthread.h>
int main() {
pthread_setname_np("example"); return 0;
}''', name : 'pthread_setname_np(const char*)')
@@ -272,7 +273,7 @@
endif
# Check for futex(2)
-if cc.links('''#include <linux/futex.h>
+if cc.compiles('''#include <linux/futex.h>
#include <sys/syscall.h>
#include <unistd.h>
int main (int argc, char ** argv) {
@@ -281,6 +282,15 @@
}''', name : 'futex(2) system call')
cdata.set('HAVE_FUTEX', 1)
endif
+if cc.compiles('''#include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+ int main (int argc, char ** argv) {
+ syscall (__NR_futex_time64, NULL, FUTEX_WAKE, FUTEX_WAIT);
+ return 0;
+ }''', name : 'futex(2) system call')
+ cdata.set('HAVE_FUTEX_TIME64', 1)
+endif
# Check for posix timers and monotonic clock
time_prefix = '#include <time.h>\n'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/plugins/elements/gstconcat.c new/gstreamer-1.20.5/plugins/elements/gstconcat.c
--- old/gstreamer-1.20.4/plugins/elements/gstconcat.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/plugins/elements/gstconcat.c 2022-12-20 00:34:46.000000000 +0100
@@ -616,6 +616,7 @@
break;
}
case GST_EVENT_EOS:{
+ guint32 seqnum = gst_event_get_seqnum (event);
gst_event_replace (&event, NULL);
if (!gst_concat_pad_wait (spad, self)) {
@@ -632,6 +633,7 @@
if (!next) {
event = gst_event_new_eos ();
+ gst_event_set_seqnum (event, seqnum);
} else {
gst_element_post_message (GST_ELEMENT_CAST (self),
gst_message_new_duration_changed (GST_OBJECT_CAST (self)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/plugins/elements/gstfakesrc.c new/gstreamer-1.20.5/plugins/elements/gstfakesrc.c
--- old/gstreamer-1.20.4/plugins/elements/gstfakesrc.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/plugins/elements/gstfakesrc.c 2022-12-20 00:34:46.000000000 +0100
@@ -805,9 +805,11 @@
GST_BUFFER_OFFSET (buf) = offset;
if (src->datarate > 0) {
- time = (src->bytes_sent * GST_SECOND) / src->datarate;
+ time =
+ gst_util_uint64_scale_int (src->bytes_sent, GST_SECOND, src->datarate);
- GST_BUFFER_DURATION (buf) = size * GST_SECOND / src->datarate;
+ GST_BUFFER_DURATION (buf) =
+ gst_util_uint64_scale_int (size, GST_SECOND, src->datarate);
} else if (gst_base_src_is_live (basesrc)) {
GstClock *clock;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/po/gstreamer-1.0.pot new/gstreamer-1.20.5/po/gstreamer-1.0.pot
--- old/gstreamer-1.20.4/po/gstreamer-1.0.pot 2022-10-12 17:40:00.565500700 +0200
+++ new/gstreamer-1.20.5/po/gstreamer-1.0.pot 2022-12-20 00:35:10.705764000 +0100
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gstreamer-1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-12 16:40+0100\n"
+"POT-Creation-Date: 2022-12-19 23:35+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gstreamer-1.20.4/tools/gst-inspect.c new/gstreamer-1.20.5/tools/gst-inspect.c
--- old/gstreamer-1.20.4/tools/gst-inspect.c 2022-10-12 17:39:51.000000000 +0200
+++ new/gstreamer-1.20.5/tools/gst-inspect.c 2022-12-20 00:34:46.000000000 +0100
@@ -753,7 +753,7 @@
static void
print_pad_templates_info (GstElement * element, GstElementFactory * factory)
{
- GList *pads;
+ GList *pads, *tmp;
GstStaticPadTemplate *padtemplate;
GstPadTemplate *tmpl;
@@ -769,9 +769,9 @@
pads = g_list_copy ((GList *)
gst_element_factory_get_static_pad_templates (factory));
pads = g_list_sort (pads, gst_static_pad_compare_func);
- while (pads) {
- padtemplate = (GstStaticPadTemplate *) (pads->data);
- pads = g_list_next (pads);
+
+ for (tmp = pads; tmp; tmp = tmp->next) {
+ padtemplate = (GstStaticPadTemplate *) (tmp->data);
if (padtemplate->direction == GST_PAD_SRC)
n_print ("%sSRC template%s: %s'%s'%s\n", PROP_NAME_COLOR, RESET_COLOR,
@@ -828,7 +828,7 @@
pop_indent ();
- if (pads != NULL)
+ if (tmp->next)
n_print ("\n");
}
g_list_free (pads);
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package live-langset-data for openSUSE:Factory checked in at 2022-12-25 15:14:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/live-langset-data (Old)
and /work/SRC/openSUSE:Factory/.live-langset-data.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "live-langset-data"
Sun Dec 25 15:14:20 2022 rev:19 rq:1045018 version:2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/live-langset-data/live-langset-data.changes 2022-11-16 15:42:51.119720490 +0100
+++ /work/SRC/openSUSE:Factory/.live-langset-data.new.1563/live-langset-data.changes 2022-12-25 15:14:23.745217820 +0100
@@ -1,0 +2,6 @@
+Fri Dec 23 14:12:59 UTC 2022 - Fabian Vogt <fvogt(a)suse.com>
+
+- Handle missing files explicitly, particularly useful with empty
+ (unpopulated) /etc
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ langset.sh ++++++
--- /var/tmp/diff_new_pack.iZQTMv/_old 2022-12-25 15:14:26.345232535 +0100
+++ /var/tmp/diff_new_pack.iZQTMv/_new 2022-12-25 15:14:26.349232558 +0100
@@ -33,8 +33,13 @@
Language=$(echo "$lang" | cut -d_ -f1)
file="/usr/share/langset/$Language""_$Country"
-if ! test -f "$file"; then
- file="/usr/share/langset/$Language"
+if ! [ -f "$file" ]; then
+ file="/usr/share/langset/$Language"
+fi
+
+if ! [ -f "$file" ]; then
+ echo "Locale not found"
+ exit 1
fi
# Read all values of the langset data files
@@ -49,8 +54,9 @@
# set_vconsole_option KEY value
set_vconsole_option() {
- # This sed command exits with 1 if no substitution was done
- sed -i"" -E "/^$1=.*\$/,\${s//$1=$2/;b};\$q1" /etc/vconsole.conf && return
+ # If the file exists, try to change the value. The sed command exits with 1 if no substitution was done.
+ [ -e /etc/vconsole.conf ] && sed -i"" -E "/^$1=.*\$/,\${s//$1=$2/;b};\$q1" /etc/vconsole.conf && return
+ # Otherwise, add a new assignment.
echo "$1=$2" >> /etc/vconsole.conf
}
@@ -65,12 +71,16 @@
}
# Set legacy sysconfig values for backwards-compat
-[ -z "$CONSOLE_FONT" ] || set_sysconfig_option CONSOLE_FONT "$CONSOLE_FONT"
-[ -z "$CONSOLE_SCREENMAP" ] || set_sysconfig_option CONSOLE_SCREENMAP "$CONSOLE_SCREENMAP"
-[ -z "$CONSOLE_UNICODEMAP" ] || set_sysconfig_option CONSOLE_UNICODEMAP "$CONSOLE_UNICODEMAP"
+if [ -e /etc/sysconfig/console ]; then
+ [ -z "$CONSOLE_FONT" ] || set_sysconfig_option CONSOLE_FONT "$CONSOLE_FONT"
+ [ -z "$CONSOLE_SCREENMAP" ] || set_sysconfig_option CONSOLE_SCREENMAP "$CONSOLE_SCREENMAP"
+ [ -z "$CONSOLE_UNICODEMAP" ] || set_sysconfig_option CONSOLE_UNICODEMAP "$CONSOLE_UNICODEMAP"
+fi
-[ -z "$KEYTABLE" ] || set_sysconfig_option KEYTABLE "$KEYTABLE"
-[ -z "$COMPOSETABLE" ] || set_sysconfig_option COMPOSETABLE "$COMPOSETABLE"
+if [ -e /etc/sysconfig/keyboard ]; then
+ [ -z "$KEYTABLE" ] || set_sysconfig_option KEYTABLE "$KEYTABLE"
+ [ -z "$COMPOSETABLE" ] || set_sysconfig_option COMPOSETABLE "$COMPOSETABLE"
+fi
# Try the lang-provided keytable first
[ -z "$KEYTABLE" ] || localectl set-keymap $KEYTABLE
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tcl for openSUSE:Factory checked in at 2022-12-25 15:14:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tcl (Old)
and /work/SRC/openSUSE:Factory/.tcl.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcl"
Sun Dec 25 15:14:18 2022 rev:66 rq:1045045 version:8.6.13
Changes:
--------
--- /work/SRC/openSUSE:Factory/tcl/tcl.changes 2022-11-30 14:58:53.309020584 +0100
+++ /work/SRC/openSUSE:Factory/.tcl.new.1563/tcl.changes 2022-12-25 15:14:22.841212703 +0100
@@ -1,0 +2,6 @@
+Fri Dec 23 15:50:47 UTC 2022 - Reinhard Max <max(a)suse.com>
+
+- bsc#1206623, tcl-string-compare.patch: Fix a bug in string
+ comparison on big endian that made test string-2.20.1 fail.
+
+-------------------------------------------------------------------
New:
----
tcl-string-compare.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcl.spec ++++++
--- /var/tmp/diff_new_pack.XHJ5Kr/_old 2022-12-25 15:14:23.393215827 +0100
+++ /var/tmp/diff_new_pack.XHJ5Kr/_new 2022-12-25 15:14:23.397215850 +0100
@@ -49,6 +49,7 @@
Source2: baselibs.conf
Source3: macros.tcl
Patch0: tcl-refchan-mode-needed.patch
+Patch1: tcl-string-compare.patch
BuildRequires: autoconf
BuildRequires: pkg-config
BuildRequires: zlib-devel
@@ -93,6 +94,7 @@
exit 1
fi
%patch0
+%patch1
# The SQLite extension is provided by the sqlite3 package,
# so don't build it here.
++++++ tcl-string-compare.patch ++++++
Index: generic/tclCmdMZ.c
==================================================================
--- generic/tclCmdMZ.c
+++ generic/tclCmdMZ.c
@@ -2752,23 +2752,11 @@
s2 = value2Ptr->bytes;
memCmpFn = memcmp;
} else {
s1 = (char *) Tcl_GetUnicode(value1Ptr);
s2 = (char *) Tcl_GetUnicode(value2Ptr);
- if (
-#if defined(WORDS_BIGENDIAN) && (TCL_UTF_MAX != 4)
- 1
-#else
- checkEq
-#endif /* WORDS_BIGENDIAN */
- ) {
- memCmpFn = memcmp;
- s1len *= sizeof(Tcl_UniChar);
- s2len *= sizeof(Tcl_UniChar);
- } else {
- memCmpFn = (memCmpFn_t) Tcl_UniCharNcmp;
- }
+ memCmpFn = (memCmpFn_t) Tcl_UniCharNcmp;
}
}
} else {
/*
* Get the string representations, being careful in case we have
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pam for openSUSE:Factory checked in at 2022-12-25 15:14:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pam (Old)
and /work/SRC/openSUSE:Factory/.pam.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pam"
Sun Dec 25 15:14:17 2022 rev:126 rq:1045205 version:1.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/pam/pam.changes 2022-12-10 21:17:23.717404564 +0100
+++ /work/SRC/openSUSE:Factory/.pam.new.1563/pam.changes 2022-12-25 15:14:21.665206046 +0100
@@ -1,0 +2,19 @@
+Sat Dec 24 13:31:33 UTC 2022 - Dominique Leuenberger <dleuenberger(a)suse.com>
+
+- Also obsolete pam_unix-32bit to have clean upgrade path.
+
+-------------------------------------------------------------------
+Fri Dec 16 09:37:15 UTC 2022 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Merge pam_unix back into pam, seperate package not needed anymore
+
+-------------------------------------------------------------------
+Thu Dec 15 12:47:53 UTC 2022 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Update pam-git.diff to current upstream
+ - pam_env: Use vendor specific pam_env.conf and environment as fallback
+ - pam_shells: Use the vendor directory
+ obsoletes pam_env_econf.patch
+- Refresh docbook5.patch
+
+-------------------------------------------------------------------
Old:
----
pam_env_econf.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pam.spec ++++++
--- /var/tmp/diff_new_pack.lSYMBk/_old 2022-12-25 15:14:22.373210053 +0100
+++ /var/tmp/diff_new_pack.lSYMBk/_new 2022-12-25 15:14:22.377210077 +0100
@@ -67,9 +67,8 @@
Patch1: pam-limit-nproc.patch
Patch3: pam-xauth_ownership.patch
Patch4: pam-bsc1177858-dont-free-environment-string.patch
-Patch10: pam_xauth_data.3.xml.patch
+Patch5: pam_xauth_data.3.xml.patch
Patch11: pam-git.diff
-Patch12: pam_env_econf.patch
Patch13: pam_pwhistory-docu.patch
Patch14: docbook5.patch
BuildRequires: audit-devel
@@ -88,8 +87,8 @@
%if %{enable_selinux}
BuildRequires: libselinux-devel
%endif
-Requires: pam_unix.so
-Suggests: pam_unix
+Obsoletes: pam_unix
+Obsoletes: pam_unix-nis
Recommends: pam-manpages
%if 0%{?suse_version} >= 1330
Requires(pre): group(shadow)
@@ -101,18 +100,6 @@
allows system administrators to set authentication policies without
having to recompile programs that do authentication.
-%package -n pam_unix
-Summary: PAM module for standard UNIX authentication
-Group: System/Libraries
-Provides: pam:/%{_lib}/security/pam_unix.so
-Provides: pam_unix.so
-Conflicts: pam_unix-nis
-
-%description -n pam_unix
-This package contains the pam_unix module, which does the standard
-UNIX authentication against the passwd and shadow database. This
-module does not contain NIS support.
-
%package extra
Summary: PAM module to authenticate against a separate database
Group: System/Libraries
@@ -181,8 +168,7 @@
%patch1 -p1
%patch3 -p1
%patch4 -p1
-%patch10 -p1
-%patch12 -p1
+%patch5 -p1
%if %{build_doc}
%patch13 -p1
%patch14 -p1
@@ -396,6 +382,11 @@
%{_pam_moduledir}/pam_timestamp.so
%{_pam_moduledir}/pam_tty_audit.so
%{_pam_moduledir}/pam_umask.so
+%{_pam_moduledir}/pam_unix.so
+%{_pam_moduledir}/pam_unix_acct.so
+%{_pam_moduledir}/pam_unix_auth.so
+%{_pam_moduledir}/pam_unix_passwd.so
+%{_pam_moduledir}/pam_unix_session.so
%{_pam_moduledir}/pam_usertype.so
%{_pam_moduledir}/pam_warn.so
%{_pam_moduledir}/pam_wheel.so
@@ -411,14 +402,6 @@
%{_unitdir}/pam_namespace.service
%{_tmpfilesdir}/pam.conf
-%files -n pam_unix
-%defattr(-,root,root,755)
-%{_pam_moduledir}/pam_unix.so
-%{_pam_moduledir}/pam_unix_acct.so
-%{_pam_moduledir}/pam_unix_auth.so
-%{_pam_moduledir}/pam_unix_passwd.so
-%{_pam_moduledir}/pam_unix_session.so
-
%files extra
%defattr(-,root,root,755)
%{_pam_moduledir}/pam_userdb.so
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.lSYMBk/_old 2022-12-25 15:14:22.453210507 +0100
+++ /var/tmp/diff_new_pack.lSYMBk/_new 2022-12-25 15:14:22.457210529 +0100
@@ -1,7 +1,7 @@
pam
requires "(systemd-<targettype> if systemd)"
+ obsoletes "pam_unix-<targettype>"
+ obsoletes "pam_unix-nis-<targettype>"
pam-extra
pam-devel
-pam_unix
- conflicts "pam_unix-nis-<targettype>"
++++++ docbook5.patch ++++++
--- /var/tmp/diff_new_pack.lSYMBk/_old 2022-12-25 15:14:22.513210847 +0100
+++ /var/tmp/diff_new_pack.lSYMBk/_new 2022-12-25 15:14:22.517210869 +0100
@@ -1,4 +1,4 @@
-From 681e88a5428904b478a37e65154d7cf0ba1a9eb5 Mon Sep 17 00:00:00 2001
+From 55e4d5c4aac39602518dd5d4ce03a4313775180f Mon Sep 17 00:00:00 2001
From: Stefan Schubert <schubi(a)suse.de>
Date: Tue, 25 Oct 2022 16:29:41 +0200
Subject: [PATCH] doc: Update PAM documentation from DockBook 4 to DocBook 5
@@ -14,7 +14,7 @@
- Using RNG file instead of DTD file for checking XML files.
configure.ac:
-- Added a new option for selecting RNG check file (-enable-docbook-rng)
+- Adding a new option for selecting RNG check file (-enable-docbook-rng)
- Switching stylesheets to docbook 5
- Checking DocBook 5 environment instead of DocBook 4 environment
@@ -152,7 +152,6 @@
doc/sag/pam_warn.xml | 42 ++--
doc/sag/pam_wheel.xml | 42 ++--
doc/sag/pam_xauth.xml | 42 ++--
- examples/.gitignore | 2 +-
modules/pam_access/README.xml | 32 +--
modules/pam_access/access.conf.5.xml | 20 +-
modules/pam_access/pam_access.8.xml | 63 +++--
@@ -163,7 +162,7 @@
modules/pam_echo/README.xml | 29 +--
modules/pam_echo/pam_echo.8.xml | 45 ++--
modules/pam_env/README.xml | 34 +--
- modules/pam_env/pam_env.8.xml | 59 +++--
+ modules/pam_env/pam_env.8.xml | 63 +++--
modules/pam_env/pam_env.conf.5.xml | 19 +-
modules/pam_exec/README.xml | 32 +--
modules/pam_exec/pam_exec.8.xml | 65 +++--
@@ -257,7 +256,7 @@
modules/pam_wheel/pam_wheel.8.xml | 59 +++--
modules/pam_xauth/README.xml | 35 +--
modules/pam_xauth/pam_xauth.8.xml | 65 +++--
- 236 files changed, 3398 insertions(+), 5101 deletions(-)
+ 235 files changed, 3399 insertions(+), 5102 deletions(-)
diff --git a/Make.xml.rules.in b/Make.xml.rules.in
index 27bb510ec..98beb9ed7 100644
@@ -292,7 +291,7 @@
#CLEANFILES += $(man_MANS) README
diff --git a/configure.ac b/configure.ac
-index 2f74d1b49..84cda219d 100644
+index 538195e55..afa749cf6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -243,26 +243,35 @@ if test x"$enable_debug" = x"yes" ; then
@@ -339,7 +338,7 @@
AC_SUBST(MAN_STYLESHEET)
sed "s+MAN_STYLESHEET+$MAN_STYLESHEET+g" <doc/custom-man.xsl.in >doc/custom-man.xsl
-@@ -605,10 +614,10 @@ if test -z "$XSLTPROC"; then
+@@ -608,10 +617,10 @@ if test -z "$XSLTPROC"; then
enable_docu=no
fi
AC_PATH_PROG([XMLLINT], [xmllint],[/bin/true])
@@ -9561,7 +9560,7 @@
+</article>
\ No newline at end of file
diff --git a/modules/pam_env/pam_env.8.xml b/modules/pam_env/pam_env.8.xml
-index 75ff862be..bcb16036f 100644
+index d7687d6c9..fb172e17b 100644
--- a/modules/pam_env/pam_env.8.xml
+++ b/modules/pam_env/pam_env.8.xml
@@ -1,16 +1,13 @@
@@ -9625,7 +9624,7 @@
<title>DESCRIPTION</title>
<para>
The pam_env PAM module allows the (un)setting of environment
-@@ -77,13 +74,13 @@
+@@ -119,13 +116,13 @@
</para>
</refsect1>
@@ -9641,7 +9640,7 @@
</term>
<listitem>
<para>
-@@ -96,7 +93,7 @@
+@@ -138,7 +135,7 @@
<varlistentry>
<term>
@@ -9650,7 +9649,7 @@
</term>
<listitem>
<para>
-@@ -108,7 +105,7 @@
+@@ -150,7 +147,7 @@
<varlistentry>
<term>
@@ -9659,7 +9658,7 @@
</term>
<listitem>
<para>
-@@ -124,7 +121,7 @@
+@@ -166,7 +163,7 @@
<varlistentry>
<term>
@@ -9668,7 +9667,7 @@
</term>
<listitem>
<para>
-@@ -137,7 +134,7 @@
+@@ -179,7 +176,7 @@
<varlistentry>
<term>
@@ -9677,7 +9676,7 @@
</term>
<listitem>
<para>
-@@ -153,7 +150,7 @@
+@@ -195,7 +192,7 @@
<varlistentry>
<term>
@@ -9686,7 +9685,7 @@
</term>
<listitem>
<para>
-@@ -174,7 +171,7 @@
+@@ -216,7 +213,7 @@
</variablelist>
</refsect1>
@@ -9695,7 +9694,7 @@
<title>MODULE TYPES PROVIDED</title>
<para>
The <option>auth</option> and <option>session</option> module
-@@ -182,7 +179,7 @@
+@@ -224,7 +221,7 @@
</para>
</refsect1>
@@ -9704,7 +9703,7 @@
<title>RETURN VALUES</title>
<variablelist>
<varlistentry>
-@@ -220,23 +217,23 @@
+@@ -262,25 +259,25 @@
</variablelist>
</refsect1>
@@ -9713,14 +9712,18 @@
<title>FILES</title>
<variablelist>
<varlistentry>
+- <term condition="with_vendordir"><filename>/usr/etc/security/pam_env.conf</filename></term>
- <term><filename>/etc/security/pam_env.conf</filename></term>
++ <term condition="with_vendordir">%vendordir%/security/pam_env.conf</term>
+ <term>/etc/security/pam_env.conf</term>
<listitem>
<para>Default configuration file</para>
</listitem>
</varlistentry>
<varlistentry>
+- <term condition="with_vendordir"><filename>/usr/etc/environment</filename></term>
- <term><filename>/etc/environment</filename></term>
++ <term condition="with_vendordir">%vendordir%/environment</term>
+ <term>/etc/environment</term>
<listitem>
<para>Default environment file</para>
@@ -9732,7 +9735,7 @@
<listitem>
<para>User specific environment file</para>
</listitem>
-@@ -244,7 +241,7 @@
+@@ -288,7 +285,7 @@
</variablelist>
</refsect1>
@@ -9741,7 +9744,7 @@
<title>SEE ALSO</title>
<para>
<citerefentry>
-@@ -262,10 +259,10 @@
+@@ -306,10 +303,10 @@
</para>
</refsect1>
@@ -9756,7 +9759,7 @@
+</refentry>
\ No newline at end of file
diff --git a/modules/pam_env/pam_env.conf.5.xml b/modules/pam_env/pam_env.conf.5.xml
-index fca046fe3..f88791676 100644
+index 5c0dbcb8c..662ff0a00 100644
--- a/modules/pam_env/pam_env.conf.5.xml
+++ b/modules/pam_env/pam_env.conf.5.xml
@@ -1,13 +1,10 @@
@@ -9784,8 +9787,8 @@
+ <refsect1 xml:id="pam_env.conf-description">
<title>DESCRIPTION</title>
- <para>
-@@ -71,7 +68,7 @@
+ <para condition="with_vendordir">
+@@ -87,7 +84,7 @@
</para>
</refsect1>
@@ -9794,7 +9797,7 @@
<title>EXAMPLES</title>
<para>
These are some example lines which might be specified in
-@@ -117,7 +114,7 @@
+@@ -133,7 +130,7 @@
</programlisting>
</refsect1>
@@ -9803,7 +9806,7 @@
<title>SEE ALSO</title>
<para>
<citerefentry><refentrytitle>pam_env</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
-@@ -127,10 +124,10 @@
+@@ -143,10 +140,10 @@
</para>
</refsect1>
@@ -16961,7 +16964,7 @@
+</article>
\ No newline at end of file
diff --git a/modules/pam_shells/pam_shells.8.xml b/modules/pam_shells/pam_shells.8.xml
-index 15f476717..67d8ecf16 100644
+index 73b4855a3..b9f90e94a 100644
--- a/modules/pam_shells/pam_shells.8.xml
+++ b/modules/pam_shells/pam_shells.8.xml
@@ -1,27 +1,24 @@
@@ -16998,7 +17001,7 @@
<title>DESCRIPTION</title>
-@@ -35,13 +32,13 @@
+@@ -43,13 +40,13 @@
</para>
</refsect1>
@@ -17014,7 +17017,7 @@
<title>MODULE TYPES PROVIDED</title>
<para>
The <option>auth</option> and <option>account</option>
-@@ -49,7 +46,7 @@
+@@ -57,7 +54,7 @@
</para>
</refsect1>
@@ -17023,7 +17026,7 @@
<title>RETURN VALUES</title>
<variablelist>
<varlistentry>
-@@ -80,7 +77,7 @@
+@@ -88,7 +85,7 @@
</variablelist>
</refsect1>
@@ -17032,7 +17035,7 @@
<title>EXAMPLES</title>
<para>
<programlisting>
-@@ -89,7 +86,7 @@ auth required pam_shells.so
+@@ -97,7 +94,7 @@ auth required pam_shells.so
</para>
</refsect1>
@@ -17041,7 +17044,7 @@
<title>SEE ALSO</title>
<para>
<citerefentry>
-@@ -107,11 +104,11 @@ auth required pam_shells.so
+@@ -115,11 +112,11 @@ auth required pam_shells.so
</para>
</refsect1>
++++++ pam-git.diff ++++++
++++ 1473 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/pam/pam-git.diff
++++ and /work/SRC/openSUSE:Factory/.pam.new.1563/pam-git.diff
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nasm for openSUSE:Factory checked in at 2022-12-25 15:14:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nasm (Old)
and /work/SRC/openSUSE:Factory/.nasm.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nasm"
Sun Dec 25 15:14:16 2022 rev:44 rq:1044181 version:2.16.01
Changes:
--------
--- /work/SRC/openSUSE:Factory/nasm/nasm.changes 2022-12-17 20:36:36.192624106 +0100
+++ /work/SRC/openSUSE:Factory/.nasm.new.1563/nasm.changes 2022-12-25 15:14:19.225192236 +0100
@@ -1,0 +2,76 @@
+Thu Dec 22 08:33:27 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 2.16.01:
+ * Fix the creation of the table of contents in the HTML version
+ of the documentation.
+
+-------------------------------------------------------------------
+Wed Dec 21 08:27:34 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 2.16:
+ * Support for the rdf format has been discontinued and all the
+ RDOFF utilities has been removed.
+ * The --reproducible option now leaves the filename field in the
+ COFF object format blank. This was always rather useless since it is
+ only 18 characters long; as such debug formats have to carry their own
+ filename information anyway.
+ * Fix handling of MASM-syntax reserved memory (e.g. dw ?) when
+ used in structure definitions.
+ * The preprocessor now supports functions, which can be less verbose
+ and more convenient than the equivalent code implemented using
+ directives. See ppfunc.
+ * Fix the handling of %00 in the preprocessor.
+ * Fix incorrect handling of path names affecting error messages,
+ dependency generation, and debug format output.
+ * Support for the RDOFF output format and the RDOFF tools have been
+ removed. The RDOFF tools had already been broken since at least NASM
+ 2.14. For flat code the ELF output format recommended; for segmented
+ code the obj (OMF) output format.
+ * New facility: preprocessor functions. Preprocessor functions, which
+ are expanded similarly to single-line macros, can greatly simplify
+ code that in the past would have required a lengthy list of directives
+ and intermediate macros. See ppfunc.
+ * Single-line macros can now declare parameters (using a &&
+ prefix) that creates a quoted string, but does not requote an
+ already quoted string. See define.
+ * Instruction table updated per public information available as of
+ November 2022.
+ * All warnings in the preprocessor have now been assigned warning
+ classes. See warnings.
+ * Fix the invalid use of RELA-type relocations instead of
+ REL-type relocations when generating DWARF debug information for
+ the elf32 output format.
+ * Fix the handling at in istruc when the structure contains
+ local labels. See istruc.
+ * When assembling with --reproducible, don't encode the filename
+ in the COFF header for the coff}, win32 or win64 output
+ formats. The COFF header only has space for an 18-character filename,
+ which makes this field rather useless in the first place. Debug output
+ data, if enabled, is not affected.
+ * Fix incorrect size calculation when using MASM syntax for non-byte
+ reservations (e.g. dw ?.)
+ * Allow forcing an instruction in 64-bit mode to have a (possibly
+ redundant) REX prefix, using the syntax rex as a prefix.
+ * Add a vex prefix to enforce VEX (AVX) encoding of an
+ instruction, either using the 2- or 3-byte VEX prefixes.
+ * The CPU directive has been augmented to allow control of
+ generation of VEX (AVX) versus EVEX (AVX-512) instruction formats, see
+ CPU.
+ * Some recent instructions that previously have been only available
+ using EVEX encodings are now also encodable using VEX (AVX)
+ encodings. For backwards compatibility these encodings are not enabled
+ by default, but can be generated either via an explicit vex
+ prefix or by specifying either CPU LATEVEX or CPU NOEVEX; see
+ CPU.
+ * Document the already existing unimacro directive. See unmacro.
+ * Fix a code range generation bug in the DWARF debug format
+ (incorrect information in the DW_AT_high_pc field) for the ELF
+ output formats. This bug happened to cancel out with a bug in older
+ versions of the GNU binutils linker, but breaks with other linkers and
+ updated or other linkers that expect the spec to be followed.
+ * Fix segment symbols with addends, e.g. jmp _TEXT+10h:0 in
+ output formats that support segment relocations, e.g. the obj
+ format.
+ * Fix various crashes and hangs on invalid input
+
+-------------------------------------------------------------------
Old:
----
nasm-2.15.05.tar.xz
New:
----
nasm-2.16.01.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nasm.spec ++++++
--- /var/tmp/diff_new_pack.8ER32D/_old 2022-12-25 15:14:19.869195881 +0100
+++ /var/tmp/diff_new_pack.8ER32D/_new 2022-12-25 15:14:19.873195903 +0100
@@ -17,7 +17,7 @@
Name: nasm
-Version: 2.15.05
+Version: 2.16.01
Release: 0
Summary: Netwide Assembler (An x86 Assembler)
License: BSD-2-Clause
@@ -40,7 +40,7 @@
%make_build all
%install
-%make_install rdf_install
+%make_install
%fdupes %{buildroot}%{_mandir}
%check
++++++ nasm-2.15.05.tar.xz -> nasm-2.16.01.tar.xz ++++++
++++ 166961 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sddm for openSUSE:Factory checked in at 2022-12-25 15:14:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
and /work/SRC/openSUSE:Factory/.sddm.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm"
Sun Dec 25 15:14:15 2022 rev:60 rq:1044091 version:0.19.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2022-10-27 13:54:28.740661364 +0200
+++ /work/SRC/openSUSE:Factory/.sddm.new.1563/sddm.changes 2022-12-25 15:14:17.817184267 +0100
@@ -1,0 +2,5 @@
+Mon Dec 12 23:03:50 UTC 2022 - Callum Farmer <gmbr3(a)opensuse.org>
+
+- Move dbus-1 system.d conf file to /usr (bsc#1206348)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.vIxByu/_old 2022-12-25 15:14:18.437187775 +0100
+++ /var/tmp/diff_new_pack.vIxByu/_new 2022-12-25 15:14:18.441187798 +0100
@@ -134,6 +134,7 @@
-DSESSION_COMMAND="%{_sysconfdir}/X11/xdm/Xsession" \
-DBUILD_MAN_PAGES=ON \
-DSTATE_DIR="%{_localstatedir}/lib/sddm" \
+ -DDBUS_CONFIG_DIR=%{_datadir}/dbus-1/system.d \
-DRUNTIME_DIR="/run/sddm" \
-DPID_FILE="/run/sddm.pid" \
-DLOGIN_DEFS_PATH:path="${LOGIN_DEFS_PATH}"
@@ -146,7 +147,7 @@
# However, we need to package the file so it does not end up being removed.
echo > %{buildroot}%{_sysconfdir}/sddm.conf
- pushd %{buildroot}%{_sysconfdir}/dbus-1/system.d
+ pushd %{buildroot}%{_datadir}/dbus-1/system.d
mv org.freedesktop.DisplayManager.conf sddm_org.freedesktop.DisplayManager.conf
popd
@@ -252,7 +253,7 @@
%config %{_sysconfdir}/pam.d/sddm
%config %{_sysconfdir}/pam.d/sddm-autologin
%config %{_sysconfdir}/pam.d/sddm-greeter
-%config(noreplace) %{_sysconfdir}/dbus-1/system.d/sddm_org.freedesktop.DisplayManager.conf
+%{_datadir}/dbus-1/system.d/sddm_org.freedesktop.DisplayManager.conf
%dir %{_prefix}/lib/X11/displaymanagers/
%{_prefix}/lib/X11/displaymanagers/%{name}
%{_prefix}/lib/X11/displaymanagers/default-displaymanager
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package samba for openSUSE:Factory checked in at 2022-12-25 15:14:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/samba (Old)
and /work/SRC/openSUSE:Factory/.samba.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba"
Sun Dec 25 15:14:14 2022 rev:290 rq:1044036 version:4.17.4+git.300.305b22bfce
Changes:
--------
--- /work/SRC/openSUSE:Factory/samba/samba.changes 2022-12-03 10:03:24.099161990 +0100
+++ /work/SRC/openSUSE:Factory/.samba.new.1563/samba.changes 2022-12-25 15:14:16.569177203 +0100
@@ -1,0 +2,54 @@
+Thu Dec 15 16:45:28 UTC 2022 - Samuel Cabrero <scabrero(a)suse.de>
+
+- Update to 4.17.4
+ * CVE-2022-44640 Upstream Heimdal free of user-controlled
+ pointer in FAST; (bsc#14929);
+ * CVE-2021-20251 Bad password count not incremented atomically;
+ (bsc#14611);
+ * CVE-2022-42898 krb5_pac_parse() buffer parsing vulnerability;
+ (bsc#15203);
+ * CVE-2022-37966 rc4-hmac Kerberos session keys issued to
+ modern servers; (bso#15237);
+ * CVE-2022-37967 Kerberos constrained delegation ticket forgery
+ possible against Samba AD DC; (bso#15231);
+ * CVE-2022-38023 RC4/HMAC-MD5 NetLogon Secure Channel is weak
+ and should be avoided; (bso#15240);
+ * pam_winbind uses time_t and pointers assuming they are of the
+ same size; (bso#15224);
+ * Heimdal session key selection in AS-REQ examines wrong entry;
+ (bso#15219);
+ * filter-subunit is inefficient with large numbers of
+ knownfails; (bso#15258);
+ * smbd allows setting FILE_ATTRIBUTE_TEMPORARY on directories;
+ (bso#15252);
+ * The KDC logic arround msDs-supportedEncryptionTypes differs
+ from Windows; (bso#13135);
+ * libnet: change_password() doesn't work with
+ dcerpc_samr_ChangePasswordUser4(); (bso#15206);
+ * Heimdal session key selection in AS-REQ examines wrong entry;
+ (bso#15219);
+ * Memory leak in snprintf replacement functions; (bso#15230);
+ * RODC doesn't reset badPwdCount reliable via an RWDC
+ (CVE-2021-20251 regression); (bso#15253);
+ * Prevent EBADF errors with vfs_glusterfs; (bso#15198);
+ * %U for include directive doesn't work for share listing
+ (netshareenum); (bso#15243);
+ * Stack smashing in net offlinejoin requestodj; (bso#15257);
+ * Windows 11 22H2 and Samba-AD 4.15 Kerberos login issue;
+ (bso#15197);
+ * Heimdal session key selection in AS-REQ examines wrong entry;
+ (bso#15219);
+- Remove deprecated if-{down,up} scripts; (bsc#1206444);
+- Adjust the systemd drop-in file for named service; (bsc#1201689);
+ * Paths are additive so do not repeat paths from named.service
+ * Prefix the samba DLZ directory with "-" to ignore this path
+ if it does not exists
+
+-------------------------------------------------------------------
+Mon Dec 12 08:56:12 UTC 2022 - Stefan Schubert <schubi(a)suse.com>
+
+- Migration PAM settings to /usr/etc: Saving user changed
+ configuration files in /etc and restoring them while an RPM
+ update.
+
+-------------------------------------------------------------------
@@ -9 +63,2 @@
-- CVE-2022-42898: Samba buffer overflow vulnerabilities on 32-bit
+- Update to 4.17.3
+ * CVE-2022-42898: Samba buffer overflow vulnerabilities on 32-bit
Old:
----
samba-4.17.3+git.283.2157972742b.tar.bz2
New:
----
samba-4.17.4+git.300.305b22bfce.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ samba.spec ++++++
--- /var/tmp/diff_new_pack.xVRq7g/_old 2022-12-25 15:14:17.481182365 +0100
+++ /var/tmp/diff_new_pack.xVRq7g/_new 2022-12-25 15:14:17.485182387 +0100
@@ -22,7 +22,11 @@
%{!?_fillupdir:%global _fillupdir /var/adm/fillup-templates}
%{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d}
%{!?_pam_moduledir:%global _pam_moduledir /%{_lib}/security}
+%if 0%{?suse_version} > 1500
+%global _pam_confdir %{_distconfdir}/pam.d
+%else
%{!?_pam_confdir:%global _pam_confdir %{_sysconfdir}/pam.d}
+%endif
%{!?_pam_secconfdir:%global _pam_secconfdir %{_sysconfdir}/security}
%define with_mscat 1
@@ -148,7 +152,7 @@
%endif
BuildRequires: sysuser-tools
-Version: 4.17.3+git.283.2157972742b
+Version: 4.17.4+git.300.305b22bfce
Release: 0
URL: https://www.samba.org/
Obsoletes: samba-32bit < %{version}
@@ -181,7 +185,6 @@
%define CONFIGDIR %{_sysconfdir}/samba
%define INITDIR %{_sysconfdir}/init.d
%define PIDDIR /run/samba
-%define NET_CFGDIR network
%define auth_modules auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4
%define idmap_modules idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_rfc2307,idmap_rid,idmap_tdb2
%define pdb_modules pdb_tdbsam,pdb_ldapsam,pdb_smbpasswd,pdb_samba_dsdb
@@ -711,7 +714,6 @@
%{buildroot}/%_pam_confdir \
%{buildroot}/%{_sysconfdir}/{xinetd.d,logrotate.d} \
%{buildroot}/%{_sysconfdir}/openldap/schema \
- %{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/{if-{down,up}.d,scripts} \
%{buildroot}/%{_sysconfdir}/security \
%{buildroot}/%{_sysconfdir}/slp.reg.d \
%{buildroot}/%{CONFIGDIR} \
@@ -826,18 +828,6 @@
install -m 0644 config/dhcp.conf %{buildroot}/%{_fillupdir}/samba-client-dhcp.conf
install -m 0644 config/sysconfig.dhcp-samba-client %{buildroot}/%{_fillupdir}/sysconfig.dhcp-samba-client
-# Network scripts
-NETWORK_SCRIPTS="samba-winbindd"
-for script in ${NETWORK_SCRIPTS}; do
- install -m 0755 "tools/${script}" "%{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/${script}"
-done
-
-# Create ghosts for the symlinks
-NETWORK_LINKS="55-samba-winbindd"
-for script in ${NETWORK_LINKS}; do
- touch %{buildroot}/%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-{down,up}.d/${script}
-done
-
# Add logrotate settings for nmbd and smbd only on systems newer than 8.1.
%if 0%{?suse_version} > 1500
mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
@@ -937,7 +927,7 @@
%service_add_pre nmb.service smb.service
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/etc; save any old .rpmsave
-for i in logrotate.d/samba ; do
+for i in logrotate.d/samba pam.d/samba; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
done
%endif
@@ -945,7 +935,7 @@
%if 0%{?suse_version} > 1500
%posttrans
# Migration to /usr/etc, restore just created .rpmsave
-for i in logrotate.d/samba ; do
+for i in logrotate.d/samba pam.d/samba; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
done
%endif
@@ -1058,17 +1048,6 @@
%post winbind
/sbin/ldconfig
-if test ${1:-0} -eq 1; then
- ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/55-samba-winbindd
- ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/55-samba-winbindd
-else
- for if_case in if-down.d if-up.d; do
- test -h %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/samba-winbindd || \
- continue
- rm -f %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/samba-winbindd
- ln -fs %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/${if_case}/55-samba-winbindd
- done
-fi
%service_add_post winbind.service
%tmpfiles_create samba.conf
%{fillup_only -ans samba winbind}
@@ -1618,9 +1597,6 @@
%defattr(-,root,root)
%config(noreplace) %_pam_secconfdir/pam_winbind.conf
%{_unitdir}/winbind.service
-%ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-down.d/55-samba-winbindd
-%ghost %{_sysconfdir}/sysconfig/%{NET_CFGDIR}/if-up.d/55-samba-winbindd
-%{_sysconfdir}/sysconfig/%{NET_CFGDIR}/scripts/samba-winbindd
%{_sysusersdir}/samba-winbind.conf
%{_bindir}/ntlm_auth
%{_bindir}/wbinfo
++++++ samba-4.17.3+git.283.2157972742b.tar.bz2 -> samba-4.17.4+git.300.305b22bfce.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/samba/samba-4.17.3+git.283.2157972742b.tar.bz2 /work/SRC/openSUSE:Factory/.samba.new.1563/samba-4.17.4+git.300.305b22bfce.tar.bz2 differ: char 11, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package permissions for openSUSE:Factory checked in at 2022-12-25 15:14:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/permissions (Old)
and /work/SRC/openSUSE:Factory/.permissions.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "permissions"
Sun Dec 25 15:14:13 2022 rev:154 rq:1043915 version:1599_20221220
Changes:
--------
--- /work/SRC/openSUSE:Factory/permissions/permissions.changes 2022-10-03 13:44:56.497373136 +0200
+++ /work/SRC/openSUSE:Factory/.permissions.new.1563/permissions.changes 2022-12-25 15:14:14.645166314 +0100
@@ -1,0 +2,6 @@
+Tue Dec 20 10:04:33 UTC 2022 - matthias.gerstner(a)suse.com
+
+- Update to version 20221220:
+ * profiles: remove outdated kdesud, apptainer entries
+
+-------------------------------------------------------------------
Old:
----
permissions-20220912.tar.xz
New:
----
permissions-20221220.tar.xz
permissions.rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ permissions.spec ++++++
--- /var/tmp/diff_new_pack.RJjj6M/_old 2022-12-25 15:14:15.361170365 +0100
+++ /var/tmp/diff_new_pack.RJjj6M/_new 2022-12-25 15:14:15.365170389 +0100
@@ -16,7 +16,7 @@
#
-%define VERSION_DATE 20220912
+%define VERSION_DATE 20221220
Name: permissions
Version: %{suse_version}_%{VERSION_DATE}
@@ -28,6 +28,7 @@
URL: http://github.com/openSUSE/permissions
Source: permissions-%{VERSION_DATE}.tar.xz
Source1: fix_version.sh
+Source2: permissions.rpmlintrc
BuildRequires: gcc-c++
BuildRequires: libcap-devel
BuildRequires: libcap-progs
@@ -54,9 +55,9 @@
%endif
%description
-Permission settings of files and directories depending on the local
-security settings. The local security setting ("easy", "secure", or "paranoid")
-can be configured in /etc/sysconfig/security.
+File and directory permission settings depending on the local security
+settings. The local security setting ("easy", "secure", or "paranoid") can be
+configured in /etc/sysconfig/security.
This package does not contain files, it just requires the necessary packages.
@@ -70,6 +71,7 @@
#!BuildIgnore: group(trusted)
Requires(pre): group(trusted)
Obsoletes: permissions-doc <= %{suse_version}_%{VERSION_DATE}
+BuildArch: noarch
%description config
The actual permissions configuration files, /usr/share/permissions/permission.*.
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.RJjj6M/_old 2022-12-25 15:14:15.441170818 +0100
+++ /var/tmp/diff_new_pack.RJjj6M/_new 2022-12-25 15:14:15.445170842 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/permissions.git</param>
- <param name="changesrevision">635ffefbd3c6222429e235fae0de82d5f1f6bcf0</param></service></servicedata>
+ <param name="changesrevision">a19300c9a239ea0e232a7010aeba95fab389c552</param></service></servicedata>
(No newline at EOF)
++++++ permissions-20220912.tar.xz -> permissions-20221220.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/permissions-20220912/profiles/permissions.easy new/permissions-20221220/profiles/permissions.easy
--- old/permissions-20220912/profiles/permissions.easy 2022-09-12 14:31:23.000000000 +0200
+++ new/permissions-20221220/profiles/permissions.easy 2022-12-20 10:40:15.000000000 +0100
@@ -120,9 +120,6 @@
# framebuffer terminal emulator (japanese)
/usr/bin/jfbterm root:tty 6755
-# kdesud (bsc#872276)
-/usr/libexec/kf5/kdesud root:nogroup 2755
-
#
# amanda
#
@@ -205,9 +202,6 @@
# singularity version 3 (bsc#1128598)
/usr/libexec/singularity/bin/starter-suid root:singularity 4750
-# apptainer (Singularity successor) (bsc#1196145)
-/usr/libexec/apptainer/bin/starter-suid root:apptainer 4750
-
/usr/bin/su root:root 4755
/usr/bin/mount root:root 4755
/usr/bin/umount root:root 4755
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/permissions-20220912/profiles/permissions.paranoid new/permissions-20221220/profiles/permissions.paranoid
--- old/permissions-20220912/profiles/permissions.paranoid 2022-09-12 14:31:23.000000000 +0200
+++ new/permissions-20221220/profiles/permissions.paranoid 2022-12-20 10:40:15.000000000 +0100
@@ -134,9 +134,6 @@
# framebuffer terminal emulator (japanese).
/usr/bin/jfbterm root:tty 0755
-# kdesud (bsc#872276)
-/usr/libexec/kf5/kdesud root:nogroup 0755
-
#
# amanda
#
@@ -219,9 +216,6 @@
# singularity version 3 (bsc#1128598)
/usr/libexec/singularity/bin/starter-suid root:singularity 0750
-# apptainer (Singularity successor) (bsc#1196145)
-/usr/libexec/apptainer/bin/starter-suid root:apptainer 0750
-
/usr/bin/su root:root 0755
/usr/bin/mount root:root 0755
/usr/bin/umount root:root 0755
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/permissions-20220912/profiles/permissions.secure new/permissions-20221220/profiles/permissions.secure
--- old/permissions-20220912/profiles/permissions.secure 2022-09-12 14:31:23.000000000 +0200
+++ new/permissions-20221220/profiles/permissions.secure 2022-12-20 10:40:15.000000000 +0100
@@ -160,9 +160,6 @@
# framebuffer terminal emulator (japanese)
/usr/bin/jfbterm root:tty 0755
-# kdesud (bsc#872276)
-/usr/libexec/kf5/kdesud root:nogroup 2755
-
#
# amanda
#
@@ -247,9 +244,6 @@
# singularity version 3 (bsc#1128598)
/usr/libexec/singularity/bin/starter-suid root:singularity 4750
-# apptainer (Singularity successor) (bsc#1196145)
-/usr/libexec/apptainer/bin/starter-suid root:apptainer 4750
-
/usr/bin/su root:root 4755
/usr/bin/mount root:root 4755
/usr/bin/umount root:root 4755
++++++ permissions.rpmlintrc ++++++
# the base package needs to have Arch, otherwise we get no -source and
# -debuginfo package (which we need for the chkstat sub package)
addFilter("no-binary")
# it's hard not to repeat "permissions" in the summary
addFilter("name-repeated-in-summary")
1
0