SHA256
1
0
forked from pool/wireplumber

Accepting request 948445 from home:alarrosa:branches:multimedia:libs

- Back to version 0.4.6, and add patches incrementally
  to bisect it and find the issue
  * 0001-policy-node-fix-typo-when-finding-best-target.patch
  * 0002-policy-node-schedule-a-rescan-without-timeout-if-def.patch
  * 0003-policy-node-find-best-linkable-if-default-one-cannot.patch
  * 0004-spa-pod-fix-different-architecture-errors-for-boolea.patch
  * 0005-config-update-the-endpoints-config.patch
  * 0006-policy-endpoint-client.lua-fix-record-with-endpoints.patch
  * 0007-default-nodes-check-if-the-ports-exist-in-rescan_om.patch
  * 0008-scripts-monitors-log-warning-if-spa-devices-were-not.patch
- Remove revert from previous change:
  * 0001-reversed-default-nodes-check-if-default-node-has-available-ro.patch

OBS-URL: https://build.opensuse.org/request/show/948445
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=24
This commit is contained in:
Antonio Larrosa 2022-01-24 16:17:22 +00:00 committed by Git OBS Bridge
parent d9538f3c4f
commit 23c5d9eadf
16 changed files with 513 additions and 118 deletions

View File

@ -0,0 +1,25 @@
From 23fc4d21a9cfad492f8d3a367e438115197dff4a Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Fri, 7 Jan 2022 10:12:04 -0500
Subject: [PATCH 01/14] policy-node: fix typo when finding best target
---
src/scripts/policy-node.lua | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
index 0d716c1..8ca5a69 100644
--- a/src/scripts/policy-node.lua
+++ b/src/scripts/policy-node.lua
@@ -482,7 +482,7 @@ function findUndefinedTarget (si)
if default_nodes ~= nil then
return findDefaultlinkable (si)
else
- return findBestlinkable (si)
+ return findBestLinkable (si)
end
end
--
2.34.1

View File

@ -1,108 +0,0 @@
--- b/modules/module-default-nodes.c
+++ a/modules/module-default-nodes.c
@@ -8,7 +8,6 @@
#include <wp/wp.h>
#include <errno.h>
-#include <pipewire/pipewire.h>
#include <pipewire/keys.h>
#define COMPILING_MODULE_DEFAULT_NODES 1
@@ -98,87 +97,6 @@
}
}
-static gboolean
-node_has_available_routes (WpDefaultNodes * self, WpNode *node)
-{
- const gchar *dev_id_str = wp_pipewire_object_get_property (
- WP_PIPEWIRE_OBJECT (node), PW_KEY_DEVICE_ID);
- const gchar *cpd_str = wp_pipewire_object_get_property (
- WP_PIPEWIRE_OBJECT (node), "card.profile.device");
- gint dev_id = dev_id_str ? atoi (dev_id_str) : -1;
- gint cpd = cpd_str ? atoi (cpd_str) : -1;
- g_autoptr (WpDevice) device = NULL;
-
- if (dev_id == -1 || cpd == -1)
- return TRUE;
-
- /* Get the device */
- device = wp_object_manager_lookup (self->rescan_om, WP_TYPE_DEVICE,
- WP_CONSTRAINT_TYPE_G_PROPERTY, "bound-id", "=i", dev_id, NULL);
- if (!device)
- return TRUE;
-
- /* Check if the current device route supports the node card device profile */
- {
- g_autoptr (WpIterator) routes = NULL;
- g_auto (GValue) val = G_VALUE_INIT;
- routes = wp_pipewire_object_enum_params_sync (WP_PIPEWIRE_OBJECT (device),
- "Route", NULL);
- for (; wp_iterator_next (routes, &val); g_value_unset (&val)) {
- WpSpaPod *route = g_value_get_boxed (&val);
- gint route_device = -1;
- guint32 route_avail = SPA_PARAM_AVAILABILITY_unknown;
-
- if (!wp_spa_pod_get_object (route, NULL,
- "device", "i", &route_device,
- "available", "?I", &route_avail,
- NULL))
- continue;
-
- if (route_device != cpd)
- continue;
-
- if (route_avail == SPA_PARAM_AVAILABILITY_no)
- return FALSE;
-
- return TRUE;
- }
- }
-
- /* Check if available routes support the node card device profile */
- {
- g_autoptr (WpIterator) routes = NULL;
- g_auto (GValue) val = G_VALUE_INIT;
- routes = wp_pipewire_object_enum_params_sync (WP_PIPEWIRE_OBJECT (device),
- "EnumRoute", NULL);
- for (; wp_iterator_next (routes, &val); g_value_unset (&val)) {
- WpSpaPod *route = g_value_get_boxed (&val);
- guint32 route_avail = SPA_PARAM_AVAILABILITY_unknown;
- g_autoptr (WpSpaPod) route_devices = NULL;
-
- if (!wp_spa_pod_get_object (route, NULL,
- "available", "?I", &route_avail,
- "devices", "?P", &route_devices,
- NULL))
- continue;
-
- {
- g_autoptr (WpIterator) it = wp_spa_pod_new_iterator (route_devices);
- g_auto (GValue) v = G_VALUE_INIT;
- for (; wp_iterator_next (it, &v); g_value_unset (&v)) {
- gint32 *d = (gint32 *)g_value_get_pointer (&v);
- if (d && *d == cpd) {
- if (route_avail != SPA_PARAM_AVAILABILITY_no)
- return TRUE;
- }
- }
- }
- }
- }
-
- return FALSE;
-}
-
static WpNode *
find_best_media_class_node (WpDefaultNodes * self, const gchar *media_class,
const gchar *node_name, WpDirection direction, gint *priority)
@@ -206,9 +124,6 @@
WP_PIPEWIRE_OBJECT (node), PW_KEY_PRIORITY_SESSION);
gint prio = prio_str ? atoi (prio_str) : -1;
- if (!node_has_available_routes (self, node))
- continue;
-
if (name && node_name && g_strcmp0 (name, node_name) == 0)
prio += 10000;

