[pulseaudio-discuss] Low latency
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Sun Nov 11 17:54:03 PST 2012
> Not sure what you mean with "sink" and "ring buffer". When mixing, data
> goes from the sink-input / "client-server" buffer into the DMA buffer
> directly.
Please look at protocol-native.c. I am not sure why there is this
division of latency in two, for low-latency you can probably decrease
the client buffer some.
/* So, the user asked us to adjust the latency of the stream
* buffer according to the what the sink can provide. The
* tlength passed in shall be the overall latency. Roughly
* half the latency will be spent on the hw buffer, the other
* half of it in the async buffer queue we maintain for each
* client. In between we'll have a safety space of size
* 2*minreq. Why the 2*minreq? When the hw buffer is completely
* empty and needs to be filled, then our buffer must have
* enough data to fulfill this request immediately and thus
* have at least the same tlength as the size of the hw
* buffer. It additionally needs space for 2 times minreq
* because if the buffer ran empty and a partial fillup
* happens immediately on the next iteration we need to be
* able to fulfill it and give the application also minreq
* time to fill it up again for the next request Makes 2 times
* minreq in plus.. */
if (tlength_usec > minreq_usec*2)
sink_usec = (tlength_usec - minreq_usec*2)/2;
else
sink_usec = 0;
pa_log_debug("Adjust latency mode enabled, configuring sink
latency to half of overall latency.");
>> and events up to 4ms apart. Has anyone tried the changes we pushed
>> recently at the kernel level to properly handle the ring buffer pointer
>> and delay? I believe some of the underruns may be due to the ~1ms
>> inaccuracy that we had before these changes. If your driver is already
>> giving you a 25% precision error no wonder things are broken?
>
> Right now we have bigger issues, such as why nobody is responding to
> messages such as this one [1] :-(
Quite frankly I did not understand the problem you are facing and what
these measurements show. Maybe you're on to something but it's hard to
provide feedback here.
More information about the pulseaudio-discuss
mailing list