summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2017-10-21 12:49:34 -0700
committerMichael M <mchtly@gmail.com>2017-11-19 12:09:54 -0800
commitad4a89d64b0d346553be473c1d877b34b896bfeb (patch)
tree4670709c4f728e38cf27b08d085cdf62d788f1c0 /Source
parent28f9034536b1615cbc9e24a051f584baafbb2026 (diff)
CubebStream: implement SetRunning
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/AudioCommon/CubebStream.cpp17
-rw-r--r--Source/Core/AudioCommon/CubebStream.h1
2 files changed, 15 insertions, 3 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp
index a12f0fda4b..c2f3cc30cb 100644
--- a/Source/Core/AudioCommon/CubebStream.cpp
+++ b/Source/Core/AudioCommon/CubebStream.cpp
@@ -76,12 +76,23 @@ bool CubebStream::Start()
return true;
}
-void CubebStream::Stop()
+void CubebStream::SetRunning(bool running)
{
- if (cubeb_stream_stop(m_stream) != CUBEB_OK)
+ if (running)
+ {
+ if (cubeb_stream_start(m_stream) != CUBEB_OK)
+ ERROR_LOG(AUDIO, "Error starting cubeb stream");
+ }
+ else
{
- ERROR_LOG(AUDIO, "Error stopping cubeb stream");
+ if (cubeb_stream_stop(m_stream) != CUBEB_OK)
+ ERROR_LOG(AUDIO, "Error stopping cubeb stream");
}
+}
+
+void CubebStream::Stop()
+{
+ SetRunning(false);
cubeb_stream_destroy(m_stream);
m_ctx.reset();
}
diff --git a/Source/Core/AudioCommon/CubebStream.h b/Source/Core/AudioCommon/CubebStream.h
index eb7e915751..f558ed1b20 100644
--- a/Source/Core/AudioCommon/CubebStream.h
+++ b/Source/Core/AudioCommon/CubebStream.h
@@ -17,6 +17,7 @@ class CubebStream final : public SoundStream
public:
bool Start() override;
void Stop() override;
+ void SetRunning(bool running) override;
void SetVolume(int) override;
private: