TechnologiesVideo, Photos & Camera

AVFoundation

iOSmacOStvOSwatchOSvisionOS

AVFoundation provides a model for working with timed audiovisual media across iOS, macOS, tvOS, watchOS, and visionOS, spanning assets, tracks, capture, editing, and playback of audio and video. You load media through AVAsset and AVURLAsset, read or export samples with AVAssetReader and AVAssetExportSession, and generate still images from a timeline using AVAssetImageGenerator. For network media, AVAssetDownloadURLSession and AVAssetDownloadTask manage downloaded content, while AVAssetResourceLoader and its delegate let you supply or authorize resources as they load.

Assets 8

The core media-container objects you load, inspect, and manage on disk or over the network.

  • Cl
    AVAssetiOS 4.0+
    An AVAsset is an abstract class that defines AVFoundation's model for timed audiovisual media.
  • Cl
    AVURLAssetiOS 4.0+
    AVURLAsset provides access to the AVAsset model for timed audiovisual media referenced by URL.
  • Cl
    AVFragmentedAssetiOS 12.0+
    A subclass of AVURLAsset that represents media resources that can be extended in total duration without modifying previously existing data structures.
  • Cl
    AVFragmentedAssetMinderiOS 12.0+
    A class that periodically checks whether additional fragments have been appended to fragmented assets.
  • Cl
    AVAssetCacheiOS 10.0+
    AVAssetCache is a class vended by an AVAsset used for the inspection of locally available media data.
  • Cl
    AVAssetPlaybackAssistantiOS 16.0+
    AVAssetPlaybackAssistant provides playback information for an asset.
  • Cl
    AVAssetVariantiOS 15.0+
    An AVAssetVariant represents a bit rate variant. Each asset contains a collection of variants that represent a combination of audio, video, text, closed captions, and subtitles for a particular bit ra
  • Cl
    AVAssetVariantQualifieriOS 15.0+
    The qualifier of an asset variant.

Tracks and Track Groups 4

The individual media streams within an asset and the groupings that relate them.

  • Cl
    AVAssetTrackiOS 4.0+
    An AVAssetTrack object provides provides the track-level inspection interface for all assets.
  • Cl
    AVFragmentedAssetTrackiOS 12.0+
    A subclass of AVAssetTrack for handling tracks of fragmented assets. An AVFragmentedAssetTrack is capable of changing the values of certain of its properties, if its parent asset is associated with an
  • Cl
    AVAssetTrackGroupiOS 7.0+
    @class AVAssetTrackGroup
  • Cl
    AVAssetTrackSegmentiOS 4.0+
    An object describing a time mapping for a portion of a track's timeline.

Downloading Media 8

Sessions, tasks, and policies for downloading network media for offline playback.

  • Cl
    AVAssetDownloadURLSessioniOS 9.0+
    A subclass of NSURLSession specialized for creating and managing AVAssetDownloadTasks.
  • Cl
    AVAssetDownloadTaskiOS 9.0+
    An NSURLSessionTask that downloads a remote AVURLAsset to the device for offline playback.
  • Cl
    AVAggregateAssetDownloadTask
    An AVAssetDownloadTask used for downloading multiple AVMediaSelections for a single AVAsset, under the umbrella of a single download task.
  • Cl
    AVAssetDownloadConfigurationiOS 15.0+
    Configuration parameters for the download task.
  • Cl
    AVAssetDownloadContentConfigurationiOS 15.0+
    Represents the configuration consisting of variant and the variant's media options.
  • Cl
    AVAssetDownloadStorageManageriOS 11.0+
    An AVAssetDownloadStorageManager manages the policy for automatic purging of downloaded AVAssets. The policy is vended as AVAssetDownloadStorageManagementPolicy object.
  • Cl
    AVAssetDownloadStorageManagementPolicyiOS 11.0+
    A class to inform the system of a policy for automatic purging of downloaded AVAssets.
  • Cl
    AVMutableAssetDownloadStorageManagementPolicyiOS 11.0+
    A mutable subclass of AVAssetDownloadStorageManagementPolicy.

Reading and Writing Samples 16

Objects that read media samples from an asset and write encoded samples to a file.

  • Cl
    AVAssetReaderiOS 4.1+
    @class AVAssetReader
  • Cl
    AVAssetReaderOutputiOS 4.1+
    @class AVAssetReaderOutput
  • Cl
    AVAssetReaderTrackOutputiOS 4.1+
    @class AVAssetReaderTrackOutput
  • Cl
    AVAssetReaderAudioMixOutputiOS 4.1+
    @class AVAssetReaderAudioMixOutput
  • Cl
    AVAssetReaderVideoCompositionOutputiOS 4.1+
    @class AVAssetReaderVideoCompositionOutput
  • Cl
    AVAssetReaderOutputMetadataAdaptor
    An adaptor that reads timed metadata groups from an asset reader output.
  • Cl
    AVAssetReaderOutputCaptionAdaptor
    An adaptor that reads caption groups from an asset reader output.
  • Cl
    AVAssetReaderSampleReferenceOutputiOS 8.0+
    @class AVAssetReaderSampleReferenceOutput
  • Cl
    AVAssetWriteriOS 4.1+
    @class AVAssetWriter
  • Cl
    AVAssetWriterInputiOS 4.1+
    AVAssetWriterInput defines an interface for appending either new media samples or references to existing media samples packaged as CMSampleBuffer objects to a single track of the output file of an AVA
  • Cl
    AVAssetWriterInputGroupiOS 7.0+
    An object that relates writer inputs as mutually exclusive alternatives.
  • Cl
    AVAssetWriterInputPassDescriptioniOS 8.0+
    Defines an interface for querying information about the requirements of the current pass, such as the time ranges of media data to append.
  • Cl
    AVAssetWriterInputPixelBufferAdaptor
    An adaptor that appends pixel buffers to a writer input from a buffer pool.
  • Cl
    AVAssetWriterInputTaggedPixelBufferGroupAdaptor
    An adaptor that appends groups of tagged pixel buffers, such as stereoscopic frames, to a writer input.
  • Cl
    AVAssetWriterInputMetadataAdaptor
    An adaptor that appends timed metadata groups to a writer input.
  • Cl
    AVAssetWriterInputCaptionAdaptor
    An adaptor that appends caption groups to a writer input.

