From f3e2b0953ba35e228784b1db20546a4207a7f99c Mon Sep 17 00:00:00 2001 From: Stefano Ragni Date: Thu, 20 May 2021 13:13:52 +0200 Subject: [PATCH] pipewire: update to 0.3.28 --- srcpkgs/pipewire/patches/6df32666b4.patch | 62 +++++++++++++++++++++++ srcpkgs/pipewire/template | 5 +- 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/pipewire/patches/6df32666b4.patch diff --git a/srcpkgs/pipewire/patches/6df32666b4.patch b/srcpkgs/pipewire/patches/6df32666b4.patch new file mode 100644 index 000000000000..8eea42116ad6 --- /dev/null +++ b/srcpkgs/pipewire/patches/6df32666b4.patch @@ -0,0 +1,62 @@ +From 6df32666b44b5174aace3dcff39f39a58eba508f Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 20 May 2021 11:22:04 +0200 +Subject: [PATCH] filter-chain: check external ports only once + +When we duplicate the pipeline to match the channels, only check +if a port was used only once for the first instance. Makes +demonic filter work again. +--- + src/modules/module-filter-chain.c | 18 ++++-------------- + 1 file changed, 4 insertions(+), 14 deletions(-) + +diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c +index b1e727069..bb346b6d8 100644 +--- src/modules/module-filter-chain.c ++++ src/modules/module-filter-chain.c +@@ -972,16 +972,6 @@ static int parse_link(struct graph *graph, struct spa_json *json) + pw_log_error("unknown input port %s", input); + return -ENOENT; + } +- if (in_port->external != SPA_ID_INVALID) { +- pw_log_info("%s already used as graph input %d, use mixer", +- input, in_port->external); +- return -EINVAL; +- } +- if (out_port->external != SPA_ID_INVALID) { +- pw_log_info("%s already used as graph output %d, use copy", +- output, out_port->external); +- return -EINVAL; +- } + if (in_port->n_links > 0) { + pw_log_info("Can't have more than 1 link to %s, use a mixer", input); + return -ENOTSUP; +@@ -1334,10 +1324,10 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_ + } else { + desc = port->node->desc; + d = desc->desc; +- if (port->external != SPA_ID_INVALID) { ++ if (i == 0 && port->external != SPA_ID_INVALID) { + pw_log_error("input port %s[%d]:%s already used as input %d, use mixer", + port->node->name, i, d->PortNames[port->p], +- graph->n_input); ++ port->external); + res = -EBUSY; + goto error; + } +@@ -1382,10 +1372,10 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_ + } else { + desc = port->node->desc; + d = desc->desc; +- if (port->external != SPA_ID_INVALID) { ++ if (i == 0 && port->external != SPA_ID_INVALID) { + pw_log_error("output port %s[%d]:%s already used as output %d, use copy", + port->node->name, i, d->PortNames[port->p], +- graph->n_output); ++ port->external); + res = -EBUSY; + goto error; + } +-- +GitLab + diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index a38a16e3e975..43e3c1cfc9b4 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,6 +1,6 @@ # Template file for 'pipewire' pkgname=pipewire -version=0.3.27 +version=0.3.28 revision=1 build_style=meson configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled @@ -18,8 +18,7 @@ license="MIT" homepage="https://pipewire.org/" changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS" distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz" -checksum=657db1b9a29ae17a9f1d9782a45bda2ba5a893fef55e1ca26453e8f7f2d4e64e -conf_files="/etc/pipewire/*.conf /etc/pipewire/media-session.d/*.conf" +checksum=1d9271e121a5049aef379e9bb7c50524faa6f971e668806637d7b9df1b7cab88 build_options="sdl2"