diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c index b10ba025a17..87b7e8eac8a 100644 --- a/dlls/dsound/primary.c +++ b/dlls/dsound/primary.c @@ -240,7 +240,7 @@ static HRESULT DSOUND_PrimaryOpen(DirectSoundDevice *device, WAVEFORMATEX *wfx, /* reallocate emulated primary buffer */ if (forcewave || !mixfloat) { if (!forcewave) - new_buflen = frames * sizeof(float); + new_buflen = frames * wfx->nChannels * sizeof(float); if (device->buffer) newbuf = HeapReAlloc(GetProcessHeap(), 0, device->buffer, new_buflen);