diff options
author | Sam James <sam@gentoo.org> | 2022-11-17 19:19:10 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-17 19:19:32 +0000 |
commit | 928787e04cecede2d3bd6347a077e282f21f4109 (patch) | |
tree | 388e301dc57807eb9b3c772636d16b23c4d1cb5e /media-video/pipewire/files | |
parent | mail-client/thunderbird: stabilize 102.5.0 for x86 (diff) | |
download | gentoo-928787e04cecede2d3bd6347a077e282f21f4109.tar.gz gentoo-928787e04cecede2d3bd6347a077e282f21f4109.tar.bz2 gentoo-928787e04cecede2d3bd6347a077e282f21f4109.zip |
media-video/pipewire: backport upstream-recommended patches for 0.3.60
- Fixes profile switch crashing
- Fixes use of pipewire in VMs
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r-- | media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch | 28 | ||||
-rw-r--r-- | media-video/pipewire/files/pipewire-0.3.60-qemu.patch | 22 |
2 files changed, 50 insertions, 0 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch b/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch new file mode 100644 index 000000000000..cd126d627d20 --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.3.60-profile-switch-crash.patch @@ -0,0 +1,28 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bf3516ba0496b644b3944b114253f23964178897 + +From bf3516ba0496b644b3944b114253f23964178897 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Tue, 15 Nov 2022 15:40:47 +0100 +Subject: [PATCH] audioadapter: perform setup again after a PortConfig + +After the ports are reconfigured, we need to perform the setup again so +that buffers and processing can happen with the right settings. + +This fixes an issue when autoswitching between A2DP and HFP with +bluetooth headsets when there is also a stereo capture device available. +The input stream of the browser is quickly reconfigured between stereo +and mono with only a Pause command in between, clearing the setup state +is enough to redo the setup when going back to Playing. + +Fixes #2764 +--- a/spa/plugins/audioconvert/audioconvert.c ++++ b/spa/plugins/audioconvert/audioconvert.c +@@ -979,6 +979,7 @@ static int reconfigure_mode(struct impl *this, enum spa_param_port_config_mode m + } + + this->monitor = monitor; ++ this->setup = false; + dir->control = control; + dir->have_profile = true; + dir->mode = mode; +GitLab diff --git a/media-video/pipewire/files/pipewire-0.3.60-qemu.patch b/media-video/pipewire/files/pipewire-0.3.60-qemu.patch new file mode 100644 index 000000000000..87d34ec609cf --- /dev/null +++ b/media-video/pipewire/files/pipewire-0.3.60-qemu.patch @@ -0,0 +1,22 @@ +From b46d8a8c921a8da6883610ad4b68da95bf59b59e Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Wed, 16 Nov 2022 20:45:38 +0100 +Subject: [PATCH] alsa: force playback start when buffer is full + +When we try to play data but the ringbuffer is full, we need to start +the device or else we will stay in this situation forever and stay +silent. + +Fixes #2830 +--- a/spa/plugins/alsa/alsa-pcm.c ++++ b/spa/plugins/alsa/alsa-pcm.c +@@ -2128,7 +2128,7 @@ again: + + state->sample_count += total_written; + +- if (SPA_UNLIKELY(!state->alsa_started && total_written > 0)) ++ if (SPA_UNLIKELY(!state->alsa_started && (total_written > 0 || frames == 0))) + do_start(state); + + return 0; +GitLab |