Exporting and Generating Images 3

Sessions and helpers for transcoding an asset and producing still images from its timeline.

  • Cl
    AVAssetExportSessioniOS 4.0+
    @class AVAssetExportSession
  • Cl
    AVAssetImageGeneratoriOS 4.0+
    An object that generates still images from an asset's video timeline at specified times.
  • Cl
    AVOutputSettingsAssistantiOS 7.0+
    @class AVOutputSettingsAssistant

Segmented Writing 11

Planners and configurations for writing assets as discrete, independently described segments.

  • Cl
    AVAssetWritingPlanneriOS 27.0+
    @class AVAssetWritingPlanner
  • Cl
    AVAssetWritingPlannerProgressiOS 27.0+
    @class AVAssetWritingPlannerProgress
  • Cl
    AVPlannedSegmentConfigurationiOS 27.0+
    @class AVPlannedSegmentConfiguration
  • Cl
    AVPlannedVideoSegmentConfigurationiOS 27.0+
    @class AVPlannedVideoSegmentConfiguration
  • Cl
    AVAssetTrackPlaniOS 27.0+
    @class AVAssetTrackPlan
  • Cl
    AVAssetVideoTrackPlaniOS 27.0+
    @class AVAssetVideoTrackPlan
  • Cl
    AVPlannedSegmentWritingRequestiOS 27.0+
    @class AVPlannedSegmentWritingRequest
  • Cl
    AVPlannedVideoSegmentWritingRequestiOS 27.0+
    @class AVPlannedVideoSegmentWritingRequest
  • Cl
    AVAssetSegmentReportiOS 14.0+
    @class AVAssetSegmentReport
  • Cl
    AVAssetSegmentTrackReportiOS 14.0+
    @class AVAssetSegmentTrackReport
  • Cl
    AVAssetSegmentReportSampleInformationiOS 14.0+
    @class AVAssetSegmentReportSampleInformation

Resource Loading 6

Delegate-driven loading requests that let you supply or authorize an asset's resources.

  • Cl
    AVAssetResourceLoaderiOS 6.0+
    An object that mediates requests for an asset's resources to a custom delegate.
  • Cl
    AVAssetResourceLoadingRequestoriOS 12.0+
    @class AVAssetResourceLoadingRequestor
  • Cl
    AVAssetResourceLoadingRequestiOS 6.0+
    A request to load a portion of an asset's resource from a custom source.
  • Cl
    AVAssetResourceRenewalRequestiOS 8.0+
    @class AVAssetResourceRenewalRequest
  • Cl
    AVAssetResourceLoadingContentInformationRequestiOS 7.0+
    A request for content type, length, and byte-range information about a resource.
  • Cl
    AVAssetResourceLoadingDataRequestiOS 7.0+
    A request for a specific byte range of a resource's data.

Composition and Editing 6

Mutable timelines that combine tracks and segments from multiple assets for editing.

  • Cl
    AVCompositioniOS 4.0+
    An immutable timeline that combines media from one or more assets into a single editable asset.
  • Cl
    AVMutableCompositioniOS 4.0+
    A mutable timeline for assembling and editing media from multiple assets.
  • Cl
    AVCompositionTrackiOS 4.0+
    An immutable track within a composition built from segments of source tracks.
  • Cl
    AVMutableCompositionTrackiOS 4.0+
    A mutable track within a composition into which you insert source time ranges.
  • Cl
    AVCompositionTrackSegmentiOS 4.0+
    An object mapping a time range of a source track onto a composition track.
  • Cl
    AVCompositionTrackFormatDescriptionReplacementiOS 13.0+
    @class AVCompositionTrackFormatDescriptionReplacement

Audio Mixing 4

Parameters that control volume and audio processing applied to tracks during playback or export.

  • Cl
    AVAudioMixiOS 4.0+
    An immutable object that specifies audio processing applied to tracks during playback or export.
  • Cl
    AVMutableAudioMixiOS 4.0+
    A mutable object for configuring audio processing applied to an asset's tracks.
  • Cl
    AVAudioMixInputParametersiOS 4.0+
    An immutable object specifying volume and audio tap parameters for a single track.
  • Cl
    AVMutableAudioMixInputParametersiOS 4.0+
    A mutable object for setting volume ramps and audio tap parameters for a track.

Movies 8

QuickTime movie file containers, their tracks, and the storage that backs their sample data.

  • Cl
    AVMovieiOS 13.0+
    An object representing a QuickTime movie or ISO base media file as an asset.
  • Cl
    AVMutableMovieiOS 13.0+
    @class AVMutableMovie
  • Cl
    AVFragmentedMovieiOS 13.0+
    A movie whose tracks and duration extend as fragments are appended to its file.
  • Cl
    AVFragmentedMovieMinderiOS 13.0+
    @class AVFragmentedMovieMinder
  • Cl
    AVMovieTrackiOS 13.0+
    An immutable track within a movie file.
  • Cl
    AVMutableMovieTrackiOS 13.0+
    A mutable track within a movie that supports inserting and removing media.
  • Cl
    AVFragmentedMovieTrackiOS 13.0+
    A track of a fragmented movie whose timing grows as fragments are added.
  • Cl
    AVMediaDataStorageiOS 13.0+
    @class AVMediaDataStorage

Captions 12

