[PATCH 3/4] dsound: Pass sample count to the normfunction.
Huw Davies
huw at codeweavers.com
Wed Mar 1 04:19:44 CST 2017
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/dsound/dsound_convert.c | 27 ++++++++++++---------------
dlls/dsound/mixer.c | 2 +-
2 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/dlls/dsound/dsound_convert.c b/dlls/dsound/dsound_convert.c
index 0c9a34b..6887bae 100644
--- a/dlls/dsound/dsound_convert.c
+++ b/dlls/dsound/dsound_convert.c
@@ -286,10 +286,10 @@ void mixieee32(float *src, float *dst, unsigned samples)
*(dst++) += *(src++);
}
-static void norm8(float *src, unsigned char *dst, unsigned len)
+static void norm8(float *src, unsigned char *dst, unsigned samples)
{
- TRACE("%p - %p %d\n", src, dst, len);
- while (len--)
+ TRACE("%p - %p %d\n", src, dst, samples);
+ while (samples--)
{
*dst = f_to_8(*src);
++dst;
@@ -297,11 +297,10 @@ static void norm8(float *src, unsigned char *dst, unsigned len)
}
}
-static void norm16(float *src, SHORT *dst, unsigned len)
+static void norm16(float *src, SHORT *dst, unsigned samples)
{
- TRACE("%p - %p %d\n", src, dst, len);
- len /= 2;
- while (len--)
+ TRACE("%p - %p %d\n", src, dst, samples);
+ while (samples--)
{
*dst = f_to_16(*src);
++dst;
@@ -309,11 +308,10 @@ static void norm16(float *src, SHORT *dst, unsigned len)
}
}
-static void norm24(float *src, BYTE *dst, unsigned len)
+static void norm24(float *src, BYTE *dst, unsigned samples)
{
- TRACE("%p - %p %d\n", src, dst, len);
- len /= 3;
- while (len--)
+ TRACE("%p - %p %d\n", src, dst, samples);
+ while (samples--)
{
LONG t = f_to_24(*src);
dst[0] = (t >> 8) & 0xFF;
@@ -324,11 +322,10 @@ static void norm24(float *src, BYTE *dst, unsigned len)
}
}
-static void norm32(float *src, INT *dst, unsigned len)
+static void norm32(float *src, INT *dst, unsigned samples)
{
- TRACE("%p - %p %d\n", src, dst, len);
- len /= 4;
- while (len--)
+ TRACE("%p - %p %d\n", src, dst, samples);
+ while (samples--)
{
*dst = f_to_32(*src);
++dst;
diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c
index 9e68304..22b284e 100644
--- a/dlls/dsound/mixer.c
+++ b/dlls/dsound/mixer.c
@@ -716,7 +716,7 @@ static void DSOUND_PerformMix(DirectSoundDevice *device)
/* do the mixing */
DSOUND_MixToPrimary(device, (float*)device->buffer, frames, &all_stopped);
- device->normfunction(device->buffer, buffer, frames * block);
+ device->normfunction(device->buffer, buffer, frames * device->pwfx->nChannels);
}
hr = IAudioRenderClient_ReleaseBuffer(device->render, frames, 0);
--
2.10.2
More information about the wine-patches
mailing list