Hello, this is the split version of the module-loopback patch. The patch optimizes the latency initialization and regulation of the module. Many thanks to Alexander Patrakov for splitting and reviewing the patch and also for his contribution to the code. Georg Chini (13): loopback: Fix the obviously-wrong "buffer+=buffer" logic loopback: Save the timestamps when we snapshot latency loopback: Improved estimation of latency loopback: Adjust rates based on latency difference loopback: Don't track max_request and min_memblockq_length loopback: Restart the timer right away loopback: Refactor latency initialization loopback: Track underruns and cant-peek events loopback: Track the amount of jitter loopback: Added a deadband to reduce rate hunting loopback: Don't change rate abruptly loopback: Validate the rate parameter loopback: add parameter buffer_latency_msec src/modules/module-loopback.c | 578 ++++++++++++++++++++++++++++++++---------- src/pulse/sample.c | 5 +- 2 files changed, 443 insertions(+), 140 deletions(-) -- 2.1.4