Debian Patches

Status for pulseaudio/17.0+dfsg1-2

Patch Description Author Forwarded Bugs Origin Last update
disable-autospawn.patch Disable autospawn by default Felipe Sateler <fsateler@debian.org> no 2021-02-26
selectively-disable-libpulsedsp.patch selectively disable the libpulsedsp DSO and padsp wrapper
The libpulsedsp DSO is not compatible with 64-bit time_t, and is a wrapper
for compatibility with an API that's basically obsolete for 15 years.
And nowadays pulseaudio itself is largely superseded by pipewire.

padsp is mainly useful for legacy i386 binaries and maybe
a few very early legacy amd64 binaries (late 90s/early 00s era games,
especially ported by Loki Games) which might assume OSS audio, and not
support ALSA or PulseAudio directly. Since we're breaking the platform ABI
on armel/armhf/etc. *anyway*, we can't rely on the ability to run legacy
binaries even if they exist, so it's probably no longer interesting to
provide padsp on those architectures.

However, Debian's i386 is sticking with the old 32-bit time_t.
Simon McVittie <smcv@debian.org> not-needed 2024-03-21
git_tests_alignment.patch tests: Don't run volume tests with impossible alignments
This worked so far somehow, but we were sending in some samples at
unrealistic alignments (given that pa_memblockq will be frame-aligned,
and we expect all operations to occur per-frame as well).
Arun Raghavan <arun@asymptotic.io> no 2024-03-22
ucm-check-verb-for-device-status.patch alsa-ucm: Check UCM verb before working with device status
Some versions of the ALSA libraries run into a segmentation fault when
we query a UCM device/modifier status without first setting a UCM verb.
It's not a reasonable thing to do anyway, so check for this case and
return an error. Also do the check in other helpers.
Alper Nebi Yasak <alpernebiyasak@gmail.com> no https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/f5cacd94abcc47003bd88ad7ca1450de649ffb15 2023-11-30
ucm-replace-context-assertion-with-error.patch alsa-ucm: Replace port device UCM context assertion with an error
The pa_alsa_ucm_set_port() function is passed both a mapping context and
a device port, and both of these refer to their respective UCM device.
While switching over to having one port per mapping per UCM device, I
expected both of these to be the same device struct, so added an assert
checking so.

This assertion gets triggered when we have multiple UCM verbs declaring
the same UCM device name. The root cause here is that the ports' UCM
device references are set once while creating the ports for the card, so
they happen to be those of a specific verb and may not match those from
a different UCM verb's profiles' mappings.

Solving the root cause necessitates a larger refactor. What we actually
assume here is that name of the UCM device is same for both the port and
the UCM context, which ends up always true in practice. For now, replace
the assert with a check and error.
Alper Nebi Yasak <alpernebiyasak@gmail.com> no https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/ed3d4f0837f670e5e5afb1afa5bcfc8ff05d3407 2023-12-01
ucm-fix-infinite-recursion.patch alsa-ucm: Fix segfault from recursion due to too many devices
While trying to figure out device subsets that have aren't internally
contain conflicting devices, we walk through all possible subsets and
check each set if it satisfies ConflictingDevices/SupportedDevices
listed in UCM configuration. For a better user experience, we want to
skip subsets that are fully included in another valid subset we will
also generate.

The iterate_device_subsets() function that achieves the former is
intentionally in iterative form to avoid a stack overflow, since it will
walk through 2^n sets. However, the iterate_maximal_device_subsets()
function that skips incomplete sets is in recursive form, as I had
assumed tail-call optimization would take care of the potential problem.

Convert iterate_maximal_device_subsets() to an iterative form, because
the recursion seems to trigger a segfault with more than 16 devices.
Alper Nebi Yasak <alpernebiyasak@gmail.com> no https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/838 2024-12-05

All known versions for source package 'pulseaudio'

Links