From a2e7d257e5a8527364155b5ae181f10fd3510e8a Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 6 Nov 2019 08:59:40 +0000 Subject: [PATCH] GenerateDMASound can generate sound even with input size is 0, so lets not do that. Might even be an option to skip this call entirely depending on the sblaster configuration (not sb.dma.autoinit) Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4280 --- src/hardware/sblaster.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hardware/sblaster.cpp b/src/hardware/sblaster.cpp index 9944e66f..af73d063 100644 --- a/src/hardware/sblaster.cpp +++ b/src/hardware/sblaster.cpp @@ -295,9 +295,9 @@ static void DSP_DMA_CallBack(DmaChannel * chan, DMAEvent event) { min_size *= 2; if (sb.dma.left > min_size) { if (s > (sb.dma.left-min_size)) s = sb.dma.left - min_size; - GenerateDMASound(s); + if (s) GenerateDMASound(s); } - sb.mode=MODE_DMA_MASKED; + sb.mode = MODE_DMA_MASKED; // DSP_ChangeMode(MODE_DMA_MASKED); LOG(LOG_SB,LOG_NORMAL)("DMA masked,stopping output, left %d",chan->currcnt); }