Update version to 0.3.83
This commit is contained in:
parent
f1bdb67ef8
commit
f8d1040e50
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pipewire-0.3.82.tar.gz) = ac55acd5386135a46e99319c5783ccb2c64c009fdf467c9ac504b52268a061041bae874a47e17b5cbd1c9c57611d3e6a854d8e47d0a2a2fea3a219850dbf32dd
|
||||
SHA512 (pipewire-0.3.83.tar.gz) = 140d02242b1c76e4ced9bccaf306e7881103aa7081778b0e734a3eab12f3dae8c2824cca83d5e01c05817808c41da8280a4bf5a025448cff4ff9376219ae8050
|
||||
|
||||
Loading…
Reference in New Issue
Block a user