<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.8.0 -",
    "tvOS: 10.2.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/kVTCompressionPropertyKey_DataRateLimits",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:@kVTCompressionPropertyKey_DataRateLimits"
  },
  "title" : "kVTCompressionPropertyKey_DataRateLimits"
}
-->

# kVTCompressionPropertyKey_DataRateLimits

Zero, one, or two hard limits on data rate.

```
let kVTCompressionPropertyKey_DataRateLimits: CFString
```

## Discussion

Each hard limit is described by a data size in bytes and a duration in seconds, and requires that the total size of compressed data for any contiguous segment of that duration (in decode time) not exceed the data size. By default, no data rate limits are set.  The property is a <doc://com.apple.documentation/documentation/CoreFoundation/CFArray> of an even number of <doc://com.apple.documentation/documentation/CoreFoundation/CFNumber> objects, alternating between bytes and seconds. Note that data rate settings only have an effect when timing information is provided for source frames, and that some codecs do not support limiting to specified data rates.

---

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)