---
title: "process(parameters:completionHandler:)"
framework: videotoolbox
role: symbol
role_heading: Instance Method
path: "videotoolbox/vtframeprocessor/process(parameters:completionhandler:)"
---

# process(parameters:completionHandler:)

Asynchronously performs the video effect specified in the start session.

## Declaration

```swift
func process(parameters: any VTFrameProcessorParameters, completionHandler: @escaping @Sendable (any VTFrameProcessorParameters, (any Error)?) -> Void)
```

```swift
func process(parameters: any VTFrameProcessorParameters) async throws -> any VTFrameProcessorParameters
```

## Parameters

- `parameters`: A doc://com.apple.videotoolbox/documentation/VideoToolbox/VTFrameProcessorParameters object to specify additional parameters to use during processing. It needs to match the configuration type used during start session.
- `completionHandler`: This completion handler is called when the frame processing is completed. The completion handler will receive the same parameters object that was provided to the original call, as well as an NSError which will contain an error code if processing was not successful.

## See Also

### Processing frames

- [startSession(configuration:)](videotoolbox/vtframeprocessor/startsession(configuration:).md)
- [process(parameters:)](videotoolbox/vtframeprocessor/process(parameters:).md)
- [process(with:parameters:)](videotoolbox/vtframeprocessor/process(with:parameters:).md)
- [endSession()](videotoolbox/vtframeprocessor/endsession().md)
