summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/CubebStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/AudioCommon/CubebStream.cpp')
-rw-r--r--Source/Core/AudioCommon/CubebStream.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp
index 5d3d70d9cb..f4566cb57e 100644
--- a/Source/Core/AudioCommon/CubebStream.cpp
+++ b/Source/Core/AudioCommon/CubebStream.cpp
@@ -46,6 +46,7 @@ CubebStream::CubebStream()
Common::ScopeGuard sync_event_guard([&sync_event] { sync_event.Set(); });
auto result = ::CoInitializeEx(nullptr, COINIT_MULTITHREADED | COINIT_DISABLE_OLE1DDE);
m_coinit_success = result == S_OK;
+ m_should_couninit = result == S_OK || result == S_FALSE;
});
sync_event.Wait();
}
@@ -137,11 +138,12 @@ CubebStream::~CubebStream()
cubeb_stream_stop(m_stream);
cubeb_stream_destroy(m_stream);
#ifdef _WIN32
- if (m_coinit_success)
+ if (m_should_couninit)
{
- m_coinit_success = false;
+ m_should_couninit = false;
CoUninitialize();
}
+ m_coinit_success = false;
});
sync_event.Wait();
#endif