https://github.com/chirlu/sox/pull/4
sox -t pulseaudio depends upon pulseaudio buffering.
By default buffer size computation leads to (very) significant latencies (up to 2 sec)
A confidential solution for the happy fews is to rely on the PULSE_LATENCY_MSEC environment variable.
This commit publicly exposes pulseaudio in/out buffers by binding them to sox --[input]-buffer options.
With sox --input-buffer=40000 -t pulseaudio default -t pulseaudio default you now get a low-latency pipeline.
Notes:
Since --input-buffer defaults to 0, the default (high-latency) behavior stays unchanged
(if PULSE_LATENCY_MSEC isn't set)
Since --buffer default to 8192 and can't be set to 0, it'll now have priority over
PULSE_LATENCY_MSEC (for the playback stream)
ping?