[PATCH v2 2/2] winemp3.acm: Fix error in acmStreamSize().
Andrew Eikum
aeikum at codeweavers.com
Tue Jun 13 09:12:30 CDT 2017
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
On Mon, Jun 12, 2017 at 02:36:36PM -0500, Zebediah Figura wrote:
> Fixes https://bugs.winehq.org/show_bug.cgi?id=33740.
>
> Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
> ---
> dlls/winemp3.acm/mpegl3.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/dlls/winemp3.acm/mpegl3.c b/dlls/winemp3.acm/mpegl3.c
> index cc6008da59e..13a6109a77a 100644
> --- a/dlls/winemp3.acm/mpegl3.c
> +++ b/dlls/winemp3.acm/mpegl3.c
> @@ -940,11 +940,11 @@ static LRESULT MPEG3_StreamSize(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMSIZE ad
> adsi->pwfxDst->wFormatTag == WAVE_FORMAT_MPEG))
> {
> nblocks = adss->cbSrcLength / (adsi->pwfxSrc->nBlockAlign * 1152);
> - if (nblocks == 0)
> - return ACMERR_NOTPOSSIBLE;
> if (adss->cbSrcLength % (DWORD)(adsi->pwfxSrc->nBlockAlign * 1152))
> /* Round block count up. */
> nblocks++;
> + if (nblocks == 0)
> + return ACMERR_NOTPOSSIBLE;
> adss->cbDstLength = 3000 + nblocks * (DWORD)(adsi->pwfxDst->nAvgBytesPerSec * 1152 / adsi->pwfxDst->nSamplesPerSec + 0.5);
> }
> else if ((adsi->pwfxSrc->wFormatTag == WAVE_FORMAT_MPEGLAYER3 ||
> @@ -952,11 +952,11 @@ static LRESULT MPEG3_StreamSize(PACMDRVSTREAMINSTANCE adsi, PACMDRVSTREAMSIZE ad
> adsi->pwfxDst->wFormatTag == WAVE_FORMAT_PCM)
> {
> nblocks = adss->cbSrcLength / (DWORD)(adsi->pwfxSrc->nAvgBytesPerSec * 1152 / adsi->pwfxSrc->nSamplesPerSec);
> - if (nblocks == 0)
> - return ACMERR_NOTPOSSIBLE;
> if (adss->cbSrcLength % (DWORD)(adsi->pwfxSrc->nAvgBytesPerSec * 1152 / adsi->pwfxSrc->nSamplesPerSec))
> /* Round block count up. */
> nblocks++;
> + if (nblocks == 0)
> + return ACMERR_NOTPOSSIBLE;
> adss->cbDstLength = nblocks * 1152 * adsi->pwfxDst->nBlockAlign;
> }
> else
> --
> 2.13.0
>
>
>
More information about the wine-patches
mailing list