Jörg Höhle : msg711: Correct wave format parameters to remove stuttering.

Alexandre Julliard julliard at winehq.org
Thu Nov 12 10:22:10 CST 2009


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

Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date:   Tue Nov 10 22:45:06 2009 +0100

msg711: Correct wave format parameters to remove stuttering.

---

 dlls/msg711.acm/msg711.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/msg711.acm/msg711.c b/dlls/msg711.acm/msg711.c
index 203942d..d527e91 100644
--- a/dlls/msg711.acm/msg711.c
+++ b/dlls/msg711.acm/msg711.c
@@ -832,16 +832,16 @@ static	LRESULT	G711_FormatSuggest(PACMDRVFORMATSUGGEST adfs)
     switch (adfs->pwfxDst->wFormatTag)
     {
     case WAVE_FORMAT_PCM:
-        adfs->pwfxDst->nBlockAlign = adfs->pwfxDst->nChannels;
+        adfs->pwfxDst->nBlockAlign = adfs->pwfxDst->nChannels * 2;
         adfs->pwfxDst->nAvgBytesPerSec = adfs->pwfxDst->nSamplesPerSec * adfs->pwfxDst->nBlockAlign;
         break;
     case WAVE_FORMAT_ALAW:
-        adfs->pwfxDst->nBlockAlign = adfs->pwfxDst->nChannels * 2;
-        adfs->pwfxDst->nAvgBytesPerSec = adfs->pwfxDst->nSamplesPerSec * adfs->pwfxSrc->nChannels * 2;
+        adfs->pwfxDst->nBlockAlign = adfs->pwfxDst->nChannels;
+        adfs->pwfxDst->nAvgBytesPerSec = adfs->pwfxDst->nSamplesPerSec * adfs->pwfxSrc->nChannels;
         break;
     case WAVE_FORMAT_MULAW:
-        adfs->pwfxDst->nBlockAlign =  adfs->pwfxDst->nChannels * 2;
-        adfs->pwfxDst->nAvgBytesPerSec = adfs->pwfxDst->nSamplesPerSec * adfs->pwfxSrc->nChannels * 2;
+        adfs->pwfxDst->nBlockAlign = adfs->pwfxDst->nChannels;
+        adfs->pwfxDst->nAvgBytesPerSec = adfs->pwfxDst->nSamplesPerSec * adfs->pwfxSrc->nChannels;
         break;
     default:
         FIXME("\n");
@@ -993,13 +993,13 @@ static	LRESULT G711_StreamSize(const ACMDRVSTREAMINSTANCE *adsi, PACMDRVSTREAMSI
 	    (adsi->pwfxDst->wFormatTag == WAVE_FORMAT_ALAW ||
              adsi->pwfxDst->wFormatTag == WAVE_FORMAT_MULAW))
         {
-	    adss->cbSrcLength = adss->cbDstLength / 2;
+	    adss->cbSrcLength = adss->cbDstLength * 2;
 	}
         else if ((adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_ALAW ||
                   adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_MULAW) &&
                  adsi->pwfxDst->wFormatTag == WAVE_FORMAT_PCM)
         {
-	    adss->cbSrcLength = adss->cbDstLength * 2;
+	    adss->cbSrcLength = adss->cbDstLength / 2;
 	}
         else if ((adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_ALAW ||
                   adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_MULAW) &&
@@ -1019,13 +1019,13 @@ static	LRESULT G711_StreamSize(const ACMDRVSTREAMINSTANCE *adsi, PACMDRVSTREAMSI
 	    (adsi->pwfxDst->wFormatTag == WAVE_FORMAT_ALAW ||
              adsi->pwfxDst->wFormatTag == WAVE_FORMAT_MULAW))
         {
-	    adss->cbDstLength = adss->cbSrcLength * 2;
+	    adss->cbDstLength = adss->cbSrcLength / 2;
 	}
         else if ((adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_ALAW ||
                   adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_MULAW) &&
                  adsi->pwfxDst->wFormatTag == WAVE_FORMAT_PCM)
         {
-	    adss->cbDstLength = adss->cbSrcLength / 2;
+	    adss->cbDstLength = adss->cbSrcLength * 2;
 	}
         else if ((adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_ALAW ||
                   adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_MULAW) &&




More information about the wine-cvs mailing list