<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/maxBufferedFrameCount",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVCaptureBroadcastVideoOutput(py)maxBufferedFrameCount"
  },
  "title" : "maxBufferedFrameCount"
}
-->

# maxBufferedFrameCount

This represents the maximum count of buffered frames. By default the value is 0, which means late frames are immediately dropped to maintain minimal latency.

```
var maxBufferedFrameCount: Int { get set }
```

## Discussion

When set to a value greater than 0, the buffer absorbs minor timing jitter in the capture pipeline, reducing the possibility of dropping frames during temporary processing variations. Frames accumulate in the buffer up to the specified limit. Once the buffer reaches [`maxBufferedFrameCount`](/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/maxBufferedFrameCount), the oldest frame is removed to make room for each new incoming frame, maintaining a rolling window of buffered content.

Calling [`resetFrameBuffer()`](/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/resetFrameBuffer()) clears all buffered frames and resets the buffer count back to 0, allowing the buffer to fill again from empty.

The maximum supported value can be retrieved using [`maxSupportedBufferedFrameCount`](/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/maxSupportedBufferedFrameCount). Setting a value higher than the maximum supported value will raise an `NSInvalidArgumentException`.

> Note: Enabling frame buffering (setting a value > 0) is useful for scenarios where temporary processing delays or timing variations are acceptable, such as when recording or archiving broadcast content. For live broadcast workflows where minimal latency is critical, keep the default value of 0.

## See Also

[`-  resetFrameBuffer`](/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/resetFrameBuffer())

Tells the broadcast video output to reset the frame buffer and drop all currently buffered frames.

[`maxSupportedBufferedFrameCount`](/documentation/AVFoundation/AVCaptureBroadcastVideoOutput/maxSupportedBufferedFrameCount)

The maximum value supported for maxBufferedFrameCount.



---

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)