audio: Set (something close to) the correct silence value for U16 audio.

Partially fixes Bugzilla #4805.
This commit is contained in:
Ryan C. Gordon 2019-09-25 15:40:27 -04:00
parent 693755f0b2
commit aef1ed4ac6
1 changed files with 7 additions and 0 deletions

View File

@ -1669,8 +1669,15 @@ SDL_CalculateAudioSpec(SDL_AudioSpec * spec)
{ {
switch (spec->format) { switch (spec->format) {
case AUDIO_U8: 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; spec->silence = 0x80;
break; break;
default: default:
spec->silence = 0x00; spec->silence = 0x00;
break; break;