diff options
-rw-r--r-- | CMakeLists.txt | 13 | ||||
-rw-r--r-- | alc/backends/wasapi.cpp | 5 |
2 files changed, 11 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 02bf81b4..ae21a83e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1061,11 +1061,11 @@ if(WIN32) set(BACKENDS "${BACKENDS} WASAPI,") set(ALC_OBJS ${ALC_OBJS} alc/backends/wasapi.cpp alc/backends/wasapi.h) if(ALSOFT_UWP) - set_source_files_properties(alc/backends/wasapi.cpp alc/alconfig.cpp PROPERTIES COMPILE_FLAGS /ZW) + set_source_files_properties(alc/backends/wasapi.cpp alc/alconfig.cpp PROPERTIES COMPILE_FLAGS /ZW) endif() endif() endif() - + # Setup properly link flags for UWP if(ALSOFT_UWP AND HAVE_WASAPI) # Add compile and link flags required C++/CX @@ -1416,8 +1416,8 @@ else() endif() target_link_libraries(${IMPL_TARGET} PRIVATE common ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB}) - if (WIN32) - set_target_properties(${IMPL_TARGET} PROPERTIES + if(ALSOFT_UWP AND HAVE_WASAPI) + set_target_properties(${IMPL_TARGET} PROPERTIES LINK_FLAGS_DEBUG "${LINKER_FLAGS_DEBUG}" LINK_FLAGS_RELEASE "${LINKER_FLAGS_RELEASE}" LINK_FLAGS_MINSIZEREL "${LINKER_FLAGS_RELEASE}" @@ -1538,7 +1538,10 @@ if(FPMATH_SET) message(STATUS "Building with SSE${FPMATH_SET} codegen") message(STATUS "") endif() - +if(ALSOFT_UWP) + message(STATUS "Building with UWP support") + message(STATUS "") +endif() if(ALSOFT_EAX) message(STATUS "Building with legacy EAX extension support") message(STATUS "") diff --git a/alc/backends/wasapi.cpp b/alc/backends/wasapi.cpp index a11f8ae9..ccdc54e7 100644 --- a/alc/backends/wasapi.cpp +++ b/alc/backends/wasapi.cpp @@ -891,8 +891,6 @@ int WasapiProxy::messageHandler(std::promise<HRESULT> *promise) promise->set_value(S_OK); promise = nullptr; - sDeviceHelper.reset(new DeviceHelper{}); - TRACE("Starting message loop\n"); while(Msg msg{popMessage()}) { @@ -2217,6 +2215,9 @@ bool WasapiBackendFactory::init() WARN("Failed to create IMMDeviceEnumerator instance: 0x%08lx\n", hr); enumerator = nullptr; #endif + if(SUCCEEDED(hr)) + WasapiProxy::sDeviceHelper.reset(new DeviceHelper{}); + CoUninitialize(); return hr; |