Skip to content

Commit fa898f6

Browse files
committed
Add support for magic -1 buffer size granularity.
1 parent 8c5598a commit fa898f6

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

SarAsio/wrapper.cpp

+11-2
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,17 @@ AsioStatus SarAsioWrapper::getBufferSize(
167167
return AsioStatus::OK;
168168
}
169169

170-
while (*maxSize > maxBufferSize && *maxSize - *minSize >= *granularity) {
171-
*maxSize -= *granularity;
170+
// Handle power of 2 buffer sizing.
171+
if (*granularity == -1) {
172+
while (*maxSize > maxBufferSize && *maxSize > *minSize) {
173+
*maxSize /= 2;
174+
}
175+
} else {
176+
while (*maxSize > maxBufferSize &&
177+
*maxSize - *minSize >= *granularity) {
178+
179+
*maxSize -= *granularity;
180+
}
172181
}
173182

174183
if (*preferredSize > *maxSize) {

0 commit comments

Comments
 (0)