Types for representing, rendering, grouping, and converting timed text and caption content.

  • Cl
    AVCaptioniOS 18.0+
    @class AVCaption
  • Cl
    AVMutableCaptioniOS 18.0+
    @class AVMutableCaption
  • Cl
    AVCaptionRegioniOS 18.0+
    @class AVCaptionRegion
  • Cl
    AVMutableCaptionRegioniOS 18.0+
    @class AVMutableCaptionRegion
  • Cl
    AVCaptionGroupiOS 18.0+
    @class AVCaptionGroup
  • Cl
    AVCaptionGrouperiOS 18.0+
    An object that collects individual captions into time-ordered caption groups.
  • Cl
    AVCaptionRendereriOS 18.0+
    @class AVCaptionRenderer
  • Cl
    AVCaptionFormatConformeriOS 18.0+
    @class AVCaptionFormatConformer
  • Cl
    AVCaptionConversionValidatoriOS 18.0+
    @class AVCaptionConversionValidator
  • Cl
    AVCaptionConversionWarningiOS 18.0+
    @class AVCaptionConversionWarning
  • Cl
    AVCaptionConversionAdjustmentiOS 18.0+
    @class AVCaptionConversionAdjustment
  • Cl
    AVCaptionConversionTimeRangeAdjustmentiOS 18.0+
    @class AVCaptionConversionTimeRangeAdjustment

Media Selection 7

Groups and options that describe and choose among alternative media presentations such as language or subtitles.

  • Cl
    AVMediaSelectioniOS 9.0+
    An immutable object representing the chosen media options across an asset's selection groups.
  • Cl
    AVMutableMediaSelectioniOS 9.0+
    A mutable object for selecting media options within an asset's selection groups.
  • Cl
    AVMediaSelectionGroupiOS 5.0+
    AVMediaSelectionGroup provides a collection of mutually exclusive options for the presentation of media within an asset.
  • Cl
    AVMediaSelectionOptioniOS 5.0+
    AVMediaSelectionOption represents a specific option for the presentation of media within a group of options.
  • Cl
    AVCustomMediaSelectionSchemeiOS 26.0+
    For content that has been authored with the express intent of offering an alternative selection interface for AVMediaSelectionOptions, AVCustomMediaSelectionScheme provides a collection of custom sett
  • Cl
    AVMediaPresentationSelectoriOS 26.0+
    For content that has been authored with the express intent of offering an alternative selection interface for AVMediaSelectionOptions, AVMediaPresentationSelector represents a collection of mutually e
  • Cl
    AVMediaPresentationSettingiOS 26.0+
    For content that has been authored with the express intent of offering an alternative selection interface for AVMediaSelectionOptions, AVMediaPresentationSetting represents a selectable setting for co

Metadata 4

Items, value requests, and filters for reading and authoring media metadata.

  • Cl
    AVMetadataItemiOS 4.0+
    An immutable object representing a single piece of media metadata.
  • Cl
    AVMutableMetadataItemiOS 4.0+
    A mutable metadata item for authoring key, value, and locale information.
  • Cl
    AVMetadataItemValueRequestiOS 9.0+
    A request used to load the value of a metadata item lazily.
  • Cl
    AVMetadataItemFilteriOS 7.0+
    @class AVMetadataItemFilter

Capture Sessions and Connections 5

The sessions, connections, and channels that coordinate capture inputs and outputs.

  • Cl
    AVCaptureSessioniOS 4.0+
    @class AVCaptureSession
  • Cl
    AVCaptureMultiCamSessioniOS 13.0+
    @class AVCaptureMultiCamSession
  • Cl
    AVCaptureConnectioniOS 4.0+
    @class AVCaptureConnection
  • Cl
    AVCaptureAudioChanneliOS 4.0+
    @class AVCaptureAudioChannel
  • Cl
    AVCaptureVideoPreviewLayeriOS 4.0+
    @class AVCaptureVideoPreviewLayer

Capture Devices 10

Cameras, microphones, and external hardware available for capture, with their format and framing capabilities.

  • Cl
    AVCaptureDeviceiOS 4.0+
    @class AVCaptureDevice
  • Cl
    AVFrameRateRangeiOS 7.0+
    @class AVFrameRateRange
  • Cl
    AVCaptureSmartFramingMonitoriOS 26.0+
    An object associated with a capture device that monitors the scene and suggests an optimal framing.
  • Cl
    AVCaptureFramingiOS 26.0+
    A framing, consisting of an aspect ratio and a zoom factor.
  • Cl
    AVCaptureExternalDisplayConfigurationiOS 26.0+
    A class you use to specify a configuration to your external display configurator.
  • Cl
    AVCaptureExternalDisplayConfiguratoriOS 26.0+
    A configurator class allowing you to configure properties of an external display to match the camera's active video format.
  • Cl
    AVExternalStorageDeviceiOS 17.0+
    @class AVExternalStorageDevice
  • Cl
    AVExternalStorageDeviceDiscoverySessioniOS 17.0+
    @class AVExternalStorageDeviceDiscoverySession
  • Cl
    AVExternalSyncDeviceiOS 26.0+
    An external sync device connected to a host device that can be used to drive the timing of an internal component, such as a camera sensor.
  • Cl
    AVCaptureTimecodeGeneratoriOS 26.0+
    Generates and synchronizes timecode data from various sources for precise video and audio synchronization.

Capture Inputs 3

Sources that provide media data to a capture session.

  • Cl
    AVCaptureInputiOS 4.0+
    @class AVCaptureInput
  • Cl
    AVCaptureDeviceInputiOS 4.0+
    @class AVCaptureDeviceInput
  • Cl
    AVCaptureMetadataInputiOS 9.0+
    @class AVCaptureMetadataInput

Capture Outputs 9

Destinations that receive sample buffers, files, metadata, and depth data from a capture session.

  • Cl
    AVCaptureOutputiOS 4.0+
    @class AVCaptureOutput
  • Cl
    AVCaptureAudioDataOutputiOS 4.0+
    @class AVCaptureAudioDataOutput
  • Cl
    AVCaptureVideoDataOutputiOS 4.0+
    @class AVCaptureVideoDataOutput
  • Cl
    AVCaptureBroadcastVideoOutputiOS 27.0+
    ``AVCaptureBroadcastVideoOutput`` is a subclass of ``AVCaptureOutput`` that delivers broadcast-quality video and ancillary data through the device's DisplayPort hardware interface (USB-C DP Alt Mode)
  • Cl
    AVCaptureFileOutputiOS 4.0+
    @class AVCaptureFileOutput
  • Cl
    AVCaptureMovieFileOutputiOS 4.0+
    @class AVCaptureMovieFileOutput
  • Cl
    AVCaptureMetadataOutputiOS 6.0+
    @class AVCaptureMetadataOutput
  • Cl
    AVCaptureDepthDataOutputiOS 11.0+
    @class AVCaptureDepthDataOutput
  • Cl
    AVCaptureStillImageOutput
    @class AVCaptureStillImageOutput

