<!--
{
  "availability" : [
    "macCatalyst: -",
    "macOS: 15.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreAudio",
  "identifier" : "/documentation/CoreAudio/AudioHardwareDevice/usesVariableBufferFrameSizes",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Audio"
    ],
    "preciseIdentifier" : "s:9CoreAudio0B14HardwareDeviceC28usesVariableBufferFrameSizesSbvp"
  },
  "title" : "usesVariableBufferFrameSizes"
}
-->

# usesVariableBufferFrameSizes

A Bool where true indicates that the sizes of the buffers passed to an IOProc will vary by
a small amount.

```
var usesVariableBufferFrameSizes: Bool { get throws }
```

## Discussion

largestVariableBufferFrameSize will indicate the largest buffer that will be passed and
bufferFrameSize will indicate the smallest buffer that will get passed to the IOProc. The
usage of this property is narrowed to only allow for devices whose buffer sizes vary by
small amounts greater than bufferFrameSize. It is not intended to be a license for devices
to be able to send buffers however they please. Rather, it is intended to allow for
hardware whose natural rhythms lead to this necessity.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)