AVFoundation watchOS 8.5 to 9.0 API Differences

AVAsset.h
Added AVURLAssetHTTPUserAgentKey
Added AVURLAssetPrimarySessionIdentifierKey
Added AVURLAsset.httpSessionIdentifier
Added AVURLAsset.mayRequireContentKeysForMediaDataProcessing
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
Protocols
FromNSItemProviderReading, NSItemProviderWriting
ToAVContentKeyRecipient, NSItemProviderReading, NSItemProviderWriting

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
Removed AVAssetExportSession (AVAssetExportSessionPresets)
Removed +[AVAssetExportSession allExportPresets]
Removed +[AVAssetExportSession exportPresetsCompatibleWithAsset:]
Removed AVAssetExportSession (AVAssetExportSessionFileTypes)
Removed AVAssetExportSession.supportedFileTypes
Removed AVAssetExportSession (AVAssetExportSessionDurationAndLength)
Removed AVAssetExportSession.timeRange
Removed AVAssetExportSession (AVAssetExportSessionMetadata)
Removed AVAssetExportSession.metadata
Removed AVAssetExportSession (AVAssetExportSessionMediaProcessing)
Removed AVAssetExportSession.audioMix
Removed AVAssetExportSession.videoComposition
Removed AVAssetExportSession (AVAssetExportSessionMultipass)
Added AVAssetTrackGroupOutputHandling
AVAssetPlaybackAssistant.h
Added AVAssetPlaybackConfigurationOption
Added AVAssetPlaybackConfigurationOptionStereoVideo
Added AVAssetPlaybackConfigurationOptionStereoMultiviewVideo
Added AVAssetPlaybackAssistant
Added +[AVAssetPlaybackAssistant assetPlaybackAssistantWithAsset:]
Added -[AVAssetPlaybackAssistant loadPlaybackConfigurationOptionsWithCompletionHandler:]
AVAssetReaderOutput.h
Removed AVAssetReaderOutputCaptionAdaptor (AVAssetReaderCaptionValidation)
Removed AVAssetReaderOutputCaptionAdaptor.validationDelegate
AVAssetResourceLoader.h
Removed AVAssetResourceLoadingRequest (AVAssetResourceLoadingRequestContentKeyRequestSupport)
Removed -[AVAssetResourceLoadingRequest streamingContentKeyRequestDataForApp:contentIdentifier:options:error:]
Removed AVAssetResourceLoadingRequest (AVAssetResourceLoadingRequestDeprecated)
AVAssetTrack.h
Added AVAssetTrack.canProvideSampleCursors
Added -[AVAssetTrack makeSampleCursorWithPresentationTimeStamp:]
Added -[AVAssetTrack makeSampleCursorAtFirstSampleInDecodeOrder]
Added -[AVAssetTrack makeSampleCursorAtLastSampleInDecodeOrder]
Modified -[AVAssetTrack segmentForTrackTime:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack samplePresentationTimeForTrackTime:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack metadataForFormat:]
Availability
FromAvailable
ToDeprecated

Modified -[AVAssetTrack associatedTracksOfType:]
Availability
FromAvailable
ToDeprecated

