Module: wine Branch: master Commit: b7118753f41832fe40a0e3f75b123f51e7364ba8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b7118753f41832fe40a0e3f75b...
Author: Erich E. Hoover erich.e.hoover@wine-staging.com Date: Mon Dec 19 14:17:23 2016 -0700
dsound: Clear the temporary mixing buffer after allocation.
Signed-off-by: Erich E. Hoover erich.e.hoover@wine-staging.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dsound/mixer.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index 309c338..2550753 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -428,6 +428,8 @@ static void DSOUND_MixToTemporary(IDirectSoundBufferImpl *dsb, DWORD frames) else dsb->device->tmp_buffer = HeapAlloc(GetProcessHeap(), 0, size_bytes); } + if(dsb->put_aux == putieee32_sum) + memset(dsb->device->tmp_buffer, 0, dsb->device->tmp_buffer_len);
cp_fields(dsb, frames, &dsb->freqAccNum);
@@ -506,9 +508,6 @@ static DWORD DSOUND_MixInBuffer(IDirectSoundBufferImpl *dsb, float *mix_buffer,
/* Resample buffer to temporary buffer specifically allocated for this purpose, if needed */ oldpos = dsb->sec_mixpos; - - if(dsb->put_aux == putieee32_sum) - memset(dsb->device->tmp_buffer, 0, dsb->device->tmp_buffer_len); DSOUND_MixToTemporary(dsb, frames); ibuf = dsb->device->tmp_buffer;