pipewire/spa/plugins
Pauli Virtanen da2cecf074 alsa: acp: don't disable dB if negative max unless range is small
Disabling dB volumes for max_dB < 0 was added in Pulseaudio in 2021,
based on a device which had -128..-127.07 range. However, negative
max_dB is valid value for USB devices, and there are devices that have
it.

Eg. Microsoft LifeChat LX-3000 has

numid=6,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=151,step=0
  : values=150,150
  | dBminmax-min=-28.37dB,max=-0.06dB

and the dB range seems to be OK. Web search for "The decibel volume
range for element" also gives other hits with seemingly OK looking
ranges.

Don't disable dB volume unless both the max is negative and the range is
suspiciously small. This should still disable it for the device this
check was originally added for.

Link: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/447
Link: 10ac01a206
2025-10-15 21:37:06 +03:00
..
aec spa: aec: webrtc: Expose echo canceller mobile_mode 2025-07-09 13:02:18 -04:00
alsa alsa: acp: don't disable dB if negative max unless range is small 2025-10-15 21:37:06 +03:00
audioconvert audioconvert: accept prop params that are encoded as Long in the pod 2025-10-10 13:48:10 +03:00
audiomixer Add support for mappable buffers in mixer-dsp 2025-10-04 10:04:50 +00:00
audiotestsrc spa: use safe IO_Control parsing 2025-07-31 11:23:30 +02:00
avb *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
bluez5 bluez5: media-sink: cleanup ISO rate matching 2025-10-14 07:59:55 +00:00
control control: unit test for event sort 2025-09-17 13:42:12 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: accept String param values 2025-10-10 15:03:04 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: device: adapt to libcamera change 2025-10-08 13:23:11 +02:00
support node-driver: Make sure the discont clock flag does not remain set forever 2025-07-18 10:52:13 +02:00
test spa: make the wave, pattern and ditherType Int 2025-06-13 10:06:09 +02:00
v4l2 treewide: map SPA_PROP_exposure to V4L2_CID_EXPOSURE_ABSOLUTE 2025-09-05 17:26:44 +02:00
videoconvert adapter: enhance converter flags with follower flags 2025-10-01 11:03:53 +02:00
videotestsrc loop: spa_loop_invoke -> spa_loop_locked where possible 2025-05-30 11:59:35 +02:00
volume spa: fix volume plugin compilation 2024-06-18 15:44:26 +02:00
vulkan spa: vulkan: map VK_INCOMPLETE to ENOSPC 2025-07-12 19:54:14 +00:00
meson.build filter-chain: move the filter-graph to plugins 2024-11-13 11:12:06 +01:00