diff --git a/0001-media-session-only-check-passthrough-when-available.patch b/0001-media-session-only-check-passthrough-when-available.patch new file mode 100644 index 0000000..c9f81c0 --- /dev/null +++ b/0001-media-session-only-check-passthrough-when-available.patch @@ -0,0 +1,33 @@ +From 3eec78bcb7ca9ced50cd525dc590bad663f44d36 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 9 Sep 2021 16:24:04 +0200 +Subject: [PATCH] media-session: only check passthrough when available + +When none of the nodes have a valid passthrough format, don't check if +passthrough is possible. + +Without the check, it is possible that a node has a common format with +the peer that is not a passthrough format, like a raw audio format. + +Fixes #1587 +--- + src/examples/media-session/policy-node.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c +index ceeb11c42..68732c247 100644 +--- a/src/examples/media-session/policy-node.c ++++ b/src/examples/media-session/policy-node.c +@@ -217,6 +217,9 @@ static bool check_passthrough(struct node *node, struct node *peer) + if (peer->obj->info->state == PW_NODE_STATE_RUNNING) + return false; + ++ if (!node->have_passthrough || !peer->have_passthrough) ++ return false; ++ + spa_list_for_each(p1, &node->obj->param_list, link) { + if (p1->id != SPA_PARAM_EnumFormat) + continue; +-- +2.31.1 + diff --git a/pipewire.spec b/pipewire.spec index 4636469..522b771 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -8,7 +8,7 @@ %global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0 # For rpmdev-bumpspec and releng automation -%global baserelease 1 +%global baserelease 2 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -54,6 +54,7 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver %endif ## upstream patches +Patch0001: 0001-media-session-only-check-passthrough-when-available.patch ## upstreamable patches @@ -524,6 +525,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Thu Sep 09 2021 Wim Taymans - 0.3.35-2 +- Add patch to fix passthrough check. + * Thu Sep 09 2021 Wim Taymans - 0.3.35-1 - Update to 0.3.35