From 8ee953ef8e275fcb1cb0001c419924e85dc4b2ce Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sat, 20 Jun 2020 02:43:08 +0200 Subject: [PATCH] XAudio2: Call CoInitializeEx to prevent errors I could not properly reset the audio backend and call CreateMasteringVoice without getting errors --- rpcs3/Emu/Audio/XAudio2/XAudio2Backend.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.cpp b/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.cpp index d99536cf80..f0d46d9e4e 100644 --- a/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.cpp +++ b/rpcs3/Emu/Audio/XAudio2/XAudio2Backend.cpp @@ -19,6 +19,10 @@ XAudio2Backend::XAudio2Backend() { Microsoft::WRL::ComPtr instance; + // In order to prevent errors on CreateMasteringVoice, apparently we need CoInitializeEx according to: + // https://docs.microsoft.com/en-us/windows/win32/api/xaudio2fx/nf-xaudio2fx-xaudio2createvolumemeter + CoInitializeEx(NULL, COINIT_MULTITHREADED); + HRESULT hr = XAudio2Create(instance.GetAddressOf(), 0, XAUDIO2_DEFAULT_PROCESSOR); if (FAILED(hr)) {