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