summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/AlsaSoundStream.cpp
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2017-10-21 16:23:40 -0700
committerMichael M <mchtly@gmail.com>2017-11-19 12:09:54 -0800
commit0baddbf9a8152ab7dd3ab200e516a998a0c9433f (patch)
tree66ef68e2df83ed39845082818506778271bfcbe3 /Source/Core/AudioCommon/AlsaSoundStream.cpp
parentad4a89d64b0d346553be473c1d877b34b896bfeb (diff)
SoundStream: change Start/Stop to Init/SetRunning/destruct
Diffstat (limited to 'Source/Core/AudioCommon/AlsaSoundStream.cpp')
-rw-r--r--Source/Core/AudioCommon/AlsaSoundStream.cpp27
1 files changed, 14 insertions, 13 deletions
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()