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

# markAsFinished()

Marks the input as finished to indicate that you’re done appending samples to it.

```
func markAsFinished()
```

## Discussion

Apps that monitor an input’s [`isReadyForMoreMediaData`](/documentation/AVFoundation/AVAssetWriterInput/isReadyForMoreMediaData) value must call this method when they finish appending to it. This is necessary to prevent other inputs from stalling because they’re waiting on the input’s media data to complete the ideal interleaving pattern.

After calling this method from the serial queue passed to [`requestMediaDataWhenReady(on:using:)`](/documentation/AVFoundation/AVAssetWriterInput/requestMediaDataWhenReady(on:using:)), the input issues no more invocations of the callback it passes to that method.

---

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)