<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-04 21:59 GMT+08:00 Maarten Lankhorst <span dir="ltr"><<a href="mailto:maarten.lankhorst@canonical.com" target="_blank">maarten.lankhorst@canonical.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hey,<br>
<br>
op 30-11-13 18:07, Lars-Peter Clausen schreef:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
PCM Devices which have the BATCH flag set update the PCM pointer only with<br>
period size granularity. Using timer based scheduling does not have any<br>
advantage in this mode. For one devices which have that flag set usually update<br>
the position pointer in software after getting the period interrupt. So<br>
disabling the period interrupt is not possible for this kind of devices.<br>
Furthermore writing to or reading from the buffer slice for the current period<br>
is not possible since the position inside the buffer is not known. On the other<br>
hand the tsched algorithm seems to get easily confused for this kind of<br>
hardware, which results in garbled audio output. This typically means that timer<br>
based scheduling needs to be manually disabled on systems with such devices.<br>
Auto disabling tsched in this case allows these systems to run with the default<br>
configuration.<br>
</blockquote>
This causes a regression on USB headphones with winepulse when using pulseaudio 5.0.<br>
<br>
The latency is set to 100 ms and never changed afterwards, when interactive applications are<br>
run that require lower latency the latency is never lowered, and wine's dsound emulation will fail<br>
because it expects a granularity of ~40-50 ms at most, depending on the application.<br>
<br>
I believe that tsched can stay enabled, as long as we take care always to buffer at least 1 period_size.<br>
<br></blockquote></div><br><br></div><div class="gmail_extra">if you disable timer scheduling , you have to specify default-fragment-size-msec (period time) to 10 msĀ  if wine expect 10ms <br><br><pre><code>
; default-fragments = 4
; default-fragment-size-msec = 25</code></pre><br><br><a href="http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/daemon/daemon.conf.in">http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/daemon/daemon.conf.in</a><br>
</div></div>