AVFoundation macOS 12.3 to 13.0 API Differences

AVAsset.h
Added AVURLAssetHTTPUserAgentKey
Added AVURLAssetPrimarySessionIdentifierKey
Added AVURLAsset.httpSessionIdentifier
Modified -[AVAsset trackWithTrackID:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset tracksWithMediaType:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset tracksWithMediaCharacteristic:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset metadataForFormat:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset chapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset chapterMetadataGroupsBestMatchingPreferredLanguages:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset mediaSelectionGroupForMediaCharacteristic:]
Availability
FromAvailable
ToDeprecated

Modified -[AVURLAsset compatibleTrackForCompositionTrack:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedAsset trackWithTrackID:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedAsset tracksWithMediaType:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedAsset tracksWithMediaCharacteristic:]
Availability
FromAvailable
ToDeprecated

AVAssetExportSession.h
Added AVAssetTrackGroupOutputHandling
Added AVAssetTrackGroupOutputHandlingNone
Added AVAssetTrackGroupOutputHandlingPreserveAlternateTracks
Added AVAssetTrackGroupOutputHandlingDefaultPolicy
Added AVAssetExportSession.audioTrackGroupHandling
Modified +[AVAssetExportSession exportPresetsCompatibleWithAsset:]
Availability
FromAvailable
ToDeprecated

AVAssetImageGenerator.h
Added -[AVAssetImageGenerator generateCGImageAsynchronouslyForTime:completionHandler:]
Modified -[AVAssetImageGenerator copyCGImageAtTime:actualTime:error:]
Availability
FromAvailable
ToDeprecated

AVAssetPlaybackAssistant.h
Added AVAssetPlaybackConfigurationOption
Added AVAssetPlaybackConfigurationOptionStereoVideo
Added AVAssetPlaybackConfigurationOptionStereoMultiviewVideo
Added AVAssetPlaybackAssistant
Added +[AVAssetPlaybackAssistant assetPlaybackAssistantWithAsset:]
Added -[AVAssetPlaybackAssistant loadPlaybackConfigurationOptionsWithCompletionHandler:]
AVAssetResourceLoader.h
Added AVAssetResourceLoadingContentInformationRequest.entireLengthAvailableOnDemand
AVAssetTrack.h
Modified -[AVAssetTrack segmentForTrackTime:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack samplePresentationTimeForTrackTime:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack metadataForFormat:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack associatedTracksOfType:]
Availability
FromAvailable
ToDeprecated

AVBase.h
Added #def AVF_DEPRECATED_FOR_SWIFT_ONLY
Added #def AVF_DEPLOYING_TO_2022_RELEASES_AND_LATER
AVCaption.h
Added -[AVCaptionRegion encodeWithCoder:]
Added -[AVCaptionRegion isEqual:]
Added -[AVCaptionRegion mutableCopyWithZone:]
AVCaptureDevice.h
Added AVCaptureDeviceTypeDeskViewCamera
Added AVCaptureDevice.userPreferredCamera
Added AVCaptureDevice.systemPreferredCamera
Added AVCaptureDevice.continuityCamera
Added AVCaptureDevice.companionDeskViewCamera
Added AVCaptureDevice.studioLightEnabled
Added AVCaptureDevice.studioLightActive
Added AVCaptureDeviceFormat.studioLightSupported
Added AVCaptureDeviceFormat.videoFrameRateRangeForStudioLight
AVCaptureMetadataOutput.h
Added AVCaptureMetadataOutput
Added -[AVCaptureMetadataOutput init]
Added +[AVCaptureMetadataOutput new]
Added -[AVCaptureMetadataOutput setMetadataObjectsDelegate:queue:]
Added AVCaptureMetadataOutput.metadataObjectsDelegate
Added AVCaptureMetadataOutput.metadataObjectsCallbackQueue
Added AVCaptureMetadataOutput.availableMetadataObjectTypes
Added AVCaptureMetadataOutput.metadataObjectTypes
Added AVCaptureMetadataOutput.rectOfInterest
Added AVCaptureMetadataOutputObjectsDelegate
Added -[AVCaptureMetadataOutputObjectsDelegate captureOutput:didOutputMetadataObjects:fromConnection:]
AVCapturePhotoOutput.h
Added AVCapturePhotoQualityPrioritizationSpeed
Added AVCapturePhotoQualityPrioritizationBalanced
Added AVCapturePhotoQualityPrioritizationQuality
Added AVCapturePhotoOutput.maxPhotoQualityPrioritization
Added AVCapturePhotoOutput.supportedFlashModes
Added AVCapturePhotoSettings.flashMode
Added AVCapturePhotoSettings.photoQualityPrioritization
Added AVCapturePhotoSettings.highResolutionPhotoEnabled
AVComposition.h
Added -[AVMutableComposition insertTimeRange:ofAsset:atTime:completionHandler:]
Added -[AVComposition metadataForFormat:]
Added -[AVComposition chapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:]
Added -[AVComposition chapterMetadataGroupsBestMatchingPreferredLanguages:]
Added -[AVComposition mediaSelectionGroupForMediaCharacteristic:]
Added -[AVComposition unusedTrackID]
Modified -[AVMutableComposition insertTimeRange:ofAsset:atTime:error:]
Availability
FromAvailable
ToDeprecated

