AVFoundation watchOS 7.4 to 8.0 API Differences

AVAsset.h
Added -[AVAsset loadTrackWithTrackID:completionHandler:]
Added -[AVAsset loadTracksWithMediaType:completionHandler:]
Added -[AVAsset loadTracksWithMediaCharacteristic:completionHandler:]
Added -[AVAsset loadMetadataForFormat:completionHandler:]
Added -[AVAsset loadChapterMetadataGroupsWithTitleLocale:containingItemsWithCommonKeys:completionHandler:]
Added -[AVAsset loadChapterMetadataGroupsBestMatchingPreferredLanguages:completionHandler:]
Added -[AVAsset loadMediaSelectionGroupForMediaCharacteristic:completionHandler:]
Added AVURLAssetURLRequestAttributionKey
Added -[AVURLAsset findCompatibleTrackForCompositionTrack:completionHandler:]
Added AVURLAsset.variants
Added -[AVFragmentedAsset loadTrackWithTrackID:completionHandler:]
Added -[AVFragmentedAsset loadTracksWithMediaType:completionHandler:]
Added -[AVFragmentedAsset loadTracksWithMediaCharacteristic:completionHandler:]
AVAssetReaderOutput.h
Added AVAssetReaderOutputCaptionAdaptor (AVAssetReaderCaptionValidation)
Added AVAssetReaderOutputCaptionAdaptor.validationDelegate
AVAssetResourceLoader.h
Modified -[AVAssetResourceLoadingRequest streamingContentKeyRequestDataForApp:contentIdentifier:options:error:]
AvailabilityReplacement
FromAvailablenone
ToDeprecated-[AVContentKeyRequest makeStreamingContentKeyRequestDataForApp:contentIdentifier:options:completionHandler:]

AVAssetTrack.h
Added -[AVAssetTrack loadSegmentForTrackTime:completionHandler:]
Added -[AVAssetTrack loadSamplePresentationTimeForTrackTime:completionHandler:]
Added -[AVAssetTrack loadMetadataForFormat:completionHandler:]
Added -[AVAssetTrack loadAssociatedTracksOfType:completionHandler:]
AVAssetVariant.h
Added AVAssetVariant
Added AVAssetVariant.peakBitRate
Added AVAssetVariant.averageBitRate
Added AVAssetVariant.videoAttributes
Added AVAssetVariant.audioAttributes
Added AVAssetVariantVideoAttributes
Added AVAssetVariantVideoAttributes.videoRange
Added AVAssetVariantVideoAttributes.codecTypes
Added AVAssetVariantVideoAttributes.presentationSize
Added AVAssetVariantVideoAttributes.nominalFrameRate
Added AVAssetVariantAudioAttributes
Added AVAssetVariantAudioAttributes.formatIDs
Added -[AVAssetVariantAudioAttributes renditionSpecificAttributesForMediaOption:]
Added AVAssetVariantAudioRenditionSpecificAttributes
Added AVAssetVariantAudioRenditionSpecificAttributes.channelCount
AVAudioProcessingSettings.h
Modified AVAudioTimePitchAlgorithmLowQualityZeroLatency
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse AVAudioTimePitchAlgorithmTimeDomain instead

AVCaptureDevice.h
Removed AVCaptureDevice (AVCaptureDevicePosition)
Removed AVCaptureDevice.position
Removed AVCaptureDevice (AVCaptureDeviceType)
Removed AVCaptureDevice.deviceType
Removed +[AVCaptureDevice defaultDeviceWithDeviceType:mediaType:position:]
Removed AVCaptureDevice (AVCaptureDeviceSystemPressure)
Removed AVCaptureDevice (AVCaptureDeviceVirtual)
Removed AVCaptureDevice (AVCaptureDeviceFlash)
Removed AVCaptureDevice.hasFlash
Removed AVCaptureDevice.flashAvailable
Removed AVCaptureDevice.flashActive
Removed -[AVCaptureDevice isFlashModeSupported:]
Removed AVCaptureDevice.flashMode
Removed AVCaptureDevice (AVCaptureDeviceTorch)
Removed AVCaptureDevice.hasTorch
Removed AVCaptureDevice.torchAvailable
Removed AVCaptureDevice.torchActive
Removed AVCaptureDevice.torchLevel
Removed -[AVCaptureDevice isTorchModeSupported:]
Removed AVCaptureDevice.torchMode
Removed -[AVCaptureDevice setTorchModeOnWithLevel:error:]
Removed AVCaptureDevice (AVCaptureDeviceFocus)
Removed -[AVCaptureDevice isFocusModeSupported:]
Removed AVCaptureDevice.lockingFocusWithCustomLensPositionSupported
Removed AVCaptureDevice.focusMode
Removed AVCaptureDevice.focusPointOfInterestSupported
Removed AVCaptureDevice.focusPointOfInterest
Removed AVCaptureDevice.adjustingFocus
Removed AVCaptureDevice.autoFocusRangeRestrictionSupported
Removed AVCaptureDevice.autoFocusRangeRestriction
Removed AVCaptureDevice.smoothAutoFocusSupported
Removed AVCaptureDevice.smoothAutoFocusEnabled
Removed AVCaptureDevice.lensPosition
Removed -[AVCaptureDevice setFocusModeLockedWithLensPosition:completionHandler:]
Removed AVCaptureDevice (AVCaptureDeviceExposure)
Removed -[AVCaptureDevice isExposureModeSupported:]
Removed AVCaptureDevice.exposureMode
Removed AVCaptureDevice.exposurePointOfInterestSupported
Removed AVCaptureDevice.exposurePointOfInterest
Removed AVCaptureDevice.adjustingExposure
Removed AVCaptureDevice.lensAperture
Removed AVCaptureDevice.exposureDuration
Removed AVCaptureDevice.ISO
Removed -[AVCaptureDevice setExposureModeCustomWithDuration:ISO:completionHandler:]
Removed AVCaptureDevice.exposureTargetOffset
Removed AVCaptureDevice.exposureTargetBias
Removed AVCaptureDevice.minExposureTargetBias
Removed AVCaptureDevice.maxExposureTargetBias
Removed -[AVCaptureDevice setExposureTargetBias:completionHandler:]
Removed AVCaptureDevice (AVCaptureDeviceToneMapping)
Removed AVCaptureDevice (AVCaptureDeviceWhiteBalance)
Removed -[AVCaptureDevice isWhiteBalanceModeSupported:]
Removed AVCaptureDevice.lockingWhiteBalanceWithCustomDeviceGainsSupported
Removed AVCaptureDevice.whiteBalanceMode
Removed AVCaptureDevice.adjustingWhiteBalance
Removed AVCaptureDevice.deviceWhiteBalanceGains
Removed AVCaptureDevice.grayWorldDeviceWhiteBalanceGains
Removed AVCaptureDevice.maxWhiteBalanceGain
Removed -[AVCaptureDevice setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:completionHandler:]
Removed -[AVCaptureDevice chromaticityValuesForDeviceWhiteBalanceGains:]
Removed -[AVCaptureDevice deviceWhiteBalanceGainsForChromaticityValues:]
Removed -[AVCaptureDevice temperatureAndTintValuesForDeviceWhiteBalanceGains:]
Removed -[AVCaptureDevice deviceWhiteBalanceGainsForTemperatureAndTintValues:]
Removed AVCaptureDevice (AVCaptureDeviceSubjectAreaChangeMonitoring)
Removed AVCaptureDevice.subjectAreaChangeMonitoringEnabled
Removed AVCaptureDevice (AVCaptureDeviceLowLightBoost)
Removed AVCaptureDevice.lowLightBoostSupported
Removed AVCaptureDevice.lowLightBoostEnabled
Removed AVCaptureDevice.automaticallyEnablesLowLightBoostWhenAvailable
Removed AVCaptureDevice (AVCaptureDeviceVideoZoom)
Removed AVCaptureDevice.videoZoomFactor
Removed -[AVCaptureDevice rampToVideoZoomFactor:withRate:]
Removed AVCaptureDevice.rampingVideoZoom
Removed -[AVCaptureDevice cancelVideoZoomRamp]
Removed AVCaptureDevice.dualCameraSwitchOverVideoZoomFactor
Removed AVCaptureDevice (AVCaptureDeviceAuthorization)
Removed +[AVCaptureDevice authorizationStatusForMediaType:]
Removed +[AVCaptureDevice requestAccessForMediaType:completionHandler:]
Removed AVCaptureDevice (AVCaptureDeviceTransportControls)
Removed AVCaptureDevice (AVCaptureDeviceHighDynamicRangeSupport)
Removed AVCaptureDevice.automaticallyAdjustsVideoHDREnabled
Removed AVCaptureDevice.videoHDREnabled
Removed AVCaptureDevice (AVCaptureDeviceColorSpaceSupport)
Removed AVCaptureDevice.activeColorSpace
Removed AVCaptureDevice (AVCaptureDeviceDepthSupport)
Removed AVCaptureDevice.activeDepthDataFormat
Removed AVCaptureDevice.activeDepthDataMinFrameDuration
Removed AVCaptureDevice.minAvailableVideoZoomFactor
Removed AVCaptureDevice.maxAvailableVideoZoomFactor
Removed AVCaptureDevice (AVCaptureDeviceGeometricDistortionCorrection)
Removed AVCaptureDevice (AVCaptureDeviceCalibration)
Removed AVCaptureDevice (AVCaptureDeviceCenterStage)
Removed AVCaptureDeviceFormat (AVCaptureDeviceFormatDepthDataAdditions)
Removed AVCaptureDeviceFormat (AVCaptureDeviceFormatMultiCamAdditions)
Removed AVCaptureDeviceFormat (AVCaptureDeviceFormatGeometricDistortionCorrection)
Removed AVCaptureDeviceFormat (AVCaptureDeviceFormatCenterStage)
Added AVCapturePrimaryConstituentDeviceSwitchingBehavior
Added AVCapturePrimaryConstituentDeviceRestrictedSwitchingBehaviorConditions
Added AVCaptureMicrophoneMode
Added AVCaptureSystemUserInterface
AVCapturePhotoOutput.h
Removed AVCapturePhotoOutput (AVCapturePhotoOutputDepthDataDeliverySupport)
Removed AVCapturePhotoOutput.depthDataDeliverySupported
Removed AVCapturePhotoOutput.depthDataDeliveryEnabled
Removed AVCapturePhoto (AVCapturePhotoConversions)
Removed -[AVCapturePhoto fileDataRepresentation]
Removed -[AVCapturePhoto fileDataRepresentationWithReplacementMetadata:replacementEmbeddedThumbnailPhotoFormat:replacementEmbeddedThumbnailPixelBuffer:replacementDepthData:]
Removed -[AVCapturePhoto CGImageRepresentation]
Removed -[AVCapturePhoto previewCGImageRepresentation]
Removed AVCapturePhoto (AVCapturePhotoBracketedCapture)
Removed AVCapturePhoto.bracketSettings
Removed AVCapturePhoto.sequenceCount
Removed AVCapturePhoto.lensStabilizationStatus
AVCaptureStillImageOutput.h
Removed AVCaptureStillImageOutput (AVCaptureStillImageOutputBracketedCapture)
Removed AVCaptureStillImageOutput.maxBracketedCaptureStillImageCount
Removed AVCaptureStillImageOutput.lensStabilizationDuringBracketedCaptureSupported
Removed AVCaptureStillImageOutput.lensStabilizationDuringBracketedCaptureEnabled
Removed -[AVCaptureStillImageOutput prepareToCaptureStillImageBracketFromConnection:withSettingsArray:completionHandler:]
Removed -[AVCaptureStillImageOutput captureStillImageBracketAsynchronouslyFromConnection:withSettingsArray:completionHandler:]
AVComposition.h
Added -[AVComposition loadTrackWithTrackID:completionHandler:]
Added -[AVComposition loadTracksWithMediaType:completionHandler:]
Added -[AVComposition loadTracksWithMediaCharacteristic:completionHandler:]
Added -[AVMutableComposition loadTrackWithTrackID:completionHandler:]
Added -[AVMutableComposition loadTracksWithMediaType:completionHandler:]
Added -[AVMutableComposition loadTracksWithMediaCharacteristic:completionHandler:]
AVError.h
Added AVErrorOperationCancelled
Added AVErrorContentKeyRequestCancelled
AVMediaFormat.h
Added AVVideoRange
Added AVVideoRangeSDR
Added AVVideoRangeHLG
Added AVVideoRangePQ
AVMetadataFormat.h
Added AVMetadataQuickTimeMetadataKeyIsMontage
AVMetadataIdentifiers.h
Added AVMetadataIdentifierQuickTimeMetadataIsMontage
AVMetadataItem.h
Added AVMetadataItemFilter
Added +[AVMetadataItemFilter metadataItemFilterForSharing]
AVMetadataObject.h
Removed AVMetadataMachineReadableCodeObject (AVMetadataMachineReadableCodeDescriptor)
AVMovie.h
Added AVMovieShouldSupportAliasDataReferencesKey
Added -[AVMovie loadTrackWithTrackID:completionHandler:]
Added -[AVMovie loadTracksWithMediaType:completionHandler:]
Added -[AVMovie loadTracksWithMediaCharacteristic:completionHandler:]
Added -[AVMutableMovie loadTrackWithTrackID:completionHandler:]
Added -[AVMutableMovie loadTracksWithMediaType:completionHandler:]
Added -[AVMutableMovie loadTracksWithMediaCharacteristic:completionHandler:]
Added -[AVFragmentedMovie loadTrackWithTrackID:completionHandler:]
Added -[AVFragmentedMovie loadTracksWithMediaType:completionHandler:]
Added -[AVFragmentedMovie loadTracksWithMediaCharacteristic:completionHandler:]
AVPlaybackCoordinator.h
Added AVPlaybackCoordinator (AVCoordinatedPlaybackPolicies)
Added -[AVPlaybackCoordinator setParticipantLimit:forWaitingOutSuspensionsWithReason:]
Added -[AVPlaybackCoordinator participantLimitForWaitingOutSuspensionsWithReason:]
Added AVPlaybackCoordinator.suspensionReasonsThatTriggerWaiting
Added AVPlaybackCoordinator.pauseSnapsToMediaTimeOfOriginator
Added AVDelegatingPlaybackCoordinatorRateChangeOptionPlayImmediately
Added AVDelegatingPlaybackCoordinatorSeekOptionResumeImmediately
AVPlayer.h
Added AVPlayerRateDidChangeNotification
Added AVPlayerRateDidChangeReason
Added AVPlayer.sourceClock
Added AVPlayerAudiovisualBackgroundPlaybackPolicy
Added AVPlayerAudiovisualBackgroundPlaybackPolicyAutomatic
Added AVPlayerAudiovisualBackgroundPlaybackPolicyPauses
Added AVPlayerAudiovisualBackgroundPlaybackPolicyContinuesIfPossible
Added AVPlayer.audiovisualBackgroundPlaybackPolicy
Modified AVPlayer.masterClock
AvailabilityReplacement
FromAvailablenone
ToDeprecatedsourceClock

AVPlayerInterstitialEventController.h
Removed +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:time:templateItems:restrictions:resumptionOffset:]
Removed +[AVPlayerInterstitialEvent playerInterstitialEventWithPrimaryItem:time:interstitialTemplateItems:restrictions:resumptionOffset:]
Removed +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:date:templateItems:restrictions:resumptionOffset:]
Removed +[AVPlayerInterstitialEvent playerInterstitialEventWithPrimaryItem:date:interstitialTemplateItems:restrictions:resumptionOffset:]
Removed AVPlayerInterstitialEvent.interstitialTemplateItems
Removed AVPlayerInterstitialEventObserver
Removed +[AVPlayerInterstitialEventObserver interstitialEventObserverWithPrimaryPlayer:]
Removed +[AVPlayerInterstitialEventObserver playerInterstitialEventObserverWithPrimaryPlayer:]
Removed -[AVPlayerInterstitialEventObserver initWithPrimaryPlayer:]
Removed AVPlayerInterstitialEventObserver.primaryPlayer
Removed AVPlayerInterstitialEventObserver.interstitialPlayer
Removed AVPlayerInterstitialEventObserver.events
Removed AVPlayerInterstitialEventObserver.interstitialEvents
Removed AVPlayerInterstitialEventObserver.currentEvent
Removed AVPlayerInterstitialEventObserverEventsDidChangeNotification
Removed AVPlayerInterstitialEventObserverCurrentEventDidChangeNotification
Removed +[AVPlayerInterstitialEventController playerInterstitialEventControllerWithPrimaryPlayer:]
Removed AVPlayerInterstitialEventController.interstitialEvents
Added +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:identifier:time:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:]
Added +[AVPlayerInterstitialEvent interstitialEventWithPrimaryItem:identifier:date:templateItems:restrictions:resumptionOffset:playoutLimit:userDefinedAttributes:]
Added AVPlayerInterstitialEvent.identifier
Added AVPlayerInterstitialEvent.playoutLimit
Added AVPlayerInterstitialEvent.userDefinedAttributes
Added AVPlayerInterstitialEventMonitor
Added +[AVPlayerInterstitialEventMonitor interstitialEventMonitorWithPrimaryPlayer:]
Added -[AVPlayerInterstitialEventMonitor initWithPrimaryPlayer:]
Added AVPlayerInterstitialEventMonitor.primaryPlayer
Added AVPlayerInterstitialEventMonitor.interstitialPlayer
Added AVPlayerInterstitialEventMonitor.events
Added AVPlayerInterstitialEventMonitor.currentEvent
Added AVPlayerInterstitialEventMonitorEventsDidChangeNotification
Added AVPlayerInterstitialEventMonitorCurrentEventDidChangeNotification
Modified AVPlayerInterstitialEventController
Superclass
FromAVPlayerInterstitialEventObserver
ToAVPlayerInterstitialEventMonitor

