---
title: AVCompositionTrack
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avcompositiontrack
---

# AVCompositionTrack

A track in a composition that presents media of a uniform type.

## Declaration

```swift
class AVCompositionTrack
```

## Overview

Overview This object provides an immutable composition track. The framework also provides a mutable subclass, AVMutableCompositionTrack.

## Topics

### Accessing track information

- [isPlayable](avfoundation/avcompositiontrack/isplayable.md)
- [isDecodable](avfoundation/avcompositiontrack/isdecodable.md)
- [isEnabled](avfoundation/avcompositiontrack/isenabled.md)
- [isSelfContained](avfoundation/avcompositiontrack/isselfcontained.md)
- [totalSampleDataLength](avfoundation/avcompositiontrack/totalsampledatalength.md)
- [hasMediaCharacteristic(_:)](avfoundation/avcompositiontrack/hasmediacharacteristic(_:).md)

### Accessing temporal information

- [timeRange](avfoundation/avcompositiontrack/timerange.md)
- [naturalTimeScale](avfoundation/avcompositiontrack/naturaltimescale.md)
- [estimatedDataRate](avfoundation/avcompositiontrack/estimateddatarate.md)
- [samplePresentationTime(forTrackTime:)](avfoundation/avcompositiontrack/samplepresentationtime(fortracktime:).md)

### Accessing language support

- [languageCode](avfoundation/avcompositiontrack/languagecode.md)
- [extendedLanguageTag](avfoundation/avcompositiontrack/extendedlanguagetag.md)

### Managing format descriptions

- [formatDescriptions](avfoundation/avcompositiontrack/formatdescriptions.md)
- [formatDescriptionReplacements](avfoundation/avcompositiontrack/formatdescriptionreplacements.md)
- [AVCompositionTrackFormatDescriptionReplacement](avfoundation/avcompositiontrackformatdescriptionreplacement.md)

### Accessing visual characteristics

- [naturalSize](avfoundation/avcompositiontrack/naturalsize.md)
- [preferredTransform](avfoundation/avcompositiontrack/preferredtransform.md)

### Accessing audible characteristics

- [preferredVolume](avfoundation/avcompositiontrack/preferredvolume.md)
- [hasAudioSampleDependencies](avfoundation/avcompositiontrack/hasaudiosampledependencies.md)

### Accessing frame-based characteristics

- [nominalFrameRate](avfoundation/avcompositiontrack/nominalframerate.md)
- [minFrameDuration](avfoundation/avcompositiontrack/minframeduration.md)
- [requiresFrameReordering](avfoundation/avcompositiontrack/requiresframereordering.md)

### Accessing metadata

- [metadata](avfoundation/avcompositiontrack/metadata.md)
- [commonMetadata](avfoundation/avcompositiontrack/commonmetadata.md)
- [availableMetadataFormats](avfoundation/avcompositiontrack/availablemetadataformats.md)
- [metadata(forFormat:)](avfoundation/avcompositiontrack/metadata(forformat:).md)

### Accessing track segments

- [segments](avfoundation/avcompositiontrack/segments.md)
- [segment(forTrackTime:)](avfoundation/avcompositiontrack/segment(fortracktime:).md)

### Accessing track associations

- [availableTrackAssociationTypes](avfoundation/avcompositiontrack/availabletrackassociationtypes.md)
- [associatedTracks(ofType:)](avfoundation/avcompositiontrack/associatedtracks(oftype:).md)

### Determining sample cursor support

- [canProvideSampleCursors](avfoundation/avcompositiontrack/canprovidesamplecursors.md)

## Relationships

### Inherits From

- [AVAssetTrack](avfoundation/avassettrack.md)

### Inherited By

- [AVMutableCompositionTrack](avfoundation/avmutablecompositiontrack.md)

### Conforms To

- [AVAsynchronousKeyValueLoading](avfoundation/avasynchronouskeyvalueloading.md)
- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Compositions

- [AVComposition](avfoundation/avcomposition.md)
- [AVCompositionTrackSegment](avfoundation/avcompositiontracksegment.md)
