<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVAssetTrackPlan",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAssetTrackPlan"
  },
  "title" : "AVAssetTrackPlan"
}
-->

# AVAssetTrackPlan

AVAssetTrackPlan holds information about a track and how it should be segmented and executed in an incremental writing session.

```
class AVAssetTrackPlan
```

## Overview

Call AVAssetWritingPlanner’s “planTrack:withSegmentsGeneratedBy:” method to add an AVAssetTrackPlan to the planner to include it in the incremental writing session.

## Topics

### Creating a track plan

[`-  initWithMediaType:segmentConfigurations:assemblyTrackID:`](/documentation/AVFoundation/AVAssetTrackPlan/init(mediaType:segmentConfigurations:assemblyTrackID:))

Returns an instance of AVAssetTrackPlan

### Inspecting the track plan

[`mediaType`](/documentation/AVFoundation/AVAssetTrackPlan/mediaType)

The media type of this track.

[`segmentConfigurations`](/documentation/AVFoundation/AVAssetTrackPlan/segmentConfigurations)

Array of AVPlannedSegmentConfigurations, each element specifying the configuration of a planned segment, ordered in output PTS order.

[`assemblyTrackID`](/documentation/AVFoundation/AVAssetTrackPlan/assemblyTrackID)

This is the track ID of this track when it is included in the assemblyComposition the planner passes to the completion handler to assemble all planned segments of all tracks into a single AVComposition.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

### Inherited By

[`AVAssetVideoTrackPlan`](/documentation/AVFoundation/AVAssetVideoTrackPlan)

---

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)