Path to this page:
Subject: CVS commit: pkgsrc/audio/pulseaudio
From: Ryo ONODERA
Date: 2024-01-30 14:54:33
Message id: 20240130135433.BE0DCFA42@cvs.NetBSD.org
Log Message:
pulseaudio: Update to 17.0
Changelog:
PulseAudio 17.0 release notes
1. Notes for end users
1. Updates to ALSA UCM-based setups
2. Battery level indication to Bluetooth devices
3. Support for the Bluetooth FastStream codec
4. webrtc-audio-processing dependency updated
5. Trigger role groups added to module-role-cork
6. XDG base directory spec for profile-set loading
2. Notes for application developers
1. PA_RATE_MAX increased
3. Notes for packagers
1. webrtc-audio-processing dependency updated
4. git shortlog
Notes for end users
Updates to ALSA UCM-based setups
An extensive set of changes landed which modify how ALSA UCM configuration is
mapped to PulseAudio profiles and ports. Notably
1. We no longer generate combined ports for non-conflicting devices, and
instead create one profile for each set of non-conflicting devices. Devices
that are not explicitly marked as conflicting but share the same
PlaybackPCM or CapturePCM are considered conflicting.
2. Instead of different inputs/outputs being exposed as ports on a source/
sink, they will be exposed as separate sources/sinks. On some setups where
two inputs or outputs can run concurrently and independently, you will now
see more than one input/output sink available when selecting the
appropriate profile.
Battery level indication to Bluetooth devices
This shares the battery level of a PulseAudio host to a Bluetooth headset (for
example, if you're running a PulseAudio-based device connected to a car, the
car can report the battery level of your device).
Support for the Bluetooth FastStream codec
Devices that support the FastStream codec (which provides higher quality
bidirectional audio) are now supported.
webrtc-audio-processing dependency updated
We updated to a more recent version of the webrtc-audio-processing library with
improvements in echo cancellation and higher tolerance for drift.
Unfortunately, this does mean that beamforming support, which was dropped
upstream, is no longer present.
Trigger role groups added to module-role-cork
module-role-cork now allows groups of roles (separated by /) as triggers.
XDG base directory spec for profile-set loading
The XDG base directory specification is now used for ALSA profile set loading
($XDG_DATA_HOME, followed by $XDG_DATA_DIRS, and finally falling back to the
previous behaviour).
Notes for application developers
PA_RATE_MAX increased
The maximum supported sample rate is now 768kHz.
Notes for packagers
webrtc-audio-processing dependency updated
We now depend on version 1.3 of the library, which is parallel-installable with
other API versions. As part of this change, the default cpp_std for the project
has been set to c++17.
git shortlog
Alistair Leslie-Hughes (7):
Propagate return value from pa_pstream_attach_memfd_shmid
Ensure fds are closed when exec functions are used.
pactl: Stop a crash when setting the volume which is out of range
pulsecore: Set errno before calling read
rtp-send: Use getaddrinfo to improve support for ipv6.
rtp-send: Use getaddrinfo to improve support for ipv6 on source address
rtp-recv: Use getaddrinfo to improve support for ipv6.
Alper Nebi Yasak (24):
idxset: Add set contains() function
idxset: Add set comparison operations
idxset: Add reverse iteration functions
alsa-ucm: Always create device conflicting/supported device idxsets
alsa-ucm: Make modifiers track conflicting/supported devices as idxsets
alsa-ucm: Add enable, disable, status helpers for devices
alsa-ucm: Let profiles know their associated UCM verb
alsa-ucm: Stop conflating profile name with UCM verb name
alsa-ucm: Make mapping creation independent from indvidual profiles
alsa-ucm: Split profile creation into verb and profile parts
alsa-ucm: Rewrite conformant device group generation with idxsets
alsa-ucm: Fix device conformance check
alsa-ucm: Split out helpers for device set name, description, priority
alsa-ucm: Make one input/output mapping per UCM device
alsa-ucm: Remove combination port generation logic
alsa-ucm: Make ports store only one device
alsa-ucm: Make mapping UCM contexts have only one device
alsa-ucm: Make mapping UCM contexts have only one modifier
alsa-ucm: Disable old devices when switching profiles of same verb
alsa-ucm: Create multiple profiles per verb for conflicting devices
alsa-ucm: Add enable, disable, status helpers for modifiers
alsa-ucm: Disable old modifiers when switching profiles of same verb
alsa-ucm: Consider devices using the same PCM as incompatible
alsa-ucm: Fix more instances of profile-verb conflation
Arun Raghavan (13):
ci: Update to freedesktop/ci-templates
ci: Use built-in distribution image name mechanism
echo-cancel-test: Drop references to internal message queue
build-sys: Bump webrtc-audio-processing dependency
build-sys: Bump .so version 16.99.1
build-sys: Bump cpp_std to c++17
build-sys: Add a webrtc-audio-processing wrap file
ci: Force build of webrtc-aec
ci: Add doxygen to build image
ci: Drop -werror in build
build-sys: Bump webrtc-audio-processing wrap to 1.2
build-sys: Bump webrtc-audio-processing wrap to 1.3
Update NEWS for 17.0
Asier Sarasua Garmendia (2):
Added translation using Weblate (Basque)
Translated using Weblate (Basque)
Ataberk Özen (2):
alsa-profiles: import Asus Xonar SE profile from pipewire
alsa-profiles: rename mappings for Xonar SE
Balázs Meskó (1):
Translated using Weblate (Hungarian)
Biswapriyo Nath (1):
meson: Add DEF file to export APIs in Windows
Dylan Van Assche (4):
bluez5-util: move pa_bluetooth_discovery to header
bluetooth: add AT+BIA support
bluetooth: add UPower backend
bluetooth: hook up UPower backend
Eero Nurkkala (1):
echo-cancel: add webrtc AEC3 support
Ettore Atalan (1):
Translated using Weblate (German)
Fabrice Fontaine (1):
meson.build: fix build without C++
Fran Diéguez (2):
Translated using Weblate (Galician)
Translated using Weblate (Galician)
Georg Chini (7):
combine-sink: Fix threading issue during underrun
time-smoother-2: Fix stream time when stream starts paused
stream-interaction: Extend trigger groups to module-role-cork
stream-interaction: Fix regression when a trigger role is also a cork role
tunnel-sink-new: Fix hang when used in combination with module-combine-sink
switch-on-connect: Do not overwrite user configured default sink/source
pactl, pacmd: Allow to unset the configured default sink or source
Gioele Barabucci (1):
daemon/meson.build: Install dbus policy in /usr, not /etc
Gogo Gogsi (1):
Translated using Weblate (Croatian)
Hector Martin (1):
alsa: ucm: Fix spurious mixer path removal on initial profile set
Hugo Carvalho (1):
Translated using Weblate (Portuguese)
Hui Wang (1):
backend-native: Handle multi AT commands in a buffer
Igor V. Kovalenko (26):
rtp: Accept CRLF delimiters in SDP as required by RFC 4566
rtp: Initialize SDP info struct field added for OPUS
build-sys: meson: Make module-console-kit optional
build-sys: meson: Move qpaeq to daemon build
bluetooth: Free memblock after codec errors
bluetooth: Do not use hardware volume control for A2DP backchannel
bluetooth: Add faststream codec
bluetooth: Use stereo sample spec for faststream backchannel
bluetooth: Handle fragmented faststream frames
bluetooth: Add 20dB boost for faststream source volume
backend-native: Fix stack corruption reading RFCOMM AT+BIA= response
module-combine-sink: Do not set up rate adjustment timer at load time
module-combine-sink: Suspend while unloading to fix crash moving sinks
backend-native: Fix parsing comma-delimited response
alsa-util: Dump probed rates
alsa-util: Add more standard sample rates.
bluetooth: Amend writeout to send more initial frames
resampler: Fix oversized memblock pushed from resampler
bluetooth: Do not attempt decoding too short faststream packet data
pstream: Pass frame size to keep split memblock parts aligned
alsa-util: Perform format and rate detection before setting HW params
alsa-util: Fix pa_alsa_get_supported_formats fallback.
memblockq: Drop check for chunk index alignment, require aligned length
shell-completion: Fix typo in --use-pid-file= suggestion
memblockq: Adjust tail chunk offset into memblock after split
Fix crash running in restricted environment.
Jaechul Lee (1):
sound-file-stream: Fix crash when playing a file which is not aligned
Jan Kuparinen (1):
Translated using Weblate (Finnish)
Jan Palus (1):
bluetooth/gst: Correct var type for GST_TYPE_BITMASK
Jaroslav Kysela (5):
alsa-mixer: allow to re-attach the mixer control element
alsa-ucm: Set profiles by their struct instance, not their name
alsa-ucm: remove extra space from the device.intended_roles property
alsa-mixer: fix the re-attach code for the mixer control element
alsa-mixer: extend pa_alsa_mixer_find with the subdevice check
Jiri Grönroos (1):
Translated using Weblate (Finnish)
Joachim Philipp (1):
Translated using Weblate (German)
Jordi Mas (2):
Translated using Weblate (Catalan)
Translated using Weblate (Catalan)
Marijn Suijten (5):
backend-native: Fix indentation and whitespace style
backend-native: Add backend pointer to transport_data
Revert "bluez5-util: move pa_bluetooth_discovery to header"
backend-native: Update all CIND indicators
backend-native: Remove uninformative "Profile unavailable" debug \
message
Mart Raudsepp (1):
proplist-util: Don't assume gdkx is there as gtk could be built without it
Nicolas Cavallari (2):
build-sys: Fix atomic support detection
build-sys: Add missing libatomic_ops dependencies
Peter Meerwald-Stadler (5):
module-combine-sink: Use fabs() instead of abs() for double
module-combine-sink: Fix indentation
module-tunnel: Fix typos
volume: Fix typo
raop-client: Fix typo
Philip Goto (1):
Translated using Weblate (Dutch)
Rosen Penev (1):
meson: fix meson warnings
Rudi Heitbaum (2):
shm: use MFD_NOEXEC_SEAL for shared memory
shm: allow for older versions of Linux without MFD_NOEXEC_SEAL
Sabri Ünal (1):
Translated using Weblate (Turkish)
Sean Greenslade (1):
pactl: fix parsing of percentages with decimal points
Seong-ho Cho (1):
Translated using Weblate (Korean)
Shunsuke Shimizu (1):
build-sys: Fix macOS build
SimonP (1):
alsa-mixer: Respect XDG base directory spec when loading profile sets
Takashi Sakamoto (1):
alsa-mixer: avoid assertion at alsa-lib mixer API when element removal
Tanu Kaskinen (2):
i18n: Update .pot and .po files
Update NEWS for 16.1
Temuri Doghonadze (10):
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Translated using Weblate (Georgian)
Toni Estevez (5):
Translated using Weblate (Catalan)
Translated using Weblate (Spanish)
Translated using Weblate (Spanish)
Translated using Weblate (Spanish)
Translated using Weblate (Spanish)
Weijia Wang (1):
echo-cancel: Fix macOS build
Wim Taymans (1):
sndfile: handle sndfiles with s24 format
Yureka (1):
Make gio-2.0 optional when gsettings is disabled
acheronfail (1):
pactl: SUBSCRIBE add a newline after every json message
flyingOwl (1):
time-smoother-2: Fix time calculation by comparing timestamps
grimst (1):
Translated using Weblate (French)
hashitaku (2):
shell-completion: add new subcommand get-* for bash
shell-completion: add new subcommand get-* for zsh
mooo (1):
Translated using Weblate (Lithuanian)
peijiankang (1):
fix translation error of pulseaudio
redfast00 (1):
rtp: fix 'size mismatch' on BSD style operating systems
wael (1):
meson: use proper type for bools
김인수 (6):
Translated using Weblate (Korean)
Translated using Weblate (Korean)
Translated using Weblate (Korean)
Translated using Weblate (Korean)
Translated using Weblate (Korean)
Translated using Weblate (Korean)
Files: