Re: [PATCH] ALSA: hda/generic: Use "Input Source" for the capture source selector
From: Takashi Iwai
Date: Thu Oct 22 2026 - 02:13:33 EST
On Thu, 22 Oct 2026 04:57:43 +0200,
songxiebing wrote:
>
> From: Bob Song <songxiebing@xxxxxxxxxx>
>
> The generic parser names the capture-source selector "Capture Source" when a
> single ADC is used, and "Input Source" when multiple ADCs are handled
> (including the dynamic ADC switching case). Commit 624d914d091a
> ("ALSA: hda - Use "Capture Source" for single sources") introduced this
> split to keep the nicer name for the common single-ADC case, because
> "Capture Source" doesn't work well with the alsa-lib simple-mixer
> abstraction when multiple instances are present.
>
> However, alsa-lib expands a control named "Capture Source" into one
> simple-mixer element per enum item (an exclusive capture switch per input),
> so there is no enumerated simple-mixer element named "Capture Source" for
> userspace to look up. PulseAudio's ALSA backend resolves its input-source
> element by name via snd_mixer_find_selem() and therefore cannot find the
> selector, leaving the capture source uncontrollable on such single-ADC
> systems.
>
> "Input Source" is mapped by alsa-lib to a single enumerated element and
> works for both the single- and multi-ADC cases. Use it unconditionally.
It must be rather a problem of PulseAudio, and it should be able to
handle Capture Source, as it's been used for most of old AC97-based
cards.
Reverting this old behavior change (since 14 years ago!) is just
no-go.
thanks,
Takashi