diff options
| author | Michael Maltese <mchtly@gmail.com> | 2017-06-25 23:12:44 -0700 |
|---|---|---|
| committer | Michael Maltese <mchtly@gmail.com> | 2017-06-27 00:06:13 -0700 |
| commit | 32470ef284485d9d5db73e115bc56e718524c81a (patch) | |
| tree | 6b8b51e8108279226e37c5ab4d6df638ab6708f4 /Source/Core/AudioCommon/OpenALStream.cpp | |
| parent | 56961f5561c22b5face92a27f71050ab74469dfb (diff) | |
clean up OpenALStream::Start()
Diffstat (limited to 'Source/Core/AudioCommon/OpenALStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/OpenALStream.cpp | 61 |
1 files changed, 27 insertions, 34 deletions
diff --git a/Source/Core/AudioCommon/OpenALStream.cpp b/Source/Core/AudioCommon/OpenALStream.cpp index 75ba493a07..753a925288 100644 --- a/Source/Core/AudioCommon/OpenALStream.cpp +++ b/Source/Core/AudioCommon/OpenALStream.cpp @@ -24,48 +24,41 @@ // bool OpenALStream::Start() { - m_run_thread.Set(); - bool bReturn = false; - ALDeviceList pDeviceList; - if (pDeviceList.GetNumDevices()) + if (!pDeviceList.GetNumDevices()) { - char* defDevName = pDeviceList.GetDeviceName(pDeviceList.GetDefaultDevice()); + PanicAlertT("OpenAL: can't find sound devices"); + return false; + } - INFO_LOG(AUDIO, "Found OpenAL device %s", defDevName); + char* defDevName = pDeviceList.GetDeviceName(pDeviceList.GetDefaultDevice()); - ALCdevice* pDevice = alcOpenDevice(defDevName); - if (pDevice) - { - ALCcontext* pContext = alcCreateContext(pDevice, nullptr); - if (pContext) - { - // Used to determine an appropriate period size (2x period = total buffer size) - // ALCint refresh; - // alcGetIntegerv(pDevice, ALC_REFRESH, 1, &refresh); - // period_size_in_millisec = 1000 / refresh; - - alcMakeContextCurrent(pContext); - thread = std::thread(&OpenALStream::SoundLoop, this); - bReturn = true; - } - else - { - alcCloseDevice(pDevice); - PanicAlertT("OpenAL: can't create context for device %s", defDevName); - } - } - else - { - PanicAlertT("OpenAL: can't open device %s", defDevName); - } + INFO_LOG(AUDIO, "Found OpenAL device %s", defDevName); + + ALCdevice* pDevice = alcOpenDevice(defDevName); + if (!pDevice) + { + PanicAlertT("OpenAL: can't open device %s", defDevName); + return false; } - else + + ALCcontext* pContext = alcCreateContext(pDevice, nullptr); + if (!pContext) { - PanicAlertT("OpenAL: can't find sound devices"); + alcCloseDevice(pDevice); + PanicAlertT("OpenAL: can't create context for device %s", defDevName); + return false; } - return bReturn; + // Used to determine an appropriate period size (2x period = total buffer size) + // ALCint refresh; + // alcGetIntegerv(pDevice, ALC_REFRESH, 1, &refresh); + // period_size_in_millisec = 1000 / refresh; + + alcMakeContextCurrent(pContext); + m_run_thread.Set(); + thread = std::thread(&OpenALStream::SoundLoop, this); + return true; } void OpenALStream::Stop() |
