Partially fixes Bugzilla #4805.
@@ -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;