AVCompositionTrack.h
Added -[AVCompositionTrack hasMediaCharacteristic:]
Added -[AVCompositionTrack samplePresentationTimeForTrackTime:]
Added -[AVCompositionTrack metadataForFormat:]
Added -[AVCompositionTrack associatedTracksOfType:]
AVError.h
Added AVErrorInvalidSampleCursor
Added AVErrorFailedToLoadSampleData
Added AVErrorAirPlayReceiverTemporarilyUnavailable
AVGeometry.h
Added NSValue (NSValueCMVideoDimensionsExtensions)
Added +[NSValue valueWithCMVideoDimensions:]
Added NSValue.CMVideoDimensionsValue
AVMovie.h
Added -[AVMutableMovie metadataForFormat:]
Added -[AVMutableMovie chapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:]
Added -[AVMutableMovie chapterMetadataGroupsBestMatchingPreferredLanguages:]
Added -[AVMutableMovie mediaSelectionGroupForMediaCharacteristic:]
Added -[AVMutableMovie unusedTrackID]
Modified -[AVMovie trackWithTrackID:]
Availability
FromAvailable
ToDeprecated

Modified -[AVMovie tracksWithMediaType:]
Availability
FromAvailable
ToDeprecated

Modified -[AVMovie tracksWithMediaCharacteristic:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedMovie trackWithTrackID:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedMovie tracksWithMediaType:]
Availability
FromAvailable
ToDeprecated

Modified -[AVFragmentedMovie tracksWithMediaCharacteristic:]
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedloadTracksWithMediaCharacteristic:completionHandler:

AVMovieTrack.h
Added -[AVMutableMovieTrack hasMediaCharacteristic:]
Added -[AVMutableMovieTrack segmentForTrackTime:]
Added -[AVMutableMovieTrack samplePresentationTimeForTrackTime:]
Added -[AVMutableMovieTrack metadataForFormat:]
Added -[AVMutableMovieTrack associatedTracksOfType:]
AVPlayer.h
Added AVPlayer.defaultRate
AVPlayerInterstitialEventController.h
Added AVPlayerInterstitialEventCue
Added AVPlayerInterstitialEventNoCue
Added AVPlayerInterstitialEventJoinCue
Added AVPlayerInterstitialEventLeaveCue
Added +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:time:]
Added +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:date:]
Added AVPlayerInterstitialEvent.alignsStartWithPrimarySegmentBoundary
Added AVPlayerInterstitialEvent.alignsResumptionWithPrimarySegmentBoundary
Added AVPlayerInterstitialEvent.cue
Added AVPlayerInterstitialEvent.willPlayOnce
Modified AVPlayerInterstitialEvent
Protocols
Fromnone
ToNSCopying

Modified +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:identifier:time:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:]
Availability
FromAvailable
ToDeprecated

Modified +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:identifier:date:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:]
Availability
FromAvailable
ToDeprecated

Modified AVPlayerInterstitialEvent.primaryItem
Declaration
From@property (nonatomic, readonly, weak, nullable) AVPlayerItem *primaryItem
To@property (nonatomic, readwrite, weak, nullable) AVPlayerItem *primaryItem

Modified AVPlayerInterstitialEvent.identifier
Declaration
From@property (nonatomic, readonly, nonnull) NSString *identifier
To@property (nonatomic, readwrite, copy, nonnull) NSString *identifier

Modified AVPlayerInterstitialEvent.time
Declaration
From@property (nonatomic, readonly) CMTime time
To@property (nonatomic, readwrite) CMTime time

Modified AVPlayerInterstitialEvent.date
Declaration
From@property (nonatomic, readonly, nullable) NSDate *date
To@property (nonatomic, readwrite, copy, nullable) NSDate *date

Modified AVPlayerInterstitialEvent.templateItems
Declaration
From@property (nonatomic, readonly, nonnull) NSArray<AVPlayerItem *> *templateItems
To@property (nonatomic, readwrite, copy, nonnull) NSArray<AVPlayerItem *> *templateItems

