aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2023-05-04 11:39:13 -0700
committerChris Robinson <[email protected]>2023-05-04 11:39:13 -0700
commit7cbf3ba2e2bab5c3aecb001e1d387c89309dbec4 (patch)
tree6fae4aae25d87e7435b2f0b0936b822360851c9b /alc/backends
parent6e0a0a2692a4303d6410c24bf83e09ca47ac6759 (diff)
Use std::byte instead of a custom al::byte
Diffstat (limited to 'alc/backends')
-rw-r--r--alc/backends/alsa.cpp15
-rw-r--r--alc/backends/base.cpp2
-rw-r--r--alc/backends/base.h4
-rw-r--r--alc/backends/coreaudio.cpp6
-rw-r--r--alc/backends/dsound.cpp4
-rw-r--r--alc/backends/oboe.cpp4
-rw-r--r--alc/backends/opensl.cpp6
-rw-r--r--alc/backends/oss.cpp9
-rw-r--r--alc/backends/pipewire.cpp10
-rw-r--r--alc/backends/portaudio.cpp4
-rw-r--r--alc/backends/pulseaudio.cpp15
-rw-r--r--alc/backends/sndio.cpp16
-rw-r--r--alc/backends/solaris.cpp7
-rw-r--r--alc/backends/wasapi.cpp4
-rw-r--r--alc/backends/wave.cpp3
-rw-r--r--alc/backends/winmm.cpp4
16 files changed, 54 insertions, 59 deletions
diff --git a/alc/backends/alsa.cpp b/alc/backends/alsa.cpp
index b162f84e..74713590 100644
--- a/alc/backends/alsa.cpp
+++ b/alc/backends/alsa.cpp
@@ -36,7 +36,6 @@
#include <utility>
#include "albit.h"
-#include "albyte.h"
#include "alc/alconfig.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -439,7 +438,7 @@ struct AlsaPlayback final : public BackendBase {
std::mutex mMutex;
uint mFrameStep{};
- al::vector<al::byte> mBuffer;
+ al::vector<std::byte> mBuffer;
std::atomic<bool> mKillNow{true};
std::thread mThread;
@@ -585,7 +584,7 @@ int AlsaPlayback::mixerNoMMapProc()
continue;
}
- al::byte *WritePtr{mBuffer.data()};
+ std::byte *WritePtr{mBuffer.data()};
avail = snd_pcm_bytes_to_frames(mPcmHandle, static_cast<ssize_t>(mBuffer.size()));
std::lock_guard<std::mutex> _{mMutex};
mDevice->renderSamples(WritePtr, static_cast<uint>(avail), mFrameStep);
@@ -874,13 +873,13 @@ struct AlsaCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
ClockLatency getClockLatency() override;
snd_pcm_t *mPcmHandle{nullptr};
- al::vector<al::byte> mBuffer;
+ al::vector<std::byte> mBuffer;
bool mDoCapture{false};
RingBufferPtr mRing{nullptr};
@@ -1024,7 +1023,7 @@ void AlsaCapture::stop()
/* The ring buffer implicitly captures when checking availability.
* Direct access needs to explicitly capture it into temp storage.
*/
- auto temp = al::vector<al::byte>(
+ auto temp = al::vector<std::byte>(
static_cast<size_t>(snd_pcm_frames_to_bytes(mPcmHandle, avail)));
captureSamples(temp.data(), avail);
mBuffer = std::move(temp);
@@ -1035,7 +1034,7 @@ void AlsaCapture::stop()
mDoCapture = false;
}
-void AlsaCapture::captureSamples(al::byte *buffer, uint samples)
+void AlsaCapture::captureSamples(std::byte *buffer, uint samples)
{
if(mRing)
{
@@ -1093,7 +1092,7 @@ void AlsaCapture::captureSamples(al::byte *buffer, uint samples)
}
if(samples > 0)
std::fill_n(buffer, snd_pcm_frames_to_bytes(mPcmHandle, samples),
- al::byte((mDevice->FmtType == DevFmtUByte) ? 0x80 : 0));
+ std::byte((mDevice->FmtType == DevFmtUByte) ? 0x80 : 0));
}
uint AlsaCapture::availableSamples()
diff --git a/alc/backends/base.cpp b/alc/backends/base.cpp
index 45254c47..ab3ad028 100644
--- a/alc/backends/base.cpp
+++ b/alc/backends/base.cpp
@@ -37,7 +37,7 @@ backend_exception::~backend_exception() = default;
bool BackendBase::reset()
{ throw al::backend_exception{al::backend_error::DeviceError, "Invalid BackendBase call"}; }
-void BackendBase::captureSamples(al::byte*, uint)
+void BackendBase::captureSamples(std::byte*, uint)
{ }
uint BackendBase::availableSamples()
diff --git a/alc/backends/base.h b/alc/backends/base.h
index b6b3d922..07b430e0 100644
--- a/alc/backends/base.h
+++ b/alc/backends/base.h
@@ -3,11 +3,11 @@
#include <chrono>
#include <cstdarg>
+#include <cstddef>
#include <memory>
#include <ratio>
#include <string>
-#include "albyte.h"
#include "core/device.h"
#include "core/except.h"
@@ -26,7 +26,7 @@ struct BackendBase {
virtual void start() = 0;
virtual void stop() = 0;
- virtual void captureSamples(al::byte *buffer, uint samples);
+ virtual void captureSamples(std::byte *buffer, uint samples);
virtual uint availableSamples();
virtual ClockLatency getClockLatency();
diff --git a/alc/backends/coreaudio.cpp b/alc/backends/coreaudio.cpp
index ae220d7a..19a1f753 100644
--- a/alc/backends/coreaudio.cpp
+++ b/alc/backends/coreaudio.cpp
@@ -568,7 +568,7 @@ struct CoreAudioCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
AudioUnit mAudioUnit{0};
@@ -598,7 +598,7 @@ OSStatus CoreAudioCapture::RecordProc(AudioUnitRenderActionFlags *ioActionFlags,
AudioBufferList*) noexcept
{
union {
- al::byte _[maxz(sizeof(AudioBufferList), offsetof(AudioBufferList, mBuffers[1]))];
+ std::byte _[maxz(sizeof(AudioBufferList), offsetof(AudioBufferList, mBuffers[1]))];
AudioBufferList list;
} audiobuf{};
@@ -878,7 +878,7 @@ void CoreAudioCapture::stop()
ERR("AudioOutputUnitStop failed: '%s' (%u)\n", FourCCPrinter{err}.c_str(), err);
}
-void CoreAudioCapture::captureSamples(al::byte *buffer, uint samples)
+void CoreAudioCapture::captureSamples(std::byte *buffer, uint samples)
{
if(!mConverter)
{
diff --git a/alc/backends/dsound.cpp b/alc/backends/dsound.cpp
index 8b967c95..05117781 100644
--- a/alc/backends/dsound.cpp
+++ b/alc/backends/dsound.cpp
@@ -551,7 +551,7 @@ struct DSoundCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
ComPtr<IDirectSoundCapture> mDSC;
@@ -717,7 +717,7 @@ void DSoundCapture::stop()
}
}
-void DSoundCapture::captureSamples(al::byte *buffer, uint samples)
+void DSoundCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
uint DSoundCapture::availableSamples()
diff --git a/alc/backends/oboe.cpp b/alc/backends/oboe.cpp
index 461f5a6a..4c47190e 100644
--- a/alc/backends/oboe.cpp
+++ b/alc/backends/oboe.cpp
@@ -215,7 +215,7 @@ struct OboeCapture final : public BackendBase, public oboe::AudioStreamCallback
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
};
@@ -322,7 +322,7 @@ void OboeCapture::stop()
uint OboeCapture::availableSamples()
{ return static_cast<uint>(mRing->readSpace()); }
-void OboeCapture::captureSamples(al::byte *buffer, uint samples)
+void OboeCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
} // namespace
diff --git a/alc/backends/opensl.cpp b/alc/backends/opensl.cpp
index f5b98fb8..0c2936b2 100644
--- a/alc/backends/opensl.cpp
+++ b/alc/backends/opensl.cpp
@@ -648,7 +648,7 @@ struct OpenSLCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
/* engine interfaces */
@@ -819,7 +819,7 @@ void OpenSLCapture::open(const char* name)
if(SL_RESULT_SUCCESS == result)
{
const uint chunk_size{mDevice->UpdateSize * mFrameSize};
- const auto silence = (mDevice->FmtType == DevFmtUByte) ? al::byte{0x80} : al::byte{0};
+ const auto silence = (mDevice->FmtType == DevFmtUByte) ? std::byte{0x80} : std::byte{0};
auto data = mRing->getWriteVector();
std::fill_n(data.first.buf, data.first.len*chunk_size, silence);
@@ -883,7 +883,7 @@ void OpenSLCapture::stop()
}
}
-void OpenSLCapture::captureSamples(al::byte *buffer, uint samples)
+void OpenSLCapture::captureSamples(std::byte *buffer, uint samples)
{
const uint update_size{mDevice->UpdateSize};
const uint chunk_size{update_size * mFrameSize};
diff --git a/alc/backends/oss.cpp b/alc/backends/oss.cpp
index f76024f4..9e247be1 100644
--- a/alc/backends/oss.cpp
+++ b/alc/backends/oss.cpp
@@ -41,7 +41,6 @@
#include <thread>
#include <utility>
-#include "albyte.h"
#include "alc/alconfig.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -237,7 +236,7 @@ struct OSSPlayback final : public BackendBase {
int mFd{-1};
- al::vector<al::byte> mMixData;
+ al::vector<std::byte> mMixData;
std::atomic<bool> mKillNow{true};
std::thread mThread;
@@ -283,7 +282,7 @@ int OSSPlayback::mixerProc()
continue;
}
- al::byte *write_ptr{mMixData.data()};
+ std::byte *write_ptr{mMixData.data()};
size_t to_write{mMixData.size()};
mDevice->renderSamples(write_ptr, static_cast<uint>(to_write/frame_size), frame_step);
while(to_write > 0 && !mKillNow.load(std::memory_order_acquire))
@@ -449,7 +448,7 @@ struct OSScapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
int mFd{-1};
@@ -619,7 +618,7 @@ void OSScapture::stop()
ERR("Error resetting device: %s\n", strerror(errno));
}
-void OSScapture::captureSamples(al::byte *buffer, uint samples)
+void OSScapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
uint OSScapture::availableSamples()
diff --git a/alc/backends/pipewire.cpp b/alc/backends/pipewire.cpp
index 5b1596aa..3f372a4a 100644
--- a/alc/backends/pipewire.cpp
+++ b/alc/backends/pipewire.cpp
@@ -24,6 +24,7 @@
#include <algorithm>
#include <atomic>
+#include <cstddef>
#include <cstring>
#include <cerrno>
#include <chrono>
@@ -38,7 +39,6 @@
#include <utility>
#include "albit.h"
-#include "albyte.h"
#include "alc/alconfig.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -1528,7 +1528,7 @@ bool PipeWirePlayback::reset()
* magic value.
*/
constexpr uint32_t pod_buffer_size{1024};
- auto pod_buffer = std::make_unique<al::byte[]>(pod_buffer_size);
+ auto pod_buffer = std::make_unique<std::byte[]>(pod_buffer_size);
spa_pod_builder b{make_pod_builder(pod_buffer.get(), pod_buffer_size)};
const spa_pod *params{spa_format_audio_raw_build(&b, SPA_PARAM_EnumFormat, &info)};
@@ -1793,7 +1793,7 @@ class PipeWireCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
uint64_t mTargetId{PwIdAny};
@@ -1954,7 +1954,7 @@ void PipeWireCapture::open(const char *name)
spa_audio_info_raw info{make_spa_info(mDevice, is51rear, UseDevType)};
constexpr uint32_t pod_buffer_size{1024};
- auto pod_buffer = std::make_unique<al::byte[]>(pod_buffer_size);
+ auto pod_buffer = std::make_unique<std::byte[]>(pod_buffer_size);
spa_pod_builder b{make_pod_builder(pod_buffer.get(), pod_buffer_size)};
const spa_pod *params[]{spa_format_audio_raw_build(&b, SPA_PARAM_EnumFormat, &info)};
@@ -2055,7 +2055,7 @@ void PipeWireCapture::stop()
uint PipeWireCapture::availableSamples()
{ return static_cast<uint>(mRing->readSpace()); }
-void PipeWireCapture::captureSamples(al::byte *buffer, uint samples)
+void PipeWireCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
} // namespace
diff --git a/alc/backends/portaudio.cpp b/alc/backends/portaudio.cpp
index d652d4cd..2551f448 100644
--- a/alc/backends/portaudio.cpp
+++ b/alc/backends/portaudio.cpp
@@ -248,7 +248,7 @@ struct PortCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
PaStream *mStream{nullptr};
@@ -349,7 +349,7 @@ void PortCapture::stop()
uint PortCapture::availableSamples()
{ return static_cast<uint>(mRing->readSpace()); }
-void PortCapture::captureSamples(al::byte *buffer, uint samples)
+void PortCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
} // namespace
diff --git a/alc/backends/pulseaudio.cpp b/alc/backends/pulseaudio.cpp
index 6e8bfe1b..e5696817 100644
--- a/alc/backends/pulseaudio.cpp
+++ b/alc/backends/pulseaudio.cpp
@@ -39,7 +39,6 @@
#include <utility>
#include "albit.h"
-#include "albyte.h"
#include "alc/alconfig.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -1037,7 +1036,7 @@ struct PulseCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
ClockLatency getClockLatency() override;
@@ -1045,12 +1044,12 @@ struct PulseCapture final : public BackendBase {
std::optional<std::string> mDeviceName{std::nullopt};
- al::span<const al::byte> mCapBuffer;
+ al::span<const std::byte> mCapBuffer;
size_t mHoleLength{0};
size_t mPacketLength{0};
uint mLastReadable{0u};
- al::byte mSilentVal{};
+ std::byte mSilentVal{};
pa_buffer_attr mAttr{};
pa_sample_spec mSpec{};
@@ -1159,7 +1158,7 @@ void PulseCapture::open(const char *name)
switch(mDevice->FmtType)
{
case DevFmtUByte:
- mSilentVal = al::byte(0x80);
+ mSilentVal = std::byte(0x80);
mSpec.format = PA_SAMPLE_U8;
break;
case DevFmtShort:
@@ -1231,9 +1230,9 @@ void PulseCapture::stop()
plock.waitForOperation(op);
}
-void PulseCapture::captureSamples(al::byte *buffer, uint samples)
+void PulseCapture::captureSamples(std::byte *buffer, uint samples)
{
- al::span<al::byte> dstbuf{buffer, samples * pa_frame_size(&mSpec)};
+ al::span<std::byte> dstbuf{buffer, samples * pa_frame_size(&mSpec)};
/* Capture is done in fragment-sized chunks, so we loop until we get all
* that's available.
@@ -1291,7 +1290,7 @@ void PulseCapture::captureSamples(al::byte *buffer, uint samples)
if(!capbuf) UNLIKELY
mHoleLength = caplen;
else
- mCapBuffer = {static_cast<const al::byte*>(capbuf), caplen};
+ mCapBuffer = {static_cast<const std::byte*>(capbuf), caplen};
mPacketLength = caplen;
}
if(!dstbuf.empty())
diff --git a/alc/backends/sndio.cpp b/alc/backends/sndio.cpp
index 077e77f2..2040dd3a 100644
--- a/alc/backends/sndio.cpp
+++ b/alc/backends/sndio.cpp
@@ -29,6 +29,7 @@
#include <stdlib.h>
#include <string.h>
#include <thread>
+#include <vector>
#include "alnumeric.h"
#include "core/device.h"
@@ -36,7 +37,6 @@
#include "core/logging.h"
#include "ringbuffer.h"
#include "threads.h"
-#include "vector.h"
#include <sndio.h>
@@ -65,7 +65,7 @@ struct SndioPlayback final : public BackendBase {
sio_hdl *mSndHandle{nullptr};
uint mFrameStep{};
- al::vector<al::byte> mBuffer;
+ std::vector<std::byte> mBuffer;
std::atomic<bool> mKillNow{true};
std::thread mThread;
@@ -91,7 +91,7 @@ int SndioPlayback::mixerProc()
while(!mKillNow.load(std::memory_order_acquire)
&& mDevice->Connected.load(std::memory_order_acquire))
{
- al::span<al::byte> buffer{mBuffer};
+ al::span<std::byte> buffer{mBuffer};
mDevice->renderSamples(buffer.data(), static_cast<uint>(buffer.size() / frameSize),
frameStep);
@@ -231,9 +231,9 @@ retry_params:
mBuffer.resize(mDevice->UpdateSize * par.pchan*par.bps);
if(par.sig == 1)
- std::fill(mBuffer.begin(), mBuffer.end(), al::byte{});
+ std::fill(mBuffer.begin(), mBuffer.end(), std::byte{});
else if(par.bits == 8)
- std::fill_n(mBuffer.data(), mBuffer.size(), al::byte(0x80));
+ std::fill_n(mBuffer.data(), mBuffer.size(), std::byte(0x80));
else if(par.bits == 16)
std::fill_n(reinterpret_cast<uint16_t*>(mBuffer.data()), mBuffer.size()/2, 0x8000);
else if(par.bits == 32)
@@ -283,7 +283,7 @@ struct SndioCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
sio_hdl *mSndHandle{nullptr};
@@ -349,7 +349,7 @@ int SndioCapture::recordProc()
continue;
auto data = mRing->getWriteVector();
- al::span<al::byte> buffer{data.first.buf, data.first.len*frameSize};
+ al::span<std::byte> buffer{data.first.buf, data.first.len*frameSize};
while(!buffer.empty())
{
size_t got{sio_read(mSndHandle, buffer.data(), buffer.size())};
@@ -496,7 +496,7 @@ void SndioCapture::stop()
ERR("Error stopping device\n");
}
-void SndioCapture::captureSamples(al::byte *buffer, uint samples)
+void SndioCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
uint SndioCapture::availableSamples()
diff --git a/alc/backends/solaris.cpp b/alc/backends/solaris.cpp
index 791609ce..4eeeafac 100644
--- a/alc/backends/solaris.cpp
+++ b/alc/backends/solaris.cpp
@@ -39,7 +39,6 @@
#include <thread>
#include <functional>
-#include "albyte.h"
#include "alc/alconfig.h"
#include "core/device.h"
#include "core/helpers.h"
@@ -71,7 +70,7 @@ struct SolarisBackend final : public BackendBase {
int mFd{-1};
uint mFrameStep{};
- al::vector<al::byte> mBuffer;
+ al::vector<std::byte> mBuffer;
std::atomic<bool> mKillNow{true};
std::thread mThread;
@@ -116,7 +115,7 @@ int SolarisBackend::mixerProc()
continue;
}
- al::byte *write_ptr{mBuffer.data()};
+ std::byte *write_ptr{mBuffer.data()};
size_t to_write{mBuffer.size()};
mDevice->renderSamples(write_ptr, static_cast<uint>(to_write/frame_size), frame_step);
while(to_write > 0 && !mKillNow.load(std::memory_order_acquire))
@@ -231,7 +230,7 @@ bool SolarisBackend::reset()
setDefaultChannelOrder();
mBuffer.resize(mDevice->UpdateSize * size_t{frame_size});
- std::fill(mBuffer.begin(), mBuffer.end(), al::byte{});
+ std::fill(mBuffer.begin(), mBuffer.end(), std::byte{});
return true;
}
diff --git a/alc/backends/wasapi.cpp b/alc/backends/wasapi.cpp
index ea6ecbe0..16576733 100644
--- a/alc/backends/wasapi.cpp
+++ b/alc/backends/wasapi.cpp
@@ -1309,7 +1309,7 @@ struct WasapiCapture final : public BackendBase, WasapiProxy {
void stop() override;
void stopProxy() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
HRESULT mOpenStatus{E_FAIL};
@@ -1881,7 +1881,7 @@ void WasapiCapture::stopProxy()
}
-void WasapiCapture::captureSamples(al::byte *buffer, uint samples)
+void WasapiCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
uint WasapiCapture::availableSamples()
diff --git a/alc/backends/wave.cpp b/alc/backends/wave.cpp
index 1b40640c..f8302f1e 100644
--- a/alc/backends/wave.cpp
+++ b/alc/backends/wave.cpp
@@ -34,7 +34,6 @@
#include <thread>
#include "albit.h"
-#include "albyte.h"
#include "alc/alconfig.h"
#include "almalloc.h"
#include "alnumeric.h"
@@ -105,7 +104,7 @@ struct WaveBackend final : public BackendBase {
FILE *mFile{nullptr};
long mDataStart{-1};
- al::vector<al::byte> mBuffer;
+ al::vector<std::byte> mBuffer;
std::atomic<bool> mKillNow{true};
std::thread mThread;
diff --git a/alc/backends/winmm.cpp b/alc/backends/winmm.cpp
index 38e1193f..135b59df 100644
--- a/alc/backends/winmm.cpp
+++ b/alc/backends/winmm.cpp
@@ -372,7 +372,7 @@ struct WinMMCapture final : public BackendBase {
void open(const char *name) override;
void start() override;
void stop() override;
- void captureSamples(al::byte *buffer, uint samples) override;
+ void captureSamples(std::byte *buffer, uint samples) override;
uint availableSamples() override;
std::atomic<uint> mReadable{0u};
@@ -571,7 +571,7 @@ void WinMMCapture::stop()
mIdx = 0;
}
-void WinMMCapture::captureSamples(al::byte *buffer, uint samples)
+void WinMMCapture::captureSamples(std::byte *buffer, uint samples)
{ mRing->read(buffer, samples); }
uint WinMMCapture::availableSamples()