<!--
{
  "documentType" : "article",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/avasset-deprecated-symbols",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Deprecated symbols"
}
-->

# Deprecated symbols

Review unsupported symbols and their replacements.

## Discussion

[`AVAsset`](/documentation/AVFoundation/AVAsset) doesn’t support using its synchronous property accessors that can block the calling thread. Instead, use the [`load(_:isolation:)`](/documentation/AVFoundation/AVAsynchronousKeyValueLoading/load(_:isolation:)) method to load [`AVAsyncProperty`](/documentation/AVFoundation/AVAsyncProperty) values asynchronously.

## Topics

### Accessing duration and timing

[`var duration: CMTime`](/documentation/AVFoundation/AVAsset/duration)

A time value that indicates the asset’s duration.

[`var providesPreciseDurationAndTiming: Bool`](/documentation/AVFoundation/AVAsset/providesPreciseDurationAndTiming)

A Boolean value that indicates whether the asset provides precise duration and timing.

[`var minimumTimeOffsetFromLive: CMTime`](/documentation/AVFoundation/AVAsset/minimumTimeOffsetFromLive)

A time value that indicates how closely playback follows the latest live stream content.

### Accessing tracks

[`var tracks: [AVAssetTrack]`](/documentation/AVFoundation/AVAsset/tracks)

The tracks an asset contains.

[`func track(withTrackID: CMPersistentTrackID) -> AVAssetTrack?`](/documentation/AVFoundation/AVAsset/track(withTrackID:))

Returns a track that contains the specified identifier.

[`func tracks(withMediaType: AVMediaType) -> [AVAssetTrack]`](/documentation/AVFoundation/AVAsset/tracks(withMediaType:))

Returns tracks that contain media of a specified type.

[`func tracks(withMediaCharacteristic: AVMediaCharacteristic) -> [AVAssetTrack]`](/documentation/AVFoundation/AVAsset/tracks(withMediaCharacteristic:))

Returns an array of asset tracks matching the specified media characteristic.

[`func unusedTrackID() -> CMPersistentTrackID`](/documentation/AVFoundation/AVAsset/unusedTrackID())

Returns an identifier that no other tracks in the asset use.

### Accessing track groups

[`var trackGroups: [AVAssetTrackGroup]`](/documentation/AVFoundation/AVAsset/trackGroups)

The track groups an asset contains.

### Accessing metadata

[`var metadata: [AVMetadataItem]`](/documentation/AVFoundation/AVAsset/metadata)

An array of metadata items for all metadata identifiers for which a value is available.

[`var commonMetadata: [AVMetadataItem]`](/documentation/AVFoundation/AVAsset/commonMetadata)

The metadata items an asset contains for common metadata identifiers that provide a value.

[`var availableMetadataFormats: [AVMetadataFormat]`](/documentation/AVFoundation/AVAsset/availableMetadataFormats)

The metadata formats this asset contains.

[`func metadata(forFormat: AVMetadataFormat) -> [AVMetadataItem]`](/documentation/AVFoundation/AVAsset/metadata(forFormat:))

Returns an array of metadata items from the container with the specified format.

[`var creationDate: AVMetadataItem?`](/documentation/AVFoundation/AVAsset/creationDate)

A metadata item that indicates the asset’s creation date.

[`var lyrics: String?`](/documentation/AVFoundation/AVAsset/lyrics)

The lyrics of the asset in a language suitable for the current locale.

### Accessing suitability

[`var isPlayable: Bool`](/documentation/AVFoundation/AVAsset/isPlayable)

A Boolean value that indicates whether the asset has playable content.

[`var isExportable: Bool`](/documentation/AVFoundation/AVAsset/isExportable)

A Boolean value that indicates whether you can export this asset using an export session.

[`var isReadable: Bool`](/documentation/AVFoundation/AVAsset/isReadable)

A Boolean value that indicates whether you can extract the asset’s media data using an asset reader.

[`var isComposable: Bool`](/documentation/AVFoundation/AVAsset/isComposable)

