From 0baddbf9a8152ab7dd3ab200e516a998a0c9433f Mon Sep 17 00:00:00 2001 From: Michael M Date: Sat, 21 Oct 2017 16:23:40 -0700 Subject: SoundStream: change Start/Stop to Init/SetRunning/destruct --- Source/Core/AudioCommon/AlsaSoundStream.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'Source/Core/AudioCommon/AlsaSoundStream.cpp') diff --git a/Source/Core/AudioCommon/AlsaSoundStream.cpp b/Source/Core/AudioCommon/AlsaSoundStream.cpp index 6345b7646b..fad5dde8b0 100644 --- a/Source/Core/AudioCommon/AlsaSoundStream.cpp +++ b/Source/Core/AudioCommon/AlsaSoundStream.cpp @@ -15,9 +15,19 @@ AlsaSound::AlsaSound() { } -bool AlsaSound::Start() +AlsaSound::~AlsaSound() { - m_thread_status.store(ALSAThreadStatus::RUNNING); + m_thread_status.store(ALSAThreadStatus::STOPPING); + + // Give the opportunity to the audio thread + // to realize we are stopping the emulation + cv.notify_one(); + thread.join(); +} + +bool AlsaSound::Init() +{ + m_thread_status.store(ALSAThreadStatus::PAUSED); if (!AlsaInit()) { m_thread_status.store(ALSAThreadStatus::STOPPED); @@ -28,16 +38,6 @@ bool AlsaSound::Start() return true; } -void AlsaSound::Stop() -{ - m_thread_status.store(ALSAThreadStatus::STOPPING); - - // Give the opportunity to the audio thread - // to realize we are stopping the emulation - cv.notify_one(); - thread.join(); -} - void AlsaSound::Update() { // don't need to do anything here. @@ -78,10 +78,11 @@ void AlsaSound::SoundLoop() m_thread_status.store(ALSAThreadStatus::STOPPED); } -void AlsaSound::SetRunning(bool running) +bool AlsaSound::SetRunning(bool running) { m_thread_status.store(running ? ALSAThreadStatus::RUNNING : ALSAThreadStatus::PAUSED); cv.notify_one(); // Notify thread that status has changed + return true; } bool AlsaSound::AlsaInit() -- cgit v1.2.3