<!--
{
  "availability" : [
    "iOS: 4.1.0 - 27.0.0",
    "iPadOS: 4.1.0 - 27.0.0",
    "macCatalyst: 13.1.0 - 27.0.0",
    "macOS: 10.7.0 - 27.0.0",
    "tvOS: 9.0.0 - 27.0.0",
    "visionOS: 1.0.0 - 27.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVAssetWriterInput/isReadyForMoreMediaData",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAssetWriterInput(py)readyForMoreMediaData"
  },
  "title" : "isReadyForMoreMediaData"
}
-->

# isReadyForMoreMediaData

A Boolean value that indicates whether the input is ready to accept media data.

```
var isReadyForMoreMediaData: Bool { get }
```

## Discussion

An asset writer with multiple inputs writes media data in an interleaved manner for efficient playback and storage. To maintain appropriate interleaving, you can only append data to an input when the value of this property is <doc://com.apple.documentation/documentation/Swift/true>.

Apps that write media data from a non-real-time source, such as an instance of [`AVAssetReader`](/documentation/AVFoundation/AVAssetReader), wait to generate or retrieve more media data while this property value is <doc://com.apple.documentation/documentation/Swift/false>. To control of the supply of non-real-time media data, use the [`requestMediaDataWhenReady(on:using:)`](/documentation/AVFoundation/AVAssetWriterInput/requestMediaDataWhenReady(on:using:)) method to specify a callback for the input to invoke when it’s ready to append more data.

Apps that write media data from a real-time source, such as an instance of [`AVCaptureOutput`](/documentation/AVFoundation/AVCaptureOutput), set the input’s [`expectsMediaDataInRealTime`](/documentation/AVFoundation/AVAssetWriterInput/expectsMediaDataInRealTime) property value to <doc://com.apple.documentation/documentation/Swift/true> so that the input accurately determines its readiness for more data. When [`expectsMediaDataInRealTime`](/documentation/AVFoundation/AVAssetWriterInput/expectsMediaDataInRealTime) is <doc://com.apple.documentation/documentation/Swift/true>, this property value becomes <doc://com.apple.documentation/documentation/Swift/false> only when the input can’t process media samples at the current data rate. If this property value becomes <doc://com.apple.documentation/documentation/Swift/false> for a real-time source, your app may need to reduce the rate at which it appends samples, or drop them altogether.

If the [`canPerformMultiplePasses`](/documentation/AVFoundation/AVAssetWriterInput/canPerformMultiplePasses) value of any of an asset writer’s inputs is <doc://com.apple.documentation/documentation/Swift/true>, the value of this property may start as <doc://com.apple.documentation/documentation/Swift/false>, and remain that way for extended periods.

The value of this property often changes from <doc://com.apple.documentation/documentation/Swift/false> to <doc://com.apple.documentation/documentation/Swift/true> asynchronously, as the asset writer processes and writes media samples to the output. It’s possible for this property value to temporarily be <doc://com.apple.documentation/documentation/Swift/false> for all inputs.

This property is key-value observable. The system doesn’t notify observers on a specific thread.

---

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)