[pulseaudio-discuss] Latency problem with long latencies

Georg Chini georg at chini.tk
Tue Mar 29 07:52:49 UTC 2016

On 28.03.2016 18:10, Georg Chini wrote:
> On 28.03.2016 16:45, Pierre-Louis Bossart wrote:
>> On 3/28/16 9:30 AM, Georg Chini wrote:
>>> On 28.03.2016 16:27, Pierre-Louis Bossart wrote:
>>>> On 3/20/16 2:24 PM, Georg Chini wrote:
>>>>> On 20.03.2016 19:13, Alexander E. Patrakov wrote:
>>>>>> 20.03.2016 22:41, Georg Chini пишет:
>>>>>>> Hello,
>>>>>>> I am still working on module-loopback and hit a problem that I 
>>>>>>> cannot
>>>>>>> explain.
>>>>>>> When running a HDA card with long latency (333ms) I see that the
>>>>>>> resulting
>>>>>>> latency is not stable but varies around 300 usec. What is worse, 
>>>>>>> the
>>>>>>> changes
>>>>>>> in latency are not even reported, module-loopback sees a completely
>>>>>>> stable
>>>>>>> value ( +/-10 usec).
>>>>>>> My setup: I have a bitscope dual channel USB oscilloscope 
>>>>>>> attached to
>>>>>>> another
>>>>>>> machine. This device also has a function generator that I set to 
>>>>>>> 1kHz
>>>>>>> rectangle.
>>>>>>> The signal is input to the HDA card and fed to the output of the 
>>>>>>> same
>>>>>>> card via
>>>>>>> module-loopback. Input and output signal are measured using the
>>>>>>> oscilloscope.
>>>>>>> The movement of the edge of the output signal now shows the 
>>>>>>> "latency
>>>>>>> jitter"
>>>>>>> which can be made visible by using the overlay mode of the
>>>>>>> oscilloscope.
>>>>>>> The result for HDA (module-loopback running with 500ms adjust time
>>>>>>> and 1s
>>>>>>> latency) is shown at http://georg.chini.tk/hda_333ms_3.png. Some of
>>>>>>> the
>>>>>>> original
>>>>>>> input signal is somehow fed into the output signal, don't know 
>>>>>>> where
>>>>>>> this happens,
>>>>>>> so please ignore it as it has no impact on the result.
>>>>>> No idea either, just some blind pokes...
>>>>>> 1. Are you using the trivial resampler? Does anything change if you
>>>>>> change the resampler type?
>>>>>> 2. Do you get the same trace with a "weird" latency (not something
>>>>>> that can be derived from one second by multiplication or division by
>>>>>> small factors)? E.g. something like 318 ms.
>>>>>> To me, it looks like something is sometimes creating an
>>>>>> off-by-one-sample error when copying the data. Which is exactly the
>>>>>> job of the trivial resampler, that's why the question.
>>>> why is a resampler needed when doing a loopback on the same card?
>>> The resampler is there for the more general case when the two cards
>>> are different. I just have no system with two HDA cards, so I have to
>>> do my tests HDA -> HDA on the same card.
>> Understood, the point was whether you can remove this resampler to 
>> look for the root cause.
> I think I can't because it is an integral part of module-loopback. But 
> I see the same
> issue with different resamplers and even with Jack and zita-aj bridge. 
> At low latencies
> there is only a "double line" with about 7.5 usec distance between the 
> lines, but it
> is still there. It also looks like it does not depend on the device 
> latency but on the
> overall latency of module-loopback. I tested 3 seconds with 
> source/sink set to 20 ms
> and it's the same pattern.
Further investigation showed that this is NOT a problem of 
module-loopback or
any driver - the signal source is not stable enough for those long 
latencies and
even at short latencies there is the occasional glitch. Sorry for the 
noise ...

More information about the pulseaudio-discuss mailing list