Update version to 0.3.83

This commit is contained in:
Wim Taymans 2023-10-19 16:26:37 +02:00
parent f1bdb67ef8
commit f8d1040e50
4 changed files with 6 additions and 99 deletions

View File

@ -1,68 +0,0 @@
From 434dfd56636c2fdb7f13cdc61eb84b72dac93146 Mon Sep 17 00:00:00 2001
From: Hector Martin <marcan@marcan.st>
Date: Sat, 14 Oct 2023 14:11:15 +0900
Subject: [PATCH 1/2] alsa: Ignore PCM devices with udev env ACP_IGNORE
When checking that a card has all of its PCM devices available, ignore
any specific device with the ACP_IGNORE udev environment variable. This
mirrors how we ignore whole cards, but specifically allows non-PipeWire
software to own specific PCM devices.
Note that this does not actually stop PipeWire from using those
subdevices right now, we assume UCM configs take care of that. This
should probably be implemented later to ensure PipeWire always stays
away from them, but for now this fixes the issue where it refuses to
probe the entire card.
Fixes: #3570
Signed-off-by: Hector Martin <marcan@marcan.st>
---
spa/plugins/alsa/alsa-udev.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/spa/plugins/alsa/alsa-udev.c b/spa/plugins/alsa/alsa-udev.c
index 3048d7363..58ff5032d 100644
--- a/spa/plugins/alsa/alsa-udev.c
+++ b/spa/plugins/alsa/alsa-udev.c
@@ -329,6 +329,27 @@ static int get_num_compress_offload_devices(unsigned int card_nr)
return errno != 0 ? -errno : num_dev;
}
+static int check_udev_environment(struct udev *udev, const char *devname)
+{
+ char path[PATH_MAX];
+ struct udev_device *dev;
+ int ret = 0;
+
+ /* Check for ACP_IGNORE on a specific PCM device (not the whole card) */
+ spa_scnprintf(path, sizeof(path), "/sys/class/sound/%s", devname);
+
+ dev = udev_device_new_from_syspath(udev, path);
+ if (dev == NULL)
+ return 0;
+
+ if (udev_device_get_property_value(dev, "ACP_IGNORE"))
+ ret = -ENXIO;
+
+ udev_device_unref(dev);
+
+ return ret;
+}
+
static int check_pcm_device_availability(struct impl *this, struct card *card,
int *num_pcm_devices)
{
@@ -376,6 +397,9 @@ static int check_pcm_device_availability(struct impl *this, struct card *card,
card->card_nr, entry->d_name+3);
if (check_device_pcm_class(path) < 0)
continue;
+ /* Check udev environment */
+ if (check_udev_environment(this->udev, path) < 0)
+ continue;
/* Check busy status */
spa_scnprintf(path, sizeof(path), "/proc/asound/card%u/%s",
--
2.41.0

View File

@ -1,26 +0,0 @@
From d50fb6c51db80703127e240a4965026ee64cd10f Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 16 Oct 2023 10:32:51 +0200
Subject: [PATCH 2/2] alsa: don't try to link when prepare fails
---
spa/plugins/alsa/alsa-pcm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index fbd67cf86..df40ea9e5 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -3042,7 +3042,8 @@ int spa_alsa_prepare(struct state *state)
spa_list_for_each(follower, &state->followers, driver_link) {
if (follower != state && !follower->matching) {
- spa_alsa_prepare(follower);
+ if (spa_alsa_prepare(follower) < 0)
+ continue;
if (!follower->linked && state->auto_link)
do_link(state, follower);
}
--
2.41.0

View File

@ -1,6 +1,6 @@
%global majorversion 0
%global minorversion 3
%global microversion 82
%global microversion 83
%global apiversion 0.3
%global spaversion 0.2
@ -9,7 +9,7 @@
%global ms_version 0.4.2
# For rpmdev-bumpspec and releng automation
%global baserelease 2
%global baserelease 1
#global snapdate 20210107
#global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
@ -76,8 +76,6 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver
Source1: pipewire.sysusers
## upstream patches
Patch0001: 0001-alsa-Ignore-PCM-devices-with-udev-env-ACP_IGNORE.patch
Patch0002: 0002-alsa-don-t-try-to-link-when-prepare-fails.patch
## upstreamable patches
@ -724,6 +722,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
%endif
%changelog
* Thu Oct 19 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.83-1
- Update version to 0.3.83
* Mon Oct 16 2023 Wim Taymans <wtaymans@redhat.com> - 0.3.82-2
- Add patch for device detection for asahi linux.
- Add patch to avoid crash in ALSA.

View File

@ -1 +1 @@
SHA512 (pipewire-0.3.82.tar.gz) = ac55acd5386135a46e99319c5783ccb2c64c009fdf467c9ac504b52268a061041bae874a47e17b5cbd1c9c57611d3e6a854d8e47d0a2a2fea3a219850dbf32dd
SHA512 (pipewire-0.3.83.tar.gz) = 140d02242b1c76e4ced9bccaf306e7881103aa7081778b0e734a3eab12f3dae8c2824cca83d5e01c05817808c41da8280a4bf5a025448cff4ff9376219ae8050