]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Make sure buffer size is divisible by sample frame size.
authorToni Wilen <twilen@winuae.net>
Sat, 10 Dec 2016 12:10:22 +0000 (14:10 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 10 Dec 2016 12:10:22 +0000 (14:10 +0200)
od-win32/sounddep/sound.cpp

index 01d119ccbc91d01f03994683bc976b41b5a96698..9ab9bcc0021f189d6e0b94d7ed189b0d647334c2 100644 (file)
@@ -1338,6 +1338,11 @@ retry:
        sd->sndbufsize = sd->sndbufsize * 2 / 3;
 
        sd->samplesize = sd->channels * 16 / 8;
+
+       // must be divisible by frame size
+       sd->sndbufsize += sd->samplesize - 1;
+       sd->sndbufsize = (sd->sndbufsize / sd->samplesize) * sd->samplesize;
+
        if (sd->sndbufsize > SND_MAX_BUFFER)
                sd->sndbufsize = SND_MAX_BUFFER;