aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt13
-rw-r--r--alc/backends/wasapi.cpp5
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;