[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