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 The pipewire-media-session session manager has been removed from Void.
be removed from Void in a subsequent pipewire update. All users are encouraged All users must transition to wireplumber to avoid loss of functionality.
to transition to wireplumber as soon as possible to avoid unexpected loss of
functionality in the future.

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