View File

@ -0,0 +1,48 @@
From afe71d7e48c28b0ae5cbd9327433e3c55c103fcb Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Thu, 6 Jan 2022 10:53:38 -0500
Subject: [PATCH 02/14] policy-node: schedule a rescan without timeout if
defined target is not found
Fixes #146
---
src/scripts/policy-node.lua | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
index 8ca5a69..c273c1f 100644
--- a/src/scripts/policy-node.lua
+++ b/src/scripts/policy-node.lua
@@ -552,25 +552,16 @@ function handleLinkable (si)
si_target = nil
end
- -- wait up to 2 seconds for the requested target to become available
- -- this is because the client may have already "seen" a target that we haven't
- -- yet prepared, which leads to a race condition
+ -- if the client has seen a target that we haven't yet prepared, schedule
+ -- a rescan one more time and hope for the best
local si_id = si.id
if si_props["node.target"] and si_props["node.target"] ~= "-1"
and not si_target
and not si_flags[si_id].was_handled
and not si_flags[si_id].done_waiting then
- if not si_flags[si_id].timeout_source then
- si_flags[si_id].timeout_source = Core.timeout_add(2000, function()
- if si_flags[si_id] then
- si_flags[si_id].done_waiting = true
- si_flags[si_id].timeout_source = nil
- scheduleRescan()
- end
- return false
- end)
- end
Log.info (si, "... waiting for target")
+ si_flags[si_id].done_waiting = true
+ scheduleRescan()
return
end
--
2.34.1

View File

@ -0,0 +1,46 @@
From bee9827ae376b75feceea926b0afc727fecca51b Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Fri, 7 Jan 2022 15:35:10 -0500
Subject: [PATCH 03/14] policy-node: find best linkable if default one cannot
be linked
Fixes issue with echo cancellation pipewire module.
---
src/scripts/policy-node.lua | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
index c273c1f..9df5007 100644
--- a/src/scripts/policy-node.lua
+++ b/src/scripts/policy-node.lua
@@ -477,13 +477,22 @@ function findBestLinkable (si)
end
function findUndefinedTarget (si)
- -- Find the default linkable if the default nodes module is loaded, otherwise
- -- just find the best linkable based on priority and routes
- if default_nodes ~= nil then
- return findDefaultlinkable (si)
- else
+ -- Just find the best linkable if default nodes module is not loaded
+ if default_nodes == nil then
return findBestLinkable (si)
end
+
+ -- Otherwise find the default linkable. If the default linkabke cannot link,
+ -- we find the best one instead. We return nil if default does not exist.
+ local si_target, can_passthrough = findDefaultlinkable (si)
+ if si_target then
+ if canLink (si.properties, si_target) then
+ return si_target, can_passthrough
+ else
+ return findBestLinkable (si)
+ end
+ end
+ return nil, nil
end
function lookupLink (si_id, si_target_id)
--
2.34.1

