diff options
| author | Michael M <mchtly@gmail.com> | 2017-10-21 16:23:40 -0700 |
|---|---|---|
| committer | Michael M <mchtly@gmail.com> | 2017-11-19 12:09:54 -0800 |
| commit | 0baddbf9a8152ab7dd3ab200e516a998a0c9433f (patch) | |
| tree | 66ef68e2df83ed39845082818506778271bfcbe3 /Source/Core/AudioCommon/AudioCommon.cpp | |
| parent | ad4a89d64b0d346553be473c1d877b34b896bfeb (diff) | |
SoundStream: change Start/Stop to Init/SetRunning/destruct
Diffstat (limited to 'Source/Core/AudioCommon/AudioCommon.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/AudioCommon.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/Source/Core/AudioCommon/AudioCommon.cpp b/Source/Core/AudioCommon/AudioCommon.cpp index 77da1e4c70..3e04ea8f19 100644 --- a/Source/Core/AudioCommon/AudioCommon.cpp +++ b/Source/Core/AudioCommon/AudioCommon.cpp @@ -50,23 +50,15 @@ void InitSoundStream() else if (backend == BACKEND_OPENSLES && OpenSLESStream::isValid()) g_sound_stream = std::make_unique<OpenSLESStream>(); - if (!g_sound_stream) + if (!g_sound_stream || !g_sound_stream->Init()) { WARN_LOG(AUDIO, "Could not initialize backend %s, using %s instead.", backend.c_str(), BACKEND_NULLSOUND); g_sound_stream = std::make_unique<NullSound>(); } - if (!g_sound_stream->Start()) - { - ERROR_LOG(AUDIO, "Could not start backend %s, using %s instead", backend.c_str(), - BACKEND_NULLSOUND); - - g_sound_stream = std::make_unique<NullSound>(); - g_sound_stream->Start(); - } - UpdateSoundStream(); + SetSoundStreamRunning(true); if (SConfig::GetInstance().m_DumpAudio && !s_audio_dump_start) StartAudioDump(); @@ -76,15 +68,11 @@ void ShutdownSoundStream() { INFO_LOG(AUDIO, "Shutting down sound stream"); - if (g_sound_stream) - { - g_sound_stream->Stop(); - - if (SConfig::GetInstance().m_DumpAudio && s_audio_dump_start) - StopAudioDump(); + if (SConfig::GetInstance().m_DumpAudio && s_audio_dump_start) + StopAudioDump(); - g_sound_stream.reset(); - } + SetSoundStreamRunning(false); + g_sound_stream.reset(); INFO_LOG(AUDIO, "Done shutting down sound stream"); } @@ -161,8 +149,15 @@ void UpdateSoundStream() void SetSoundStreamRunning(bool running) { - if (g_sound_stream) - g_sound_stream->SetRunning(running); + if (!g_sound_stream) + return; + + if (g_sound_stream->SetRunning(running)) + return; + if (running) + ERROR_LOG(AUDIO, "Error starting stream."); + else + ERROR_LOG(AUDIO, "Error stopping stream."); } void SendAIBuffer(const short* samples, unsigned int num_samples) @@ -198,6 +193,8 @@ void StartAudioDump() void StopAudioDump() { + if (!g_sound_stream) + return; g_sound_stream->GetMixer()->StopLogDTKAudio(); g_sound_stream->GetMixer()->StopLogDSPAudio(); s_audio_dump_start = false; |
