Stefano Guidoni : msadp32: MSDN suggests "wfx.nBlockAlign * 2 / wfx. nChannels - 12" as the formula for calculating wSamplesPerBlock.

Alexandre Julliard julliard at winehq.org
Wed Feb 11 09:25:27 CST 2009


Module: wine
Branch: master
Commit: d6ae9f8800292ecfc766c69d4408ec852b63f1b4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d6ae9f8800292ecfc766c69d4408ec852b63f1b4

Author: Stefano Guidoni <s.guidoni at tin.it>
Date:   Mon Feb  9 22:06:30 2009 +0100

msadp32: MSDN suggests "wfx.nBlockAlign * 2 / wfx.nChannels - 12" as the formula for calculating wSamplesPerBlock.

---

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

diff --git a/dlls/msadp32.acm/msadp32.c b/dlls/msadp32.acm/msadp32.c
index 863335c..dfb42bf 100644
--- a/dlls/msadp32.acm/msadp32.c
+++ b/dlls/msadp32.acm/msadp32.c
@@ -171,7 +171,7 @@ static void     init_wfx_adpcm(ADPCMWAVEFORMAT* awfx)
     pwfx->cbSize = 2 * sizeof(WORD) + 7 * sizeof(ADPCMCOEFSET);
     /* 7 is the size of the block head (which contains two samples) */
 
-    awfx->wSamplesPerBlock = (pwfx->nBlockAlign - (7 * pwfx->nChannels)) * (2 / pwfx->nChannels) + 2;
+    awfx->wSamplesPerBlock = pwfx->nBlockAlign * 2 / pwfx->nChannels - 12;
     pwfx->nAvgBytesPerSec = (pwfx->nSamplesPerSec * pwfx->nBlockAlign) / awfx->wSamplesPerBlock;
     awfx->wNumCoef = 7;
     memcpy(awfx->aCoef, MSADPCM_CoeffSet, 7 * sizeof(ADPCMCOEFSET));




More information about the wine-cvs mailing list