pipewire: update to 0.3.31.
* add a libusb dependency to improve bluetooth device capabilities detection * add experimental system services for pipewire and pipewire-pulse
This commit is contained in:
parent
32b52f4616
commit
29b52e525c
6 changed files with 34 additions and 72 deletions
|
@ -7,3 +7,7 @@ Optional dependencies:
|
|||
* `libspa-jack` for running pipewire and jack side-by-side
|
||||
* `libspa-v4l2` for video camera support
|
||||
* `rtkit` for realtime priority acquisition
|
||||
|
||||
The system services /etc/sv/pipewire and /etc/sv/pipewire-pulse are
|
||||
experimental and only needed in rare cases so using them should be
|
||||
avoided in most setups.
|
||||
|
|
7
srcpkgs/pipewire/files/pipewire-pulse/run
Normal file
7
srcpkgs/pipewire/files/pipewire-pulse/run
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
# this service is experimental and most setups should start pipewire as a user,
|
||||
# for further information, please refer to the handbook
|
||||
! [ -d /run/pulse ] && install -m 755 -g _pipewire -o _pipewire -d /run/pulse
|
||||
umask 002
|
||||
export PULSE_RUNTIME_PATH=/run
|
||||
exec chpst -u _pipewire:_pipewire pipewire-pulse
|
8
srcpkgs/pipewire/files/pipewire/run
Normal file
8
srcpkgs/pipewire/files/pipewire/run
Normal file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
# this service is experimental and most setups should start pipewire as a user,
|
||||
# for further information, please refer to the handbook
|
||||
! [ -d /run/pipewire ] && install -m 755 -g _pipewire -o _pipewire -d /run/pipewire
|
||||
umask 002
|
||||
export PIPEWIRE_RUNTIME_DIR=/run/pipewire
|
||||
export XDG_CONFIG_HOME=/var/lib
|
||||
exec chpst -u _pipewire:_pipewire:audio:video pipewire
|
|
@ -1,62 +0,0 @@
|
|||
From 6df32666b44b5174aace3dcff39f39a58eba508f Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
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
|
||||
--- a/src/modules/module-filter-chain.c
|
||||
+++ b/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
|
||||
|
|
@ -2,14 +2,14 @@ Upstream's config does not autostart pipewire-media-session anymore, which
|
|||
is an essential component. It's not easy to start it externally in a script
|
||||
since it needs the pipewire socket up, and Void doesn't have a mechanism to
|
||||
ensure it (systemd socket activation).
|
||||
--- a/src/daemon/pipewire.conf.in 2021-03-18 17:45:02.025992827 +0100
|
||||
+++ b/src/daemon/pipewire.conf.in 2021-03-18 17:47:17.606999440 +0100
|
||||
@@ -204,7 +204,7 @@
|
||||
--- a/src/daemon/pipewire.conf.in
|
||||
+++ b/src/daemon/pipewire.conf.in
|
||||
@@ -234,7 +234,7 @@
|
||||
# but it is better to start it as a systemd service.
|
||||
# Run the session manager with -h for options.
|
||||
#
|
||||
- @comment@{ path = "@media_session_path@" args = "" }
|
||||
+ { path = "@media_session_path@" args = "" }
|
||||
- @comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
|
||||
+ { path = "@session_manager_path@" args = "@session_manager_args@" }
|
||||
#
|
||||
# You can optionally start the pulseaudio-server here as well
|
||||
# but it is better to start it as a systemd service.
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
# Template file for 'pipewire'
|
||||
pkgname=pipewire
|
||||
version=0.3.28
|
||||
version=0.3.31
|
||||
revision=1
|
||||
build_style=meson
|
||||
configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled
|
||||
-Dbluez5=enabled -Dffmpeg=enabled -Dpipewire-alsa=enabled -Dpipewire-jack=enabled
|
||||
-Dvulkan=enabled -Dudevrulesdir=/usr/lib/udev/rules.d"
|
||||
-Dvulkan=enabled -Dudevrulesdir=/usr/lib/udev/rules.d -Db_ndebug=false"
|
||||
hostmakedepends="doxygen graphviz pkg-config xmltoman gettext"
|
||||
makedepends="ffmpeg-devel gst-plugins-base1-devel jack-devel sbc-devel v4l-utils-devel
|
||||
libva-devel libbluetooth-devel ncurses-devel libopenaptx-devel fdk-aac-devel
|
||||
libva-devel libbluetooth-devel ncurses-devel libopenaptx-devel libusb-devel fdk-aac-devel
|
||||
libsndfile-devel Vulkan-Headers vulkan-loader $(vopt_if sdl2 SDL2-devel)"
|
||||
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
|
||||
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}"
|
||||
short_desc="Server and user space API to deal with multimedia pipelines"
|
||||
maintainer="Kridsada Thanabulpong <sirn@ogsite.net>"
|
||||
maintainer="Stefano Ragni <stefano.ragni@outlook.com>"
|
||||
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=1d9271e121a5049aef379e9bb7c50524faa6f971e668806637d7b9df1b7cab88
|
||||
checksum=2fec0eb47dbfcad51fb8bb3d59c26fe57e09204d63c9d2776070dbdc08aaaaae
|
||||
make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
|
||||
system_accounts="_pipewire"
|
||||
|
||||
build_options="sdl2"
|
||||
|
||||
|
@ -36,6 +38,8 @@ fi
|
|||
post_install() {
|
||||
vlicense LICENSE
|
||||
vdoc "${FILESDIR}/README.voidlinux"
|
||||
vsv pipewire
|
||||
vsv pipewire-pulse
|
||||
}
|
||||
|
||||
libpipewire_package() {
|
||||
|
@ -150,6 +154,7 @@ libjack-pipewire_package() {
|
|||
pkg_install() {
|
||||
vmove usr/lib/pipewire-0.3/jack
|
||||
vmove usr/bin/pw-jack
|
||||
vmove usr/share/man/man1/pw-jack.1
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue