aboutsummaryrefslogtreecommitdiff
path: root/lib/Index/IndexTypeSourceInfo.cpp
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2026-08-26 14:31:57 +0000
committerKyle Evans <kevans@FreeBSD.org>2026-08-26 14:31:57 +0000
commitf01b594b7fa5cac4328f7137fb9cb0eef7ffd040 (patch)
treecab72a69f13f4346c16370bf7594f11c84ce66c9 /lib/Index/IndexTypeSourceInfo.cpp
parentea7c339e8b048cebe79ea4313d2248a139d82795 (diff)
snd_uaudio: recognize hardware sidetone as a monitorHEADmain
The Logitech H390, for instance, has the following interface layout: ~~ 7 INPUT 34 INPUT 10 INPUT Mic (0x201) Mic (0x201) USB Stream (0x101) | | | v v | 19 FEATURE 35 FEATURE | | | | v v | 25 EXTENSION +------> 36 MIXER <---+ | | v v 13 OUTPUT 22 FEATURE USB Stream (0x101) | v 16 OUTPUT Speaker (0x301) ~~ The 7->13 path on the left is a typical microphone-in configuration, while the right side is a little more complicated. The 34 -> 35 -> 36 leg is describing a hardware sidetone control, while the other is a standard audio-out configuration. During feature unit evaluation, we need to pick up the scenario of node 35 above, which is directly wiring the microphone to the speaker. Right now we'll likely tie it to the pcm/vol levels and this unit will emit a very prompt feedback screech, but it's really shaped more like a MONITOR control. This avoids mishandling feature unit 22 because that's evaluated in one of the other cases: one of the inputs is the USB stream, so it's wired up as a PCM. One note on this headset: the presence of mixer 36 currently breaks the `vol` control, leaving only `pcm` to control the volume. Given that it has both Mic and USB input, I suspect we get a 1:1 cluster configuration for the Mic input but something more complicated for the USB input that we end up ignoring. Thus, "vol" might technically control the monitor volume but isn't wired up to the USB input cluster. I have not had a chance to confirm this, yet. PR: 291424 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D58779
Diffstat (limited to 'lib/Index/IndexTypeSourceInfo.cpp')
0 files changed, 0 insertions, 0 deletions