Photo Capture 10

Settings, outputs, and result objects for capturing still photos and bracketed exposures.

  • Cl
    AVCapturePhotoOutputiOS 10.0+
    @class AVCapturePhotoOutput
  • Cl
    AVCapturePhotoOutputReadinessCoordinatoriOS 17.0+
    @class AVCapturePhotoOutputReadinessCoordinator
  • Cl
    AVCapturePhotoSettingsiOS 10.0+
    @class AVCapturePhotoSettings
  • Cl
    AVCapturePhotoBracketSettingsiOS 10.0+
    @class AVCapturePhotoBracketSettings
  • Cl
    AVCaptureResolvedPhotoSettingsiOS 10.0+
    @class AVCaptureResolvedPhotoSettings
  • Cl
    AVCapturePhotoiOS 11.0+
    @class AVCapturePhoto
  • Cl
    AVCaptureDeferredPhotoProxyiOS 17.0+
    @class AVCaptureDeferredPhotoProxy
  • Cl
    AVCaptureBracketedStillImageSettingsiOS 8.0+
    @class AVCaptureBracketedStillImageSettings
  • Cl
    AVCaptureManualExposureBracketedStillImageSettingsiOS 8.0+
    @class AVCaptureManualExposureBracketedStillImageSettings
  • Cl
    AVCaptureAutoExposureBracketedStillImageSettingsiOS 8.0+
    @class AVCaptureAutoExposureBracketedStillImageSettings

Capture Synchronization 6

Coordinators and containers that align sample buffers, metadata, and depth data from multiple outputs.

  • Cl
    AVCaptureDataOutputSynchronizeriOS 11.0+
    @class AVCaptureDataOutputSynchronizer
  • Cl
    AVCaptureSynchronizedDataCollectioniOS 11.0+
    @class AVCaptureSynchronizedDataCollection
  • Cl
    AVCaptureSynchronizedDataiOS 11.0+
    @class AVCaptureSynchronizedData
  • Cl
    AVCaptureSynchronizedSampleBufferDataiOS 11.0+
    @class AVCaptureSynchronizedSampleBufferData
  • Cl
    AVCaptureSynchronizedMetadataObjectDataiOS 11.0+
    @class AVCaptureSynchronizedMetadataObjectData
  • Cl
    AVCaptureSynchronizedDepthDataiOS 11.0+
    @class AVCaptureSynchronizedDepthData

Capture Controls 7

On-device interactive controls that adjust capture parameters such as zoom and exposure.

  • Cl
    AVCaptureControliOS 18.0+
    @protocol AVCaptureControl
  • Cl
    AVCaptureSlideriOS 18.0+
    @class AVCaptureSlider
  • Cl
    AVCaptureIndexPickeriOS 18.0+
    @class AVCaptureIndexPicker
  • Cl
    AVCaptureSystemExposureBiasSlideriOS 18.0+
    @class AVCaptureSystemExposureBiasSlider
  • Cl
    AVCaptureSystemZoomSlideriOS 18.0+
    @class AVCaptureSystemZoomSlider
  • Cl
    AVCaptureReactionEffectStateiOS 17.0+
    @class AVCaptureReactionEffectState
  • Cl
    AVCaptureSpatialAudioMetadataSampleGeneratoriOS 26.0+
    An interface for generating a spatial audio timed metadata sample.

Depth and Camera Calibration 2

Depth maps and calibration data produced alongside captured imagery.

  • Cl
    AVDepthDataiOS 11.0+
    @class AVDepthData
  • Cl
    AVCameraCalibrationDataiOS 11.0+
    @class AVCameraCalibrationData

Detected Metadata Objects 11

Metadata objects describing faces, bodies, animals, and machine-readable codes detected during capture.

  • Cl
    AVMetadataObjectiOS 6.0+
    @class AVMetadataObject
  • Cl
    AVMetadataBodyObjectiOS 13.0+
    @class AVMetadataBodyObject
  • Cl
    AVMetadataHumanBodyObjectiOS 13.0+
    @class AVMetadataHumanBodyObject
  • Cl
    AVMetadataHumanFullBodyObjectiOS 17.0+
    @class AVMetadataHumanFullBodyObject
  • Cl
    AVMetadataCatHeadObjectiOS 26.0+
    A concrete metadata object subclass representing a cat head.
  • Cl
    AVMetadataCatBodyObjectiOS 13.0+
    @class AVMetadataCatBodyObject
  • Cl
    AVMetadataDogHeadObjectiOS 26.0+
    A concrete metadata object subclass representing a dog head.
  • Cl
    AVMetadataDogBodyObjectiOS 13.0+
    @class AVMetadataDogBodyObject
  • Cl
    AVMetadataSalientObjectiOS 13.0+
    @class AVMetadataSalientObject
  • Cl
    AVMetadataFaceObjectiOS 6.0+
    @class AVMetadataFaceObject
  • Cl
    AVMetadataMachineReadableCodeObjectiOS 7.0+
    @class AVMetadataMachineReadableCodeObject

Content Key Protection 6

Sessions and requests for delivering and persisting content keys that protect encrypted media.

  • Cl
    AVContentKeySessioniOS 10.3+
    An AVContentKeySession is used to create and track decryption keys for media data. Objects conforming to the AVContentKeyRecipient protocol, such as AVURLAssets, can be added to an AVContentKeySession
  • Cl
    AVContentKeyRequestiOS 10.3+
    Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  • Cl
    AVPersistableContentKeyRequestiOS 10.3+
    Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  • Cl
    AVContentKeyResponseiOS 10.3+
    AVContentKeyResponse is used to represent the data returned from the key server when requesting a key for decrypting content.
  • Cl
    AVContentKeySpecifieriOS 14.5+
    Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  • Cl
    AVContentKeyiOS 14.5+
    Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.

