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-jack` for running pipewire and jack side-by-side
|
||||||
* `libspa-v4l2` for video camera support
|
* `libspa-v4l2` for video camera support
|
||||||
* `rtkit` for realtime priority acquisition
|
* `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
|
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
|
since it needs the pipewire socket up, and Void doesn't have a mechanism to
|
||||||
ensure it (systemd socket activation).
|
ensure it (systemd socket activation).
|
||||||
--- a/src/daemon/pipewire.conf.in 2021-03-18 17:45:02.025992827 +0100
|
--- a/src/daemon/pipewire.conf.in
|
||||||
+++ b/src/daemon/pipewire.conf.in 2021-03-18 17:47:17.606999440 +0100
|
+++ b/src/daemon/pipewire.conf.in
|
||||||
@@ -204,7 +204,7 @@
|
@@ -234,7 +234,7 @@
|
||||||
# but it is better to start it as a systemd service.
|
# but it is better to start it as a systemd service.
|
||||||
# Run the session manager with -h for options.
|
# Run the session manager with -h for options.
|
||||||
#
|
#
|
||||||
- @comment@{ path = "@media_session_path@" args = "" }
|
- @comment@{ path = "@session_manager_path@" args = "@session_manager_args@" }
|
||||||
+ { path = "@media_session_path@" args = "" }
|
+ { path = "@session_manager_path@" args = "@session_manager_args@" }
|
||||||
#
|
#
|
||||||
# You can optionally start the pulseaudio-server here as well
|
# You can optionally start the pulseaudio-server here as well
|
||||||
# but it is better to start it as a systemd service.
|
# but it is better to start it as a systemd service.
|
||||||
|
|
|
@ -1,24 +1,26 @@
|
||||||
# Template file for 'pipewire'
|
# Template file for 'pipewire'
|
||||||
pkgname=pipewire
|
pkgname=pipewire
|
||||||
version=0.3.28
|
version=0.3.31
|
||||||
revision=1
|
revision=1
|
||||||
build_style=meson
|
build_style=meson
|
||||||
configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled
|
configure_args="-Dman=enabled -Dgstreamer=enabled -Ddocs=enabled -Dsystemd=disabled
|
||||||
-Dbluez5=enabled -Dffmpeg=enabled -Dpipewire-alsa=enabled -Dpipewire-jack=enabled
|
-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"
|
hostmakedepends="doxygen graphviz pkg-config xmltoman gettext"
|
||||||
makedepends="ffmpeg-devel gst-plugins-base1-devel jack-devel sbc-devel v4l-utils-devel
|
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)"
|
libsndfile-devel Vulkan-Headers vulkan-loader $(vopt_if sdl2 SDL2-devel)"
|
||||||
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
|
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
|
||||||
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}"
|
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}"
|
||||||
short_desc="Server and user space API to deal with multimedia pipelines"
|
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"
|
license="MIT"
|
||||||
homepage="https://pipewire.org/"
|
homepage="https://pipewire.org/"
|
||||||
changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
|
changelog="https://gitlab.freedesktop.org/pipewire/pipewire/-/raw/master/NEWS"
|
||||||
distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
|
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"
|
build_options="sdl2"
|
||||||
|
|
||||||
|
@ -36,6 +38,8 @@ fi
|
||||||
post_install() {
|
post_install() {
|
||||||
vlicense LICENSE
|
vlicense LICENSE
|
||||||
vdoc "${FILESDIR}/README.voidlinux"
|
vdoc "${FILESDIR}/README.voidlinux"
|
||||||
|
vsv pipewire
|
||||||
|
vsv pipewire-pulse
|
||||||
}
|
}
|
||||||
|
|
||||||
libpipewire_package() {
|
libpipewire_package() {
|
||||||
|
@ -150,6 +154,7 @@ libjack-pipewire_package() {
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove usr/lib/pipewire-0.3/jack
|
vmove usr/lib/pipewire-0.3/jack
|
||||||
vmove usr/bin/pw-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