This adds a new raw audio callback for audio outputs where monitored
sources are mixed. The audio ticks at 256 frames so about 5 ms at
48 kHz sample rate.
This allows a much smaller latency than what is provided by the regular
audio_callback which can buffer up to 960 ms (at 48 kHz).
The main advantage against the low latency option which decreases the
output latency to about 2 audio ticks (40 ms) is that this does not
affect the regular audio pipeline and preserves the buffering which is
essential for streams.
The mixer is platform agnostic and can be used by any audio output.
This is useful for ASIO which has no mixing capability, but even for
WASAPI, CoreAudio or PulseAudio, this may allow in the future the
creation of monitoring buses.
ASIO tests of the monitoring showed the latency can be smaller than a
video frame at 120 fps (so smaller than 8.3 ms with buffer 128, Yamaha
driver) while WASAPI is in the range 30-50 ms.
Signed-off-by: pkv <pkv@obsproject.com>