All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Winstein <keithw@cs.stanford.edu>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH] ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2
Date: Tue, 27 Oct 2020 00:18:41 -0700	[thread overview]
Message-ID: <20201027071841.GA164525@trolley.csail.mit.edu> (raw)
In-Reply-To: <s5h36215c2r.wl-tiwai@suse.de>

On Mon, Oct 26, 2020 at 02:52:28PM +0100, Takashi Iwai wrote:
> On Mon, 26 Oct 2020 09:01:43 +0100,
> Keith Winstein wrote:
> > 
> > Here is the patch again without line-wrapping.
> 
> Could you put the patch description in the patch itself?
> Basically I'm fine to merge this as is, just missing information for
> git.

Sure, here you go:

From 51fac91fa3a5da656ca6a49ca6cc98be7664efd7 Mon Sep 17 00:00:00 2001
From: Keith Winstein <keithw@cs.stanford.edu>
Date: Sun, 25 Oct 2020 22:05:47 -0700
Subject: [PATCH] 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>
---
 sound/usb/pcm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index b401ee894e1b..31b1edf53c41 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -352,6 +352,10 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
 		ep = 0x81;
 		ifnum = 2;
 		goto add_sync_ep_from_ifnum;
+	case USB_ID(0x1686, 0xf029): /* Zoom UAC-2 */
+		ep = 0x82;
+		ifnum = 2;
+		goto add_sync_ep_from_ifnum;
 	case USB_ID(0x1397, 0x0001): /* Behringer UFX1604 */
 	case USB_ID(0x1397, 0x0002): /* Behringer UFX1204 */
 		ep = 0x81;
-- 
2.25.1


  reply	other threads:[~2020-10-27  7:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26  7:26 [PATCH] ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 Keith Winstein
2020-10-26  8:01 ` Keith Winstein
2020-10-26 13:52   ` Takashi Iwai
2020-10-27  7:18     ` Keith Winstein [this message]
2020-10-27  7:27       ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201027071841.GA164525@trolley.csail.mit.edu \
    --to=keithw@cs.stanford.edu \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.