diff options
Diffstat (limited to 'alc/backends/winmm.cpp')
-rw-r--r-- | alc/backends/winmm.cpp | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/alc/backends/winmm.cpp b/alc/backends/winmm.cpp index a7c94a07..2474a316 100644 --- a/alc/backends/winmm.cpp +++ b/alc/backends/winmm.cpp @@ -66,9 +66,9 @@ void ProbePlaybackDevices(void) { PlaybackDevices.clear(); - ALuint numdevs{waveOutGetNumDevs()}; + UINT numdevs{waveOutGetNumDevs()}; PlaybackDevices.reserve(numdevs); - for(ALuint i{0};i < numdevs;i++) + for(UINT i{0};i < numdevs;++i) { std::string dname; @@ -97,9 +97,9 @@ void ProbeCaptureDevices(void) { CaptureDevices.clear(); - ALuint numdevs{waveInGetNumDevs()}; + UINT numdevs{waveInGetNumDevs()}; CaptureDevices.reserve(numdevs); - for(ALuint i{0};i < numdevs;i++) + for(UINT i{0};i < numdevs;++i) { std::string dname; @@ -135,14 +135,14 @@ struct WinMMPlayback final : public BackendBase { int mixerProc(); - void open(const ALCchar *name) override; + void open(const char *name) override; bool reset() override; void start() override; void stop() override; - std::atomic<ALuint> mWritable{0u}; + std::atomic<uint> mWritable{0u}; al::semaphore mSem; - ALuint mIdx{0u}; + uint mIdx{0u}; std::array<WAVEHDR,4> mWaveBuffer{}; HWAVEOUT mOutHdl{nullptr}; @@ -184,10 +184,10 @@ FORCE_ALIGN int WinMMPlayback::mixerProc() const size_t frame_step{mDevice->channelsFromFmt()}; - 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)) { - ALsizei todo = mWritable.load(std::memory_order_acquire); + uint todo{mWritable.load(std::memory_order_acquire)}; if(todo < 1) { mSem.wait(); @@ -203,14 +203,14 @@ FORCE_ALIGN int WinMMPlayback::mixerProc() mWritable.fetch_sub(1, std::memory_order_acq_rel); waveOutWrite(mOutHdl, &waveHdr, sizeof(WAVEHDR)); } while(--todo); - mIdx = static_cast<ALuint>(widx); + mIdx = static_cast<uint>(widx); } return 0; } -void WinMMPlayback::open(const ALCchar *name) +void WinMMPlayback::open(const char *name) { if(PlaybackDevices.empty()) ProbePlaybackDevices(); @@ -263,7 +263,7 @@ retry_open: bool WinMMPlayback::reset() { - mDevice->BufferSize = static_cast<ALuint>(uint64_t{mDevice->BufferSize} * + mDevice->BufferSize = static_cast<uint>(uint64_t{mDevice->BufferSize} * mFormat.nSamplesPerSec / mDevice->Frequency); mDevice->BufferSize = (mDevice->BufferSize+3) & ~0x3u; mDevice->UpdateSize = mDevice->BufferSize / 4; @@ -297,7 +297,7 @@ bool WinMMPlayback::reset() return false; } - ALuint chanmask{}; + uint chanmask{}; if(mFormat.nChannels == 2) { mDevice->FmtChans = DevFmtStereo; @@ -315,7 +315,7 @@ bool WinMMPlayback::reset() } setChannelOrderFromWFXMask(chanmask); - ALuint BufferSize{mDevice->UpdateSize * mDevice->frameSizeFromFmt()}; + uint BufferSize{mDevice->UpdateSize * mDevice->frameSizeFromFmt()}; al_free(mWaveBuffer[0].lpData); mWaveBuffer[0] = WAVEHDR{}; @@ -337,9 +337,8 @@ void WinMMPlayback::start() try { std::for_each(mWaveBuffer.begin(), mWaveBuffer.end(), [this](WAVEHDR &waveHdr) -> void - { waveOutPrepareHeader(mOutHdl, &waveHdr, static_cast<UINT>(sizeof(WAVEHDR))); } - ); - mWritable.store(static_cast<ALuint>(mWaveBuffer.size()), std::memory_order_release); + { waveOutPrepareHeader(mOutHdl, &waveHdr, sizeof(WAVEHDR)); }); + mWritable.store(static_cast<uint>(mWaveBuffer.size()), std::memory_order_release); mKillNow.store(false, std::memory_order_release); mThread = std::thread{std::mem_fn(&WinMMPlayback::mixerProc), this}; @@ -360,8 +359,7 @@ void WinMMPlayback::stop() mSem.wait(); std::for_each(mWaveBuffer.begin(), mWaveBuffer.end(), [this](WAVEHDR &waveHdr) -> void - { waveOutUnprepareHeader(mOutHdl, &waveHdr, sizeof(WAVEHDR)); } - ); + { waveOutUnprepareHeader(mOutHdl, &waveHdr, sizeof(WAVEHDR)); }); mWritable.store(0, std::memory_order_release); } @@ -376,15 +374,15 @@ struct WinMMCapture final : public BackendBase { int captureProc(); - void open(const ALCchar *name) override; + void open(const char *name) override; void start() override; void stop() override; void captureSamples(al::byte *buffer, uint samples) override; uint availableSamples() override; - std::atomic<ALuint> mReadable{0u}; + std::atomic<uint> mReadable{0u}; al::semaphore mSem; - ALuint mIdx{0}; + uint mIdx{0}; std::array<WAVEHDR,4> mWaveBuffer{}; HWAVEIN mInHdl{nullptr}; @@ -429,7 +427,7 @@ int WinMMCapture::captureProc() while(!mKillNow.load(std::memory_order_acquire) && mDevice->Connected.load(std::memory_order_acquire)) { - ALuint todo{mReadable.load(std::memory_order_acquire)}; + uint todo{mReadable.load(std::memory_order_acquire)}; if(todo < 1) { mSem.wait(); @@ -445,14 +443,14 @@ int WinMMCapture::captureProc() mReadable.fetch_sub(1, std::memory_order_acq_rel); waveInAddBuffer(mInHdl, &waveHdr, sizeof(WAVEHDR)); } while(--todo); - mIdx = static_cast<ALuint>(widx); + mIdx = static_cast<uint>(widx); } return 0; } -void WinMMCapture::open(const ALCchar *name) +void WinMMCapture::open(const char *name) { if(CaptureDevices.empty()) ProbeCaptureDevices(); @@ -519,8 +517,8 @@ void WinMMCapture::open(const ALCchar *name) // Allocate circular memory buffer for the captured audio // Make sure circular buffer is at least 100ms in size - ALuint CapturedDataSize{mDevice->BufferSize}; - CapturedDataSize = static_cast<ALuint>(maxz(CapturedDataSize, BufferSize*mWaveBuffer.size())); + uint CapturedDataSize{mDevice->BufferSize}; + CapturedDataSize = static_cast<uint>(maxz(CapturedDataSize, BufferSize*mWaveBuffer.size())); mRing = RingBuffer::Create(CapturedDataSize, mFormat.nBlockAlign, false); |