diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index 768db02c9..8296b56ec 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -1669,8 +1669,15 @@ SDL_CalculateAudioSpec(SDL_AudioSpec * spec) { switch (spec->format) { case AUDIO_U8: + + // !!! FIXME: 0x80 isn't perfect for U16, but we can't fit 0x8000 in a + // !!! FIXME: byte for memset() use. This is actually 0.1953 percent off + // from silence. Maybe just don't use U16. + case AUDIO_U16LSB: + case AUDIO_U16MSB: spec->silence = 0x80; break; + default: spec->silence = 0x00; break;