<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVMutableMovieTrack",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVMutableMovieTrack"
  },
  "title" : "AVMutableMovieTrack"
}
-->

# AVMutableMovieTrack

A mutable track that conforms to the QuickTime or ISO base media file format.

```
class AVMutableMovieTrack
```

## Topics

### Managing time ranges

[`insertTimeRange(_:of:at:copySampleData:)`](/documentation/AVFoundation/AVMutableMovieTrack/insertTimeRange(_:of:at:copySampleData:))

Inserts a portion of an asset track into the target movie.

[`insertEmptyTimeRange(_:)`](/documentation/AVFoundation/AVMutableMovieTrack/insertEmptyTimeRange(_:))

Adds an empty time range to a track.

[`removeTimeRange(_:)`](/documentation/AVFoundation/AVMutableMovieTrack/removeTimeRange(_:))

Removes the specified time range from a track.

[`scaleTimeRange(_:toDuration:)`](/documentation/AVFoundation/AVMutableMovieTrack/scaleTimeRange(_:toDuration:))

Changes the duration of a time range in a track.

### Appending sample data

[`append(_:)`](/documentation/AVFoundation/AVMutableMovieTrack/append(_:))

Appends sample data to a media file and adds sample references for the added data to a track’s media sample tables.

[`append(_:decodeTime:presentationTime:)`](/documentation/AVFoundation/AVMutableMovieTrack/append(_:decodeTime:presentationTime:))

Appends sample data to a media file and adds sample references for the added data to a track’s media sample tables.

[`insertMediaTimeRange(_:into:)`](/documentation/AVFoundation/AVMutableMovieTrack/insertMediaTimeRange(_:into:))

Inserts a reference to a media time range into a track.

### Accessing media chunks

[`preferredMediaChunkAlignment`](/documentation/AVFoundation/AVMutableMovieTrack/preferredMediaChunkAlignment)

The boundary for media chunk alignment for file types that support media chunk alignment.

[`preferredMediaChunkDuration`](/documentation/AVFoundation/AVMutableMovieTrack/preferredMediaChunkDuration)

The maximum duration to use for each chunk of sample data written to the file for file types that support media chunk duration.

[`preferredMediaChunkSize`](/documentation/AVFoundation/AVMutableMovieTrack/preferredMediaChunkSize)

The maximum size to use for each chunk of sample data written to the file for file types that support media chunk duration.

### Changing format descriptions

[`formatDescriptions`](/documentation/AVFoundation/AVMutableMovieTrack/formatDescriptions)

The format descriptions of the media samples that a track references.

[`replaceFormatDescription(_:with:)`](/documentation/AVFoundation/AVMutableMovieTrack/replaceFormatDescription(_:with:))

Replaces the track’s format description with a new format description.

### Configuring track information

[`isModified`](/documentation/AVFoundation/AVMutableMovieTrack/isModified)

A Boolean value that indicates whether a track is in a modified state.

[`alternateGroupID`](/documentation/AVFoundation/AVMutableMovieTrack/alternateGroupID)

A number that identifies the track as a member of a particular alternate group.

[`mediaDataStorage`](/documentation/AVFoundation/AVMutableMovieTrack/mediaDataStorage)

A storage container for the media data to be added to a track.

[`sampleReferenceBaseURL`](/documentation/AVFoundation/AVMutableMovieTrack/sampleReferenceBaseURL)

The base URL for sample references.

### Accessing track information

[`isPlayable`](/documentation/AVFoundation/AVMutableMovieTrack/isPlayable)

A Boolean value that indicates whether the track is playable in the current environment.

[`isDecodable`](/documentation/AVFoundation/AVMutableMovieTrack/isDecodable)

A Boolean value that indicates whether the track is decodable in the current environment.

[`isEnabled`](/documentation/AVFoundation/AVMutableMovieTrack/isEnabled)

A Boolean value that indicates whether the track’s container enables it.

[`isSelfContained`](/documentation/AVFoundation/AVMutableMovieTrack/isSelfContained)

A Boolean value that indicates whether this track references sample data only within its container file.

[`hasProtectedContent`](/documentation/AVFoundation/AVMutableMovieTrack/hasProtectedContent)

A Boolean value that indicates whether a track contains protected content.

[`totalSampleDataLength`](/documentation/AVFoundation/AVMutableMovieTrack/totalSampleDataLength)

The total number of bytes of sample data the track requires.

[`hasMediaCharacteristic(_:)`](/documentation/AVFoundation/AVMutableMovieTrack/hasMediaCharacteristic(_:))

Returns a Boolean value that indicates whether the track references media with the specified media characteristic.

### Accessing temporal information

[`timeRange`](/documentation/AVFoundation/AVMutableMovieTrack/timeRange)

The time range of the track within the overall timeline of the asset.