Playback Coordination 11

Coordinators and commands that synchronize playback across participants and devices.

  • Cl
    AVPlaybackCoordinationMediumiOS 26.0+
    The AVPlaybackCoordinationMedium passes states and messages between its connected playback coordinators.
  • Cl
    AVCoordinatedPlaybackSuspensioniOS 15.0+
    A representation of a temporary break in participation.
  • Cl
    AVPlaybackCoordinatoriOS 15.0+
    The playback coordinator negotiates playback state between a player, such as AVPlayer or a custom playback object represented by an implementation of the AVPlaybackCoordinatorPlaybackControlDelegate p
  • Cl
    AVCoordinatedPlaybackParticipantiOS 15.0+
    A participant in a coordinated playback group connected through AVPlaybackCoordinator.
  • Cl
    AVPlayerPlaybackCoordinatoriOS 15.0+
    An AVPlaybackCoordinator subclass for controlling an AVPlayer
  • Cl
    AVDelegatingPlaybackCoordinatoriOS 15.0+
    An AVPlaybackCoordinator subclass for controlling a custom playback object.
  • Cl
    AVDelegatingPlaybackCoordinatorPlaybackControlCommandiOS 15.0+
    Abstract superclass for playback commands
  • Cl
    AVDelegatingPlaybackCoordinatorPlayCommandiOS 15.0+
    A playback command requesting playback with specific timing.
  • Cl
    AVDelegatingPlaybackCoordinatorBufferingCommandiOS 15.0+
    A playback command requesting buffering in anticipation of playback.
  • Cl
    AVDelegatingPlaybackCoordinatorPauseCommandiOS 15.0+
    A playback command requesting a pause
  • Cl
    AVDelegatingPlaybackCoordinatorSeekCommandiOS 15.0+
    A playback command requesting a seek.

Players and Interstitials 5

Queued playback and the events that schedule interstitial content during playback.

  • Cl
    AVQueuePlayeriOS 4.1+
    AVQueuePlayer is a subclass of AVPlayer that offers an interface for multiple-item playback.
  • Cl
    AVPlayerInterstitialEventiOS 15.0+
    An AVPlayerInterstitialEvent provides instructions for temporarily suspending the playback of primary content in order to play alternative interstitial content instead, resuming playback of the primar
  • Cl
    AVPlayerInterstitialEventMonitoriOS 15.0+
    An AVPlayerInterstitialEventMonitor allows you to observe the scheduling and progress of interstitial events, specified either intrinsically within the content of primary items, such as via use of dir
  • Cl
    AVPlayerInterstitialEventControlleriOS 15.0+
    An AVPlayerInterstitialEventController allows you to specify a schedule of interstitial events for items played by a primary player. By creating an instance of AVPlayerInterstitialEventController and
  • Cl
    AVPlayerItemAccessLogiOS 4.3+
    An AVPlayerItemAccessLog provides methods to retrieve the access log in a format suitable for serialization.

Playback Metrics 18

Events that report errors, network requests, and playback behavior for performance analysis.

  • Cl
    AVMetricEventiOS 18+
    An abstract base class representing metric events.
  • Cl
    AVMetricErrorEventiOS 18+
    Represents a metric event when an error occurred.
  • Cl
    AVMetricMediaResourceRequestEventiOS 18+
    Represents a metric event associated with media resource requests.
  • Cl
    AVMetricHLSPlaylistRequestEventiOS 18+
    Represents a metric event associated with a HLS playlist resource request.
  • Cl
    AVMetricHLSMediaSegmentRequestEventiOS 18+
    Represents a metric event associated with a HLS media segment resource request.
  • Cl
    AVMetricContentKeyRequestEventiOS 18+
    Represents a metric event associated with a HLS content key resource request.
  • Cl
    AVMetricPlayerItemLikelyToKeepUpEventiOS 18+
    Represents a metric event when playback was likely to play through without stalling.
  • Cl
    AVMetricPlayerItemInitialLikelyToKeepUpEventiOS 18+
    Represents a metric event when playback was first likely to play through without stalling.
  • Cl
    AVMetricPlayerItemRateChangeEventiOS 18+
    Represents a metric event when playback rate change occurred.
  • Cl
    AVMetricPlayerItemStallEventiOS 18+
    Represents a metric event when playback stalled.
  • Cl
    AVMetricPlayerItemSeekEventiOS 18+
    Represents a metric event when playback seeked.
  • Cl
    AVMetricPlayerItemSeekDidCompleteEventiOS 18+
    Represents a metric event when playback seek completed.
  • Cl
    AVMetricMediaRenditioniOS 26.0+
    An object describing the media rendition associated with a metric event.
  • Cl
    AVMetricPlayerItemVariantSwitchEventiOS 18+
    Represents a metric event when variant switch was completed.
  • Cl
    AVMetricPlayerItemVariantSwitchStartEventiOS 18+
    Represents a metric event when variant switch was attempted.
  • Cl
    AVMetricPlayerItemPlaybackSummaryEventiOS 18+
    Represents a summary metric event with aggregated metrics for the entire playback session.
  • Cl
    AVMetricDownloadSummaryEventiOS 26+
    Represents a summary metric event with aggregated metrics for the entire download task.
  • Cl
    AVMetricPlaybackModeSwitchEventiOS 27.0+
    Represents a change in playback state, entering one of AVMetricPlaybackMode

