Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2022-10-11 18:01:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Tue Oct 11 18:01:46 2022 rev:65 rq:1009760 version:0.3.59 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2022-09-16 13:32:26.069286866 +0200 +++ /work/SRC/openSUSE:Factory/.pipewire.new.2275/pipewire.changes 2022-10-11 18:04:15.961960289 +0200 @@ -1,0 +2,80 @@ +Sat Oct 8 20:46:58 UTC 2022 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Add 0001-filter-chain-iterate-the-port-correctly.patch: Fix + filter-chain convolver segfault at start. + +------------------------------------------------------------------- +Sat Oct 1 18:25:10 UTC 2022 - Alexei Sorokin <sor.ale...@meowr.ru> + +- Update to version 0.3.59: + * Highlights + - Fix possible wrong samplerate in loopback streams after + suspend and rate switch. + - module-filter-chain can now adapt to the graph samplerate. + - Fix some potential stuttering and crackling in pulse-server. + - Add Bluetooth LE support. This requires experimental kernel + and bluez support. + - The ALSA plugin has more options to control the buffer size. + This can be used to work around high latency in + davinci resolve. + - Many bugfixes and improvements. + * PipeWire + - Add audio capture example with volume meter. + - Fix a case where a rate switch would not suspend all the + nodes of the driver first. This could cause wrong samplerates + in streams. + - Fix a case where a node would be Paused while still added to + the graph, causing potential crashes. + * Modules + - module-filter-chain and module-loopback now use the + resample.prefill option to avoid buffering extra samples and + causing unwanted latency when resampling is activated. + - module-filter-chain can now adapt to the graph samplerate. + - Improve module-raop to support the ALAC codec as raw PCM. + - Improve RTSP parsing to improve compatibility. + * Tools + - Fix 100% CPU in pw-cli monitor mode. + - spa-acp-tool can now be exited with ctrl-D. + * SPA + - Various libcamera fixes and improvements. + - Set stride on audioconvert output buffers. + - Make sure we always place the last requested size from the + resampler on the buffers in pw-stream. + - Add resample.prefill option in the resampler to fill the + history with 0 so that we don't have smaller buffers at the + start. + - Make sure that when an overflow corrupts a POD, that it will + always stay corrupted. + - Rate limit some ALSA warnings and reduce some unwanted + warnings. + - Don't recalculate the audioconverter state for each + pause/play. + - Fix some POD parsing inconsistencies and potential overflows. + - Add support for Asus Xonar SE. + - Fix Flush command handling. It should not stop playback. + - Refactor the peaks function and add some unit tests and + optimisations. + - The channelmix has an optimized nXm converter and new + unit tests. + - Normalisation in the channelmixer was fixed. + * pulse-server + - The requested latency of record streams was reduced to fix + some stuttering in Teamspeak. + - Tweak the max amount of bytes sent to a client. + - Improve maxlength calculations, this fixes some crackling + noise with high samplerate and channel counts in some + players (audacious). + * Bluetooth + - Merge Bluetooth LE support. + - Make sure we are backward compatible with WirePlumber. + - Fix some HFP and HSP AT command parsing. + - Use HFP by default over HSP. + * ALSA + - Increase max number of periods. + - The parameters handling was improved. There is now an option + to set the buffer-bytes of the ALSA plugin. + - PIPEWIRE_ALSA can now be used as an environment variable to + restrict the plugin formats and buffer size. +- Rebase reduce-meson-dependency.patch. + +------------------------------------------------------------------- Old: ---- pipewire-0.3.58.obscpio New: ---- 0001-filter-chain-iterate-the-port-correctly.patch pipewire-0.3.59.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.wtkBfh/_old 2022-10-11 18:04:16.477961123 +0200 +++ /var/tmp/diff_new_pack.wtkBfh/_new 2022-10-11 18:04:16.481961129 +0200 @@ -54,7 +54,7 @@ %bcond_with aptx Name: pipewire -Version: 0.3.58 +Version: 0.3.59 Release: 0 Summary: A Multimedia Framework designed to be an audio and video server and more License: MIT @@ -64,6 +64,8 @@ Source99: baselibs.conf # PATCH-FIX-OPENSUSE reduce-meson-dependency.patch Patch0: reduce-meson-dependency.patch +# PATCH-FIX-UPSTREAM 0001-filter-chain-iterate-the-port-correctly.patch +Patch1: 0001-filter-chain-iterate-the-port-correctly.patch BuildRequires: docutils BuildRequires: doxygen BuildRequires: fdupes @@ -335,6 +337,7 @@ %if 0%{?sle_version} <= 150300 %patch0 -p1 %endif +%patch1 -p1 %build %if %{pkg_vcmp gcc < 8} ++++++ 0001-filter-chain-iterate-the-port-correctly.patch ++++++ >From 94a64268613adac8ef6f3e6c1f04468220540d00 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Mon, 3 Oct 2022 09:55:44 +0200 Subject: [PATCH] filter-chain: iterate the port correctly Don't use the number of handles to iterate the output ports but the number of output ports on the node. Fixes #2737 --- src/modules/module-filter-chain.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c index 6a899ef5f..9d65aa938 100644 --- a/src/modules/module-filter-chain.c +++ b/src/modules/module-filter-chain.c @@ -1561,6 +1561,10 @@ static int load_node(struct graph *graph, struct spa_json *json) node->control_port = calloc(desc->n_control, sizeof(struct port)); node->notify_port = calloc(desc->n_notify, sizeof(struct port)); + pw_log_info("loaded n_input:%d n_output:%d n_control:%d n_notify:%d", + desc->n_input, desc->n_output, + desc->n_control, desc->n_notify); + for (i = 0; i < desc->n_input; i++) { struct port *port = &node->input_port[i]; port->node = node; @@ -1953,6 +1957,8 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_ gh->hndl = &node->hndl[i]; gh->desc = d; + } + for (i = 0; i < desc->n_output; i++) { spa_list_for_each(link, &node->output_port[i].link_list, output_link) link->input->node->n_deps--; } -- 2.37.3 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.wtkBfh/_old 2022-10-11 18:04:16.525961200 +0200 +++ /var/tmp/diff_new_pack.wtkBfh/_new 2022-10-11 18:04:16.529961207 +0200 @@ -3,7 +3,7 @@ <service name="obs_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param> - <param name="revision">refs/tags/0.3.58</param> + <param name="revision">refs/tags/0.3.59</param> <param name="versionformat">@PARENT_TAG@</param> <!-- <param name="revision">master</param> ++++++ pipewire-0.3.58.obscpio -> pipewire-0.3.59.obscpio ++++++ /work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.58.obscpio /work/SRC/openSUSE:Factory/.pipewire.new.2275/pipewire-0.3.59.obscpio differ: char 49, line 1 ++++++ pipewire.obsinfo ++++++ --- /var/tmp/diff_new_pack.wtkBfh/_old 2022-10-11 18:04:16.585961298 +0200 +++ /var/tmp/diff_new_pack.wtkBfh/_new 2022-10-11 18:04:16.589961304 +0200 @@ -1,5 +1,5 @@ name: pipewire -version: 0.3.58 -mtime: 1663167737 -commit: 64a3edf89ec07957107dff984f053f41ded443fe +version: 0.3.59 +mtime: 1664524688 +commit: f54a72fd9a67eeb8d1502d6d75979dbddb00fdf2 ++++++ reduce-meson-dependency.patch ++++++ --- /var/tmp/diff_new_pack.wtkBfh/_old 2022-10-11 18:04:16.601961323 +0200 +++ /var/tmp/diff_new_pack.wtkBfh/_new 2022-10-11 18:04:16.605961330 +0200 @@ -1,7 +1,7 @@ -Index: pipewire-0.3.57/doc/meson.build +Index: pipewire-0.3.59/doc/meson.build =================================================================== ---- pipewire-0.3.57.orig/doc/meson.build -+++ pipewire-0.3.57/doc/meson.build +--- pipewire-0.3.59.orig/doc/meson.build ++++ pipewire-0.3.59/doc/meson.build @@ -1,8 +1,8 @@ doxyfile_conf = configuration_data() doxyfile_conf.set('PACKAGE_NAME', meson.project_name()) @@ -102,10 +102,10 @@ doxyfile = configure_file(input: 'Doxyfile.in', output: 'Doxyfile', -Index: pipewire-0.3.57/man/meson.build +Index: pipewire-0.3.59/man/meson.build =================================================================== ---- pipewire-0.3.57.orig/man/meson.build -+++ pipewire-0.3.57/man/meson.build +--- pipewire-0.3.59.orig/man/meson.build ++++ pipewire-0.3.59/man/meson.build @@ -21,7 +21,7 @@ manpages = [ 'pw-top.1.rst.in', ] @@ -115,18 +115,18 @@ manpages += 'pw-jack.1.rst.in' endif -Index: pipewire-0.3.57/meson.build +Index: pipewire-0.3.59/meson.build =================================================================== ---- pipewire-0.3.57.orig/meson.build -+++ pipewire-0.3.57/meson.build +--- pipewire-0.3.59.orig/meson.build ++++ pipewire-0.3.59/meson.build @@ -1,7 +1,7 @@ project('pipewire', ['c' ], - version : '0.3.58', + version : '0.3.59', license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ], - meson_version : '>= 0.59.0', + meson_version : '>= 0.54.0', default_options : [ 'warning_level=3', - 'c_std=gnu99', + 'c_std=gnu11', 'cpp_std=c++17', @@ -235,8 +235,8 @@ includes_inc = include_directories('incl pipewire_inc = include_directories('src') @@ -227,10 +227,10 @@ +if meson.version().version_compare('>=0.58.0') + meson.add_devenv(devenv) +endif -Index: pipewire-0.3.57/spa/meson.build +Index: pipewire-0.3.59/spa/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/meson.build -+++ pipewire-0.3.57/spa/meson.build +--- pipewire-0.3.59.orig/spa/meson.build ++++ pipewire-0.3.59/spa/meson.build @@ -31,7 +31,7 @@ pkgconfig.generate(filebase : 'lib@0@'.f subdir('include') @@ -240,7 +240,7 @@ udevrulesdir = get_option('udevrulesdir') if udevrulesdir == '' # absolute path, otherwise meson prepends the prefix -@@ -84,6 +84,6 @@ endif +@@ -86,6 +86,6 @@ endif subdir('tools') subdir('tests') @@ -248,11 +248,11 @@ +if (get_option('examples').enabled() or get_option('examples').auto()) subdir('examples') endif -Index: pipewire-0.3.57/spa/plugins/audioconvert/meson.build +Index: pipewire-0.3.59/spa/plugins/audioconvert/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/plugins/audioconvert/meson.build -+++ pipewire-0.3.57/spa/plugins/audioconvert/meson.build -@@ -146,7 +146,7 @@ foreach a : test_apps +--- pipewire-0.3.59.orig/spa/plugins/audioconvert/meson.build ++++ pipewire-0.3.59/spa/plugins/audioconvert/meson.build +@@ -148,7 +148,7 @@ foreach a : test_apps install : installed_tests_enabled, install_dir : installed_tests_execdir / 'audioconvert'), env : [ @@ -261,7 +261,7 @@ ]) if installed_tests_enabled -@@ -176,7 +176,7 @@ foreach a : benchmark_apps +@@ -178,7 +178,7 @@ foreach a : benchmark_apps install : installed_tests_enabled, install_dir : installed_tests_execdir / 'audioconvert'), env : [ @@ -270,10 +270,10 @@ ]) if installed_tests_enabled -Index: pipewire-0.3.57/spa/plugins/audiomixer/meson.build +Index: pipewire-0.3.59/spa/plugins/audiomixer/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/plugins/audiomixer/meson.build -+++ pipewire-0.3.57/spa/plugins/audiomixer/meson.build +--- pipewire-0.3.59.orig/spa/plugins/audiomixer/meson.build ++++ pipewire-0.3.59/spa/plugins/audiomixer/meson.build @@ -81,7 +81,7 @@ foreach a : test_apps install : installed_tests_enabled, install_dir : installed_tests_execdir / 'audiomixer'), @@ -292,10 +292,10 @@ ]) if installed_tests_enabled -Index: pipewire-0.3.57/spa/plugins/bluez5/meson.build +Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/plugins/bluez5/meson.build -+++ pipewire-0.3.57/spa/plugins/bluez5/meson.build +--- pipewire-0.3.59.orig/spa/plugins/bluez5/meson.build ++++ pipewire-0.3.59/spa/plugins/bluez5/meson.build @@ -6,12 +6,12 @@ foreach dep: bluez5_deps endforeach @@ -344,7 +344,7 @@ -if get_option('bluez5-codec-lc3plus').allowed() and lc3plus_dep.found() +if (get_option('bluez5-codec-lc3plus').enabled() or get_option('bluez5-codec-lc3plus').auto()) and lc3plus_dep.found() bluez_codec_lc3plus = shared_library('spa-codec-bluez5-lc3plus', - [ 'a2dp-codec-lc3plus.c', 'a2dp-codecs.c' ], + [ 'a2dp-codec-lc3plus.c', 'media-codecs.c' ], include_directories : [ configinc ], @@ -120,7 +120,7 @@ if get_option('bluez5-codec-lc3plus').al install_dir : spa_plugindir / 'bluez5') @@ -355,10 +355,19 @@ opus_args = codec_args opus_dep = [ opus_dep ] bluez_codec_opus = shared_library('spa-codec-bluez5-opus', -Index: pipewire-0.3.57/spa/plugins/meson.build +@@ -132,7 +132,7 @@ if get_option('bluez5-codec-opus').allow + install_dir : spa_plugindir / 'bluez5') + endif + +-if get_option('bluez5-codec-lc3').allowed() and lc3_dep.found() ++if (get_option('bluez5-codec-lc3').enabled() or get_option('bluez5-codec-lc3').auto()) and lc3_dep.found() + bluez_codec_lc3 = shared_library('spa-codec-bluez5-lc3', + [ 'bap-codec-lc3.c', 'media-codecs.c' ], + include_directories : [ configinc ], +Index: pipewire-0.3.59/spa/plugins/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/plugins/meson.build -+++ pipewire-0.3.57/spa/plugins/meson.build +--- pipewire-0.3.59.orig/spa/plugins/meson.build ++++ pipewire-0.3.59/spa/plugins/meson.build @@ -1,19 +1,22 @@ if alsa_dep.found() subdir('alsa') @@ -412,10 +421,10 @@ subdir('volume') endif if vulkan_headers -Index: pipewire-0.3.57/spa/plugins/support/meson.build +Index: pipewire-0.3.59/spa/plugins/support/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/plugins/support/meson.build -+++ pipewire-0.3.57/spa/plugins/support/meson.build +--- pipewire-0.3.59.orig/spa/plugins/support/meson.build ++++ pipewire-0.3.59/spa/plugins/support/meson.build @@ -23,7 +23,7 @@ spa_support_lib = shared_library('spa-su install_dir : spa_plugindir / 'support') spa_support_dep = declare_dependency(link_with: spa_support_lib) @@ -425,10 +434,10 @@ evl_inc = include_directories('/usr/evl/include') evl_lib = cc.find_library('evl', dirs: ['/usr/evl/lib/'], -Index: pipewire-0.3.57/spa/tests/meson.build +Index: pipewire-0.3.59/spa/tests/meson.build =================================================================== ---- pipewire-0.3.57.orig/spa/tests/meson.build -+++ pipewire-0.3.57/spa/tests/meson.build +--- pipewire-0.3.59.orig/spa/tests/meson.build ++++ pipewire-0.3.59/spa/tests/meson.build @@ -5,7 +5,7 @@ find = find_program('find', required: fa summary({'find (for header testing)': find.found()}, bool_yn: true, section: 'Optional programs') if find.found() @@ -447,10 +456,10 @@ ] ) -Index: pipewire-0.3.57/src/daemon/meson.build +Index: pipewire-0.3.59/src/daemon/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/daemon/meson.build -+++ pipewire-0.3.57/src/daemon/meson.build +--- pipewire-0.3.59.orig/src/daemon/meson.build ++++ pipewire-0.3.59/src/daemon/meson.build @@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#') conf_config_uninstalled = conf_config @@ -472,10 +481,10 @@ ) #desktop_file = i18n.merge_file( -Index: pipewire-0.3.57/src/daemon/systemd/meson.build +Index: pipewire-0.3.59/src/daemon/systemd/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/daemon/systemd/meson.build -+++ pipewire-0.3.57/src/daemon/systemd/meson.build +--- pipewire-0.3.59.orig/src/daemon/systemd/meson.build ++++ pipewire-0.3.59/src/daemon/systemd/meson.build @@ -1,6 +1,6 @@ -if get_option('systemd-system-service').allowed() +if (get_option('systemd-system-service').enabled() or get_option('systemd-system-service').auto()) @@ -485,20 +494,20 @@ +if (get_option('systemd-user-service').enabled() or get_option('systemd-user-service').auto()) subdir('user') endif -Index: pipewire-0.3.57/src/daemon/systemd/user/meson.build +Index: pipewire-0.3.59/src/daemon/systemd/user/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/daemon/systemd/user/meson.build -+++ pipewire-0.3.57/src/daemon/systemd/user/meson.build +--- pipewire-0.3.59.orig/src/daemon/systemd/user/meson.build ++++ pipewire-0.3.59/src/daemon/systemd/user/meson.build @@ -1,4 +1,4 @@ -systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix]) +#systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix]) if get_option('systemd-user-unit-dir') != '' systemd_user_services_dir = get_option('systemd-user-unit-dir') endif -Index: pipewire-0.3.57/src/gst/meson.build +Index: pipewire-0.3.59/src/gst/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/gst/meson.build -+++ pipewire-0.3.57/src/gst/meson.build +--- pipewire-0.3.59.orig/src/gst/meson.build ++++ pipewire-0.3.59/src/gst/meson.build @@ -8,7 +8,7 @@ pipewire_gst_sources = [ 'gstpipewiresrc.c', ] @@ -508,10 +517,10 @@ pipewire_gst_sources += [ 'gstpipewiredeviceprovider.c' ] endif -Index: pipewire-0.3.57/src/meson.build +Index: pipewire-0.3.59/src/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/meson.build -+++ pipewire-0.3.57/src/meson.build +--- pipewire-0.3.59.orig/src/meson.build ++++ pipewire-0.3.59/src/meson.build @@ -3,10 +3,10 @@ subdir('pipewire') subdir('daemon') subdir('tools') @@ -525,10 +534,10 @@ subdir('tests') endif -Index: pipewire-0.3.57/src/modules/meson.build +Index: pipewire-0.3.59/src/modules/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/modules/meson.build -+++ pipewire-0.3.57/src/modules/meson.build +--- pipewire-0.3.59.orig/src/modules/meson.build ++++ pipewire-0.3.59/src/modules/meson.build @@ -386,9 +386,9 @@ test('pw-test-protocol-native', install_dir : installed_tests_execdir, ), @@ -555,10 +564,10 @@ pipewire_module_avb = shared_library('pipewire-module-avb', [ 'module-avb.c', 'module-avb/avb.c', -Index: pipewire-0.3.57/src/tests/meson.build +Index: pipewire-0.3.59/src/tests/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/tests/meson.build -+++ pipewire-0.3.57/src/tests/meson.build +--- pipewire-0.3.59.orig/src/tests/meson.build ++++ pipewire-0.3.59/src/tests/meson.build @@ -14,9 +14,9 @@ foreach a : test_apps install : installed_tests_enabled, install_dir : installed_tests_execdir), @@ -572,10 +581,10 @@ ]) if installed_tests_enabled -Index: pipewire-0.3.57/src/tools/meson.build +Index: pipewire-0.3.59/src/tools/meson.build =================================================================== ---- pipewire-0.3.57.orig/src/tools/meson.build -+++ pipewire-0.3.57/src/tools/meson.build +--- pipewire-0.3.59.orig/src/tools/meson.build ++++ pipewire-0.3.59/src/tools/meson.build @@ -32,7 +32,7 @@ if ncurses_dep.found() endif @@ -585,10 +594,10 @@ build_pw_cat = true pwcat_sources = [ -Index: pipewire-0.3.57/test/meson.build +Index: pipewire-0.3.59/test/meson.build =================================================================== ---- pipewire-0.3.57.orig/test/meson.build -+++ pipewire-0.3.57/test/meson.build +--- pipewire-0.3.59.orig/test/meson.build ++++ pipewire-0.3.59/test/meson.build @@ -14,8 +14,8 @@ pwtest_deps = [ ]