AVAssetWriter.h
Removed AVAssetWriter (AVAssetWriterFileTypeSpecificProperties)
Removed AVAssetWriter.movieFragmentInterval
Removed AVAssetWriter.overallDurationHint
Removed AVAssetWriter (AVAssetWriterInputGroups)
Removed AVAssetWriter (AVAssetWriterSegmentation)
AVAssetWriterInput.h
Removed AVAssetWriterInput (AVAssetWriterInputLanguageProperties)
Removed AVAssetWriterInput (AVAssetWriterInputPropertiesForVisualCharacteristic)
Removed AVAssetWriterInput.transform
Removed AVAssetWriterInput (AVAssetWriterInputPropertiesForAudibleCharacteristic)
Removed AVAssetWriterInput (AVAssetWriterInputFileTypeSpecificProperties)
Removed AVAssetWriterInput (AVAssetWriterInputTrackAssociations)
Removed AVAssetWriterInput (AVAssetWriterInputMultiPass)
AVBase.h
Added #def AVF_DEPRECATED_FOR_SWIFT_ONLY
Added #def AVF_DEPLOYING_TO_2022_RELEASES_AND_LATER
AVCaptureDevice.h
Removed AVCaptureLensPositionCurrent
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:]
AVOutputSettingsAssistant.h
Removed AVOutputSettingsAssistant (AVOutputSettingsAssistant_SourceInformation)
Removed AVOutputSettingsAssistant.sourceAudioFormat
Removed AVOutputSettingsAssistant.sourceVideoFormat
Removed AVOutputSettingsAssistant.sourceVideoAverageFrameDuration
AVPlaybackCoordinator.h
Removed AVPlaybackCoordinator (AVCoordinatedPlaybackPolicies)
Removed -[AVPlaybackCoordinator setParticipantLimit:forWaitingOutSuspensionsWithReason:]
Removed -[AVPlaybackCoordinator participantLimitForWaitingOutSuspensionsWithReason:]
Removed AVPlaybackCoordinator.suspensionReasonsThatTriggerWaiting
Removed AVPlaybackCoordinator.pauseSnapsToMediaTimeOfOriginator
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

AVPlayerItemOutput.h
Removed AVPlayerItemLegibleOutput (AVPlayerItemLegibleOutput_NativeRepresentation)
Removed -[AVPlayerItemLegibleOutput initWithMediaSubtypesForNativeRepresentation:]
Removed AVPlayerItemLegibleOutput (AVPlayerItemLegibleOutput_TextStylingResolution)
Removed AVPlayerItemLegibleOutput.textStylingResolution
AVSampleBufferGenerator.h
Added AVSampleBufferGenerator
Added -[AVSampleBufferGenerator initWithAsset:timebase:]
Added -[AVSampleBufferGenerator createSampleBufferForRequest:error:]
Added -[AVSampleBufferGenerator makeBatch]
Added -[AVSampleBufferGenerator createSampleBufferForRequest:addingToBatch:error:]
Added +[AVSampleBufferGenerator notifyOfDataReadyForSampleBuffer:completionHandler:]
Added AVSampleBufferRequest
Added -[AVSampleBufferRequest initWithStartCursor:]
Added AVSampleBufferRequest.startCursor
Added AVSampleBufferRequest.direction
Added AVSampleBufferRequest.limitCursor
Added AVSampleBufferRequest.preferredMinSampleCount
Added AVSampleBufferRequest.maxSampleCount
Added AVSampleBufferRequest.mode
Added AVSampleBufferRequest.overrideTime
Added AVSampleBufferGeneratorBatch
Added -[AVSampleBufferGeneratorBatch makeDataReadyWithCompletionHandler:]
Added -[AVSampleBufferGeneratorBatch cancel]
AVSampleCursor.h
Removed AVSampleCursor (AVSampleCursorTemporalPosition)
Removed AVSampleCursor (AVSampleCursorCurrentSampleInfo)
Removed AVSampleCursor (AVSampleCursorSampleStorageInfo)
Added AVSampleCursor
Added -[AVSampleCursor stepInDecodeOrderByCount:]
Added -[AVSampleCursor stepInPresentationOrderByCount:]
Added -[AVSampleCursor stepByDecodeTime:wasPinned:]
Added -[AVSampleCursor stepByPresentationTime:wasPinned:]
Added AVSampleCursor.currentSampleDependencyAttachments
Added AVSampleCursor.currentSampleAudioDependencyInfo
Added AVSampleCursor.samplesRequiredForDecoderRefresh
AVVideoComposition.h
Added +[AVMutableVideoComposition videoCompositionWithAsset:applyingCIFiltersWithHandler:]
Modified -[AVAsset unusedTrackID]
Availability
FromAvailable
ToDeprecated