Add some more important upstream patches.
This commit is contained in:
parent
05be564fe6
commit
e36ced716e
@ -1,4 +1,4 @@
|
||||
From cb5a1841e4fdad320e85021ef1c66e5cf52cfc5a Mon Sep 17 00:00:00 2001
|
||||
From 5d64bc8d5691323be7edf45b81c18be6322d0997 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 4 Mar 2021 15:38:16 +0100
|
||||
Subject: [PATCH 01/10] conf: start media-session through pipewire
|
||||
@ -8,10 +8,10 @@ Subject: [PATCH 01/10] conf: start media-session through pipewire
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
|
||||
index 281671c7c..af89fdc05 100644
|
||||
index 394b2e10..3837ac51 100644
|
||||
--- a/src/daemon/pipewire.conf.in
|
||||
+++ b/src/daemon/pipewire.conf.in
|
||||
@@ -204,7 +204,7 @@ context.exec = [
|
||||
@@ -210,7 +210,7 @@ context.exec = [
|
||||
# but it is better to start it as a systemd service.
|
||||
# Run the session manager with -h for options.
|
||||
#
|
||||
@ -21,5 +21,5 @@ index 281671c7c..af89fdc05 100644
|
||||
# You can optionally start the pulseaudio-server here as well
|
||||
# but it is better to start it as a systemd service.
|
||||
--
|
||||
2.26.3
|
||||
2.30.2
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From cd4a47666d537fce00e736dde5a0170f93260f10 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 22 Apr 2021 12:25:48 +0200
|
||||
Subject: [PATCH 2/6] acp: sync with pulseaudio
|
||||
Subject: [PATCH 02/10] acp: sync with pulseaudio
|
||||
|
||||
Remove our custom hack to work around missing duplex and use
|
||||
upstream fix.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 87b30e280e1e36cecd57422d9c619293feef2307 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Sun, 25 Apr 2021 13:47:23 +0200
|
||||
Subject: [PATCH 3/6] media-session: fix match rule
|
||||
Subject: [PATCH 03/10] media-session: fix match rule
|
||||
|
||||
When matching without regex, don't just to a startswith check but also
|
||||
check that the sizes of the strings match.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From a193bf7e1faa03d1907ebecac097f9ccc3420310 Mon Sep 17 00:00:00 2001
|
||||
From: Pauli Virtanen <pav@iki.fi>
|
||||
Date: Sun, 25 Apr 2021 19:11:43 +0300
|
||||
Subject: [PATCH 4/6] media-session: keep track of seq in pw_*_enum_params
|
||||
Subject: [PATCH 04/10] media-session: keep track of seq in pw_*_enum_params
|
||||
|
||||
If multiple async enum param are running at the same time, take results
|
||||
only from the latest one.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From f6cbb05aa95f0580bded97c194d928296cc0e874 Mon Sep 17 00:00:00 2001
|
||||
From: Pauli Virtanen <pav@iki.fi>
|
||||
Date: Sun, 25 Apr 2021 20:42:03 +0300
|
||||
Subject: [PATCH 5/6] pulse-server: keep track of seq in pw_*_enum_params
|
||||
Subject: [PATCH 05/10] pulse-server: keep track of seq in pw_*_enum_params
|
||||
|
||||
If multiple async enum param are running at the same time, take results
|
||||
only from the latest one.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From b6d6800fc39538db50753df35d117b7b6a8c3311 Mon Sep 17 00:00:00 2001
|
||||
From: Pauli Virtanen <pav@iki.fi>
|
||||
Date: Sun, 25 Apr 2021 21:18:45 +0300
|
||||
Subject: [PATCH 6/6] bluez5: don't unregister HFP/HSP profiles when shutting
|
||||
Subject: [PATCH 06/10] bluez5: don't unregister HFP/HSP profiles when shutting
|
||||
down
|
||||
|
||||
This apparently causes delays in shutdown under some conditions, and
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
From 86654f2bc9f4b3de114107008bb98e5f526dfe8c Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Mon, 26 Apr 2021 17:34:14 +0200
|
||||
Subject: [PATCH 07/10] audioconvert: run lr4 on tagged channels in generic
|
||||
case
|
||||
|
||||
Mark the LFE channels and run the lowpass filter on them in
|
||||
the generic case. Generates LFE correctly in 2.1 upmix case.
|
||||
|
||||
See #1095
|
||||
---
|
||||
spa/plugins/audioconvert/channelmix-ops-c.c | 4 ++++
|
||||
spa/plugins/audioconvert/channelmix-ops.c | 9 +++++++--
|
||||
spa/plugins/audioconvert/channelmix-ops.h | 1 +
|
||||
3 files changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/spa/plugins/audioconvert/channelmix-ops-c.c b/spa/plugins/audioconvert/channelmix-ops-c.c
|
||||
index 588cff19..e7359a93 100644
|
||||
--- a/spa/plugins/audioconvert/channelmix-ops-c.c
|
||||
+++ b/spa/plugins/audioconvert/channelmix-ops-c.c
|
||||
@@ -78,6 +78,10 @@ channelmix_f32_n_m_c(struct channelmix *mix, uint32_t n_dst, void * SPA_RESTRICT
|
||||
d[i][n] = sum;
|
||||
}
|
||||
}
|
||||
+ for (i = 0; i < n_dst; i++) {
|
||||
+ if (mix->lr4_info[i] > 0)
|
||||
+ lr4_process(&mix->lr4[i], d[i], n_samples);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/spa/plugins/audioconvert/channelmix-ops.c b/spa/plugins/audioconvert/channelmix-ops.c
|
||||
index c669c58b..7c98e645 100644
|
||||
--- a/spa/plugins/audioconvert/channelmix-ops.c
|
||||
+++ b/spa/plugins/audioconvert/channelmix-ops.c
|
||||
@@ -422,10 +422,15 @@ done:
|
||||
continue;
|
||||
mix->matrix_orig[ic][jc++] = matrix[i][j];
|
||||
sum += fabs(matrix[i][j]);
|
||||
- if (i == _CH(LFE))
|
||||
- lr4_set(&mix->lr4[ic], BQ_LOWPASS, mix->lfe_cutoff / mix->freq);
|
||||
}
|
||||
maxsum = SPA_MAX(maxsum, sum);
|
||||
+ if (i == _CH(LFE)) {
|
||||
+ spa_log_debug(mix->log, "channel %d is LFE", ic);
|
||||
+ lr4_set(&mix->lr4[ic], BQ_LOWPASS, mix->lfe_cutoff / mix->freq);
|
||||
+ mix->lr4_info[ic] = 1;
|
||||
+ } else {
|
||||
+ mix->lr4_info[ic] = 0;
|
||||
+ }
|
||||
ic++;
|
||||
}
|
||||
if (SPA_FLAG_IS_SET(mix->options, CHANNELMIX_OPTION_NORMALIZE) &&
|
||||
diff --git a/spa/plugins/audioconvert/channelmix-ops.h b/spa/plugins/audioconvert/channelmix-ops.h
|
||||
index 3dd600e4..8fc15c4f 100644
|
||||
--- a/spa/plugins/audioconvert/channelmix-ops.h
|
||||
+++ b/spa/plugins/audioconvert/channelmix-ops.h
|
||||
@@ -65,6 +65,7 @@ struct channelmix {
|
||||
|
||||
float freq; /* sample frequency */
|
||||
float lfe_cutoff; /* in Hz, 0 is disabled */
|
||||
+ uint32_t lr4_info[SPA_AUDIO_MAX_CHANNELS];
|
||||
struct lr4 lr4[SPA_AUDIO_MAX_CHANNELS];
|
||||
|
||||
void (*process) (struct channelmix *mix, uint32_t n_dst, void * SPA_RESTRICT dst[n_dst],
|
||||
--
|
||||
2.30.2
|
||||
|
||||
26
0008-conf-remove-X-bit-from-config-files.patch
Normal file
26
0008-conf-remove-X-bit-from-config-files.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From ca5f08e701b9a8f271637c51040fdfb8e8daf0f5 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Tue, 27 Apr 2021 15:38:31 +0200
|
||||
Subject: [PATCH 08/10] conf: remove X bit from config files
|
||||
|
||||
Fixes #1107
|
||||
---
|
||||
src/pipewire/conf.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pipewire/conf.c b/src/pipewire/conf.c
|
||||
index 50e0b0f9..24b15ffb 100644
|
||||
--- a/src/pipewire/conf.c
|
||||
+++ b/src/pipewire/conf.c
|
||||
@@ -193,7 +193,7 @@ int pw_conf_save_state(const char *prefix, const char *name, struct pw_propertie
|
||||
|
||||
tmp_name = alloca(strlen(name)+5);
|
||||
sprintf(tmp_name, "%s.tmp", name);
|
||||
- if ((fd = openat(sfd, tmp_name, O_CLOEXEC | O_CREAT | O_WRONLY | O_TRUNC, 0700)) < 0) {
|
||||
+ if ((fd = openat(sfd, tmp_name, O_CLOEXEC | O_CREAT | O_WRONLY | O_TRUNC, 0600)) < 0) {
|
||||
pw_log_error("can't open file '%s': %m", tmp_name);
|
||||
res = -errno;
|
||||
goto error;
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
From 3a04f6d90ebda0f982ea7da59f28502d20c0bec1 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Tue, 27 Apr 2021 16:42:52 +0200
|
||||
Subject: [PATCH 09/10] Revert "acp: use the right profile name and
|
||||
description"
|
||||
|
||||
This reverts commit 09106151d3a829ab6108260136b3a4f79f23797d.
|
||||
|
||||
We need the actual name and description of the mapping, not the
|
||||
profile or else we end up with the full profile description in the
|
||||
node description instead of the part of the profile that applies to
|
||||
the device.
|
||||
---
|
||||
spa/plugins/alsa/acp/acp.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/spa/plugins/alsa/acp/acp.c b/spa/plugins/alsa/acp/acp.c
|
||||
index 2dc1591f..bf84a2ed 100644
|
||||
--- a/spa/plugins/alsa/acp/acp.c
|
||||
+++ b/spa/plugins/alsa/acp/acp.c
|
||||
@@ -199,8 +199,8 @@ static void device_free(void *data)
|
||||
pa_hashmap_free(dev->ports);
|
||||
}
|
||||
|
||||
-static void init_device(pa_card *impl, pa_alsa_profile *ap, pa_alsa_device *dev,
|
||||
- pa_alsa_direction_t direction, pa_alsa_mapping *m, uint32_t index)
|
||||
+static void init_device(pa_card *impl, pa_alsa_device *dev, pa_alsa_direction_t direction,
|
||||
+ pa_alsa_mapping *m, uint32_t index)
|
||||
{
|
||||
uint32_t i;
|
||||
|
||||
@@ -231,8 +231,8 @@ static void init_device(pa_card *impl, pa_alsa_profile *ap, pa_alsa_device *dev,
|
||||
dev->device.direction = ACP_DIRECTION_CAPTURE;
|
||||
pa_proplist_update(dev->proplist, PA_UPDATE_REPLACE, m->input_proplist);
|
||||
}
|
||||
- pa_proplist_sets(dev->proplist, PA_PROP_DEVICE_PROFILE_NAME, ap->name);
|
||||
- pa_proplist_sets(dev->proplist, PA_PROP_DEVICE_PROFILE_DESCRIPTION, ap->description);
|
||||
+ pa_proplist_sets(dev->proplist, PA_PROP_DEVICE_PROFILE_NAME, m->name);
|
||||
+ pa_proplist_sets(dev->proplist, PA_PROP_DEVICE_PROFILE_DESCRIPTION, m->description);
|
||||
pa_proplist_setf(dev->proplist, "card.profile.device", "%u", index);
|
||||
pa_proplist_as_dict(dev->proplist, &dev->device.props);
|
||||
|
||||
@@ -430,7 +430,7 @@ static void add_profiles(pa_card *impl)
|
||||
PA_IDXSET_FOREACH(m, ap->output_mappings, idx) {
|
||||
dev = &m->output;
|
||||
if (dev->mapping == NULL) {
|
||||
- init_device(impl, ap, dev, PA_ALSA_DIRECTION_OUTPUT, m, n_devices++);
|
||||
+ init_device(impl, dev, PA_ALSA_DIRECTION_OUTPUT, m, n_devices++);
|
||||
pa_dynarray_append(&impl->out.devices, dev);
|
||||
}
|
||||
if (impl->use_ucm) {
|
||||
@@ -451,7 +451,7 @@ static void add_profiles(pa_card *impl)
|
||||
PA_IDXSET_FOREACH(m, ap->input_mappings, idx) {
|
||||
dev = &m->input;
|
||||
if (dev->mapping == NULL) {
|
||||
- init_device(impl, ap, dev, PA_ALSA_DIRECTION_INPUT, m, n_devices++);
|
||||
+ init_device(impl, dev, PA_ALSA_DIRECTION_INPUT, m, n_devices++);
|
||||
pa_dynarray_append(&impl->out.devices, dev);
|
||||
}
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
30
0010-client-node-use-the-right-port-for-io.patch
Normal file
30
0010-client-node-use-the-right-port-for-io.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From b136b3e2e34f9efb410a4041fa1c6f780217e0bf Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Wed, 28 Apr 2021 17:04:36 +0200
|
||||
Subject: [PATCH 10/10] client-node: use the right port for io
|
||||
|
||||
To set the io on the mixer ports, we need to use the same id that
|
||||
was used to add the port, not the id we use to identify the mixer
|
||||
structure.
|
||||
|
||||
Fixes #759
|
||||
---
|
||||
src/modules/module-client-node/remote-node.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/modules/module-client-node/remote-node.c b/src/modules/module-client-node/remote-node.c
|
||||
index ac9fae12..61919aab 100644
|
||||
--- a/src/modules/module-client-node/remote-node.c
|
||||
+++ b/src/modules/module-client-node/remote-node.c
|
||||
@@ -793,7 +793,7 @@ client_node_port_set_io(void *object,
|
||||
}
|
||||
|
||||
if ((res = spa_node_port_set_io(mix->port->mix,
|
||||
- direction, mix_id, id, ptr, size)) < 0) {
|
||||
+ direction, mix->mix.port.port_id, id, ptr, size)) < 0) {
|
||||
if (res == -ENOTSUP)
|
||||
res = 0;
|
||||
else
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
%global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0
|
||||
|
||||
# For rpmdev-bumpspec and releng automation
|
||||
%global baserelease 3
|
||||
%global baserelease 4
|
||||
|
||||
#global snapdate 20210107
|
||||
#global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb
|
||||
@ -58,6 +58,10 @@ Patch0002: 0003-media-session-fix-match-rule.patch
|
||||
Patch0003: 0004-media-session-keep-track-of-seq-in-pw_-_enum_params.patch
|
||||
Patch0004: 0005-pulse-server-keep-track-of-seq-in-pw_-_enum_params.patch
|
||||
Patch0005: 0006-bluez5-don-t-unregister-HFP-HSP-profiles-when-shutti.patch
|
||||
Patch0006: 0007-audioconvert-run-lr4-on-tagged-channels-in-generic-c.patch
|
||||
Patch0007: 0008-conf-remove-X-bit-from-config-files.patch
|
||||
Patch0008: 0009-Revert-acp-use-the-right-profile-name-and-descriptio.patch
|
||||
Patch0009: 0010-client-node-use-the-right-port-for-io.patch
|
||||
|
||||
## upstreamable patches
|
||||
|
||||
@ -477,7 +481,10 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Apr 26 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.26-3
|
||||
* Thu Apr 29 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.26-4
|
||||
- Add some more important upstream patches.
|
||||
|
||||
* Mon Apr 26 2021 Wim Taymans <wtaymans@redhat.com> - 0.3.26-3
|
||||
- Add some important upstream patches.
|
||||
|
||||
* Sat Apr 24 2021 Neal Gompa <ngompa13@gmail.com> - 0.3.26-2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user