diff --git a/0001-filter-utils-fix-handling-of-targetless-smart-filters.patch b/0001-filter-utils-fix-handling-of-targetless-smart-filters.patch deleted file mode 100644 index b1a31c3..0000000 --- a/0001-filter-utils-fix-handling-of-targetless-smart-filters.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 428462ddf3f812a1da63d0b499e105c6391abbf4 Mon Sep 17 00:00:00 2001 -From: Pauli Virtanen -Date: Thu, 21 Mar 2024 20:02:02 +0200 -Subject: [PATCH] filter-utils: fix handling of targetless smart filters - -A smart filter should be considered "targetless" (i.e. interpose on -streams going to default target) only if filter.smart.target is not set. - -Currently any smart filter with specified target not found is considered -such, which is wrong. This causes misbehavior, such as all recording -streams going to the bluetooth dummy source. - -Fix this by doing it correctly. ---- - src/scripts/lib/filter-utils.lua | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/src/scripts/lib/filter-utils.lua b/src/scripts/lib/filter-utils.lua -index c3671242..804c3ea1 100644 ---- a/src/scripts/lib/filter-utils.lua -+++ b/src/scripts/lib/filter-utils.lua -@@ -157,6 +157,19 @@ local function getFilterSmartTarget (metadata, node, om) - return target - end - -+local function getFilterSmartTargetless (metadata, node) -+ local id = node["bound-id"] -+ local value_str = nil -+ if metadata ~= nil then -+ value_str = metadata:find (id, "filter.smart.target") -+ end -+ if value_str == nil then -+ value_str = node.properties ["filter.smart.target"] -+ end -+ -+ return value_str == nil -+end -+ - local function getFilterSmartBefore (metadata, node) - -- Check metadata and fallback to properties - local id = node["bound-id"] -@@ -312,6 +325,7 @@ local function rescanFilters (om, metadata_om) - filter.disabled = getFilterSmartDisabled (metadata, n) - filter.targetable = getFilterSmartTargetable (metadata, n) - filter.target = getFilterSmartTarget (metadata, n, om) -+ filter.targetless = getFilterSmartTargetless (metadata, n) - filter.before = getFilterSmartBefore (metadata, n) - filter.after = getFilterSmartAfter (metadata, n) - -@@ -471,7 +485,7 @@ function module.get_filter_from_target (direction, si_target) - not v.disabled and - v.smart and - ((v.target ~= nil and target ~= nil and v.target.id == target.id) or -- (target == nil and v.target == nil)) then -+ (target == nil and v.targetless)) then - return v.main_si - end - end --- -GitLab - diff --git a/_service b/_service index 402023c..44242f2 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://gitlab.freedesktop.org/pipewire/wireplumber.git - 0.5.0 + 0.5.1 @PARENT_TAG@