aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/wave.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'alc/backends/wave.cpp')
-rw-r--r--alc/backends/wave.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/alc/backends/wave.cpp b/alc/backends/wave.cpp
index 4f738230..e80fb3ae 100644
--- a/alc/backends/wave.cpp
+++ b/alc/backends/wave.cpp
@@ -132,8 +132,8 @@ int WaveBackend::mixerProc()
int64_t done{0};
auto start = std::chrono::steady_clock::now();
- while(!mKillNow.load(std::memory_order_acquire) &&
- mDevice->Connected.load(std::memory_order_acquire))
+ while(!mKillNow.load(std::memory_order_acquire)
+ && mDevice->Connected.load(std::memory_order_acquire))
{
auto now = std::chrono::steady_clock::now();
@@ -214,9 +214,12 @@ void WaveBackend::open(const char *name)
throw al::backend_exception{al::backend_error::NoDevice, "Device name \"%s\" not found",
name};
+ /* There's only one "device", so if it's already open, we're done. */
+ if(mFile) return;
+
#ifdef _WIN32
{
- std::wstring wname = utf8_to_wstr(fname);
+ std::wstring wname{utf8_to_wstr(fname)};
mFile = _wfopen(wname.c_str(), L"wb");
}
#else