audio: Allow SDL_GetAudioDeviceFormat() to query the default devices.

Officially removed SDL_GetDefaultAudioInfo(), as its functionality that
isn't obsolete is now offered elsewhere.
This commit is contained in:
Ryan C. Gordon
2023-06-23 14:32:25 -04:00
parent ee10bab3cd
commit db39cbf208
3 changed files with 22 additions and 0 deletions

View File

@@ -966,6 +966,20 @@ int SDL_GetAudioDeviceFormat(SDL_AudioDeviceID devid, SDL_AudioSpec *spec)
return SDL_InvalidParamError("spec");
}
SDL_bool is_default = SDL_FALSE;
if (devid == SDL_AUDIO_DEVICE_DEFAULT_OUTPUT) {
devid = current_audio.default_output_device_id;
is_default = SDL_TRUE;
} else if (devid == SDL_AUDIO_DEVICE_DEFAULT_CAPTURE) {
devid = current_audio.default_capture_device_id;
is_default = SDL_TRUE;
}
if ((devid == 0) && is_default) {
return SDL_SetError("No default audio device available");
return 0;
}
SDL_AudioDevice *device = ObtainPhysicalAudioDevice(devid);
if (!device) {
return -1;