View File

@ -0,0 +1,39 @@
From bc76cb7d74a1eac20cabd99ebb27f749d447d6ca Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Mon, 13 Dec 2021 12:01:52 -0500
Subject: [PATCH 04/14] spa-pod: fix different architecture errors for boolean
values
---
lib/wp/spa-pod.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/wp/spa-pod.c b/lib/wp/spa-pod.c
index c1c2257..bd7b887 100644
--- a/lib/wp/spa-pod.c
+++ b/lib/wp/spa-pod.c
@@ -2332,6 +2332,10 @@ wp_spa_pod_builder_add_valist (WpSpaPodBuilder *self, va_list args)
}
break;
}
+ case 'b':
+ spa_pod_builder_bool(&self->builder,
+ va_arg(args, gboolean) ? true : false);
+ break;
default:
SPA_POD_BUILDER_COLLECT(&self->builder, *format, args);
break;
@@ -2778,6 +2782,10 @@ wp_spa_pod_parser_get_valist (WpSpaPodParser *self, va_list args)
}
break;
}
+ case 'b':
+ *va_arg(args, gboolean*) =
+ SPA_POD_VALUE(struct spa_pod_bool, pod) ? TRUE : FALSE;
+ break;
default:
SPA_POD_PARSER_COLLECT (pod, *format, args);
break;
--
2.34.1

View File

@ -0,0 +1,126 @@
From 99dfa7d38a66943fc04181a2b82fe6da91402c4f Mon Sep 17 00:00:00 2001
From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
Date: Tue, 11 Jan 2022 15:30:30 +0530
Subject: [PATCH 05/14] config: update the endpoints config
-Sync endpoints config from AGL.
-Add a capture endpoint.
---
.../policy.lua.d/50-endpoints-config.lua | 84 +++++++++++++++----
1 file changed, 70 insertions(+), 14 deletions(-)
diff --git a/src/config/policy.lua.d/50-endpoints-config.lua b/src/config/policy.lua.d/50-endpoints-config.lua
index 4bdf82a..6241509 100644
--- a/src/config/policy.lua.d/50-endpoints-config.lua
+++ b/src/config/policy.lua.d/50-endpoints-config.lua
@@ -4,36 +4,92 @@
--[[
default_policy.policy.roles = {
+ ["Capture"] = {
+ ["alias"] = { "Multimedia", "Music", "Voice", "Capture" },
+ ["priority"] = 25,
+ ["action.default"] = "cork",
+ ["action.capture"] = "mix",
+ ["media.class"] = "Audio/Source",
+ },
["Multimedia"] = {
["alias"] = { "Movie", "Music", "Game" },
- ["priority"] = 10,
- ["action.default"] = "mix",
+ ["priority"] = 25,
+ ["action.default"] = "cork",
+ },
+ ["Speech-Low"] = {
+ ["priority"] = 30,
+ ["action.default"] = "cork",
+ ["action.Speech-Low"] = "mix",
+ },
+ ["Custom-Low"] = {
+ ["priority"] = 35,
+ ["action.default"] = "cork",
+ ["action.Custom-Low"] = "mix",
},
- ["Notification"] = {
- ["priority"] = 20,
+ ["Navigation"] = {
+ ["priority"] = 50,
["action.default"] = "duck",
- ["action.Notification"] = "mix",
+ ["action.Navigation"] = "mix",
},
- ["Alert"] = {
- ["priority"] = 30,
+ ["Speech-High"] = {
+ ["priority"] = 60,
+ ["action.default"] = "cork",
+ ["action.Speech-High"] = "mix",
+ },
+ ["Custom-High"] = {
+ ["priority"] = 65,
["action.default"] = "cork",
- ["action.Alert"] = "mix",
+ ["action.Custom-High"] = "mix",
+ },
+ ["Communication"] = {
+ ["priority"] = 75,
+ ["action.default"] = "cork",
+ ["action.Communication"] = "mix",
+ },
+ ["Emergency"] = {
+ ["alias"] = { "Alert" },
+ ["priority"] = 99,
+ ["action.default"] = "cork",
+ ["action.Emergency"] = "mix",
},
}
default_policy.endpoints = {
+ ["endpoint.capture"] = {
+ ["media.class"] = "Audio/Source",
+ ["role"] = "Capture",
+ },
["endpoint.multimedia"] = {
["media.class"] = "Audio/Sink",
["role"] = "Multimedia",
},
- ["endpoint.notifications"] = {
+ ["endpoint.speech_low"] = {
+ ["media.class"] = "Audio/Sink",
+ ["role"] = "Speech-Low",
+ },
+ ["endpoint.custom_low"] = {
["media.class"] = "Audio/Sink",
- ["role"] = "Notification",
+ ["role"] = "Custom-Low",
},
- ["endpoint.alert"] = {
+ ["endpoint.navigation"] = {
["media.class"] = "Audio/Sink",
- ["role"] = "Alert",
+ ["role"] = "Navigation",
+ },
+ ["endpoint.speech_high"] = {
+ ["media.class"] = "Audio/Sink",
+ ["role"] = "Speech-High",
+ },
+ ["endpoint.custom_high"] = {
+ ["media.class"] = "Audio/Sink",
+ ["role"] = "Custom-High",
+ },
+ ["endpoint.communication"] = {
+ ["media.class"] = "Audio/Sink",
+ ["role"] = "Communication",
+ },
+ ["endpoint.emergency"] = {
+ ["media.class"] = "Audio/Sink",
+ ["role"] = "Emergency",
},
}
-
-]]--
+]]--
\ No newline at end of file
--
2.34.1

View File

@ -0,0 +1,43 @@
From 2e23d827793e56655ffd6be39b377578cef21661 Mon Sep 17 00:00:00 2001
From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
Date: Tue, 11 Jan 2022 15:31:40 +0530
Subject: [PATCH 06/14] policy-endpoint-client.lua: fix record with endpoints
The Role traversal of config data to take notice of the
media class as well so that source and sink roles dont
overstep on each other and pick up unexpected endpoints.
---
src/scripts/policy-endpoint-client.lua | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/scripts/policy-endpoint-client.lua b/src/scripts/policy-endpoint-client.lua
index 6b96edf..e898e35 100644
--- a/src/scripts/policy-endpoint-client.lua
+++ b/src/scripts/policy-endpoint-client.lua
@@ -37,10 +37,12 @@ function scheduleRescan ()
end
end
-function findRole(role)
+function findRole(role, tmc)
if role and not config.roles[role] then
for r, p in pairs(config.roles) do
- if type(p.alias) == "table" then
+ -- default media class can be overridden in the role config data
+ mc = p["media.class"] or "Audio/Sink"
+ if (type(p.alias) == "table" and tmc == mc) then
for i = 1, #(p.alias), 1 do
if role == p.alias[i] then
return r
@@ -69,7 +71,7 @@ function findTargetEndpoint (node, media_class)
end
-- find highest priority endpoint by role
- media_role = findRole(node.properties["media.role"])
+ media_role = findRole(node.properties["media.role"], target_media_class)
for si_target_ep in endpoints_om:iterate {
Constraint { "role", "=", media_role, type = "pw-global" },
Constraint { "media.class", "=", target_media_class, type = "pw-global" },
--
2.34.1

View File

@ -0,0 +1,47 @@
From 07a0a5b4043ab5982a82311e031ddfd6feb80da1 Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Tue, 11 Jan 2022 07:50:15 -0500
Subject: [PATCH 07/14] default-nodes: check if the ports exist in rescan_om
Ports might not be ready in the node's port object manager yet.
Fixes #153 and #150
---
modules/module-default-nodes.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c
index 31eafcf..c45be2d 100644
--- a/modules/module-default-nodes.c
+++ b/modules/module-default-nodes.c
@@ -307,7 +307,12 @@ nodes_ready (WpDefaultNodes * self)
PW_KEY_DEVICE_ID, "=i", device_id, NULL);
for (; wp_iterator_next (node_it, &node_val); g_value_unset (&node_val)) {
WpPipewireObject *node = g_value_get_object (&node_val);
- if (wp_node_get_n_ports (WP_NODE (node)) > 0)
+ g_autoptr (WpPort) port =
+ wp_object_manager_lookup (self->rescan_om,
+ WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY,
+ PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)),
+ NULL);
+ if (port)
ready_nodes++;
}
@@ -327,7 +332,12 @@ nodes_ready (WpDefaultNodes * self)
WpPipewireObject *node = g_value_get_object (&node_val);
const gchar *media_class = wp_pipewire_object_get_property (
WP_PIPEWIRE_OBJECT (node), PW_KEY_MEDIA_CLASS);
- if (wp_node_get_n_ports (WP_NODE (node)) == 0 &&
+ g_autoptr (WpPort) port =
+ wp_object_manager_lookup (self->rescan_om,
+ WP_TYPE_PORT, WP_CONSTRAINT_TYPE_PW_PROPERTY,
+ PW_KEY_NODE_ID, "=u", wp_proxy_get_bound_id (WP_PROXY (node)),
+ NULL);
+ if (!port &&
(g_strcmp0 ("Audio/Source/Virtual", media_class) == 0 ||
g_strcmp0 ("Video/Source/Virtual", media_class) == 0))
return FALSE;
--
2.34.1

View File

@ -0,0 +1,100 @@
From 40b16974cf800ce728c7f084fbdd8b30b7a9f03c Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Tue, 11 Jan 2022 11:27:33 -0500
Subject: [PATCH 08/14] scripts: monitors: log warning if spa devices were not
created successfully
Can happen if the user does not have the specific spa pluging installed.
---
src/scripts/monitors/alsa.lua | 10 +++++++---
src/scripts/monitors/bluez.lua | 9 +++++++--
src/scripts/monitors/libcamera.lua | 10 +++++++---
src/scripts/monitors/v4l2.lua | 10 +++++++---
4 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua
index be4648e..8d297c1 100644
--- a/src/scripts/monitors/alsa.lua
+++ b/src/scripts/monitors/alsa.lua
@@ -177,9 +177,13 @@ end
function createDevice(parent, id, factory, properties)
local device = SpaDevice(factory, properties)
- device:connect("create-object", createNode)
- device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
- parent:store_managed_object(id, device)
+ if device then
+ device:connect("create-object", createNode)
+ device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
+ parent:store_managed_object(id, device)
+ else
+ Log.warning ("Failed to create '" .. factory .. "' device")
+ end
end
function prepareDevice(parent, id, type, factory, properties)
diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua
index 172e013..4a54a7b 100644
--- a/src/scripts/monitors/bluez.lua
+++ b/src/scripts/monitors/bluez.lua
@@ -109,8 +109,13 @@ function createDevice(parent, id, type, factory, properties)
-- create the device
device = SpaDevice(factory, properties)
- device:connect("create-object", createNode)
- parent:store_managed_object(id, device)
+ if device then
+ device:connect("create-object", createNode)
+ parent:store_managed_object(id, device)
+ else
+ Log.warning ("Failed to create '" .. factory .. "' device")
+ return
+ end
end
Log.info(parent, string.format("%d, %s (%s): %s",
diff --git a/src/scripts/monitors/libcamera.lua b/src/scripts/monitors/libcamera.lua
index e6e3ed9..27c7459 100644
--- a/src/scripts/monitors/libcamera.lua
+++ b/src/scripts/monitors/libcamera.lua
@@ -125,9 +125,13 @@ function createDevice(parent, id, type, factory, properties)
-- create the device
local device = SpaDevice(factory, properties)
- device:connect("create-object", createNode)
- device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
- parent:store_managed_object(id, device)
+ if device then
+ device:connect("create-object", createNode)
+ device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
+ parent:store_managed_object(id, device)
+ else
+ Log.warning ("Failed to create '" .. factory .. "' device")
+ end
end
monitor = SpaDevice("api.libcamera.enum.manager", config.properties or {})
diff --git a/src/scripts/monitors/v4l2.lua b/src/scripts/monitors/v4l2.lua
index fd9a20d..102eb81 100644
--- a/src/scripts/monitors/v4l2.lua
+++ b/src/scripts/monitors/v4l2.lua
@@ -125,9 +125,13 @@ function createDevice(parent, id, type, factory, properties)
-- create the device
local device = SpaDevice(factory, properties)
- device:connect("create-object", createNode)
- device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
- parent:store_managed_object(id, device)
+ if device then
+ device:connect("create-object", createNode)
+ device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND)
+ parent:store_managed_object(id, device)
+ else
+ Log.warning ("Failed to create '" .. factory .. "' device")
+ end
end
monitor = SpaDevice("api.v4l2.enum.udev", config.properties or {})
--
2.34.1

View File

@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
<param name="changesgenerate">enable</param>
<param name="revision">0.4.7</param>
<param name="revision">0.4.6</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="versionprefix">0.4.6+git</param>

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
<param name="changesrevision">afb177b5e0840d54dc41d02920702c3c9580ce02</param></service></servicedata>
<param name="changesrevision">9a733293d7d39554d0c9b04741a64ece023dbac6</param></service></servicedata>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c6203487d0e5324f31ce681b60a958ce6f7e4ada21c85fd27ec1ae1db164968
size 1798668

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1a0f4a842f03602120ee830085941a52d9a5bb4bd0326e353deb3283bfb1aa53
size 1808908

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Jan 24 15:40:22 UTC 2022 - alarrosa@suse.com
- Back to version 0.4.6, and add patches incrementally
to bisect it and find the issue
* 0001-policy-node-fix-typo-when-finding-best-target.patch
* 0002-policy-node-schedule-a-rescan-without-timeout-if-def.patch
* 0003-policy-node-find-best-linkable-if-default-one-cannot.patch
* 0004-spa-pod-fix-different-architecture-errors-for-boolea.patch
* 0005-config-update-the-endpoints-config.patch
* 0006-policy-endpoint-client.lua-fix-record-with-endpoints.patch
* 0007-default-nodes-check-if-the-ports-exist-in-rescan_om.patch
* 0008-scripts-monitors-log-warning-if-spa-devices-were-not.patch
- Remove revert from previous change:
* 0001-reversed-default-nodes-check-if-default-node-has-available-ro.patch
-------------------------------------------------------------------
Mon Jan 24 11:08:04 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: wireplumber
version: 0.4.7
mtime: 1642066064
commit: afb177b5e0840d54dc41d02920702c3c9580ce02
version: 0.4.6
mtime: 1641485511
commit: 9a733293d7d39554d0c9b04741a64ece023dbac6

View File

@ -22,7 +22,7 @@
%define sover 0
%define libwireplumber libwireplumber-%{apiver_str}-%{sover}
Name: wireplumber
Version: 0.4.7
Version: 0.4.6
Release: 0
Summary: Session / policy manager implementation for PipeWire
License: MIT
@ -30,7 +30,20 @@ Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/pipewire/wireplumber
Source0: wireplumber-%{version}.tar.xz
Source1: split-config-file.py
Patch0: 0001-reversed-default-nodes-check-if-default-node-has-available-ro.patch
Patch1: 0001-policy-node-fix-typo-when-finding-best-target.patch
Patch2: 0002-policy-node-schedule-a-rescan-without-timeout-if-def.patch
Patch3: 0003-policy-node-find-best-linkable-if-default-one-cannot.patch
Patch4: 0004-spa-pod-fix-different-architecture-errors-for-boolea.patch
Patch5: 0005-config-update-the-endpoints-config.patch
Patch6: 0006-policy-endpoint-client.lua-fix-record-with-endpoints.patch
Patch7: 0007-default-nodes-check-if-the-ports-exist-in-rescan_om.patch
Patch8: 0008-scripts-monitors-log-warning-if-spa-devices-were-not.patch
#0009-default-nodes-check-if-default-node-has-available-ro.patch
#0010-added-support-for-disabling-nodes-and-devices-throug.patch
#0011-default-nodes-add-more-logs.patch
#0012-device-activation-show-device-name-in-logs.patch
#0013-scripts-fallback-to-empty-config-table-if-args-were-.patch
Patch100: reduce-meson-required-version.patch
# docs
BuildRequires: doxygen