---
title: AVVideoCompositionInstructionProtocol
framework: avfoundation
role: symbol
role_heading: Protocol
path: avfoundation/avvideocompositioninstructionprotocol
---

# AVVideoCompositionInstructionProtocol

A protocol that defines the interface for a video composition instruction.

## Declaration

```swift
protocol AVVideoCompositionInstructionProtocol : NSObjectProtocol, Sendable
```

## Overview

Overview A video composition maintains an array of instructions that describe how to compose its content.

## Topics

### Getting track ID settings

- [passthroughTrackID](avfoundation/avvideocompositioninstructionprotocol/passthroughtrackid.md)
- [requiredSourceTrackIDs](avfoundation/avvideocompositioninstructionprotocol/requiredsourcetrackids.md)
- [requiredSourceSampleDataTrackIDs](avfoundation/avvideocompositioninstructionprotocol/requiredsourcesampledatatrackids.md)

### Getting tweening settings

- [containsTweening](avfoundation/avvideocompositioninstructionprotocol/containstweening.md)

### Getting post-processing status

- [enablePostProcessing](avfoundation/avvideocompositioninstructionprotocol/enablepostprocessing.md)

### Getting timing settings

- [timeRange](avfoundation/avvideocompositioninstructionprotocol/timerange.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [AVMutableVideoCompositionInstruction](avfoundation/avmutablevideocompositioninstruction.md)
- [AVVideoCompositionInstruction](avfoundation/avvideocompositioninstruction-swift.class.md)

## See Also

### Specifying composition instructions

- [instructions](avfoundation/avmutablevideocomposition/instructions.md)
