[pulseaudio-discuss] Latency problem with long latencies

Georg Chini georg at chini.tk
Mon Mar 28 16:10:31 UTC 2016


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.


More information about the pulseaudio-discuss mailing list