ALSA: usb-audio: relax urb data align. restriction HVR-950Q and HVR-850 only
authorJohn S. Gruber <JohnSGruber@gmail.com>
Sun, 27 Dec 2009 17:19:58 +0000 (12:19 -0500)
committerTakashi Iwai <tiwai@suse.de>
Mon, 28 Dec 2009 11:30:41 +0000 (12:30 +0100)
Addressing audio quality problem.

In sound/usb/usbaudio.c, for the Hauppage HVR-950Q and HVR-850 only, change
retire_capture_urb to allow transfers on audio sub-slot boundaries rather
than audio slots boundaries.

With these devices the left and right channel samples can be split between
two different urbs. Throwing away extra channel samples causes a sound
quality problem for stereo streams as the left and right channels are
swapped repeatedly, perhaps many times per second.

Urbs unaligned on sub-slot boundaries are still truncated to the next
lowest stride (audio slot) to retain synchronization on samples even
though left/right channel synchronization may be lost in this case.

Detect the quirk using a case statement in snd_usb_audio_probe.

BugLink: https://bugs.launchpad.net/ubuntu/+bug/495745
Signed-off-by: John S. Gruber <JohnSGruber@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

No differences found