src/audio/SDL_audiotypecvt.c
changeset 10814 938218064f67
parent 10799 234f71894a52
child 10815 71bbe3233508
     1.1 --- a/src/audio/SDL_audiotypecvt.c	Sat Jan 14 21:36:06 2017 +0100
     1.2 +++ b/src/audio/SDL_audiotypecvt.c	Sun Jan 15 05:01:59 2017 -0500
     1.3 @@ -31,14 +31,14 @@
     1.4  void SDLCALL
     1.5  SDL_Convert_S8_to_F32(SDL_AudioCVT *cvt, SDL_AudioFormat format)
     1.6  {
     1.7 -    const Uint8 *src = ((const Uint8 *) (cvt->buf + cvt->len_cvt)) - 1;
     1.8 +    const Sint8 *src = ((const Sint8 *) (cvt->buf + cvt->len_cvt)) - 1;
     1.9      float *dst = ((float *) (cvt->buf + cvt->len_cvt * 4)) - 1;
    1.10      int i;
    1.11  
    1.12      LOG_DEBUG_CONVERT("AUDIO_S8", "AUDIO_F32");
    1.13  
    1.14 -    for (i = cvt->len_cvt / sizeof (Uint8); i; --i, --src, --dst) {
    1.15 -        *dst = (((float) ((Sint8) *src)) * DIVBY127);
    1.16 +    for (i = cvt->len_cvt; i; --i, --src, --dst) {
    1.17 +        *dst = (((float) *src) * DIVBY127);
    1.18      }
    1.19  
    1.20      cvt->len_cvt *= 4;
    1.21 @@ -56,7 +56,7 @@
    1.22  
    1.23      LOG_DEBUG_CONVERT("AUDIO_U8", "AUDIO_F32");
    1.24  
    1.25 -    for (i = cvt->len_cvt / sizeof (Uint8); i; --i, --src, --dst) {
    1.26 +    for (i = cvt->len_cvt; i; --i, --src, --dst) {
    1.27          *dst = ((((float) *src) * DIVBY127) - 1.0f);
    1.28      }
    1.29  
    1.30 @@ -107,14 +107,14 @@
    1.31  void SDLCALL
    1.32  SDL_Convert_S32_to_F32(SDL_AudioCVT *cvt, SDL_AudioFormat format)
    1.33  {
    1.34 -    const Uint32 *src = (const Uint32 *) cvt->buf;
    1.35 +    const Sint32 *src = (const Sint32 *) cvt->buf;
    1.36      float *dst = (float *) cvt->buf;
    1.37      int i;
    1.38  
    1.39      LOG_DEBUG_CONVERT("AUDIO_S32", "AUDIO_F32");
    1.40  
    1.41      for (i = cvt->len_cvt / sizeof (Sint32); i; --i, ++src, ++dst) {
    1.42 -        *dst = (((float) *src) * DIVBY2147483647);
    1.43 +        *dst = (float) (((double) *src) * DIVBY2147483647);
    1.44      }
    1.45  
    1.46      if (cvt->filters[++cvt->filter_index]) {
    1.47 @@ -208,7 +208,7 @@
    1.48      LOG_DEBUG_CONVERT("AUDIO_F32", "AUDIO_S32");
    1.49  
    1.50      for (i = cvt->len_cvt / sizeof (float); i; --i, ++src, ++dst) {
    1.51 -        *dst = (Sint32) (*src * 2147483647.0);
    1.52 +        *dst = (Sint32) (((double) *src) * 2147483647.0);
    1.53      }
    1.54  
    1.55      if (cvt->filters[++cvt->filter_index]) {