fd578f6543
hardware imposes strict limitations on hard buffer and block sizes. Previous code set soft buffer to be no smaller then hard buffer. On some cards with fixed 64K physical buffer that caused up to 800ms play latency. New code allows to set soft buffer size down to just two blocks of the hard buffer and to not write more then that size ahead to the hardware buffer. As result of that change I was able to reduce full practically measured record-playback loop delay in those conditions down to only about 115ms with theoretical playback latency of only about 50ms. New code works fine for both vchans and direct cases. In both cases sound(4) tries to follow hw.snd.latency_profile and hw.snd.latency values and application-requested buffer and block sizes as much as limitation of two hardware blocks allows. Reviewed by: silence on multimedia@ |
||
---|---|---|
.. | ||
isa | ||
macio | ||
midi | ||
pci | ||
pcm | ||
sbus | ||
usb | ||
chip.h | ||
clone.c | ||
clone.h | ||
driver.c | ||
unit.c | ||
unit.h | ||
version.h |