Antonio Larrosa
e4f628e84d
- 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. OBS-URL: https://build.opensuse.org/request/show/1105883 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=150
43 lines
1.3 KiB
Diff
43 lines
1.3 KiB
Diff
From c41c812325ca1b0db1efc2fc06a3c90355be59d9 Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@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
|
|
|