Modified AVPlayerInterstitialEvent.restrictions
Declaration
From@property (nonatomic, readonly) AVPlayerInterstitialEventRestrictions restrictions
To@property (nonatomic, readwrite) AVPlayerInterstitialEventRestrictions restrictions

Modified AVPlayerInterstitialEvent.resumptionOffset
Declaration
From@property (nonatomic, readonly) CMTime resumptionOffset
To@property (nonatomic, readwrite) CMTime resumptionOffset

Modified AVPlayerInterstitialEvent.playoutLimit
Declaration
From@property (nonatomic, readonly) CMTime playoutLimit
To@property (nonatomic, readwrite) CMTime playoutLimit

Modified AVPlayerInterstitialEvent.userDefinedAttributes
Declaration
From@property (nonatomic, readonly, nonnull) NSDictionary *userDefinedAttributes
To@property (nonatomic, readwrite, copy, nonnull) NSDictionary *userDefinedAttributes

Modified AVPlayerInterstitialEventMonitor.events
Declaration
From@property (readonly, nonnull) NSArray<AVPlayerInterstitialEvent *> *events
To@property (readonly, copy, nonnull) NSArray<AVPlayerInterstitialEvent *> *events

AVPlayerItem.h
Modified AVPlayerItem.videoComposition
Declaration
From@property (nonatomic, copy, nullable) AVVideoComposition *videoComposition
To@property (nonatomic, copy, nullable) AVVideoComposition *videoComposition

Modified AVPlayerItem.customVideoCompositor
Declaration
From@property (nonatomic, readonly, nullable) id<AVVideoCompositing> customVideoCompositor
To@property (nonatomic, readonly, nullable) id<AVVideoCompositing> customVideoCompositor

AVPlayerItemTrack.h
Modified AVPlayerItemTrack.videoFieldMode
Declaration
From@property (nonatomic, copy, nullable) NSString *videoFieldMode
To@property (nonatomic, copy, nullable) NSString *videoFieldMode

AVPlayerLayer.h
Added -[AVPlayerLayer copyDisplayedPixelBuffer]
AVSampleBufferGenerator.h
Added -[AVSampleBufferGenerator createSampleBufferForRequest:error:]
Added -[AVSampleBufferGenerator makeBatch]
Added -[AVSampleBufferGenerator createSampleBufferForRequest:addingToBatch:error:]
Added AVSampleBufferGeneratorBatch
Added -[AVSampleBufferGeneratorBatch makeDataReadyWithCompletionHandler:]
Added -[AVSampleBufferGeneratorBatch cancel]
Modified -[AVSampleBufferGenerator createSampleBufferForRequest:]
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse -createSampleBufferForRequest: error:, passing NULL for the error if not required

AVSampleCursor.h
Modified AVSampleCursor.currentSampleDependencyAttachments
Declaration
From@property (nonatomic, readonly, nullable) NSDictionary *currentSampleDependencyAttachments
To@property (nonatomic, readonly, nullable) NSDictionary *currentSampleDependencyAttachments

AVSynchronizedLayer.h
Modified AVSynchronizedLayer.playerItem
Declaration
From@property (nonatomic, retain, nullable) AVPlayerItem *playerItem
To@property (nonatomic, retain, nullable) AVPlayerItem *playerItem

AVVideoComposition.h
Added +[AVVideoComposition videoCompositionWithPropertiesOfAsset:completionHandler:]
Added +[AVVideoComposition videoCompositionWithAsset:applyingCIFiltersWithHandler:completionHandler:]
Added +[AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:completionHandler:]
Added +[AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:prototypeInstruction:completionHandler:]
Added +[AVMutableVideoComposition videoCompositionWithAsset:applyingCIFiltersWithHandler:completionHandler:]
Added -[AVVideoComposition determineValidityForAsset:timeRange:validationDelegate:completionHandler:]
Modified +[AVVideoComposition videoCompositionWithPropertiesOfAsset:]
Availability
FromAvailable
ToDeprecated

Modified +[AVVideoComposition videoCompositionWithAsset:applyingCIFiltersWithHandler:]
Availability
FromAvailable
ToDeprecated

Modified +[AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:]
Availability
FromAvailable
ToDeprecated

Modified +[AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:prototypeInstruction:]
Availability
FromAvailable
ToDeprecated

Modified +[AVMutableVideoComposition videoCompositionWithAsset:applyingCIFiltersWithHandler:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAsset unusedTrackID]
Availability
FromAvailable
ToDeprecated

Modified -[AVVideoComposition isValidForAsset:timeRange:validationDelegate:]
Availability
FromAvailable
ToDeprecated

AVVideoSettings.h
Added AVVideoTransferFunction_Linear