[alsa-devel] [pulseaudio-discuss] [PATCH] alsa: Disable timer-scheduling for PCMs with the BATCH flag

Clemens Ladisch clemens at ladisch.de
Tue Dec 3 13:42:04 CET 2013

Takashi Iwai wrote:
> Clemens Ladisch wrote:
>> Takashi Iwai wrote:
>>> Raymond Yau wrote:
>>>> usb-audio seem update when each URB send/receive (in 1ms intervals)
>> The default is to use larger intervals.
>>> The usb-audio driver behaved in a BATCH way in the very early version,
>>> but it was improved.
>> The delay reporting is more precise, but the DMA position still jumps
>> for each URB.
>>> So we can get rid of the flag from this driver now.
>> How well does timer-scheduling work with large URBs?
> I thought PCM runtime delay should give the accurate sample position,
> irrespective to URB size?

The position of the sample that is currently being played is accurate
(rounded to a USB frame).  The DMA position, however, changes only in
URB-sized increments.  (And that is accurate too, because it describes
exactly how the data is copied out of the buffer.)

> It should suffice for PA to control via timer scheduling.

Large jumps in the DMA position mean that there is a large part of the
buffer which cannot be safely changed by PA.  If this is why PA wants to
disable tsched, then the BATCH flag should stay.


More information about the Alsa-devel mailing list