diff options
Diffstat (limited to 'Source/Core/AudioCommon/CubebStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/CubebStream.cpp | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp index a12f0fda4b..754db1d957 100644 --- a/Source/Core/AudioCommon/CubebStream.cpp +++ b/Source/Core/AudioCommon/CubebStream.cpp @@ -32,7 +32,7 @@ void CubebStream::StateCallback(cubeb_stream* stream, void* user_data, cubeb_sta { } -bool CubebStream::Start() +bool CubebStream::Init() { m_ctx = CubebUtils::GetContext(); if (!m_ctx) @@ -60,28 +60,22 @@ bool CubebStream::Start() ERROR_LOG(AUDIO, "Error getting minimum latency"); INFO_LOG(AUDIO, "Minimum latency: %i frames", minimum_latency); - if (cubeb_stream_init(m_ctx.get(), &m_stream, "Dolphin Audio Output", nullptr, nullptr, nullptr, - ¶ms, std::max(BUFFER_SAMPLES, minimum_latency), DataCallback, - StateCallback, this) != CUBEB_OK) - { - ERROR_LOG(AUDIO, "Error initializing cubeb stream"); - return false; - } + return cubeb_stream_init(m_ctx.get(), &m_stream, "Dolphin Audio Output", nullptr, nullptr, + nullptr, ¶ms, std::max(BUFFER_SAMPLES, minimum_latency), + DataCallback, StateCallback, this) == CUBEB_OK; +} - if (cubeb_stream_start(m_stream) != CUBEB_OK) - { - ERROR_LOG(AUDIO, "Error starting cubeb stream"); - return false; - } - return true; +bool CubebStream::SetRunning(bool running) +{ + if (running) + return cubeb_stream_start(m_stream) == CUBEB_OK; + else + return cubeb_stream_stop(m_stream) == CUBEB_OK; } -void CubebStream::Stop() +CubebStream::~CubebStream() { - if (cubeb_stream_stop(m_stream) != CUBEB_OK) - { - ERROR_LOG(AUDIO, "Error stopping cubeb stream"); - } + SetRunning(false); cubeb_stream_destroy(m_stream); m_ctx.reset(); } |