[`timescale`](/documentation/AVFoundation/AVMutableMovieTrack/timescale)

The time scale for tracks that contain the `moov` atom.

[`naturalTimeScale`](/documentation/AVFoundation/AVMutableMovieTrack/naturalTimeScale)

The natural time scale of the media that a track references.

[`estimatedDataRate`](/documentation/AVFoundation/AVMutableMovieTrack/estimatedDataRate)

The estimated data rate, in bits per second, of the media that the track references.

[`samplePresentationTime(forTrackTime:)`](/documentation/AVFoundation/AVMutableMovieTrack/samplePresentationTime(forTrackTime:))

Maps the specified track time through the appropriate time mapping and returns the resulting sample presentation time.

### Accessing language support

[`languageCode`](/documentation/AVFoundation/AVMutableMovieTrack/languageCode)

The language code of the track.

[`extendedLanguageTag`](/documentation/AVFoundation/AVMutableMovieTrack/extendedLanguageTag)

The language tag of the track.

### Accessing visual characteristics

[`naturalSize`](/documentation/AVFoundation/AVMutableMovieTrack/naturalSize)

The dimensions used to display the visual media data for the track.

[`preferredTransform`](/documentation/AVFoundation/AVMutableMovieTrack/preferredTransform)

The transform performed on the visual media data of the track for display purposes.

[`layer`](/documentation/AVFoundation/AVMutableMovieTrack/layer)

The layer level for the visual media of the track.

[`cleanApertureDimensions`](/documentation/AVFoundation/AVMutableMovieTrack/cleanApertureDimensions)

The clean aperture dimension of the track.

[`productionApertureDimensions`](/documentation/AVFoundation/AVMutableMovieTrack/productionApertureDimensions)

The production aperture dimensions of the track.

[`encodedPixelsDimensions`](/documentation/AVFoundation/AVMutableMovieTrack/encodedPixelsDimensions)

The encoded pixels dimensions of the track.

### Accessing audible characteristics

[`preferredVolume`](/documentation/AVFoundation/AVMutableMovieTrack/preferredVolume)

The preferred volume for the audible medata data of the track.

[`hasAudioSampleDependencies`](/documentation/AVFoundation/AVMutableMovieTrack/hasAudioSampleDependencies)

A Boolean value that indicates whether the track has sample dependencies.

### Accessing frame-based characteristics

[`nominalFrameRate`](/documentation/AVFoundation/AVMutableMovieTrack/nominalFrameRate)

The frame rate of the track, in frames per second.

[`minFrameDuration`](/documentation/AVFoundation/AVMutableMovieTrack/minFrameDuration)

The minimum duration of the track’s frames.

[`requiresFrameReordering`](/documentation/AVFoundation/AVMutableMovieTrack/requiresFrameReordering)

A Boolean value that indicates whether samples in the track may have different presentation and decode timestamps.

### Accessing metadata

[`metadata`](/documentation/AVFoundation/AVMutableMovieTrack/metadata)

An array of metadata stored by the track.

[`commonMetadata`](/documentation/AVFoundation/AVMutableMovieTrack/commonMetadata)

An array of metadata items for all common metadata keys that have a value.

[`availableMetadataFormats`](/documentation/AVFoundation/AVMutableMovieTrack/availableMetadataFormats)

An array of metadata formats available for the track.

[`metadata(forFormat:)`](/documentation/AVFoundation/AVMutableMovieTrack/metadata(forFormat:))

Returns metadata items that a track contains for the specified format.

### Accessing track segments

[`segments`](/documentation/AVFoundation/AVMutableMovieTrack/segments)

The time mappings from the track’s media samples to its timeline.

[`segment(forTrackTime:)`](/documentation/AVFoundation/AVMutableMovieTrack/segment(forTrackTime:))

Returns a segment whose target time range contains, or is closest to, the specified track time.

### Managing track associations

[`availableTrackAssociationTypes`](/documentation/AVFoundation/AVMutableMovieTrack/availableTrackAssociationTypes)

An array of association types that the track uses to associate with other tracks.

[`associatedTracks(ofType:)`](/documentation/AVFoundation/AVMutableMovieTrack/associatedTracks(ofType:))

Returns an array of associated tracks that have the specified association type.

[`addTrackAssociation(to:type:)`](/documentation/AVFoundation/AVMutableMovieTrack/addTrackAssociation(to:type:))

Creates a specific type of track association between two tracks.

[`removeTrackAssociation(to:type:)`](/documentation/AVFoundation/AVMutableMovieTrack/removeTrackAssociation(to:type:))

Removes a specific type of track association between two tracks.

### Determining sample cursor support

[`canProvideSampleCursors`](/documentation/AVFoundation/AVMutableMovieTrack/canProvideSampleCursors)

A Boolean value that indicates whether the track can provide instances of sample cursors to traverse its media samples and discover information.



---

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)