From be8d1f14520a7b0007604df2e438276cf7823d7a3a04f3383a525556a38da5fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 2 Aug 2024 15:13:55 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main gstreamer revision 364e01c7d257cbb0b8552e8e0c95938e --- gstreamer-1.22.9.tar.xz | 3 - gstreamer-1.24.5.tar.xz | 3 + gstreamer-pie.patch | 52 +++++++------- gstreamer-rpm-prov.patch | 33 ++++----- gstreamer.changes | 133 ++++++++++++++++++++++++++++++++++++ gstreamer.spec | 20 ++++-- reduce-required-meson.patch | 12 ---- 7 files changed, 190 insertions(+), 66 deletions(-) delete mode 100644 gstreamer-1.22.9.tar.xz create mode 100644 gstreamer-1.24.5.tar.xz delete mode 100644 reduce-required-meson.patch diff --git a/gstreamer-1.22.9.tar.xz b/gstreamer-1.22.9.tar.xz deleted file mode 100644 index cf106e8..0000000 --- a/gstreamer-1.22.9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1e7124d347e8cdc80f08ec1d370c201be513002af1102bb20e83c5279cb48ebd -size 1797968 diff --git a/gstreamer-1.24.5.tar.xz b/gstreamer-1.24.5.tar.xz new file mode 100644 index 0000000..89a3ec2 --- /dev/null +++ b/gstreamer-1.24.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bdef209252bf146351843134b797db6b6e7adb4c00d82e83bd5abe608253a7b +size 1856180 diff --git a/gstreamer-pie.patch b/gstreamer-pie.patch index 5f3a721..1b941b6 100644 --- a/gstreamer-pie.patch +++ b/gstreamer-pie.patch @@ -1,30 +1,26 @@ -Index: gstreamer-1.22.0/libs/gst/helpers/meson.build +Index: gstreamer-1.24.0/libs/gst/helpers/meson.build =================================================================== ---- gstreamer-1.22.0.orig/libs/gst/helpers/meson.build -+++ gstreamer-1.22.0/libs/gst/helpers/meson.build -@@ -5,6 +5,7 @@ exe = executable('gst-plugin-scanner', - dependencies : [gst_dep, mathlib, gmodule_dep,], - install_dir : helpers_install_dir, - install: true, -+ pie: true, - ) +--- gstreamer-1.24.0.orig/libs/gst/helpers/meson.build ++++ gstreamer-1.24.0/libs/gst/helpers/meson.build +@@ -6,11 +6,13 @@ gst_helpers = { + 'deps': [gst_dep, mathlib, gmodule_dep], + 'env': ['GST_PLUGIN_SCANNER', 'exe-full-path'], + 'install_dir': helpers_install_dir, ++ 'pie': true, + }, + 'gst-completion-helper': { + 'files': files('gst-completion-helper.c'), + 'deps': [gst_dep], + 'install_dir': helpers_install_dir, ++ 'pie': true, + }, + } - meson.add_devenv({'GST_PLUGIN_SCANNER': exe.full_path()}) -@@ -21,6 +22,7 @@ if bashcomp_found - install_dir : helpers_install_dir, - install_tag : 'bin', - install: true, -+ pie: true, - ) - endif - -@@ -117,7 +119,8 @@ if have_ptp - include_directories : [configinc, libsinc], - dependencies : [gst_dep, gio_dep, mathlib, cap_dep], - install_dir : helpers_install_dir, -- install : true) -+ install : true, -+ pie : true) - - meson.add_install_script('ptp_helper_post_install.sh', - helpers_install_dir, with_ptp_helper_permissions, +@@ -25,6 +27,7 @@ if not get_option('tools').disabled() an + include_directories : [configinc], + dependencies : data.get('deps', []), + c_args: data.get('extra_c_args', []) + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)], ++ pie: true, + ) + if(data.has_key('env')) + env = data.get(('env')) diff --git a/gstreamer-rpm-prov.patch b/gstreamer-rpm-prov.patch index b4f78b6..8833ccc 100644 --- a/gstreamer-rpm-prov.patch +++ b/gstreamer-rpm-prov.patch @@ -1,8 +1,8 @@ -Index: gstreamer-1.22.2/tools/gst-inspect.c +Index: gstreamer-1.24.4/tools/gst-inspect.c =================================================================== ---- gstreamer-1.22.2.orig/tools/gst-inspect.c -+++ gstreamer-1.22.2/tools/gst-inspect.c -@@ -1869,7 +1869,224 @@ print_tracer_info (GstPluginFeature * fe +--- gstreamer-1.24.4.orig/tools/gst-inspect.c ++++ gstreamer-1.24.4/tools/gst-inspect.c +@@ -1938,7 +1938,224 @@ print_tracer_info (GstPluginFeature * fe * is meant for machines, not humans. */ static void @@ -228,7 +228,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c { GstPadDirection direction; const gchar *type_name; -@@ -1895,6 +2112,13 @@ print_plugin_automatic_install_info_code +@@ -1966,6 +2183,13 @@ print_plugin_automatic_install_info_code return; } @@ -242,7 +242,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c /* decoder/demuxer sink pads should always be static and there should only * be one, the same applies to encoders/muxers and source pads */ static_templates = gst_element_factory_get_static_pad_templates (factory); -@@ -1931,15 +2155,20 @@ print_plugin_automatic_install_info_code +@@ -2002,15 +2226,20 @@ print_plugin_automatic_install_info_code gst_structure_remove_field (s, "rate"); gst_structure_remove_field (s, "depth"); gst_structure_remove_field (s, "clock-rate"); @@ -267,7 +267,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c { const gchar *const *protocols; -@@ -1948,13 +2177,19 @@ print_plugin_automatic_install_info_prot +@@ -2019,13 +2248,19 @@ print_plugin_automatic_install_info_prot switch (gst_element_factory_get_uri_type (factory)) { case GST_URI_SINK: while (*protocols != NULL) { @@ -289,7 +289,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c ++protocols; } break; -@@ -1965,7 +2200,7 @@ print_plugin_automatic_install_info_prot +@@ -2036,7 +2271,7 @@ print_plugin_automatic_install_info_prot } static void @@ -298,7 +298,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c { GList *features, *l; -@@ -1984,11 +2219,15 @@ print_plugin_automatic_install_info (Gst +@@ -2055,11 +2290,15 @@ print_plugin_automatic_install_info (Gst if (feature_plugin == plugin) { GstElementFactory *factory; @@ -317,7 +317,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c } if (feature_plugin) gst_object_unref (feature_plugin); -@@ -2012,7 +2251,7 @@ print_all_plugin_automatic_install_info +@@ -2083,7 +2322,7 @@ print_all_plugin_automatic_install_info plugin = (GstPlugin *) (plugins->data); plugins = g_list_next (plugins); @@ -326,15 +326,15 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c } gst_plugin_list_free (orig_plugins); } -@@ -2098,6 +2337,7 @@ real_main (int argc, char *argv[]) +@@ -2169,6 +2408,7 @@ real_main (int argc, char *argv[]) gboolean do_print_blacklist = FALSE; gboolean plugin_name = FALSE; gboolean print_aii = FALSE; + gboolean print_aii_rpm = FALSE; gboolean uri_handlers = FALSE; gboolean check_exists = FALSE; - gboolean color_always = FALSE; -@@ -2119,6 +2359,9 @@ real_main (int argc, char *argv[]) + gboolean check_version = FALSE; +@@ -2191,6 +2431,9 @@ real_main (int argc, char *argv[]) "or all plugins provide.\n " "Useful in connection with external automatic plugin " "installation mechanisms"), NULL}, @@ -344,7 +344,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c {"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name, N_("List the plugin contents"), NULL}, {"types", 't', 0, G_OPTION_ARG_STRING, &types, -@@ -2293,7 +2536,7 @@ real_main (int argc, char *argv[]) +@@ -2370,7 +2613,7 @@ real_main (int argc, char *argv[]) /* if there is such a plugin, print out info */ if (plugin) { if (print_aii) { @@ -352,8 +352,8 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c + print_plugin_automatic_install_info (plugin, print_aii_rpm); } else { print_plugin_info (plugin); - print_plugin_features (plugin); -@@ -2306,13 +2549,17 @@ real_main (int argc, char *argv[]) + print_plugin_status (plugin); +@@ -2384,14 +2627,18 @@ real_main (int argc, char *argv[]) if (plugin) { if (print_aii) { @@ -361,6 +361,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c + print_plugin_automatic_install_info (plugin, print_aii_rpm); } else { print_plugin_info (plugin); + print_plugin_status (plugin); print_plugin_features (plugin); } } else { diff --git a/gstreamer.changes b/gstreamer.changes index 5ed206b..633bda0 100644 --- a/gstreamer.changes +++ b/gstreamer.changes @@ -1,3 +1,136 @@ +------------------------------------------------------------------- +Thu Jun 27 17:23:35 UTC 2024 - Bjørn Lie + +- Update to version 1.24.5: + + Highlighted bugfixes: + - webrtcsink: Support for AV1 via nvav1enc, av1enc or rav1enc + encoders + - AV1 RTP payloader/depayloader fixes to work correctly with + Chrome and Pion WebRTC + - av1parse, av1dec error handling/robustness improvements + - av1enc: Handle force-keyunit events properly for WebRTC + - decodebin3: selection and collection handling improvements + - hlsdemux2: Various fixes for discontinuities, variant + switching, playlist updates + - qml6glsink: fix RGB format support + - rtspsrc: more control URL handling fixes + - v4l2src: Interpret V4L2 report of sync loss as video signal + loss + - d3d12 encoder, memory and videosink fixes + - vtdec: more robust error handling, fix regression + - ndi: support for NDI SDK v6 + - Various bug fixes, memory leak fixes, and other stability and + reliability improvements +- Please see https://gstreamer.freedesktop.org/releases/1.24/ for + changes between 1.24.0 and this version and even more in-depth + info. +- Refresh patches with quilt. +- Drop 0001-Canonicalize-the-library-path-returned-by-dladdr.patch + and 0001-ptp-Dont-install-test-executable.patch: Fixed upstream. + +------------------------------------------------------------------- +Mon Apr 29 08:35:23 UTC 2024 - pgajdos@suse.com + +- remove dependency on /usr/bin/python3 using + %python3_fix_shebang_path macro, [bsc#1212476] + +------------------------------------------------------------------- +Tue Mar 12 09:16:23 UTC 2024 - Antonio Larrosa + +- Replace the quick fix for boo#1221150 with the version submitted + to upstream at + https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6322: + * 0001-Canonicalize-the-library-path-returned-by-dladdr.patch +- Remove previous version of the fix for boo#1221150: + * force-find-gst-plugin-scanner.patch +- Fix sed command to set the gst-plugin-scanner suffix correctly +- Add preventive checks for the sed commands that set the binary + suffix so that they don't silently fail anymore. + +------------------------------------------------------------------- +Mon Mar 11 13:55:53 UTC 2024 - Antonio Larrosa + +- Add patch from upstream to not install ptp-helper test executable + * 0001-ptp-Dont-install-test-executable.patch + +------------------------------------------------------------------- +Mon Mar 11 07:55:04 UTC 2024 - Antonio Larrosa + +- Add patch to remove the (wrong) check for relocated library which + is making gstreamer fail to find the gst-plugin-scanner helper + binary, thus using the installation path set at build time + (boo#1221150): + * force-find-gst-plugin-scanner.patch + +------------------------------------------------------------------- +Tue Mar 5 06:09:21 UTC 2024 - Antonio Larrosa + +- Update to version 1.24.0: + * Highlights + - New Discourse forum and Matrix chat space + - New Analytics and Machine Learning abstractions and elements + - Playbin3 and decodebin3 are now stable and the default in + gst-play-1.0, GstPlay/GstPlayer + - The va plugin is now preferred over gst-vaapi and has higher + ranks + - GstMeta serialization/deserialization and other GstMeta + improvements + - New GstMeta for SMPTE ST-291M HANC/VANC Ancillary Data + - New unixfd plugin for efficient 1:N inter-process + communication on Linux + - cudaipc source and sink for zero-copy CUDA memory sharing + between processes + - New intersink and intersrc elements for 1:N pipeline + decoupling within the same process + - Qt5 + Qt6 QML integration improvements including qml6glsrc, + qml6glmixer, qml6gloverlay, and qml6d3d11sink elements + - DRM Modifier Support for dmabufs on Linux + - OpenGL, Vulkan and CUDA integration enhancements + - Vulkan H.264 and H.265 video decoders + - RTP stack improvements including new RFC7273 modes and more + correct header extension handling in depayloaders + - WebRTC improvements such as support for ICE consent + freshness, and a new webrtcsrc element to complement + webrtcsink + - WebRTC signallers and webrtcsink implementations for LiveKit + and AWS Kinesis Video Streams + - WHIP server source and client sink, and a WHEP source + - Precision Time Protocol (PTP) clock support for Windows and + other additions + - Low-Latency HLS (LL-HLS) support and many other HLS and DASH + enhancements + - New W3C Media Source Extensions library + - Countless closed caption handling improvements including new + cea608mux and cea608tocea708 elements + - Translation support for awstranscriber + - Bayer 10/12/14/16-bit depth support + - MPEG-TS support for asynchronous KLV demuxing and segment + seeking, plus various new muxer features + - Capture source and sink for AJA capture and playout cards + - SVT-AV1 and VA-API AV1 encoders, stateless AV1 video decoder + - New uvcsink element for exporting streams as UVC camera + - DirectWrite text rendering plugin for windows + - Direct3D12-based video decoding, conversion, composition, and + rendering + - AMD Advanced Media Framework AV1 + H.265 video encoders with + 10-bit and HDR support + - AVX/AVX2 support and NEON support on macOS on Apple ARM64 + CPUs via new liborc + - GStreamer C# bindings have been updated + - Rust bindings improvements and many new and improved Rust + plugins + - Rust plugins now shipped in packages for all major platforms + including Android and iOS + - Lots of new plugins, features, performance improvements and + bug fixes + * For more detailed information on this update, please see + https://gstreamer.freedesktop.org/releases/1.24/ +- Rebase patches: + * gstreamer-pie.patch + * gstreamer-rpm-prov.patch +- Remove patch reduce-required-meson.patch since meson 1.1 is + really required now. + ------------------------------------------------------------------- Thu Feb 1 10:54:29 UTC 2024 - Antonio Larrosa diff --git a/gstreamer.spec b/gstreamer.spec index c78a654..3921ce3 100644 --- a/gstreamer.spec +++ b/gstreamer.spec @@ -19,7 +19,7 @@ %define gst_branch 1.0 Name: gstreamer -Version: 1.22.9 +Version: 1.24.5 Release: 0 Summary: Streaming-Media Framework Runtime License: LGPL-2.1-or-later @@ -34,8 +34,6 @@ Source99: baselibs.conf Patch1: gstreamer-rpm-prov.patch # PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables. Patch2: gstreamer-pie.patch -# PATCH-FIX-OPENSUSE reduce-required-meson.patch alarrosa@suse.com -- build with meson 0.61 -Patch3: reduce-required-meson.patch BuildRequires: bison >= 2.4 BuildRequires: check-devel @@ -43,10 +41,11 @@ BuildRequires: flex >= 2.5.31 BuildRequires: gobject-introspection-devel >= 1.31.1 BuildRequires: libcap-devel BuildRequires: libcap-progs -BuildRequires: meson >= 0.61 +BuildRequires: meson >= 1.1 BuildRequires: pkgconfig BuildRequires: python3-base BuildRequires: python3-xml +BuildRequires: rust >= 1.48 BuildRequires: pkgconfig(bash-completion) >= 2.0 BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) @@ -139,9 +138,12 @@ sed -i -e '1{s,^#!/usr/bin/env python3,#!%{_bindir}/python3,}' docs/gst-plugins- %build export PYTHON=%{_bindir}/python3 -sed -i "s/executable('gst-plugin-scanner',/executable('gst-plugin-scanner-%{_target_cpu}',/" libs/gst/helpers/meson.build -sed -i "s/gst-plugin-scanner/gst-plugin-scanner-%{_target_cpu}/" meson.build -sed -i 's/^#define EXESUFFIX$/#define EXESUFFIX "-%{_target_cpu}"/' gst/gstpluginloader.c +sed -i "s/'gst-plugin-scanner': /'gst-plugin-scanner-%{_target_cpu}': /" libs/gst/helpers/meson.build +grep "'gst-plugin-scanner-%{_target_cpu}': " libs/gst/helpers/meson.build || (echo "Couldn't set executable suffix in libs/gst/helpers/meson.build" ; exit 1) +sed -i "s/'gst-plugin-scanner'/'gst-plugin-scanner-%{_target_cpu}'/" meson.build +grep "'gst-plugin-scanner-%{_target_cpu}'" meson.build || (echo "Couldn't set executable suffix in meson.build" ; exit 1) +sed -i 's/"gst-plugin-scanner"/"gst-plugin-scanner-%{_target_cpu}"/' gst/gstpluginloader.c +grep '"gst-plugin-scanner-%{_target_cpu}"' gst/gstpluginloader.c || (echo "Couldn't set executable suffix in gst/gstpluginloader.c" ; exit 1) # TODO: enable dbghelp %meson \ -Dptp-helper-permissions=capabilities \ @@ -176,6 +178,10 @@ mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets install -m644 -D %{SOURCE1} %{buildroot}%{_fileattrsdir}/gstreamer.attr install -m755 -D %{SOURCE2} %{buildroot}%{_rpmconfigdir}/gstreamer-provides +%if %{suse_version} >= 1600 +%python3_fix_shebang_path %{buildroot}%{_libexecdir}/gstreamer-*/* +%endif + %verifyscript %verify_permissions -e %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper diff --git a/reduce-required-meson.patch b/reduce-required-meson.patch deleted file mode 100644 index e1a39ab..0000000 --- a/reduce-required-meson.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: gstreamer-1.22.9/meson.build -=================================================================== ---- gstreamer-1.22.9.orig/meson.build -+++ gstreamer-1.22.9/meson.build -@@ -1,6 +1,6 @@ - project('gstreamer', 'c', - version : '1.22.9', -- meson_version : '>= 0.62', -+ meson_version : '>= 0.61', - default_options : [ 'warning_level=1', - 'buildtype=debugoptimized' ]) -