[pulseaudio-discuss] Best Case Latency

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Wed Sep 25 09:27:24 PDT 2013


On Wed, 2013-09-25 at 23:35 +1000, Patrick Shirkey wrote:
> On Tue, September 24, 2013 10:33 pm, Patrick Shirkey wrote:
> >
> > On Mon, September 23, 2013 6:11 pm, Tanu Kaskinen wrote:
> >> The audio is accumulating in some buffer, and the JACK sink in
> >> PulseAudio doesn't have any buffer, so it's not the sink. It could be
> >> some other buffer in PulseAudio, or it could be a buffer in ecasound.
> >>
> >> Saying that ecasound is configured with 64 frames/period isn't terribly
> >> informative, because I don't know how ecasound handles the transfer from
> >> the input to the output. Does it push the data immediately to the output
> >> when it gets something from the input, or are both directions callback
> >> based? If the former, then the data can accumulate in the stream buffer
> >> in PA, and if the latter, then there has to be an intermediate buffer
> >> between the input and the output in ecasound, and the data can
> >> accumulate there.
> >>
> >
> > I've asked for some more details on the ecasound list.
> >
> > If the PA stream buffer is kicking in, Is there any way I can verify if it
> > is happening? is there anything I can do to minimise that affect?
> >
> 
> I had verification from the ecasound developer Kai Vehmanen that ecasound
> does not have an internal buffer that could be affecting the latency in
> this way. It just buffers 64 frames and if it can't keep up it will drop
> data and report an underun. In my tests there were just a few underruns
> over several hours so it appears safe to rule out ecasound.
> 
> Does anyone have any suggestions for testing the PA Stream Buffer to check
> if it is a bottleneck in my test environment?

Sorry, forgot to reply earlier. Yes, you can check the stream buffer
with "pactl list sink-inputs". The "Buffer Latency" field shows the
amount of audio in the stream buffer (not yet written to the sink). The
"Sink Latency" field shows the latency of the sink. The sum of these two
values is the full server-side latency for the stream. In addition to
the server-side latency, there's the transport latency between the
client and the server (very low for local streams).

-- 
Tanu



More information about the pulseaudio-discuss mailing list