diff options
Diffstat (limited to 'alc/backends/sndio.cpp')
-rw-r--r-- | alc/backends/sndio.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/alc/backends/sndio.cpp b/alc/backends/sndio.cpp index 6852e01a..2c3eb3c7 100644 --- a/alc/backends/sndio.cpp +++ b/alc/backends/sndio.cpp @@ -311,6 +311,15 @@ int SndioCapture::recordProc() const uint frameSize{mDevice->frameSizeFromFmt()}; + int nfds_pre{sio_nfds(mSndHandle)}; + if (nfds_pre <= 0) + { + mDevice->handleDisconnect("Incorrect return value from sio_nfds(): %d", nfds_pre); + return 1; + } + + mFds.resize(nfds_pre); + while(!mKillNow.load(std::memory_order_acquire) && mDevice->Connected.load(std::memory_order_acquire)) { |