[All of the below is valid only if the results that I obtained for power consumption vs wakeup rate on my Sony VAIO VPC-Z23A4R laptop are an exception, not the rule] 02.08.2015 14:23, Rene Bartsch wrote: > The next step would be to copy the convolver-code of BruteFIR to the > Pulseaudio-Github-repository and interface the code as a module. Well, it is not that simple. Copying the code from BruteFIR won't be really acceptable, because of the following reason. PulseAudio tries to optimize wakeups by mixing audio in big chunks, speculatively. The result is valid only if nothing unexpected (such as a software volume change or a new stream) happens. So, PulseAudio sometimes (when the unexpected happens) needs to say to the filter: "forget the last N samples, here is a new version". Result: high average latency, low latency of reaction to external events. BruteFIR code does not have a way to say this. Yes, this does mean that different requirements are imposed on internal code (where rewindability is required when it is practical to implement), and on external code (where it is never practical). And for convolution, I'd say that writing rewindable code is practical, and it does not have to be based on the ideas from BruteFIR :) -- Alexander E. Patrakov