---
title: VTDecompressionOutputMultiImageCallback
framework: videotoolbox
role: symbol
role_heading: Type Alias
path: videotoolbox/vtdecompressionoutputmultiimagecallback
---

# VTDecompressionOutputMultiImageCallback

A callback that the system invokes when multi-image frame decompression completes.

## Declaration

```swift
typealias VTDecompressionOutputMultiImageCallback = (UnsafeMutableRawPointer?, UnsafeMutableRawPointer?, OSStatus, VTDecodeInfoFlags, __CMTaggedBufferGroup?, CMTime, CMTime) -> Void
```

## Parameters

- `decompressionOutputMultiImageRefCon`: The callback’s reference value, copied from the outputMultiImageRefcon argument passed to doc://com.apple.videotoolbox/documentation/VideoToolbox/VTDecompressionSessionSetMultiImageCallback.
- `sourceFrameRefCon`: The frame’s reference value, copied from the sourceFrameRefCon argument passed to doc://com.apple.videotoolbox/documentation/VideoToolbox/VTDecompressionSessionDecodeFrame(_:sampleBuffer:flags:frameRefcon:infoFlagsOut:).
- `status`: A value of noErr if decompression succeeds or an error code if decompression fails.
- `infoFlags`: Contains information about the decode operation: An doc://com.apple.videotoolbox/documentation/VideoToolbox/VTDecodeInfoFlags/asynchronous flag indicates the decode ran asynchronously. A doc://com.apple.videotoolbox/documentation/VideoToolbox/VTDecodeInfoFlags/frameDropped flag indicates the session dropped a frame. An doc://com.apple.videotoolbox/documentation/VideoToolbox/VTDecodeInfoFlags/imageBufferModifiable flag indicates that you can safely modify the image buffer.
- `taggedBufferGroup`: Contains the decompressed frame’s multiple images, if decompression was successful; otherwise, NULL.
- `presentationTimeStamp`: The frame’s presentation timestamp, which the system determines by calling doc://com.apple.documentation/documentation/CoreMedia/CMSampleBufferGetOutputPresentationTimeStamp(_:); otherwise, doc://com.apple.documentation/documentation/CoreMedia/CMTime/invalid if the timestamp isn’t available.
- `presentationDuration`: The frame’s presentation duration, which the system determines by calling doc://com.apple.documentation/documentation/CoreMedia/CMSampleBufferGetOutputDuration(_:); otherwise, doc://com.apple.documentation/documentation/CoreMedia/CMTime/invalid if the duration isn’t available.

## Discussion

Discussion The system doesn’t guarantee that it calls this function in display order. important: The video decompressor may still reference the pixel buffers returned in this callback if the imageBufferModifiable flag isn’t set. It’s not safe to modify the image buffer in this state.
