From f23ff0394d8ae58dc12f8d1076fe5cd9dfde383d Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 26 Apr 2019 15:58:25 -0700 Subject: Specify the buffer size as itself instead of the period count Certain backends don't need a buffer size to be a strict multiple of the period count, which allows a little more flexibility. The period/update size simply acts as the minimum request, which helps control CPU load by determining how often parameter and other pre-mixing updates are processed. --- Alc/backends/solaris.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Alc/backends/solaris.cpp') diff --git a/Alc/backends/solaris.cpp b/Alc/backends/solaris.cpp index dd41de3e..3e59a78c 100644 --- a/Alc/backends/solaris.cpp +++ b/Alc/backends/solaris.cpp @@ -196,7 +196,7 @@ ALCboolean SolarisBackend::reset() } ALsizei frameSize{numChannels * mDevice->bytesFromFmt()}; - info.play.buffer_size = mDevice->UpdateSize*mDevice->NumUpdates * frameSize; + info.play.buffer_size = mDevice->BufferSize * frameSize; if(ioctl(mFd, AUDIO_SETINFO, &info) < 0) { @@ -222,7 +222,8 @@ ALCboolean SolarisBackend::reset() } mDevice->Frequency = info.play.sample_rate; - mDevice->UpdateSize = (info.play.buffer_size/mDevice->NumUpdates) + 1; + mDevice->BufferSize = info.play.buffer_size / frameSize; + mDevice->UpdateSize = mDevice->BufferSize / 2; SetDefaultChannelOrder(mDevice); -- cgit v1.2.3