Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2023-08-30 10:18:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pipewire (Old) and /work/SRC/openSUSE:Factory/.pipewire.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire" Wed Aug 30 10:18:57 2023 rev:92 rq:1105884 version:0.3.78 Changes: -------- --- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2023-08-21 11:43:09.455410182 +0200 +++ /work/SRC/openSUSE:Factory/.pipewire.new.1766/pipewire.changes 2023-08-30 10:21:05.853463408 +0200 @@ -1,0 +2,66 @@ +Fri Aug 25 09:15:38 UTC 2023 - Antonio Larrosa <alarr...@suse.com> + +- Update to version 0.3.78: + * Highlights + - An old regression was fixed with where some nodes would not + run. + - A regression was fixed where removed events would not be + shown in some cases. This would result in duplicate entries + in audio clients. + - Fix an off-by-one in the vban audio receiver. Tweak the rate + adaption a little. + - ACP will now set a UCM verb before probing the pro-audio + devices. + - More bugfixes and improvements. + * PipeWire + - An old regression was fixed with where some nodes would not + run. (#3405) + - Suspend was improved a little to avoid races when the session + manager would suspend right when a driver was starting. + * Modules + - module-rtp-sap does not use the deprecated inet_aton anymore. + - Fix an off-by-one in the vban audio receiver. Tweak the rate + adaption a little. (#3380) + * SPA + - ACP will now set a UCM verb before probing the pro-audio + devices. (#3407) + - The mandatory flag will be set now on the video modifiers. + - EVL was updated to Xenomai4 r46 and xbuf creation was + improved. + - An option was added to force colors in the log even when + logging to !tty. + - The return type of spa_pod_builder_control() was fixed. + - inotify errors are handled better now. (#3439) + * pulse-server + - A regression was fixed where removed events would not be + shown in some cases. (#3414) + * Bluetooth + - Improve compatibility with more devices, avoid reusing the + same transport for different media-sink instances to avoid + encoder resets. + - Improve enumeration of codec profiles for BAP and A2DP. + * JACK + - Ensure we can't iterate ports from a deactivated client. Also + make sure the JACK clients with the node.always-process=false + always show their ports. (#3416) + * GStreamer + - A potential crash was fixed in the device provider when + stopping. +- Remove patches already included upstream: + * 0001-context-Dont-stop-setting-runnable-when-meeting-the-driving.patch + * 0001-gst-Prevent-a-crash-when-stopping-device-provider.patch + * 0001-jack-ports-become-visible-when-the-registration-is-queued.patch + * 0002-jack-handle-node.always-process-=-false-jack-nodes.patch + * 0001-pulse-server-set-all-change_mask-flags-when-removing.patch +- Add patch from upstream to fix jack clients: + * 0001-jack-make-sure-we-can-always-find-our-own-ports.patch +- Add patch from upstream to fix typo in neon function that makes + pipewire produce noise: + * 0001-audioconvert-fix-typo-in-neon-function.patch +- Add patch from upstream to fix (among others) a race when a node + is suspended at the same time it is started causing silence: + * 0001-impl-node-improve-suspend.patch +- Add patch from upstream to fix BAP only showing off profile: + * 0001-bluez5-fix-BAP-profiles-showing.patch + +------------------------------------------------------------------- Old: ---- 0001-context-Dont-stop-setting-runnable-when-meeting-the-driving.patch 0001-gst-Prevent-a-crash-when-stopping-device-provider.patch 0001-jack-ports-become-visible-when-the-registration-is-queued.patch 0001-pulse-server-set-all-change_mask-flags-when-removing.patch 0002-jack-handle-node.always-process-=-false-jack-nodes.patch pipewire-0.3.77.obscpio New: ---- 0001-audioconvert-fix-typo-in-neon-function.patch 0001-bluez5-fix-BAP-profiles-showing.patch 0001-impl-node-improve-suspend.patch 0001-jack-make-sure-we-can-always-find-our-own-ports.patch pipewire-0.3.78.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pipewire.spec ++++++ --- /var/tmp/diff_new_pack.q089oK/_old 2023-08-30 10:21:07.805533085 +0200 +++ /var/tmp/diff_new_pack.q089oK/_new 2023-08-30 10:21:07.809533227 +0200 @@ -60,7 +60,7 @@ %bcond_with aptx Name: pipewire -Version: 0.3.77 +Version: 0.3.78 Release: 0 Summary: A Multimedia Framework designed to be an audio and video server and more License: MIT @@ -70,11 +70,10 @@ Source99: baselibs.conf # PATCH-FIX-OPENSUSE reduce-meson-dependency.patch Patch0: reduce-meson-dependency.patch -Patch1: 0001-context-Dont-stop-setting-runnable-when-meeting-the-driving.patch -Patch2: 0001-gst-Prevent-a-crash-when-stopping-device-provider.patch -Patch3: 0001-jack-ports-become-visible-when-the-registration-is-queued.patch -Patch4: 0002-jack-handle-node.always-process-=-false-jack-nodes.patch -Patch5: 0001-pulse-server-set-all-change_mask-flags-when-removing.patch +Patch1: 0001-jack-make-sure-we-can-always-find-our-own-ports.patch +Patch2: 0001-audioconvert-fix-typo-in-neon-function.patch +Patch3: 0001-impl-node-improve-suspend.patch +Patch4: 0001-bluez5-fix-BAP-profiles-showing.patch BuildRequires: docutils BuildRequires: doxygen @@ -392,7 +391,6 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %build %if %{pkg_vcmp gcc < 8} ++++++ 0001-audioconvert-fix-typo-in-neon-function.patch ++++++ >From b54f7fe90dd16b0f7a7e1e5bb1ef921212236029 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Thu, 24 Aug 2023 13:44:10 +0200 Subject: [PATCH] audioconvert: fix typo in neon function Thanks to Shengjiu Wang fixes #3463 --- spa/plugins/audioconvert/fmt-ops-neon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spa/plugins/audioconvert/fmt-ops-neon.c b/spa/plugins/audioconvert/fmt-ops-neon.c index 0006456fc4..55be55fa58 100644 --- a/spa/plugins/audioconvert/fmt-ops-neon.c +++ b/spa/plugins/audioconvert/fmt-ops-neon.c @@ -294,7 +294,7 @@ conv_f32d_to_s16_2s_neon(void *data, void * SPA_RESTRICT dst, const void * SPA_R " beq 4f\n" "3:" " ld1 { v0.s }[0], [%[s0]], #4\n" - " ld1 { v2.s }[0], [%[s1]], #4\n" + " ld1 { v1.s }[0], [%[s1]], #4\n" " subs %[remainder], %[remainder], #1\n" " sqadd v0.4s, v0.4s, v2.4s\n" " sqadd v1.4s, v1.4s, v2.4s\n" -- GitLab ++++++ 0001-bluez5-fix-BAP-profiles-showing.patch ++++++ >From dbd97020da06450366dca7020eeb62afcd135d83 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen <p...@iki.fi> Date: Tue, 22 Aug 2023 21:59:52 +0300 Subject: [PATCH] bluez5: fix BAP profiles showing Now that we only show codec profiles, the logic that showed codecless profile for BAP has to be removed. This fixes BAP only showing off profile. --- spa/plugins/bluez5/bluez5-device.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/spa/plugins/bluez5/bluez5-device.c b/spa/plugins/bluez5/bluez5-device.c index 3dec1e0aa..ced1d8dc8 100644 --- a/spa/plugins/bluez5/bluez5-device.c +++ b/spa/plugins/bluez5/bluez5-device.c @@ -1661,15 +1661,6 @@ static struct spa_pod *build_profile(struct impl *this, struct spa_pod_builder * name = spa_bt_profile_name(profile); - /* If we can't codec switch, emit codecless profile */ - if (current && !can_bap_codec_switch(this)) { - codec = 0; - index = get_index_from_profile(this, profile_index, codec); - } else if ((codec != 0) != can_bap_codec_switch(this)) { - errno = -EINVAL; - return NULL; - } - if (codec) { media_codec = get_supported_media_codec(this, codec, &idx); if (media_codec == NULL) { -- GitLab ++++++ 0001-impl-node-improve-suspend.patch ++++++ >From 3b052eaa9986c2f5182eb8a1b2f2b5c10be31a12 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Thu, 24 Aug 2023 09:50:28 +0200 Subject: [PATCH] impl-node: improve suspend Make sure we can only suspend when the node is (going to) IDLE. We don't really want to allow applications to suspend a node that is running or starting up. This might fix a race when a node is suspended at the same time it is started and cause silence. It also fixes the issue of total silence when doing "pactl suspend <node> 1" on a running node. See #3378 --- src/pipewire/impl-node.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index ca431c389..ff9effedc 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -591,6 +591,7 @@ static int node_send_command(void *object, const struct spa_command *command) { struct resource_data *data = object; struct pw_impl_node *node = data->node; + struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); uint32_t id = SPA_NODE_COMMAND_ID(command); pw_log_debug("%p: got command %d (%s)", node, id, @@ -598,7 +599,9 @@ static int node_send_command(void *object, const struct spa_command *command) switch (id) { case SPA_NODE_COMMAND_Suspend: - suspend_node(node); + if (node->info.state == PW_NODE_STATE_ERROR || + impl->pending_state == PW_NODE_STATE_IDLE) + suspend_node(node); break; default: spa_node_send_command(node->node, command); -- GitLab ++++++ 0001-jack-make-sure-we-can-always-find-our-own-ports.patch ++++++ >From c41c812325ca1b0db1efc2fc06a3c90355be59d9 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaym...@redhat.com> Date: Thu, 24 Aug 2023 19:28:57 +0200 Subject: [PATCH] jack: make sure we can always find our own ports find_port_by_name() is used to find our own ports before they become visible so make sure we can always find them. Fixes #3485 --- pipewire-jack/src/pipewire-jack.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index b93422bd3..ff5b6881d 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -719,12 +719,20 @@ static bool is_port_default(struct client *c, struct object *o) return false; } +static inline bool client_port_visible(struct client *c, struct object *o) +{ + if (o->port.port != NULL && o->port.port->client == c) + return true; + return o->visible; +} + static struct object *find_port_by_name(struct client *c, const char *name) { struct object *o; spa_list_for_each(o, &c->context.objects, link) { - if (o->type != INTERFACE_Port || o->removed || !o->visible) + if (o->type != INTERFACE_Port || o->removed || + (!client_port_visible(c, o))) continue; if (spa_streq(o->port.name, name) || spa_streq(o->port.alias1, name) || -- GitLab ++++++ _service ++++++ --- /var/tmp/diff_new_pack.q089oK/_old 2023-08-30 10:21:07.865535226 +0200 +++ /var/tmp/diff_new_pack.q089oK/_new 2023-08-30 10:21:07.869535369 +0200 @@ -3,7 +3,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param> - <param name="revision">0.3.77</param> + <param name="revision">0.3.78</param> <param name="versionformat">@PARENT_TAG@</param> <!-- <param name="revision">master</param> ++++++ pipewire-0.3.77.obscpio -> pipewire-0.3.78.obscpio ++++++ /work/SRC/openSUSE:Factory/pipewire/pipewire-0.3.77.obscpio /work/SRC/openSUSE:Factory/.pipewire.new.1766/pipewire-0.3.78.obscpio differ: char 49, line 1 ++++++ pipewire.obsinfo ++++++ --- /var/tmp/diff_new_pack.q089oK/_old 2023-08-30 10:21:07.909536797 +0200 +++ /var/tmp/diff_new_pack.q089oK/_new 2023-08-30 10:21:07.913536940 +0200 @@ -1,5 +1,5 @@ name: pipewire -version: 0.3.77 -mtime: 1691137537 -commit: 31cd694602cc37ada3a6d02a5a381f4e3933ecef +version: 0.3.78 +mtime: 1692695544 +commit: 188f784430283afb08abb8e6540ddbc674e09399