revert: Remove mixer path IEC958 fix

Reverts alsa-mixer.c changes from 32a3ffc74. The comprehensive ACP
layer fix (bdb82be4e) handles all scenarios including pro-audio
profiles that bypass mixer paths, making this approach redundant.
This commit is contained in:
Daniel Nouri 2025-10-06 09:06:01 +02:00
parent b7a2fcf27e
commit 1cd056aa1e

View file

@ -1479,23 +1479,13 @@ int pa_alsa_path_select(pa_alsa_path *p, pa_alsa_setting *s, snd_mixer_t *m, boo
if (s) if (s)
setting_select(s, m); setting_select(s, m);
/* Set hw mute switches to match device mute status. /* Finally restore hw mute to the device mute status. */
* if (p->mute_during_activation) {
* When mute_during_activation is enabled, switches are temporarily muted PA_LLIST_FOREACH(e, p->elements) {
* during path setup to avoid pops/clicks, and this restores them. if (e->switch_use == PA_ALSA_SWITCH_MUTE) {
* if (element_set_switch(e, m, !device_is_muted) < 0)
* When mute_during_activation is disabled (default), switches may still be return -1;
* in their kernel default state (often muted for digital outputs like IEC958). }
* We must explicitly unmute them if the device isn't muted.
*
* This ensures HDMI/DisplayPort audio (IEC958) works correctly, as these
* digital output switches default to muted in ALSA drivers but are not
* automatically enabled when the path is selected.
*/
PA_LLIST_FOREACH(e, p->elements) {
if (e->switch_use == PA_ALSA_SWITCH_MUTE) {
if (element_set_switch(e, m, !device_is_muted) < 0)
return -1;
} }
} }