[alsa-devel] Buffer size for ALSA USB PCM audio
Eldad Zack
eldad at fogrefinery.com
Sun Sep 22 23:50:39 CEST 2013
On Thu, 29 Aug 2013, Alan Stern wrote:
> On Thu, 29 Aug 2013, James Stone wrote:
>
> > On Wed, Aug 28, 2013 at 7:46 PM, Alan Stern <stern at rowland.harvard.edu> wrote:
> > > On Wed, 28 Aug 2013, Clemens Ladisch wrote:
> > >
> > >> Sorry, what I said applies more to explicit sync endpoints. When using
> > >> implicit sync, a playback URB is submitted for each completed capture
> > >> URB, with the number of samples per packet identical to the
> > >> corresponding capture packet, so the parameters must be identical.
> > >
> > > Got it. Below is an updated patch.
> > >
> > > James, the problem you encountered was most likely a result of the
> > > faulty treatment of capture endpoints that Clemens pointed out. It was
> > > quite obvious in the usbmon traces that the unpatched driver used 8
> > > packets per URB whereas the patched driver used 22. This updated patch
> > > should fix that problem.
> > >
> >
> > Works fine. With this, it is possible to get clear playback at 64
> > frames/period too. With vanilla 3.10.9, there was some glitchy
> > distortion to the sound at that latency, so this seems to be an
> > improvement.
>
> That's good. What happens if you push frames/period even lower?
>
> Daniel and Eldad, more testing of the most recent proposed patch would
> be welcome.
Sorry for the long response time but I've been busy lately.
I see a good improvement on my card (M-Audio C400, implicit feedback) -
using a 48 frame period (@48kHz) I get no xruns with jack running without
clients. Without the patch, the above test generates constant xruns.
I tested the patch with mainline 3.11.0, and let jack run about 5
minutes.
Thank you for working on this! FWIW, feel free to add:
Tested-by: Eldad Zack <eldad at fogrefinery.com>
Cheers,
Eldad
More information about the Alsa-devel
mailing list