Classes 59

  • Cl
    AVPlayeriOS 4.0+
    AVPlayer offers a playback interface for single-item playback that's sufficient for the implementation of playback controllers and playback user interfaces.
  • Cl
    AVPlayerItemiOS 4.0+
    An AVPlayerItem carries a reference to an AVAsset as well as presentation settings for that asset.
  • Cl
    AVPlayerItemErrorLogiOS 4.3+
    An AVPlayerItemErrorLog provides methods to retrieve the error log in a format suitable for serialization.
  • Cl
    AVPlayerItemAccessLogEventiOS 4.3+
    An AVPlayerItemAccessLogEvent represents a single log entry.
  • Cl
    AVPlayerItemErrorLogEventiOS 4.3+
    An AVPlayerItemErrorLogEvent represents a single log entry.
  • Cl
    AVPlayerItemSegmentiOS 18.0+
    @class AVPlayerItemSegment
  • Cl
    AVPlayerItemIntegratedTimelineSnapshotiOS 18.0+
    @class AVPlayerItemIntegratedTimelineSnapshot
  • Cl
    AVPlayerItemIntegratedTimelineiOS 18.0+
    @class AVPlayerItemIntegratedTimeline
  • Cl
    AVPlayerItemMediaDataCollectoriOS 9.3+
    @class AVPlayerItemMediaDataCollector
  • Cl
    AVPlayerItemMetadataCollectoriOS 9.3+
    @class AVPlayerItemMetadataCollector
  • Cl
    AVPlayerItemOutputiOS 6.0+
  • Cl
    AVPlayerItemVideoOutputiOS 6.0+
  • Cl
    AVPlayerItemLegibleOutputiOS 7.0+
    @class AVPlayerItemLegibleOutput
  • Cl
    AVPlayerItemMetadataOutputiOS 8.0+
    @class AVPlayerItemMetadataOutput
  • Cl
    AVPlayerItemRenderedLegibleOutputiOS 18.0+
    @class AVPlayerItemRenderedLegibleOutput
  • Cl
    AVPlayerItemSampleBufferOutputConfigurationiOS 27+
    Configuration options specified when creating an ``AVPlayerItemSampleBufferOutput``.
Show 43 more
  • Cl
    AVPlayerItemSampleBufferOutputAudioConfigurationiOS 27+
    Audio-specific configuration options specified when creating an ``AVPlayerItemSampleBufferOutput``.
  • Cl
    AVPlayerItemSampleBufferOutputiOS 27+
    ``AVPlayerItemSampleBufferOutput`` delivers `CMSampleBuffers` for ``AVPlayerItem`` playback.
  • Cl
    AVPlayerItemTrackiOS 4.0+
    @class AVPlayerItemTrack
  • Cl
    AVPlayerLayeriOS 4.0+
  • Cl
    AVPlayerLooperiOS 10.0+
  • Cl
    AVPlayerMediaSelectionCriteriaiOS 7.0+
    @class AVPlayerMediaSelectionCriteria
  • Cl
    AVPlayerVideoOutputiOS 17.2+
    @class AVPlayerVideoOutput
  • Cl
    AVVideoOutputSpecificationiOS 17.2+
    @class AVVideoOutputSpecification
  • Cl
    AVPortraitEffectsMatteiOS 12.0+
    @class AVPortraitEffectsMatte
  • Cl
    AVProVideoStorageiOS 27.0+
    A class to track and manage pre-allocated storage for high data rate video capture.
  • Cl
    AVRenderedCaptionImageiOS 18.0+
    @class AVRenderedCaptionImage
  • Cl
    AVRouteDetectoriOS 11.0+
    @class AVRouteDetector
  • Cl
    AVSampleBufferAudioRendereriOS 11.0+
  • Cl
    AVSampleBufferDisplayLayeriOS 8.0+
  • Cl
    AVSampleBufferGeneratoriOS 16.0+
  • Cl
    AVSampleBufferRequestiOS 16.0+
    @class AVSampleBufferRequest
  • Cl
    AVSampleBufferGeneratorBatchiOS 16.0+
    @class AVSampleBufferGeneratorBatch
  • Cl
    AVSampleBufferRenderSynchronizeriOS 11.0+
    AVSampleBufferRenderSynchronizer can synchronize multiple objects conforming to AVQueuedSampleBufferRendering to a single timebase.
  • Cl
    AVSampleBufferVideoRendereriOS 17.0+
  • Cl
    AVSampleCursoriOS 16.0+
  • Cl
    AVSemanticSegmentationMatteiOS 13.0+
    @class AVSemanticSegmentationMatte
  • Cl
    AVSynchronizedLayeriOS 4.0+
  • Cl
    AVTextStyleRuleiOS 6.0+
  • Cl
    AVMetadataGroupiOS 9.0+
    @class AVMetadataGroup
  • Cl
    AVTimedMetadataGroupiOS 4.3+
    @class AVTimedMetadataGroup
  • Cl
    AVMutableTimedMetadataGroupiOS 4.3+
    @class AVMutableTimedMetadataGroup
  • Cl
    AVDateRangeMetadataGroupiOS 9.0+
    @class AVDateRangeMetadataGroup
  • Cl
    AVMutableDateRangeMetadataGroupiOS 9.0+
    @class AVMutableDateRangeMetadataGroup
  • Cl
    AVVideoCompositionRenderContextiOS 7.0+
    The AVVideoCompositionRenderContext class defines the context within which custom compositors render new output pixels buffers.
  • Cl
    AVVideoCompositionRenderHintiOS 13.0+
    An AVVideoCompositionRenderHint instance contains the information necessary for announcing upcoming rendering request time ranges.
  • Cl
    AVAsynchronousVideoCompositionRequestiOS 7.0+
    An AVAsynchronousVideoCompositionRequest instance contains the information necessary for a video compositor to render an output pixel buffer. The video compositor must implement the AVVideoCompositing
  • Cl
    AVAsynchronousCIImageFilteringRequest
  • Cl
    AVVideoCompositioniOS 4.0+
    An AVVideoComposition object represents an immutable video composition.
  • Cl
    AVMutableVideoComposition
  • Cl
    AVVideoCompositionInstructioniOS 4.0+
    An AVVideoCompositionInstruction object represents an operation to be performed by a compositor.
  • Cl
    AVMutableVideoCompositionInstruction
  • Cl
    AVVideoCompositionLayerInstructioniOS 4.0+
    An AVVideoCompositionLayerInstruction object represents the transform, opacity, and cropping ramps to apply to a given track. Subclasses of this type that are used from Swift must fulfill the requirem
  • Cl
    AVMutableVideoCompositionLayerInstruction
  • Cl
    AVVideoCompositionCoreAnimationTooliOS 4.0+
    A tool for using Core Animation in a video composition.
  • Cl
    AVVideoPerformanceMetricsiOS 17.4+
    @class AVVideoPerformanceMetrics
  • Cl
    AVAnyAsyncPropertyiOS 15+
  • Cl
    AVAsyncPropertyiOS 15+
  • Cl
    AVPartialAsyncPropertyiOS 15+

