pipewire/spa/plugins/alsa
Pauli Virtanen c89acd3e1c alsa: acp: fix volume rounding down causing mute
Some ALSA devices have minimum HW volume value that is muted.  ALSA
indicates it with SND_CTL_TLV_DB_GAIN_MUTE = -9999999 dB/100 volume dB.
When rounding down to HW volume, we may get this muted value.

When determining splitting of volumes to mixers and soft volume, we
don't want HW mixers to set volume to muted, unless the target volume is
actually muted.

Fix by adding element_ask_unmuted_dB_vol() that rounds up if the asked
rounding mode resulted to mute.

This fixes mic getting muted at low volume despite ALSA reporting the dB
values correctly.

Fixes #4890
2025-10-14 08:02:23 +00:00
..
acp alsa: acp: fix volume rounding down causing mute 2025-10-14 08:02:23 +00:00
mixer Option of analog or iec958 stereo output, both merging volume switches 2025-07-21 12:19:13 +00:00
90-pipewire-alsa.rules Map Razer BlackShark v3 ACP 2025-08-27 15:55:02 +00:00
acp-tool.c spa: acp: make spa-acp-tool debug output easier to read 2025-03-09 16:15:56 +02:00
alsa-acp-device.c alsa: report extra latency for FireWire drivers 2025-09-07 18:23:31 +00:00
alsa-compress-offload-device.c spa: alsa: avoid potential uninitialized variable use 2024-09-18 19:54:13 +00:00
alsa-compress-offload-sink.c alsa-compress-offload-sink: Improve write_queued_output_buffers comments 2025-07-18 10:53:59 +02:00
alsa-pcm-device.c spa: alsa: avoid potential uninitialized variable use 2024-09-18 19:54:13 +00:00
alsa-pcm-sink.c spa: acp: get and emit UCM information for SplitPCM devices 2024-12-21 16:03:19 +02:00
alsa-pcm-source.c spa: acp: get and emit UCM information for SplitPCM devices 2024-12-21 16:03:19 +02:00
alsa-pcm.c alsa: Use the minimum period size as headroom for SOF cards 2025-09-25 16:30:08 +03:00
alsa-pcm.h alsa: Use the minimum period size as headroom for SOF cards 2025-09-25 16:30:08 +03:00
alsa-seq-bridge.c alsa: clear port before adding to free list 2025-08-04 11:02:02 +02:00
alsa-seq.c control: improve UMP to Midi conversiom 2025-08-19 18:33:59 +02:00
alsa-seq.h seq: rework port handling 2025-07-30 17:32:02 +02:00
alsa-udev.c alsa-udev: support alsa.use-ucm 2025-06-17 12:54:39 +02:00
alsa.c meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01:00
alsa.h spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
compress-offload-api-util.c alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
compress-offload-api-util.h alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
compress-offload-api.c alsa-compress-offload-sink: Remove unused variable 2025-07-18 10:53:52 +02:00
compress-offload-api.h alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
meson.build meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01:00
test-hw-params.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-timer.c fix compilation some more 2024-06-18 15:41:12 +02:00