---
title: "VTFrameSiloCreate(allocator:fileURL:timeRange:options:frameSiloOut:)"
framework: videotoolbox
role: symbol
role_heading: Function
path: "videotoolbox/vtframesilocreate(allocator:fileurl:timerange:options:framesiloout:)"
---

# VTFrameSiloCreate(allocator:fileURL:timeRange:options:frameSiloOut:)

Creates a frame silo object using a temporary file.

## Declaration

```swift
func VTFrameSiloCreate(allocator: CFAllocator?, fileURL: CFURL?, timeRange: CMTimeRange, options: CFDictionary?, frameSiloOut: UnsafeMutablePointer<VTFrameSilo?>) -> OSStatus
```

## Parameters

- `allocator`: An allocator for the frame silo. Pass NULL to use the default allocator.
- `fileURL`: The URL of the backing file for the VTFrameSilo object. If you pass NULL for fileURL, VideoToolbox will pick a unique temporary file name.
- `timeRange`: The valid time range for the frame silo. Must be valid for progress reporting.
- `options`: Reserved, pass NULL.
- `frameSiloOut`: Points to a doc://com.apple.videotoolbox/documentation/VideoToolbox/VTFrameSilo to receive the newly created object. Call CFRelease to release your retain on the created VTFrameSilo object when you are done with it.

## Discussion

Discussion You can use the returned frame silo object to gather frames produced by multipass encoding. Call CFRelease to release the frame silo object when you are done with it.
