msadp32.acm: Make destination aligned on destination block size (copy/paste error)

Vincent Pelletier plr.vincent at gmail.com
Wed Feb 4 14:19:29 CST 2009


Crash reported on Ever17 demo with git msadp32.acm .
Although I could not localy reproduce the crash, I could not get any sound 
with git code and this patch fixes the problem.

Note: That demo requires native msacm32.dll to output sound, as stated on 
appdb entry.

-- 
Vincent Pelletier
-------------- next part --------------
From 67e459cea1d92c90cc4efb7e3851d150f9ab7492 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <plr.vincent at gmail.com>
Date: Wed, 4 Feb 2009 21:11:05 +0100
Subject: msadp32.acm: Make destination aligned on destination block size (copy/paste error).

---
 dlls/msadp32.acm/msadp32.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/msadp32.acm/msadp32.c b/dlls/msadp32.acm/msadp32.c
index f345450..c3205e9 100644
--- a/dlls/msadp32.acm/msadp32.c
+++ b/dlls/msadp32.acm/msadp32.c
@@ -660,7 +660,7 @@ static	LRESULT ADPCM_StreamSize(const ACMDRVSTREAMINSTANCE *adsi, PACMDRVSTREAMS
 	    if (adss->cbSrcLength % (adsi->pwfxSrc->nBlockAlign * wSamplesPerBlock))
 		/* Round block count up. */
 		nblocks++;
-	    adss->cbDstLength = nblocks * adsi->pwfxSrc->nBlockAlign;
+	    adss->cbDstLength = nblocks * adsi->pwfxDst->nBlockAlign;
 	}
         else if (adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_ADPCM &&
                  adsi->pwfxDst->wFormatTag == WAVE_FORMAT_PCM)
@@ -672,7 +672,7 @@ static	LRESULT ADPCM_StreamSize(const ACMDRVSTREAMINSTANCE *adsi, PACMDRVSTREAMS
 	    if (adss->cbSrcLength % adsi->pwfxSrc->nBlockAlign)
 		/* Round block count up. */
 		nblocks++;
-	    adss->cbDstLength = nblocks * adsi->pwfxSrc->nBlockAlign * wSamplesPerBlock;
+	    adss->cbDstLength = nblocks * adsi->pwfxDst->nBlockAlign * wSamplesPerBlock;
 	}
         else
         {
-- 
1.5.6.5



More information about the wine-patches mailing list