Linux: Patch for audio system not getting initalized properly when device name is set

This commit is contained in:
Souryo 2016-12-18 22:15:07 -05:00
parent bdbf830dd7
commit 8a268bbd2d

View file

@ -1,13 +1,13 @@
#include "SdlSoundManager.h"
#include "../Core/EmulationSettings.h"
#include "../Core/MessageManager.h"
#include "../Core/SoundMixer.h"
SdlSoundManager::SdlSoundManager()
{
if(InitializeAudio(44100, false)) {
SoundMixer::RegisterAudioDevice(this);
_buffer = new uint8_t[0xFFFF];
SoundMixer::RegisterAudioDevice(this);
}
}
@ -48,6 +48,10 @@ bool SdlSoundManager::InitializeAudio(uint32_t sampleRate, bool isStereo)
SDL_AudioSpec obtainedSpec;
_audioDeviceID = SDL_OpenAudioDevice(_deviceName.empty() ? nullptr : _deviceName.c_str(), isCapture, &audioSpec, &obtainedSpec, 0);
if(_audioDeviceID == 0 && !_deviceName.empty()) {
MessageManager::Log("[Audio] Failed opening audio device '" + _deviceName + "', will retry with default device.");
_audioDeviceID = SDL_OpenAudioDevice(nullptr, isCapture, &audioSpec, &obtainedSpec, 0);
}
_writePosition = 0;
_readPosition = 0;