Structures 48

  • St
    AVLayerVideoGravity
  • St
    AVAssetReferenceRestrictions
    These constants can be passed in to AVURLAssetReferenceRestrictionsKey to control the resolution of references to external media data.
  • St
    AVAssetDownloadedAssetEvictionPriorityiOS 11.0+
    These constants represents the eviction priority of downloaded assets.
  • St
    AVAssetTrackGroupOutputHandlingiOS 16.0+
    @typedef AVAssetTrackGroupOutputHandling
  • St
    AVAssetPlaybackConfigurationOptioniOS 16.0+
  • St
    AVAudioTimePitchAlgorithm
    @typedef AVAudioTimePitchAlgorithm
  • St
    AVAudioSpatializationFormats
    @enum AVAudioSpatializationFormats
  • St
    AVCaptionDimension
    @typedef AVCaptionDimension
  • St
    AVCaptionPoint
    @typedef AVCaptionPoint
  • St
    AVCaptionSize
    @typedef AVCaptionSize
  • St
    AVCaptionSettingsKeyiOS 18.0+
    @typedef AVCaptionSettingsKey
  • St
    AVSpatialCaptureDiscomfortReasoniOS 18.0+
    @group AVSpatialCaptureDiscomfortReason string constants
  • St
    AVCaptureSceneMonitoringStatusiOS 26.0+
    An informative status about the scene observed by the device.
  • St
    AVCaptureReactionTypeiOS 17.0+
    @group AVCaptureReactionType string constants
  • St
    AVCaptureTimecodeiOS 26.0+
    This structure represents a timecode, adhering to SMPTE standards, which define precise time information and associated timestamps for video or audio synchronization.
  • St
    AVContentKeySystemiOS 10.3+
    Used by AVContentKeySession to determine the method of key delivery
Show 32 more
  • St
    AVContentKeySessionServerPlaybackContextOption
    Options keys used to specify additional information for generating server playback context (SPC) in
  • St
    AVError
  • St
    AVMediaType
  • St
    AVVideoRange
  • St
    AVMediaCharacteristic
  • St
    AVFileType
  • St
    AVFileTypeProfile
  • St
    AVMetadataFormat
  • St
    AVMetadataKeySpace
  • St
    AVMetadataKey
  • St
    AVMetadataExtraAttributeKey
    Extra attribute keys
  • St
    AVMetadataIdentifier
  • St
    AVMovieWritingOptionsiOS 13.0+
    @enum AVMovieWritingOptions
  • St
    AVOutputSettingsPreset
  • St
    AVDelegatingPlaybackCoordinatorRateChangeOptionsiOS 15.0+
    Configuration for a call to [AVDelegatingPlaybackCoordinator coordinateRateChangeToRate:options:].
  • St
    AVDelegatingPlaybackCoordinatorSeekOptionsiOS 15.0+
    Configuration for a call to [AVDelegatingPlaybackCoordinator coordinateSeekToTime:options:].
  • St
    AVVariantPreferencesiOS 14.5+
    These constants can be used in any combination as the value of variantPreferences.
  • St
    AVPlayerIntegratedTimelineSnapshotsOutOfSyncReason
  • St
    AVSampleCursorSyncInfo
    @struct AVSampleCursorSyncInfo
  • St
    AVSampleCursorDependencyInfo
    @struct AVSampleCursorDependencyInfo
  • St
    AVSampleCursorAudioDependencyInfo
    @struct AVSampleCursorAudioDependencyInfo
  • St
    AVSampleCursorStorageRange
    @struct AVSampleCursorStorageRange
  • St
    AVSampleCursorChunkInfo
    @struct AVSampleCursorChunkInfo
  • St
    AVPixelAspectRatio
  • St
    AVEdgeWidths
  • St
    AVVideoCodecType
    @typedef AVVideoCodecType
  • St
    AVVideoApertureMode
  • St
    AVCIImageFilteringParameters
  • St
    AVCIImageFilteringResult
    An output video frame processed with Core Image filtering.
  • St
    AVMergedMetricsiOS 18+
  • St
    AVMetricsiOS 18+
  • St
    AVSpatialVideoConfiguration

Enumerations 16

  • En
    AVAssetSegmentTypeiOS 14.0+
    @enum AVAssetSegmentType
  • En
    AVKeyValueStatus
  • En
    AVAudioMixInputParametersTrackIDiOS 27.0+
    @enum AVAudioMixInputParametersTrackID
  • En
    AVCaptionUnitsType
    @enum AVCaptionUnitsType
  • En
    AVAuthorizationStatusiOS 7.0+
    @enum AVAuthorizationStatus
  • En
    AVCaptureColorSpaceiOS 10.0+
    Constants indicating active or supported video color space.
  • En
    AVCaptureVideoStabilizationModeiOS 8.0+
    Constants indicating the modes of video stabilization supported by the device's format.
  • En
    AVCaptureCameraLensSmudgeDetectionStatusiOS 26.0+
    Constants indicating the current camera lens smudge detection status.
  • En
    AVCaptureMultichannelAudioModeiOS 18.0+
    @enum AVCaptureMultichannelAudioMode
  • En
    AVCaptureVideoOrientation
    @enum AVCaptureVideoOrientation
  • En
    AVExternalContentProtectionStatusiOS 17.4+
    The constants can be used to derive whether or not we have established sufficient protection to display content protected by this AVContentKey on some set of attached displays.
  • En
    AVExternalSyncDeviceStatusiOS 26.0+
    Connection state of an external sync device
  • En
    AVMetricPlaybackMode
    These constants are the possible playback modes returned by the property "mode" on AVMetricPlaybackModeSwitchEvent
  • En
    AVPlayerAudiovisualBackgroundPlaybackPolicyiOS 15.0+
    This policy describes how AVPlayer behaves when the application transitions to UIApplicationStateBackground while playing video.
  • En
    AVPlayerInterstitialEventAssetListResponseStatusiOS 16.4+
    These constants describe the status of the asset list response for an AVPlayerInterstitialEvent.
  • En
    AVQueuedSampleBufferRenderingStatus
    @enum AVQueuedSampleBufferRenderingStatus

