On 03/04/2014 02:59 PM, Maarten Lankhorst wrote: > Hey, > > op 30-11-13 18:07, Lars-Peter Clausen schreef: >> PCM Devices which have the BATCH flag set update the PCM pointer only >> with >> period size granularity. Using timer based scheduling does not have any >> advantage in this mode. For one devices which have that flag set >> usually update >> the position pointer in software after getting the period interrupt. So >> disabling the period interrupt is not possible for this kind of devices. >> Furthermore writing to or reading from the buffer slice for the >> current period >> is not possible since the position inside the buffer is not known. On >> the other >> hand the tsched algorithm seems to get easily confused for this kind of >> hardware, which results in garbled audio output. This typically means >> that timer >> based scheduling needs to be manually disabled on systems with such >> devices. >> Auto disabling tsched in this case allows these systems to run with >> the default >> configuration. > This causes a regression on USB headphones with winepulse when using > pulseaudio 5.0. > > The latency is set to 100 ms and never changed afterwards, when > interactive applications are > run that require lower latency the latency is never lowered, and wine's > dsound emulation will fail > because it expects a granularity of ~40-50 ms at most, depending on the > application. > > I believe that tsched can stay enabled, as long as we take care always > to buffer at least 1 period_size. The problem is that the USB driver has the BATCH flag set but it shouldn't. Until that is fixed, I believe this patch should be reverted. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic