mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
IEC958 (S/PDIF, HDMI, DisplayPort) switches default to muted in ALSA drivers, causing no audio output on digital devices. While UCM configurations and mixer paths can handle IEC958 unmuting, several scenarios lack coverage: - Pro-audio profiles (bypass UCM and mixer paths by design) - Devices without UCM configurations - Devices with incomplete mixer path definitions - Cards with multiple HDMI/DP outputs (indexed switches) This ensures IEC958 switches are enabled during device activation and port changes. The implementation uses the device mixer when available, falls back to the card mixer for pro-audio profiles, and enables all IEC958 switches regardless of index. Safe for all configurations: the operation is idempotent and provides defense-in-depth even when UCM or mixer paths handle it correctly. Tested on AMD Rembrandt GPU with 3 HDMI outputs in pro-audio mode. |
||
|---|---|---|
| .. | ||
| acp | ||
| mixer | ||
| 90-pipewire-alsa.rules | ||
| acp-tool.c | ||
| alsa-acp-device.c | ||
| alsa-compress-offload-device.c | ||
| alsa-compress-offload-sink.c | ||
| alsa-pcm-device.c | ||
| alsa-pcm-sink.c | ||
| alsa-pcm-source.c | ||
| alsa-pcm.c | ||
| alsa-pcm.h | ||
| alsa-seq-bridge.c | ||
| alsa-seq.c | ||
| alsa-seq.h | ||
| alsa-udev.c | ||
| alsa.c | ||
| alsa.h | ||
| compress-offload-api-util.c | ||
| compress-offload-api-util.h | ||
| compress-offload-api.c | ||
| compress-offload-api.h | ||
| meson.build | ||
| test-hw-params.c | ||
| test-timer.c | ||