mirror of https://github.com/encounter/SDL.git
coreaudio: Apple doesn't support U16 data, so convert in that case.
This commit is contained in:
parent
ee6d504ae9
commit
693755f0b2
|
@ -819,13 +819,11 @@ COREAUDIO_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
|
||||||
|
|
||||||
while ((!valid_datatype) && (test_format)) {
|
while ((!valid_datatype) && (test_format)) {
|
||||||
this->spec.format = test_format;
|
this->spec.format = test_format;
|
||||||
/* Just a list of valid SDL formats, so people don't pass junk here. */
|
/* CoreAudio handles most of SDL's formats natively, but not U16, apparently. */
|
||||||
switch (test_format) {
|
switch (test_format) {
|
||||||
case AUDIO_U8:
|
case AUDIO_U8:
|
||||||
case AUDIO_S8:
|
case AUDIO_S8:
|
||||||
case AUDIO_U16LSB:
|
|
||||||
case AUDIO_S16LSB:
|
case AUDIO_S16LSB:
|
||||||
case AUDIO_U16MSB:
|
|
||||||
case AUDIO_S16MSB:
|
case AUDIO_S16MSB:
|
||||||
case AUDIO_S32LSB:
|
case AUDIO_S32LSB:
|
||||||
case AUDIO_S32MSB:
|
case AUDIO_S32MSB:
|
||||||
|
@ -841,6 +839,10 @@ COREAUDIO_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
|
||||||
else if (SDL_AUDIO_ISSIGNED(this->spec.format))
|
else if (SDL_AUDIO_ISSIGNED(this->spec.format))
|
||||||
strdesc->mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
|
strdesc->mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
test_format = SDL_NextAudioFormat();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue