[pulseaudio-discuss] [PATCH 09/13] loopback: Track the amount of jitter

Georg Chini georg at chini.tk
Sat Dec 12 02:52:04 PST 2015


On 08.12.2015 21:47, Tanu Kaskinen wrote:
> On Wed, 2015-02-25 at 19:43 +0100, Georg Chini wrote:
>> ---
>>   src/modules/module-loopback.c | 18 +++++++++++++++++-
>>   1 file changed, 17 insertions(+), 1 deletion(-)
> The commit message should say something about why the jitter is tracked.

OK

>> diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c
>> index cbd0ac9..b733663 100644
>> --- a/src/modules/module-loopback.c
>> +++ b/src/modules/module-loopback.c
>> @@ -95,6 +95,8 @@ struct userdata {
>>   
>>       pa_usec_t source_latency_sum;
>>       pa_usec_t sink_latency_sum;
>> +    pa_usec_t next_latency;
>> +    double latency_error;
>>   
>>       bool in_pop;
>>       bool pop_called;
>> @@ -263,15 +265,22 @@ static void adjust_rates(struct userdata *u) {
>>                   (double) current_latency / PA_USEC_PER_MSEC,
>>                   (double) corrected_latency / PA_USEC_PER_MSEC,
>>                   ((double) u->latency_snapshot.sink_latency + current_buffer_latency + u->latency_snapshot.source_latency) / PA_USEC_PER_MSEC);
>> -    pa_log_debug("Latency difference: %0.2f ms, rate difference: %i Hz",
>> +    pa_log_debug("Latency difference: %0.2f ± %0.2f ms, rate difference: %i Hz",
> What does "± %0.2f ms" mean? Is the real latency difference between
> those bounds with 100% confidence, or less than 100% confidence?

This is just an indication of the current error (with respect to the model),
so not 100% confidence.

>
>>                   (double) latency_difference / PA_USEC_PER_MSEC,
>> +                (double) 2.5 * u->latency_error * final_latency / PA_USEC_PER_MSEC,
> Why is that 2.5 there?
>

Good question. I think it was copied over from the definition of the 
deadband in the next
patch. The observed errors are however in good agreement with that factor.



More information about the pulseaudio-discuss mailing list