maintainer-feedback requested: [Bug 278821] www/chromium: experiencing audio distortion when using webrtc and Universal Audio Volt 176 interface

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 06 May 2024 21:42:38 UTC
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-chromium (Nobody)
<chromium@FreeBSD.org> for maintainer-feedback:
Bug 278821: www/chromium: experiencing audio distortion when using webrtc and
Universal Audio Volt 176 interface
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278821



--- Description ---
I've been successfully using the Volt 176 USB interface with FreeBSD-CURRENT,
chromium, webrtc, and sndio for a while.

Some time after v120.0.6099.216 I my microphone input becomes distorted. 
People on the other end say I sound like a robot.  Refreshing the tab fixes the
problem.

I haven't been able to identify the last version that works because I don't
have any historical packages.

This problem happens 100% of the time.	It begins at unpredictable times -- it
could be almost immediately or it could be 10 minutes into a chat.

This is the case with google meet, google voice, zoom, and microsoft teams.

My microphone works fine in other applications like firefox, OBS studio, and
audacity.


hw.audio sysctls:

$ sysctl hw.audio
sysctl: unknown oid 'hw.audio'
[ayan@kiwi ~]$ sysctl -a | grep hw.audio
[ayan@kiwi ~]$ sysctl -a | grep hw.sound
[ayan@kiwi ~]$ sysctl -a | grep hw.snd
hw.snd.maxautovchans: 16
hw.snd.default_unit: 4
hw.snd.version: 2009061500/amd64
hw.snd.default_auto: 1
hw.snd.verbose: 4
hw.snd.vpc_mixer_bypass: 1
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets:
PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000
hw.snd.basename_clone: 1
hw.snd.compat_linux_mmap: 0
hw.snd.syncdelay: -1
hw.snd.usefrags: 0
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.timeout: 5
hw.snd.latency_profile: 1
hw.snd.latency: 2
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1

uaudio sysctls:

$ sysctl -a | grep uaudio
<118>Autoloading module: snd_uaudio
uaudio0 numa-domain 0 on uhub0
uaudio0: <Universal Audio Volt 176, class 239/2, rev 2.00/1.00, addr 5> on
usbus0
uaudio0: Play[0]: 192000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
(selected)
uaudio0: Play[0]: 176400 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Play[0]: 96000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Play[0]: 88200 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Play[0]: 48000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Play[0]: 44100 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 192000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
(selected)
uaudio0: Record[0]: 176400 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 96000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 88200 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 48000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: Record[0]: 44100 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio0: MIDI sequencer.
pcm4 numa-domain 0 on uaudio0
uaudio0: No HID volume keys found.
uaudio1 numa-domain 0 on uhub0
uaudio1: <vendor 0x046d C922 Pro Stream Webcam, class 239/2, rev 2.00/0.16,
addr 6> on usbus0
uaudio1: No playback.
uaudio1: Record[0]: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
(selected)
uaudio1: Record[0]: 24000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Record[0]: 16000 Hz, 2 ch, 16-bit S-LE PCM format, 2x4ms buffer.
uaudio1: No MIDI sequencer.
pcm5 numa-domain 0 on uaudio1
uaudio1: No HID volume keys found.
hw.usb.uaudio.buffer_ms: 2
hw.usb.uaudio.default_channels: 0
hw.usb.uaudio.default_bits: 32
hw.usb.uaudio.default_rate: 0
hw.usb.uaudio.handle_hid: 1
dev.uaudio.1.%domain: 0
dev.uaudio.1.%parent: uhub0
dev.uaudio.1.%pnpinfo: vendor=0x046d product=0x085c devclass=0xef
devsubclass=0x02 devproto=0x01 sernum="CCBA809F" release=0x0016 mode=host
intclass=0x01 intsubclass=0x01 intprotocol=0x00
dev.uaudio.1.%location: bus=0 hubaddr=1 port=5 devaddr=7 interface=2
ugen=ugen0.7
dev.uaudio.1.%driver: uaudio
dev.uaudio.1.%desc: vendor 0x046d C922 Pro Stream Webcam, class 239/2, rev
2.00/0.16, addr 6
dev.uaudio.0.%domain: 0
dev.uaudio.0.%parent: uhub0
dev.uaudio.0.%pnpinfo: vendor=0x2b5a product=0x0022 devclass=0xef
devsubclass=0x02 devproto=0x01 sernum="22282038018124" release=0x0100 mode=host
intclass=0x01 intsubclass=0x01 intprotocol=0x20
dev.uaudio.0.%location: bus=0 hubaddr=1 port=4 devaddr=6 interface=0
ugen=ugen0.6
dev.uaudio.0.%driver: uaudio
dev.uaudio.0.%desc: Universal Audio Volt 176, class 239/2, rev 2.00/1.00, addr
5
dev.uaudio.%parent: 
dev.pcm.5.%parent: uaudio1
dev.pcm.4.%parent: uaudio0

/dev/sndstat

$ cat /dev/sndstat
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:
pcm0: <NVIDIA (0x009a) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
	snddev
flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_W
R>
	[pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 0x00006100,
0x00000004
	interrupts 1044, underruns 0, feed 1044, ready 0
[b:2048/1024/2|bs:2048/1024/2]
	channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
	{userland} -> feeder_mixer(0x00200010) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual_play:dsp0.vp0]: spd 44100/48000, fmt
0x00200008/0x00200010, flags 0x10000000, 0x0000002b
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/512/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00200008) -> feeder_format(0x00200008 ->
0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:1 44100 ->
48000) -> {hardware}
pcm1: <NVIDIA (0x009a) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
	snddev
flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_W
R>
	[pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010, flags 0x00006100,
0x00000004
	interrupts 1022, underruns 0, feed 1022, ready 0
[b:2048/1024/2|bs:2048/1024/2]
	channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
	{userland} -> feeder_mixer(0x00200010) -> {hardware}
	pcm1:play:dsp1.p0[pcm1:virtual_play:dsp1.vp0]: spd 44100/48000, fmt
0x00200008/0x00200010, flags 0x10000000, 0x0000002b
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/512/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00200008) -> feeder_format(0x00200008 ->
0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:1 44100 ->
48000) -> {hardware}
pcm2: <NVIDIA (0x009a) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
	snddev
flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_W
R>
	[pcm2:play:dsp2.p0]: spd 48000, fmt 0x00200010, flags 0x00006100,
0x00000004
	interrupts 1000, underruns 0, feed 1000, ready 0
[b:2048/1024/2|bs:2048/1024/2]
	channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
	{userland} -> feeder_mixer(0x00200010) -> {hardware}
	pcm2:play:dsp2.p0[pcm2:virtual_play:dsp2.vp0]: spd 44100/48000, fmt
0x00200008/0x00200010, flags 0x10000000, 0x0000002b
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/512/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00200008) -> feeder_format(0x00200008 ->
0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:1 44100 ->
48000) -> {hardware}
pcm3: <NVIDIA (0x009a) (HDMI/DP 8ch)> on hdaa0 (1p:1v/0r:0v)
	snddev
flags=0x200002e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC,PRIO_W
R>
	[pcm3:play:dsp3.p0]: spd 48000, fmt 0x00200010, flags 0x00006100,
0x00000004
	interrupts 978, underruns 0, feed 978, ready 0
[b:2048/1024/2|bs:2048/1024/2]
	channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
	{userland} -> feeder_mixer(0x00200010) -> {hardware}
	pcm3:play:dsp3.p0[pcm3:virtual_play:dsp3.vp0]: spd 44100/48000, fmt
0x00200008/0x00200010, flags 0x10000000, 0x0000002b
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:4096/512/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00200008) -> feeder_format(0x00200008 ->
0x00200010) -> feeder_volume(0x00200010) -> feeder_rate(0x00200010 q:1 44100 ->
48000) -> {hardware}
pcm4: <Universal Audio Volt 176> on uaudio0 (1p:2v/1r:1v) default
	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
	[pcm4:play:dsp4.p0]: spd 48000, fmt 0x00200010/0x00201000, flags
0x00002108, 0x00000006
	interrupts 331088, underruns 0, feed 331087, ready 0
[b:1536/768/2|bs:1024/512/2]
	channel flags=0x2108<TRIGGERED,BUSY,HAS_VCHAN>
	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->
0x00201000) -> {hardware}
	pcm4:play:dsp4.p0[pcm4:virtual_play:dsp4.vp0]: spd 192000/48000, fmt
0x00200010, flags 0x1000114c, 0x00000029, pid 31315 (audacity)
	interrupts 0, underruns 0, feed 362155, ready 98944
[b:0/0/0|bs:131072/32768/4]
	channel flags=0x1000114c<RUNNING,TRIGGERED,NBIO,BUSY,HAS_SIZE,VIRTUAL>
	{userland} -> feeder_root(0x00200010) -> feeder_rate(0x00200010 q:1
192000 -> 48000) -> feeder_volume(0x00200010) -> {hardware}
	pcm4:play:dsp4.p0[pcm4:virtual_play:dsp4.vp1]: spd 44100/48000, fmt
0x00200010, flags 0x10000000, 0x00000029
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:8192/1024/8]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00200010) -> feeder_volume(0x00200010) ->
feeder_rate(0x00200010 q:1 44100 -> 48000) -> {hardware}
	[pcm4:record:dsp4.r0]: spd 48000, fmt 0x00200010/0x00201000, flags
0x00002100, 0x00000007
	interrupts 93724, overruns 0, feed 281172, hfree 1536, sfree 1024
[b:1536/768/2|bs:1024/512/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->
0x00200010) -> feeder_mixer(0x00200010) -> {userland}
	pcm4:record:dsp4.r0[pcm4:virtual_record:dsp4.vr0]: spd 44100/48000, fmt
0x00200010, flags 0x10000000, 0x00000029
	interrupts 0, overruns 0, feed 0, hfree 0, sfree 32768
[b:0/0/0|bs:32768/256/128]
	channel flags=0x10000000<VIRTUAL>
	{hardware} -> feeder_root(0x00200010) -> feeder_rate(0x00200010 q:1
48000 -> 44100) -> feeder_volume(0x00200010) -> {userland}
pcm5: <vendor 0x046d C922 Pro Stream Webcam> on uaudio1 (0p:0v/1r:1v)
	snddev
flags=0x100002e3<SIMPLEX,AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC,PRIO_RD>
	[pcm5:record:dsp5.r0]: spd 32000, fmt 0x00200010, flags 0x00002100,
0x00000005
	interrupts 1952, overruns 0, feed 3904, hfree 512, sfree 512
[b:512/256/2|bs:512/256/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) ->
{userland}
	pcm5:record:dsp5.r0[pcm5:virtual_record:dsp5.vr0]: spd 44100/32000, fmt
0x00100010/0x00200010, flags 0x10000000, 0x00000069
	interrupts 0, overruns 0, feed 0, hfree 0, sfree 16384
[b:0/0/0|bs:16384/128/128]
	channel flags=0x10000000<VIRTUAL>
	{hardware} -> feeder_root(0x00200010) -> feeder_matrix(2.0 -> 1.0) ->
feeder_volume(0x00100010) -> feeder_rate(0x00100010 q:1 32000 -> 44100) ->
{userland}
No devices installed from userspace.