AVPlayerItem.h
Added -[AVPlayerItem copyWithZone:]
Added -[AVPlayerItem copy]
Added AVPlayerItem.preferredPeakBitRateForExpensiveNetworks
Modified AVPlayerItemTimeJumpedNotification
Declaration
FromNSString *const AVPlayerItemTimeJumpedNotification
Toconst NSNotificationName AVPlayerItemTimeJumpedNotification

Modified AVPlayerItemAccessLogEvent.observedMaxBitrate
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse observedBitrateStandardDeviation to monitor variance in network bitrate.

Modified AVPlayerItemAccessLogEvent.observedMinBitrate
AvailabilityDeprecation Message
FromAvailablenone
ToDeprecatedUse observedBitrateStandardDeviation to monitor variance in network bitrate.

AVSampleBufferAudioRenderer.h
Added AVSampleBufferAudioRendererOutputConfigurationDidChangeNotification
AVSampleBufferGenerator.h
Added AVSampleBufferRequestDirection
Added AVSampleBufferRequestDirectionForward
Added AVSampleBufferRequestDirectionNone
Added AVSampleBufferRequestDirectionReverse
Added AVSampleBufferRequestMode
Added AVSampleBufferRequestModeImmediate
Added AVSampleBufferRequestModeScheduled
Added AVSampleBufferRequestModeOpportunistic
AVSampleCursor.h
Added AVSampleCursor (AVSampleCursorTemporalPosition)
Added AVSampleCursor.presentationTimeStamp
Added AVSampleCursor.decodeTimeStamp
Added -[AVSampleCursor comparePositionInDecodeOrderWithPositionOfCursor:]
Added -[AVSampleCursor samplesWithEarlierDecodeTimeStampsMayHaveLaterPresentationTimeStampsThanCursor:]
Added -[AVSampleCursor samplesWithLaterDecodeTimeStampsMayHaveEarlierPresentationTimeStampsThanCursor:]
Added AVSampleCursor (AVSampleCursorCurrentSampleInfo)
Added AVSampleCursor.currentSampleDuration
Added -[AVSampleCursor copyCurrentSampleFormatDescription]
Added AVSampleCursorSyncInfo
Added AVSampleCursor.currentSampleSyncInfo
Added AVSampleCursorDependencyInfo
Added AVSampleCursor.currentSampleDependencyInfo
Added AVSampleCursorAudioDependencyInfo
Added AVSampleCursor (AVSampleCursorSampleStorageInfo)
Added AVSampleCursor.currentChunkStorageURL
Added AVSampleCursorStorageRange
Added AVSampleCursor.currentChunkStorageRange
Added AVSampleCursorChunkInfo
Added AVSampleCursor.currentChunkInfo
Added AVSampleCursor.currentSampleIndexInChunk
Added AVSampleCursor.currentSampleStorageRange
AVSemanticSegmentationMatte.h
Added AVSemanticSegmentationMatteTypeGlasses
AVVideoComposition.h
Added -[AVAsset findUnusedTrackIDWithCompletionHandler:]