The buffer size that is too small causes choppy sound. That is not practical at all. With this patch, the minimum value of the buffer size (i.e. fragstotal * fragsize) is restricted to 16384 bytes.
Signed-off-by: Takashi Yano <takashi.y...@nifty.ne.jp> --- winsup/cygwin/fhandler/dsp.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/fhandler/dsp.cc b/winsup/cygwin/fhandler/dsp.cc index 7459ddc25..6140ef0c2 100644 --- a/winsup/cygwin/fhandler/dsp.cc +++ b/winsup/cygwin/fhandler/dsp.cc @@ -1434,6 +1434,8 @@ fhandler_dev_dsp::_ioctl (unsigned int cmd, void *buf) int *p = (int *) buf; fragstotal_ = min (*p >> 16, MAX_BLOCKS); fragsize_ = 1 << (*p & 0xffff); + while (fragsize_ * fragstotal_ < 16384) + fragsize_ *= 2; fragment_has_been_set = true; return 0; } -- 2.39.0