Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gstreamer for openSUSE:Factory checked in at 2023-02-02 18:06:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gstreamer (Old) and /work/SRC/openSUSE:Factory/.gstreamer.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer" Thu Feb 2 18:06:56 2023 rev:83 rq:1061544 version:1.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gstreamer/gstreamer.changes 2022-12-25 15:14:26.585233893 +0100 +++ /work/SRC/openSUSE:Factory/.gstreamer.new.32243/gstreamer.changes 2023-02-02 18:25:08.218274160 +0100 @@ -1,0 +2,59 @@ +Fri Jan 27 10:10:31 UTC 2023 - Antonio Larrosa <alarr...@suse.com> + +- Add patch to reduce the required meson version to 0.61.0 since + that's what we have in SLE 15: + * reduce-required-meson.patch +- Probably because of a problem in SLE's meson, the generated + pkgconfig files are missing some variables that are needed by + rpm to generate the pkgconfig(...) provides correctly. In order + to fix this, we now check for those variables and insert them + in the pc files before installation if they're missing. + +------------------------------------------------------------------- +Tue Jan 24 16:46:29 UTC 2023 - Bjørn Lie <bjorn....@gmail.com> + +- Update to version 1.22.0: + + AV1 video codec support improvements + + New HLS, DASH and Microsoft Smooth Streaming adaptive streaming + clients + + Qt6 support for rendering video inside a QML scene + + Minimal builds optimised for binary size, including only the + individual elements needed + + Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and + stabilisation + + WebRTC simulcast support and support for Google Congestion + Control + + WebRTC-based media server ingestion/egress (WHIP/WHEP) support + + New easy to use batteries-included WebRTC sender plugin + + Easy RTP sender timestamp reconstruction for RTP and RTSP + + ONVIF timed metadata support + + New fragmented MP4 muxer and non-fragmented MP4 muxer + + New plugins for Amazon AWS storage and audio transcription + services + + New gtk4paintablesink and gtkwaylandsink renderers + + New videocolorscale element that can convert and scale in one + go for better performance + + High bit-depth video improvements + + Touchscreen event support in navigation API + + Rust plugins now shipped in macOS and Windows/MSVC binary + packages + + H.264/H.265 timestamp correction elements for PTS/DTS + reconstruction before muxers + + Improved design for DMA buffer sharing and modifier handling + for hardware-accelerated video decoders/encoders/filters and + capturing/rendering on Linux + + Video4Linux2 hardware accelerated decoder improvements + + CUDA integration and Direct3D11 integration and plugin + improvements + + New H.264 / AVC, H.265 / HEVC and AV1 hardware-accelerated + video encoders for AMD GPUs using the Advanced Media Framework + (AMF) SDK + + applemedia: H.265 / HEVC video encoding + decoding support + + androidmedia: H.265 / HEVC video encoding support + + New "force-live" property for audiomixer, compositor, + glvideomixer, d3d11compositor etc. + + Lots of new plugins, features, performance improvements and bug + fixes +- Rebase patches with quilt. + +------------------------------------------------------------------- Old: ---- gstreamer-1.20.5.tar.xz New: ---- gstreamer-1.22.0.tar.xz reduce-required-meson.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gstreamer.spec ++++++ --- /var/tmp/diff_new_pack.SDeHQx/_old 2023-02-02 18:25:08.638276719 +0100 +++ /var/tmp/diff_new_pack.SDeHQx/_new 2023-02-02 18:25:08.642276744 +0100 @@ -1,7 +1,7 @@ # # spec file for package gstreamer # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define gst_branch 1.0 Name: gstreamer -Version: 1.20.5 +Version: 1.22.0 Release: 0 Summary: Streaming-Media Framework Runtime License: LGPL-2.1-or-later @@ -34,6 +34,8 @@ Patch1: gstreamer-rpm-prov.patch # PATCH-FIX-OPENSUSE gstreamer-pie.patch mgo...@suse.com -- create position-independent executables. Patch2: gstreamer-pie.patch +# PATCH-FIX-OPENSUSE reduce-required-meson.patch alarr...@suse.com -- build with meson 0.61 +Patch3: reduce-required-meson.patch BuildRequires: bison >= 2.4 BuildRequires: check-devel @@ -41,14 +43,14 @@ BuildRequires: gobject-introspection-devel >= 1.31.1 BuildRequires: libcap-devel BuildRequires: libcap-progs -BuildRequires: meson >= 0.59 +BuildRequires: meson >= 0.61 BuildRequires: pkgconfig BuildRequires: python3-base BuildRequires: python3-xml BuildRequires: pkgconfig(bash-completion) >= 2.0 BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-unix-2.0) -BuildRequires: pkgconfig(glib-2.0) >= 2.40.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.62.0 BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(libdw) @@ -137,7 +139,7 @@ %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/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 # TODO: enable dbghelp %meson \ @@ -155,6 +157,15 @@ %{nil} %meson_build +# meson 0.61.4 in SLE 15 SP5 doesn't generate all variables needed in the pc files +# As a result the pkgconfig(...) provides are not generated in the rpm file so +# we have to add the variables to the pc files if they're missing +for pc in *-suse-linux/meson-private/*.pc ; do + grep -q ^datarootdir= $pc || sed -ie "/^pluginsdir=.*/a datarootdir=\${prefix}\/share" $pc ; + grep -q ^datadir= $pc || sed -ie "/^datarootdir=.*/a datadir=\${datarootdir}" $pc ; + grep -q ^libexecdir= $pc || sed -ie "/^datadir=.*/a libexecdir=\${prefix}\/libexec" $pc ; +done + %install %meson_install %find_lang %{name}-%{gst_branch} ++++++ gstreamer-1.20.5.tar.xz -> gstreamer-1.22.0.tar.xz ++++++ ++++ 186969 lines of diff (skipped) ++++++ gstreamer-pie.patch ++++++ --- /var/tmp/diff_new_pack.SDeHQx/_old 2023-02-02 18:25:09.506282008 +0100 +++ /var/tmp/diff_new_pack.SDeHQx/_new 2023-02-02 18:25:09.510282032 +0100 @@ -1,26 +1,26 @@ -Index: gstreamer-1.18.5/libs/gst/helpers/meson.build +Index: gstreamer-1.22.0/libs/gst/helpers/meson.build =================================================================== ---- gstreamer-1.18.5.orig/libs/gst/helpers/meson.build -+++ gstreamer-1.18.5/libs/gst/helpers/meson.build -@@ -5,6 +5,7 @@ executable('gst-plugin-scanner', - dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, gst_dep], +--- 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, ) - # Used in test env setup to make tests find plugin scanner in build tree -@@ -18,6 +19,7 @@ if bashcomp_found - dependencies : [gobject_dep, glib_dep, gst_dep], + 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 -@@ -114,7 +116,8 @@ if have_ptp +@@ -117,7 +119,8 @@ if have_ptp include_directories : [configinc, libsinc], - dependencies : [gio_dep, gobject_dep, glib_dep, mathlib, gst_dep, cap_dep], + dependencies : [gst_dep, gio_dep, mathlib, cap_dep], install_dir : helpers_install_dir, - install : true) + install : true, ++++++ gstreamer-rpm-prov.patch ++++++ --- /var/tmp/diff_new_pack.SDeHQx/_old 2023-02-02 18:25:09.518282081 +0100 +++ /var/tmp/diff_new_pack.SDeHQx/_new 2023-02-02 18:25:09.522282105 +0100 @@ -1,8 +1,8 @@ -Index: gstreamer-1.18.5/tools/gst-inspect.c +Index: gstreamer-1.22.0/tools/gst-inspect.c =================================================================== ---- gstreamer-1.18.5.orig/tools/gst-inspect.c -+++ gstreamer-1.18.5/tools/gst-inspect.c -@@ -1750,7 +1750,224 @@ print_tracer_info (GstPluginFeature * fe +--- gstreamer-1.22.0.orig/tools/gst-inspect.c ++++ gstreamer-1.22.0/tools/gst-inspect.c +@@ -1869,7 +1869,224 @@ print_tracer_info (GstPluginFeature * fe * is meant for machines, not humans. */ static void @@ -228,7 +228,7 @@ { GstPadDirection direction; const gchar *type_name; -@@ -1776,6 +1993,13 @@ print_plugin_automatic_install_info_code +@@ -1895,6 +2112,13 @@ print_plugin_automatic_install_info_code return; } @@ -242,7 +242,7 @@ /* 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); -@@ -1812,15 +2036,20 @@ print_plugin_automatic_install_info_code +@@ -1931,15 +2155,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 @@ { const gchar *const *protocols; -@@ -1829,13 +2058,19 @@ print_plugin_automatic_install_info_prot +@@ -1948,13 +2177,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 @@ ++protocols; } break; -@@ -1846,7 +2081,7 @@ print_plugin_automatic_install_info_prot +@@ -1965,7 +2200,7 @@ print_plugin_automatic_install_info_prot } static void @@ -298,7 +298,7 @@ { GList *features, *l; -@@ -1865,11 +2100,15 @@ print_plugin_automatic_install_info (Gst +@@ -1984,11 +2219,15 @@ print_plugin_automatic_install_info (Gst if (feature_plugin == plugin) { GstElementFactory *factory; @@ -317,7 +317,7 @@ } if (feature_plugin) gst_object_unref (feature_plugin); -@@ -1891,7 +2130,7 @@ print_all_plugin_automatic_install_info +@@ -2012,7 +2251,7 @@ print_all_plugin_automatic_install_info plugin = (GstPlugin *) (plugins->data); plugins = g_list_next (plugins); @@ -326,7 +326,7 @@ } gst_plugin_list_free (orig_plugins); } -@@ -1958,6 +2197,7 @@ main (int argc, char *argv[]) +@@ -2098,6 +2337,7 @@ real_main (int argc, char *argv[]) gboolean do_print_blacklist = FALSE; gboolean plugin_name = FALSE; gboolean print_aii = FALSE; @@ -334,7 +334,7 @@ gboolean uri_handlers = FALSE; gboolean check_exists = FALSE; gboolean color_always = FALSE; -@@ -1979,6 +2219,9 @@ main (int argc, char *argv[]) +@@ -2119,6 +2359,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 @@ {"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name, N_("List the plugin contents"), NULL}, {"types", 't', 0, G_OPTION_ARG_STRING, &types, -@@ -2144,7 +2387,7 @@ main (int argc, char *argv[]) +@@ -2284,7 +2527,7 @@ real_main (int argc, char *argv[]) /* if there is such a plugin, print out info */ if (plugin) { if (print_aii) { @@ -353,7 +353,7 @@ } else { print_plugin_info (plugin); print_plugin_features (plugin); -@@ -2157,13 +2400,17 @@ main (int argc, char *argv[]) +@@ -2297,13 +2540,17 @@ real_main (int argc, char *argv[]) if (plugin) { if (print_aii) { ++++++ reduce-required-meson.patch ++++++ Index: gstreamer-1.22.0/meson.build =================================================================== --- gstreamer-1.22.0.orig/meson.build +++ gstreamer-1.22.0/meson.build @@ -1,6 +1,6 @@ project('gstreamer', 'c', version : '1.22.0', - meson_version : '>= 0.62', + meson_version : '>= 0.61', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ])