ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2
authorKeith Winstein <keithw@cs.stanford.edu>
Mon, 26 Oct 2020 05:05:47 +0000 (22:05 -0700)
committerTakashi Iwai <tiwai@suse.de>
Tue, 27 Oct 2020 07:25:04 +0000 (08:25 +0100)
commitf15cfca818d756dd1c9492530091dfd583359db3
tree3342ec4c247a15b3d3d6be41a9900f7a604ad24e
parent2a6eca16f376f6b83aaf73c57f0b6547907a5ed3
ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2

The Zoom UAC-2 USB audio interface provides an async playback endpoint
("1 OUT (ASYNC)") and capture endpoint ("2 IN (ASYNC)"), both with
2-channel S32_LE in 44.1, 48, 88.2, 96, 176.4, or 192
kilosamples/s. The device provides explicit feedback to adjust the
host's playback rate, but the feedback appears unstable and biased
relative to the device's capture rate.

"alsaloop -t 1000" experiences playback underruns and tries to
resample the captured audio to match the varying playback
rate. Forcing the kernel to use implicit feedback appears to
produce more stable results. This causes the host to transmit one
playback sample for each capture sample received. (Zoom North America
has been notified of this change.)

Signed-off-by: Keith Winstein <keithw@cs.stanford.edu>
Tested-by: Keith Winstein <keithw@cs.stanford.edu>
Cc: <stable@vger.kernel.org>
BugLink: https://lore.kernel.org/r/20201027071841.GA164525@trolley.csail.mit.edu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/pcm.c