Reset the audio device if it enters a failed state

Fixes #734
This commit is contained in:
Cameron Gutman 2022-03-05 16:50:06 -06:00
parent 4ae39f2bd5
commit 6c0983d77c

View file

@ -88,6 +88,12 @@ void* SdlAudioRenderer::getAudioBuffer(int*)
bool SdlAudioRenderer::submitAudio(int bytesWritten)
{
// Our device may enter a permanent error status upon removal, so we need
// to recreate the audio device to pick up the new default audio device.
if (SDL_GetAudioDeviceStatus(m_AudioDevice) == SDL_AUDIO_STOPPED) {
return false;
}
if (bytesWritten == 0) {
// Nothing to do
return true;