[pulseaudio-discuss] Virtual sink to pipe audio stream to STDIN of shell-command?

Alexander E. Patrakov patrakov at gmail.com
Sun Aug 2 02:58:02 PDT 2015

[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

More information about the pulseaudio-discuss mailing list