Apparently it's possible that MSVC will want to call a built-in function to

bitshift an Sint64, but it can't find this function since we don't use the
 C runtime on Windows.

Division doesn't have this problem, though. Strange.

  Thanks, Suzuki Masahiro.
This commit is contained in:
Ryan C. Gordon 2006-11-29 10:38:07 +00:00
parent 1330f6b999
commit 4b1c92befb

View File

@ -140,14 +140,14 @@ SDL_ConvertMono(SDL_AudioCVT * cvt, SDL_AudioFormat format)
const Sint64 added =
(((Sint64) (Sint32) SDL_SwapBE32(src[0])) +
((Sint64) (Sint32) SDL_SwapBE32(src[1])));
*(dst++) = SDL_SwapBE32((Uint32) ((Sint32) (added >> 1)));
*(dst++) = SDL_SwapBE32((Uint32) ((Sint32) (added / 2)));
}
} else {
for (i = cvt->len_cvt / 8; i; --i, src += 2) {
const Sint64 added =
(((Sint64) (Sint32) SDL_SwapLE32(src[0])) +
((Sint64) (Sint32) SDL_SwapLE32(src[1])));
*(dst++) = SDL_SwapLE32((Uint32) ((Sint32) (added >> 1)));
*(dst++) = SDL_SwapLE32((Uint32) ((Sint32) (added / 2)));
}
}
}