Protocols 36

  • Pr
    AVFragmentMinding
  • Pr
    AVAssetDownloadDelegateiOS 9.0+
    Delegate methods to implement when adopting AVAssetDownloadTask. Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  • Pr
    AVAssetReaderCaptionValidationHandlingiOS 18.0+
    @protocol AVAssetReaderCaptionValidationHandling
  • Pr
    AVAssetResourceLoaderDelegate
    @protocol AVAssetResourceLoaderDelegate
  • Pr
    AVAssetWriterDelegateiOS 14.0+
  • Pr
    AVAsynchronousKeyValueLoading
    @protocol AVAsynchronousKeyValueLoading
  • Pr
    AVCaptureAudioDataOutputSampleBufferDelegateiOS 4.0+
    @protocol AVCaptureAudioDataOutputSampleBufferDelegate
  • Pr
    AVCaptureBroadcastVideoOutputDelegateiOS 27.0+
    Protocol for receiving broadcast video output events and data.
  • Pr
    AVCaptureDataOutputSynchronizerDelegateiOS 11.0+
  • Pr
    AVCaptureDepthDataOutputDelegateiOS 11.0+
    @protocol AVCaptureDepthDataOutputDelegate
  • Pr
    AVCaptureFileOutputRecordingDelegateiOS 4.0+
    @protocol AVCaptureFileOutputRecordingDelegate
  • Pr
    AVCaptureMetadataOutputObjectsDelegateiOS 6.0+
    @protocol AVCaptureMetadataOutputObjectsDelegate
  • Pr
    AVCapturePhotoOutputReadinessCoordinatorDelegateiOS 17.0+
  • Pr
    AVCapturePhotoCaptureDelegateiOS 10.0+
    @protocol AVCapturePhotoCaptureDelegate
  • Pr
    AVCapturePhotoFileDataRepresentationCustomizeriOS 12.0+
    @protocol AVCapturePhotoFileDataRepresentationCustomizer
  • Pr
    AVCaptureSessionControlsDelegateiOS 18.0+
    @protocol AVCaptureSessionControlsDelegate
Show 20 more
  • Pr
    AVCaptureSessionDeferredStartDelegateiOS 26.0+
    Defines an interface for delegates of the capture session to receive events about the session's deferred start.
  • Pr
    AVCaptureTimecodeGeneratorDelegateiOS 26.0+
    A protocol for receiving real-time timecode updates and error notifications from a timecode generator.
  • Pr
    AVCaptureVideoDataOutputSampleBufferDelegateiOS 4.0+
    @protocol AVCaptureVideoDataOutputSampleBufferDelegate
  • Pr
    AVContentKeySessionDelegateiOS 10.3+
  • Pr
    AVContentKeyRecipientiOS 10.3+
    Classes of objects that may require decryption keys for media data in order to enable processing, such as parsing or playback, conform to this protocol.
  • Pr
    AVExternalSyncDeviceDelegateiOS 26.0+
    Defines an interface for delegates of ``AVCaptureDeviceInput`` to respond to events that occur when connecting, calibrating, and disconnecting external sync devices.
  • Pr
    AVMetricEventStreamPublisheriOS 18+
    This protocol needs to be implemented by interfaces intending to publish metric events to the event stream.
  • Pr
    AVPlayerPlaybackCoordinatorDelegateiOS 15.0+
    Delegate protocol for AVPlayerPlaybackCoordinator.
  • Pr
    AVPlaybackCoordinatorPlaybackControlDelegateiOS 15.0+
    A custom player implementation
  • Pr
    AVPlayerItemIntegratedTimelineObserver
    @protocol AVPlayerItemIntegratedTimelineObserver
  • Pr
    AVPlayerItemMetadataCollectorPushDelegate
  • Pr
    AVPlayerItemOutputPullDelegate
    @protocol AVPlayerItemOutputPullDelegate
  • Pr
    AVPlayerItemLegibleOutputPushDelegate
    @protocol AVPlayerItemLegibleOutputPushDelegate
  • Pr
    AVPlayerItemOutputPushDelegate
    @protocol AVPlayerItemOutputPushDelegate
  • Pr
    AVPlayerItemMetadataOutputPushDelegate
    @protocol AVPlayerItemMetadataOutputPushDelegate
  • Pr
    AVPlayerItemRenderedLegibleOutputPushDelegateiOS 18.0+
    @protocol AVPlayerItemRenderedLegibleOutputPushDelegate
  • Pr
    AVQueuedSampleBufferRenderingiOS 11.0+
  • Pr
    AVVideoCompositingiOS 7.0+
    Defines properties and methods for custom video compositors
  • Pr
    AVVideoCompositionInstructionProtocoliOS 7.0+
    The AVVideoCompositionInstruction protocol is implemented by objects to represent operations to be performed by a compositor. Subclasses of this type that are used from Swift must fulfill the requirem
  • Pr
    AVVideoCompositionValidationHandlingiOS 5.0+

Type Aliases 1

  • Ty
    AVAssetImageGeneratorCompletionHandler

Extends 5

NSNotificationNSValueNSCoderCMReadySampleBufferArray
← Video, Photos & Camera