A Boolean value that indicates whether you can use the asset as a segment of a composition track.

[`var isCompatibleWithAirPlayVideo: Bool`](/documentation/AVFoundation/AVAsset/isCompatibleWithAirPlayVideo)

A Boolean value that indicates whether the asset is compatible with AirPlay Video.

[`var isCompatibleWithSavedPhotosAlbum: Bool`](/documentation/AVFoundation/AVAsset/isCompatibleWithSavedPhotosAlbum)

A Boolean value that indicates whether you can write the asset to the Saved Photos album.

### Accessing asset preferences

Prefer loading access preferences asynchronously using the properties in Loading Asset Preferences.

[`var preferredRate: Float`](/documentation/AVFoundation/AVAsset/preferredRate)

The asset’s rate preference for playing its media.

[`var preferredVolume: Float`](/documentation/AVFoundation/AVAsset/preferredVolume)

The asset’s volume preference for playing its audible media.

[`var preferredTransform: CGAffineTransform`](/documentation/AVFoundation/AVAsset/preferredTransform)

The asset’s transform preference to apply to its visual content during presentation or processing.

[`var preferredDisplayCriteria: AVDisplayCriteria`](/documentation/AVFoundation/AVAsset/preferredDisplayCriteria)

The asset’s display mode preference for optimal playback of its content.

[`var preferredMediaSelection: AVMediaSelection`](/documentation/AVFoundation/AVAsset/preferredMediaSelection)

The default media selections for this asset’s media selection groups.

### Accessing media selections

[`var allMediaSelections: [AVMediaSelection]`](/documentation/AVFoundation/AVAsset/allMediaSelections)

The array of available media selections for this asset.

[`var availableMediaCharacteristicsWithMediaSelectionOptions: [AVMediaCharacteristic]`](/documentation/AVFoundation/AVAsset/availableMediaCharacteristicsWithMediaSelectionOptions)

An array of media characteristics for which a media selection option is available.

[`func mediaSelectionGroup(forMediaCharacteristic: AVMediaCharacteristic) -> AVMediaSelectionGroup?`](/documentation/AVFoundation/AVAsset/mediaSelectionGroup(forMediaCharacteristic:))

Returns a media selection group that contains one or more options with the specified media characteristic.

### Accessing chapter metadata

[`var availableChapterLocales: [Locale]`](/documentation/AVFoundation/AVAsset/availableChapterLocales)

The locales of the asset’s chapter metadata.

[`func chapterMetadataGroups(withTitleLocale: Locale, containingItemsWithCommonKeys: [AVMetadataKey]?) -> [AVTimedMetadataGroup]`](/documentation/AVFoundation/AVAsset/chapterMetadataGroups(withTitleLocale:containingItemsWithCommonKeys:))

Returns an array of chapters that contain the specified title locale and common keys.

[`func chapterMetadataGroups(bestMatchingPreferredLanguages: [String]) -> [AVTimedMetadataGroup]`](/documentation/AVFoundation/AVAsset/chapterMetadataGroups(bestMatchingPreferredLanguages:))

Returns an array of chapters with a locale that best matches the list of preferred languages.

### Accessing content protections

[`var hasProtectedContent: Bool`](/documentation/AVFoundation/AVAsset/hasProtectedContent)

A Boolean value that indicates whether the asset contains protected content.

### Accessing fragment support

[`var canContainFragments: Bool`](/documentation/AVFoundation/AVAsset/canContainFragments)

A Boolean value that indicates whether you can extend the asset by fragments.

[`var containsFragments: Bool`](/documentation/AVFoundation/AVAsset/containsFragments)

A Boolean value that indicates whether at least one movie fragment extends the asset.

[`var overallDurationHint: CMTime`](/documentation/AVFoundation/AVAsset/overallDurationHint)

The total duration of fragments that currently exist, or may exist in the future.

### Inspecting visual attributes

[`var naturalSize: CGSize`](/documentation/AVFoundation/AVAsset/naturalSize)

The encoded or authored size of the visual portion of the asset.



---

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)