Patch status
This page tracks the status of submitted patches that haven't been merged yet. The contents are updated at least once every two weeks, so very recently submitted patches may be missing. If something older is missing, please contact the maintainers (via the mailing list or IRC). This list is new and still not finished, Patchwork still has many patches that are not tracked here.
The patches have been ordered by priority, with the highest priority patches at the top. If your patch is low in the list, there's a real risk that it won't be reviewed at all, because patches are currently submitted at a higher rate than they are reviewed. This is a sad situation, and if you don't like it, please volunteer to become a reviewer!
module-switch-on-port-available: Also blacklist HDMI devices by default
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/420
- Avoids automatically switching to HDMI when monitor is turned on.
- Medium sized change.
- The initial version is probably too aggressive: if HDMI is configured as the default sink, we should automatically switch to it when it becomes available.
- Milestone set to 15.0.
pactl: add
get-default-sink
commandalsa-ucm: Avoid unnecessary duplication in mapping descriptions
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/366
- Improves sink naming with UCM. Very small change, but it would be good to understand why the duplication happens in the first place, so reviewing isn't that trivial (it may be still be easy once someone spends more than a few seconds looking at the code).
- Milestone set to 15.0.
module-switch-on-port-available: check default sink/source before switch
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/370
- Attempts to fix a UCM related bug: when there are multiple sinks or sources on one profile, module-switch-on-port-available does sometimes nonsensical port switches.
- Tanu reviewed the first version and suggested a different fix. As of 2020-09-28, discussion is ongoing about the correct fix.
- Milestone set to 15.0.
alsa-ucm: Make sure UCM uses DisableSequence
clear compiling warning
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/330
- Simple patches, Tanu reviewed them but they need some polishing.
WIP: Disable UCM devices on suspend
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/307
- Various UCM cleanups, in addition to the main patch that implements a possible power consumption improvement with UCM.
- There's a bug that needs to be fixed before this can be merged.
- Arun reviewed the first version, and we agreed to have this in 14.0 once the bug is fixed.
build-sys: meson: allow building client libraries only
combine-sink: Set origin_sink for each output stream
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/399
- One-liner, looks good if the current usage of origin_sink can handle module-combine-sink.
- Milestone set to 16.0.
alsa-mixer: Respect XDG base directory spec when loading profile sets
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/311
- Completes the work started in MR 293 (which is reviewed and waiting for the freeze to end).
- Milestone set to 16.0.
alsa-mixer: add environment variables for profiles and paths
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/404
- Fixes the same problem as !293 (for paths, reviewed but not merged) and !311 (for profiles, waiting for review).
- Arun prefers to merge this anyway to provide support for more targeted environment variables, and Tanu is fine with that.
Add signal sending capability
Draft: bluetooth: Switch codecs without tearing down sink/source/thread
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/489
- Prevents audio from moving to a different sink during codec switch.
WIP: bluetooth/a2dp: Only list codecs with matching capabilities in list_codecs
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/478
- Two smallish patches.
- This avoids sending clients a list of codecs that includes entries that aren't really supported.
Draft: [simplify] Make GStreamer encoder/decoder synchronous
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/494
- Run GStreamer in PA's IO thread, without extra threads, semaphores and buffer copies.
Draft: bluetooth: Add AAC support via GStreamer
bluetooth: Hook up HSP/HFP battery reporting to proplist and BlueZ experimental battery provider
WIP: bluetooth: Enable swapping A2DP source and sink role
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/480
- Enable switching from A2DP source to A2DP sink profile and vice-versa, when two devices capable of supporting both (ie. two machines running PulseAudio) are connected.
WIP: bluetooth: WBS for native backend
bluetooth: Use software volume for >100%, balance and finer control
Draft: bluetooth: Handle muting over A2DP Absolute Volume
Add message commands to enable/disable jack detection per port
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/452
- This is WIP until Georg gets around to adding persistence support.
- Tanu suggested also adding notifications using signals in the message API, but that may happen in a separate MR.
Don't assume that version_split have at least 2 elements
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/289
- Small patch, but it doesn't really make sense. The version should always have at least 2 elements. The problem that this patch fixes needs to be investigated further.
alsa-ucm: create profiles per conflicting device group
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/290
- Important improvement to the UCM profile generation logic (currently we may generate profiles that have two conflicting devices active at the same time).
- Milestone set to 14.3.
Add udev rules and a profile for Sennheiser GSX devices.
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/286
- This is probably pretty much the same as another MR, !257, which has been merged.
alsa-mixer: Add an profile for EVO4 interface
WIP: Astro Mixamp TR gaming headset support
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/508
- The submitted version simply uses usb-gaming-heaset.conf for this headset, which sort of works, but the submitter said he's going to do further work with this MR.
alsa-mixer: add multichannel profile for Tascam Model12
WIP: module-switch-on-port-available: stick to user profile choice
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/438
- Attempts to fix the problem with HDMI getting automatically selected after turning on the monitor, even if the user has chosen the off profile.
Draft: cardwidget: add flag to lock profile from switching automatically
- https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/52
- Implements pavucontrol support for the PulseAudio feature added in MR 438.
module-role-cork: corking groups
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/427
- Implements more flexible corking rules. The same as what is already supported for ducking rules? It's a bit difficult to fully understand the feature just from the commit message.
- Medium sized change.
Draft: Update for recent webrtc AEC
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/395
- The "big" changes are already mostly reviewed by Arun (those changes were made by Eero Nurkkala).
Update module directory logic
- https://gitlab.freedesktop.org/pulseaudio/paprefs/merge_requests/7
- The plan is to remove the version number from the module directory in PulseAudio 15.0. paprefs needs to adapt to that, preferably before the change happens so that the transition to the new directory goes without glitches. High priority, because Tanu wants to release a new paprefs version ASAP, and this is the only thing blocking the release.
Improvements to reconfiguration
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/24
- Using the Dolby TrueHD and DTS-HD Master Audio formats requires using 8 channels, and these patches implement the necessary reconfiguration logic. This was supposed to work already in 13.0 (the release notes promised that), so these patches should probably have a very high priority.
alsa-ucm: allow binding same mic to multiple profiles
rtp: Enable support for OPUS
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/510
- Large-ish patch, but from a quick look the changes seem pretty straightforward.
Rewind and resampler fixes
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/120
- Fixes crackling during volume changes caused by resampler resets. Big change.
- Comment from Tanu: I started to review it, and I disagreed with Georg how the new history queue should be managed. I got demotivated due to the complexity of the code and Georg's unwillingness to accept my proposal that would make it easier for me to understand the system (according to Georg, my proposal is even more complex than his).
- Milestone set to 15.0.
Draft: log: add async logging
build-sys: Remove version number from installed files
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/230
- Causes less file name changes during updates, which can make life easier for packagers.
Restore ability to quit with the escape key
pavuapplication: allow one window per server
- https://gitlab.freedesktop.org/pulseaudio/pavucontrol/merge_requests/11
- Fixes a regression when using pavucontrol with multiple servers. The patch probably needs to be completely rewritten, however, because mangling the bus name is an ugly hack.
qpaeq: fix: resizing on HiDPI (!41)
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/41
- Fixes infinite recalculations when resizing the qpaeq window on a HiDPI system. Pretty small change, but not trivial.
WIP: #303: unload bt modules
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/10
- Disables bluetooth whenever the user is not active. This is an important fix - currently distributions need to apply workarounds for gdm to ensure that gdm doesn't interfere with the real user's bluetooth use, and probably not all distributions do that, meaning that we can never be sure if the reason behind broken bluetooth is that gdm is interfering with it. Medium sized change.
bluetooth: add support of mSBC codec to HFP profile
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/254
- Should improve audio quality with HFP. Pali has done some review. Big change.
bluetooth: Unify A2DP sink/source volumes with AVRCP Absolute Volume.
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/239
- New feature. Very useful. Somewhat large change.
- Milestone set to 15.0.
Airplay2
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/505
- Resubmission of !129 and !194 by a different person, done because the original author doesn't seem to be responsive any more.
- Earlier comments about !129:
- Fixes unsynchronized volume updates (hw volume is updated immediately, soft volume takes 2 seconds to take effect). Very small code change.
- Comment from Tanu: I suspect it's too simple. I think there should be two modes: either hardware volume, which is fast but doesn't allow different volumes for different channels, or soft volume, which is very slow but supports per-channel volumes. Then there's the question whether the hardware volume mode should support decibel volumes or not. Not supporting decibel volumes would have the benefit that UIs would show a continuous volume scale, whereas with decibel volumes the volume couldn't be set below 32% (which is -30dB, the minimum volume allowed by the protocol).
- Earlier comments about !194:
- Improves hardware support. 2 commits. Not a small change, but not huge either.
core-util: Set nice value for the task group
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/234
- Apparently the "high-priority" option doesn't currently have any effect on many systems, because the nice value is set relative to other processes in the same task group, and PulseAudio is the only process in its task group. This change is supposed to apply the nice value to the task group instead of the process, which should restore the intended behaviour.
Introduce meson-based build
- https://gitlab.freedesktop.org/pulseaudio/pavucontrol/merge_requests/17
- New feature. Medium sized change.
Tunnel and combine-sink latency fixes
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/53
- Fixes latency calculations. Adds a latency configuration modarg to module-tunnel. A somewhat large change, but it's split into 6 patches so the individual patches should be pretty manageable.
Unload bluez5 devices when bluez5-discover is unloaded
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/42
- Fixes a minor bug: when unloading module-bluez5-discover, the module-bluez5-device modules currently are left loaded. Pretty simple change.
Added 3 columns (
mute-state
,volume
anddefault sink
) to output ofpactl list short sinks
.- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/159
- New feature. Adds more information to "pactl list sinks short" (corresponding change for sources is missing). Pretty simple change.
- Comment from Tanu: I'm not sure we want this - to make scripting easier, we could also add separate commands for getting the individual attributes.
WIP: Virtual sink consolidation
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/88
- Reduces code duplication in virtual sinks. The resampler rewind patches (!120) should be reviewed first, after which Georg will rebase these patches. Big change.
WIP: Don't create card profile for unsupported Bluetooth profiles
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/50
- Apparently fixes an issue of creating card profiles that aren't supported by the local bluetooth adapter. Marked as WIP, because the patches expose some bug in the kernel.
- Comment from Tanu: I don't know what would be a concrete example of the problem, so it's hard to say how important this fix is.
Add alternative time smoother implementation
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/55
- Improves at least module-loopback's latency stability. Pretty large change, and probably math-heavy.
- Comment from Tanu: Based on a quick glance at https://www.freedesktop.org/software/pulseaudio/misc/rate_estimator.odt, the improvement is big in relative terms, but small in absolute terms (less than one millisecond).
- When asked for more concrete description of what problems the patches solve, Georg said this: "I never systematically compared absolute values of the latencies, I just verified that they are in the same range. What rate_estimator.odt shows is just the stability of the reported value. The stability has a big impact on loopback and combine sink because they amplify those small fluctuations. Otherwise I cannot put a finger on specific problems but still I have the impression that overall I am getting less glitches."
- Comment from Georg: Since it is providing an alternative implementation and not a replacement I think it would be more or less sufficient to review patches 2 - 10 and "believe" patch 1. (which is what we currently do with the old smoother code or do you understand that?)
Loopback patches
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/56
- Various improvements to module-loopback. How big improvements? Hard to say from a quick glance. As a whole it's a somewhat big change, but it's split into 10 patches, so individual patches aren't that big (but the math-heavy topic can make reviewing more difficult).
- The first patch should be included soon as it fixes a bug. Patches 2 - 4 significantly improve the stability of the latency while patch 5 improves the readability of the debug output. Patches 6 - 10 add new parameters and small enhancements that aim to get the last possible bit of precision out of the module. Therefore it should be evaluated if any of patches 6 - 10 should be included at all.
FreeBSD support
pactl: add format flag for JSON output
Use WAVEFORMATEXTENSIBLE for multi-channel audio output on Windows.
Added source's priority property to dbus interface
Check for pulseaudio daemon by socket instead of by pid
- https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/296
- Simple change, but might not be what we want. The proposed implementation will start the daemon if socket activation or autospawning is enabled.
codecs/isac: Use lrint for mingw toolchain.
- https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/15
- One-liner fixing MinGW compilation. It needs to be decided whether to accept this or try to get the fix upstream.
- In the 2020-12-21 meeting Arun suggested creating a "patches" subdirectory for patches that aren't upstreamable, that sounds like a good plan for this patch.
Draft: little-endian support
Patches that have been reviewed and can be merged after the freeze ends
module-zeroconf-discovery: Add parameter for switching to new tunnel modules
added hidden args to set pkgconfig and cmake template path
pulsecore: thread-posix.c: remove unnecessary assignment
Patches that need to be prioritized
(nothing here at the moment)