<!--
{
  "availability" : [
    "macOS: 10.7.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVCaptureFileOutputRecordingDelegate/fileOutput(_:willFinishRecordingTo:from:error:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(pl)AVCaptureFileOutputRecordingDelegate(im)captureOutput:willFinishRecordingToOutputFileAtURL:fromConnections:error:"
  },
  "title" : "fileOutput(_:willFinishRecordingTo:from:error:)"
}
-->

# fileOutput(_:willFinishRecordingTo:from:error:)

Informs the delegate when the output will stop writing new samples to a file.

```
optional func fileOutput(_ output: AVCaptureFileOutput, willFinishRecordingTo fileURL: URL, from connections: [AVCaptureConnection], error: (any Error)?)
```

## Parameters

`output`

The capture file output that will finish writing the file.

`fileURL`

The file URL of the file that is being written.

`connections`

An array of [`AVCaptureConnection`](/documentation/AVFoundation/AVCaptureConnection) objects attached to the file output that provided the data that is being written to the file.

`error`

An error describing what caused the file to stop recording, or `nil` if there was no error.

## Discussion

This method is called when the file output will stop recording new samples to the file at [`outputFileURL`](/documentation/AVFoundation/AVCaptureFileOutput/outputFileURL), either because [`startRecording(to:recordingDelegate:)`](/documentation/AVFoundation/AVCaptureFileOutput/startRecording(to:recordingDelegate:)) or [`stopRecording()`](/documentation/AVFoundation/AVCaptureFileOutput/stopRecording()) was called, or because an error (described by the error parameter) occurred (if no error occurred, the error parameter is `nil`).

This method is always called for each recording request, even if no data is successfully written to the file.

You should not assume that this method will be called on a specific thread, and should make this method as efficient as possible.

---

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)