audio: SDL_GetAudioDeviceName() now works with the default device IDs.
Fixes #14615.
This commit is contained in:
@@ -1579,6 +1579,14 @@ const char *SDL_GetAudioDeviceName(SDL_AudioDeviceID devid)
|
||||
// remains valid (in case the device is unplugged at the wrong moment), we hold the
|
||||
// subsystem_rwlock while we copy the string.
|
||||
SDL_LockRWLockForReading(current_audio.subsystem_rwlock);
|
||||
|
||||
// Allow default device IDs to be used, just return the current default physical device's name.
|
||||
if (devid == SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK) {
|
||||
devid = current_audio.default_playback_device_id;
|
||||
} else if (devid == SDL_AUDIO_DEVICE_DEFAULT_RECORDING) {
|
||||
devid = current_audio.default_recording_device_id;
|
||||
}
|
||||
|
||||
SDL_FindInHashTable(islogical ? current_audio.device_hash_logical : current_audio.device_hash_physical, (const void *) (uintptr_t) devid, &vdev);
|
||||
if (!vdev) {
|
||||
SDL_SetError("Invalid audio device instance ID");
|
||||
|
||||
Reference in New Issue
Block a user