pipewire/spa/plugins
Wim Taymans fb74ab9054 alsa: add volume limits
Add 3 levels of volume limits.

1. Add api.acp.min-volume and api.acp.max-valume on the ACP devices that
   is applied to all noded from this device
2. Add api.acp.device.<node-name>.min-volume and
   api.acp.device.<node-name>.max-volume that is applied to all nodes
   from the device with the given node-name.
3. Add api.acp.port.<port-name>.min-volume and
   api.acp.port.<port-name>.max-volume that is applied to all ports
   from the device with the given port-name.

The volume settings on an ALSA nodes can either go through the device on
the Routes (ports) to control the hardware mixer volumes and then the
remainder is performed on the nodes in software by the channel mixer.

We need to set the limits on the channel mixer when the hardware mixer
does not have routes.

This is not an easy way to set the volume limits but it provides a
static configuration option to enforce the limits. An easier
configuration option will also make it easier to change/bypass the
limits, which these options can guard against.

See #5266, #4323, #1517
2026-06-08 10:46:56 +02:00
..
aec spa: aec: Fix a spurious warning while parsing args 2026-06-03 09:39:32 -07:00
alsa alsa: add volume limits 2026-06-08 10:46:56 +02:00
audioconvert filter-graph: relax LADSPA plugin loading 2026-05-14 13:23:19 +02:00
audiomixer audiomixer: rate limit the "out of buffers" debug 2026-04-28 10:34:39 +02:00
audiotestsrc plugins: handle some fd allocation errors 2026-05-05 11:36:45 +02:00
avb avb: use safer strbuf to construct strings 2026-05-06 13:09:03 +02:00
bluez5 fix some compilation problems 2026-05-11 11:59:54 +02:00
control mixer: handle control.ump property 2026-03-25 11:59:43 +01:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: sync_volume initializes the control ports 2026-05-20 11:32:39 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: use std::span 2026-03-27 09:57:56 +01:00
support support: make sure loop_add_io is closes the fd when asked 2026-05-15 13:21:55 +02:00
test plugins: handle some fd allocation errors 2026-05-05 11:36:45 +02:00
v4l2 security: add missing O_CLOEXEC flag to V4L2 device open 2026-04-28 12:56:40 +02:00
videoconvert modules: handle allocation errors gracefully 2026-05-05 13:10:21 +02:00
videotestsrc spa: do not use SPA_PROP_live 2026-03-27 18:03:24 +01:00
volume treewide: access the position information using helpers 2025-10-21 13:06:25 +02:00
vulkan vulkan: check for fcntl errors 2026-05-06 12:45:37 +02:00
meson.build spa/plugins: revert "Disable alsa plugin on !Linux platforms." 2026-03-12 09:20:05 +00:00