---
title: AVComposition
framework: avfoundation
role: symbol
role_heading: Class
path: avfoundation/avcomposition
---

# AVComposition

An object that combines and arranges media from multiple assets into a single composite asset that you can play or process.

## Declaration

```swift
class AVComposition
```

## Overview

Overview A composition is a container for one or more tracks of media. Its tracks are instances of AVCompositionTrack that present media of a uniform type like audio or video. A track itself is a container for one or more segments of media, which are instances of AVCompositionTrackSegment, a type that represents a region of media in the source track.

## Topics

### Loading tracks

- [tracks](avfoundation/avpartialasyncproperty/tracks-9eows.md)
- [loadTrack(withTrackID:completionHandler:)](avfoundation/avcomposition/loadtrack(withtrackid:completionhandler:).md)
- [loadTracks(withMediaType:completionHandler:)](avfoundation/avcomposition/loadtracks(withmediatype:completionhandler:).md)
- [loadTracks(withMediaCharacteristic:completionHandler:)](avfoundation/avcomposition/loadtracks(withmediacharacteristic:completionhandler:).md)

### Accessing tracks

- [tracks](avfoundation/avcomposition/tracks.md)
- [track(withTrackID:)](avfoundation/avcomposition/track(withtrackid:).md)
- [tracks(withMediaType:)](avfoundation/avcomposition/tracks(withmediatype:).md)
- [tracks(withMediaCharacteristic:)](avfoundation/avcomposition/tracks(withmediacharacteristic:).md)
- [unusedTrackID()](avfoundation/avcomposition/unusedtrackid().md)

### Accessing track groups

- [trackGroups](avfoundation/avcomposition/trackgroups.md)

### Accessing duration and timing

- [duration](avfoundation/avcomposition/duration.md)
- [providesPreciseDurationAndTiming](avfoundation/avcomposition/providesprecisedurationandtiming.md)
- [minimumTimeOffsetFromLive](avfoundation/avcomposition/minimumtimeoffsetfromlive.md)

### Accessing metadata

- [metadata](avfoundation/avcomposition/metadata.md)
- [commonMetadata](avfoundation/avcomposition/commonmetadata.md)
- [availableMetadataFormats](avfoundation/avcomposition/availablemetadataformats.md)
- [metadata(forFormat:)](avfoundation/avcomposition/metadata(forformat:).md)
- [creationDate](avfoundation/avcomposition/creationdate.md)
- [lyrics](avfoundation/avcomposition/lyrics.md)

### Determining suitability

- [isPlayable](avfoundation/avcomposition/isplayable.md)
- [isReadable](avfoundation/avcomposition/isreadable.md)
- [isExportable](avfoundation/avcomposition/isexportable.md)
- [isComposable](avfoundation/avcomposition/iscomposable.md)
- [isCompatibleWithAirPlayVideo](avfoundation/avcomposition/iscompatiblewithairplayvideo.md)
- [isCompatibleWithSavedPhotosAlbum](avfoundation/avcomposition/iscompatiblewithsavedphotosalbum.md)

### Inspecting preferences

- [preferredRate](avfoundation/avcomposition/preferredrate.md)
- [preferredVolume](avfoundation/avcomposition/preferredvolume.md)
- [preferredTransform](avfoundation/avcomposition/preferredtransform.md)
- [preferredMediaSelection](avfoundation/avcomposition/preferredmediaselection.md)
- [preferredDisplayCriteria](avfoundation/avcomposition/preferreddisplaycriteria.md)

### Accessing media selections

- [allMediaSelections](avfoundation/avcomposition/allmediaselections.md)
- [availableMediaCharacteristicsWithMediaSelectionOptions](avfoundation/avcomposition/availablemediacharacteristicswithmediaselectionoptions.md)
- [mediaSelectionGroup(forMediaCharacteristic:)](avfoundation/avcomposition/mediaselectiongroup(formediacharacteristic:).md)

### Accessing chapter metadata

- [availableChapterLocales](avfoundation/avcomposition/availablechapterlocales.md)
- [chapterMetadataGroups(bestMatchingPreferredLanguages:)](avfoundation/avcomposition/chaptermetadatagroups(bestmatchingpreferredlanguages:).md)
- [chapterMetadataGroups(withTitleLocale:containingItemsWithCommonKeys:)](avfoundation/avcomposition/chaptermetadatagroups(withtitlelocale:containingitemswithcommonkeys:).md)

### Accessing visual dimensions

- [naturalSize](avfoundation/avcomposition/naturalsize.md)

### Accessing initialization options

- [urlAssetInitializationOptions](avfoundation/avcomposition/urlassetinitializationoptions.md)

### Determining content protections

- [hasProtectedContent](avfoundation/avcomposition/hasprotectedcontent.md)

### Determining fragment support

- [canContainFragments](avfoundation/avcomposition/cancontainfragments.md)
- [containsFragments](avfoundation/avcomposition/containsfragments.md)
- [overallDurationHint](avfoundation/avcomposition/overalldurationhint.md)

## Relationships

### Inherits From

- [AVAsset](avfoundation/avasset.md)

### Inherited By

- [AVMutableComposition](avfoundation/avmutablecomposition.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)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Compositions

- [AVCompositionTrack](avfoundation/avcompositiontrack.md)
- [AVCompositionTrackSegment](avfoundation/avcompositiontracksegment.md)
