<!--
{
  "documentType" : "article",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/VTMultiPassStorage-api-collection",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "VTMultiPassStorage"
}
-->

# VTMultiPassStorage

An object that stores video encoding metadata from a multipass encoding session.

## Topics

### Creating Storage Objects

[`func VTMultiPassStorageCreate(allocator: CFAllocator?, fileURL: CFURL?, timeRange: CMTimeRange, options: CFDictionary?, multiPassStorageOut: UnsafeMutablePointer<VTMultiPassStorage?>) -> OSStatus`](/documentation/VideoToolbox/VTMultiPassStorageCreate(allocator:fileURL:timeRange:options:multiPassStorageOut:))

Creates a multipass storage object using a temporary file.

### Closing Storage Objects

[`func VTMultiPassStorageClose(VTMultiPassStorage) -> OSStatus`](/documentation/VideoToolbox/VTMultiPassStorageClose(_:))

Ensures that any pending data is written to the multipass storage file and closes the file.

### Inspecting Storage Objects

[`func VTMultiPassStorageGetTypeID() -> CFTypeID`](/documentation/VideoToolbox/VTMultiPassStorageGetTypeID())

Retrieves the Core Foundation type identifier for the multipass storage object.

### Data Types

[`class VTMultiPassStorage`](/documentation/VideoToolbox/VTMultiPassStorage)

An object for storing information for each frame of a multipass compression session.

### Constants

[`let kVTMultiPassStorageCreationOption_DoNotDelete: CFString`](/documentation/VideoToolbox/kVTMultiPassStorageCreationOption_DoNotDelete)

Indicates that the multipass storage object’s backing store should not be deleted when finalized.



---

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)