pipewire: update to 0.3.71, drop pipewire-media-session

Now depends on virtual session manager

Closes: #43574 [via git-merge-pr]
This commit is contained in:
cinerea0 2023-05-19 22:38:03 -04:00 committed by Andrew J. Hesford
parent 955c9ebdec
commit 43889c8f6b
4 changed files with 60 additions and 40 deletions

View File

@ -1,4 +1,2 @@
The pipewire-media-session session manager has been abandoned upstream and will
be removed from Void in a subsequent pipewire update. All users are encouraged
to transition to wireplumber as soon as possible to avoid unexpected loss of
functionality in the future.
The pipewire-media-session session manager has been removed from Void.
All users must transition to wireplumber to avoid loss of functionality.

View File

@ -1,17 +0,0 @@
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).
diff --git a/src/daemon/pipewire.conf.in.orig b/src/daemon/pipewire.conf.in
index 95632c2..ab0b097 100644
--- a/src/daemon/pipewire.conf.in.orig
+++ b/src/daemon/pipewire.conf.in
@@ -236,7 +236,7 @@
# but it is better to start it as a systemd service.
# Run the session manager with -h for options.
#
- @sm_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.

View File

@ -0,0 +1,50 @@
From ce71b37b58d5e251ae7acda0799f696688df11c2 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 18 May 2023 09:59:26 +0200
Subject: [PATCH] jack: update bufsize and samplerate when skipping notify
When we skip the notify because we are not active or we don't have a
callback, still update the buffer_size and sample_rate fields or else
we will keep on trying forever.
Fixes #3226
---
pipewire-jack/src/pipewire-jack.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c
index 0c8363ea3..20feb2462 100644
--- a/pipewire-jack/src/pipewire-jack.c
+++ b/pipewire-jack/src/pipewire-jack.c
@@ -1027,8 +1027,6 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
struct notify *notify;
bool emit = false;;
- if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
- return 0;
switch (type) {
case NOTIFY_TYPE_REGISTRATION:
emit = c->registration_callback != NULL && o != NULL;
@@ -1060,8 +1058,18 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
default:
break;
}
+ if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
+ emit = false;
if (!emit) {
- pw_log_debug("%p: skip notify %d", c, type);
+ switch (type) {
+ case NOTIFY_TYPE_BUFFER_FRAMES:
+ c->buffer_frames = arg1;
+ break;
+ case NOTIFY_TYPE_SAMPLE_RATE:
+ c->sample_rate = arg1;
+ break;
+ }
+ pw_log_debug("%p: skip notify %08x active:%d", c, type, c->active);
if (o != NULL && arg1 == 0 && o->removing) {
o->removing = false;
free_object(c, o);
--
GitLab

View File

@ -1,9 +1,7 @@
# Template file for 'pipewire'
pkgname=pipewire
version=0.3.68
version=0.3.71
revision=1
_pms_version=0.4.2
build_wrksrc="${pkgname}-${version}"
build_style=meson
configure_args="
--auto-features=enabled
@ -15,9 +13,8 @@ configure_args="
-Dsystemd=disabled
-Dudevrulesdir=/usr/lib/udev/rules.d
-Dvulkan=enabled
-Dmedia-session:systemd=disabled
-Dbluez5-codec-lc3plus=disabled
-Dsession-managers=media-session
-Dsession-managers=[]
-Drlimits-match=@_pipewire
"
hostmakedepends="doxygen graphviz pkg-config python3-docutils gettext glib-devel"
@ -26,23 +23,20 @@ makedepends="$(vopt_if sdl2 SDL2-devel) gst-plugins-base1-devel jack-devel
libfreeaptx-devel libusb-devel fdk-aac-devel libsndfile-devel Vulkan-Headers
vulkan-loader pulseaudio-devel avahi-libs-devel webrtc-audio-processing-devel
readline-devel openssl-devel lilv-devel libcanberra-devel dbus-devel
libmysofa-devel"
libmysofa-devel opus-devel"
depends="libspa-alsa>=${version}_${revision} libspa-audioconvert>=${version}_${revision}
libspa-audiomixer>=${version}_${revision} libspa-control>=${version}_${revision}
libspa-v4l2>=${version}_${revision} pulseaudio-utils"
libspa-v4l2>=${version}_${revision} pulseaudio-utils virtual?pipewire-session-manager"
checkdepends="pulseaudio-utils"
short_desc="Server and user space API to deal with multimedia pipelines"
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
https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${_pms_version}/media-session-${_pms_version}.tar.gz"
checksum="fdcf7f2ee881cdc91ef54b3a558e431bdb3395f7a1e9044753c7a89346fafd91
4cf8577d4431e08b0e6f29c1ad6bf8662765ab66986ea6f0151883101811c119"
distfiles="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${version}/pipewire-${version}.tar.gz"
checksum=070dcf83c514903d603351921c7829014c8d9162c49ae5a043290c920f6a6363
make_dirs="/var/lib/pipewire 0755 _pipewire _pipewire"
system_accounts="_pipewire"
patch_args="-Np1 --directory=${build_wrksrc}"
build_options="sdl2"
@ -59,18 +53,13 @@ else
configure_args+=" -Dbluez5-codec-ldac=disabled"
fi
post_extract() {
mv media-session-${_pms_version} ${build_wrksrc}/subprojects/media-session
}
post_install() {
vlicense LICENSE
vdoc "${FILESDIR}/README.voidlinux"
vsv pipewire
vsv pipewire-pulse
vmkdir usr/share/applications
cp "${FILESDIR}/pipewire.desktop" ${DESTDIR}/usr/share/applications/pipewire.desktop
cp "${FILESDIR}/pipewire-pulse.desktop" ${DESTDIR}/usr/share/applications/pipewire-pulse.desktop
vinstall "${FILESDIR}/pipewire.desktop" 644 usr/share/applications
vinstall "${FILESDIR}/pipewire-pulse.desktop" 644 usr/share/applications
}
libpipewire_package() {