Skip to content

AVFoundation tvOS xcode16.0 b3

Rolf Bjarne Kvinge edited this page Jul 9, 2024 · 3 revisions

#AVFoundation.framework

diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2024-06-15 20:27:05
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2024-06-28 22:10:48
@@ -312,6 +312,8 @@
  @param         keyRequest
                 An instance of AVContentKeyRequest.
  @discussion    Will be invoked by an AVContentKeySession as a result of a call to -processContentKeyRequestWithIdentifier:initializationData:options:. Can be invoked during playback or other processing of an AVURLAsset added to the AVContentKeySession.
+
+ Note that `AVContentKeyRequest` objects provided by this method are strongly tied to the lifetime of their managing `AVContentKeySession`. Attempting to use `AVContentKeyRequest` objects after their corresponding `AVContentKeySession` has been released may result in an exception.
 */
 @required
 - (void)contentKeySession:(AVContentKeySession *)session didProvideContentKeyRequest:(AVContentKeyRequest *)keyRequest;
@@ -324,6 +326,8 @@
  @param         keyRequest
                 An instance of AVContentKeyRequest representing renewal of a previous content key.
  @discussion    Will be invoked by an AVContentKeySession as the result of a call to -renewExpiringResponseDataForContentKeyRequest:.
+
+ Note that `AVContentKeyRequest` objects provided by this method are strongly tied to the lifetime of their managing `AVContentKeySession`. Attempting to use `AVContentKeyRequest` objects after their corresponding `AVContentKeySession` has been released may result in an exception.
 */
 @optional
 - (void)contentKeySession:(AVContentKeySession *)session didProvideRenewingContentKeyRequest:(AVContentKeyRequest *)keyRequest;
@@ -336,6 +340,8 @@
  @param         keyRequest
                 An instance of AVPersistableContentKeyRequest.
  @discussion    Will be invoked by an AVContentKeyRequest as the result of a call to -respondByRequestingPersistableContentKeyRequest.
+
+ Note that `AVPersistableContentKeyRequest` objects provided by this method are strongly tied to the lifetime of their managing `AVContentKeySession`. Attempting to use `AVPersistableContentKeyRequest` objects after their corresponding `AVContentKeySession` has been released may result in an exception.
  */
 @optional
 - (void)contentKeySession:(AVContentKeySession *)session didProvidePersistableContentKeyRequest:(AVPersistableContentKeyRequest *)keyRequest;
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h	2024-06-15 11:52:05
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h	2024-06-28 23:34:19
@@ -74,6 +74,14 @@
 AVF_EXPORT AVMediaType const AVMediaTypeDepthData API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0), visionos(1.0)) API_UNAVAILABLE(watchos);
 
 
+/*!
+ @constant AVMediaTypeAuxiliaryPicture
+ @discussion
+ This media type is used only to identify the track type. An Auxiliary Picture track is not intended to be displayed; as such, the track_in_movie flag in TrackHeaderBox of these tracks will be 0.
+ A track with this media type contain video samples the media type of the format description of which is AVMediaTypeVideo.
+ */
+AVF_EXPORT AVMediaType const AVMediaTypeAuxiliaryPicture      API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0), visionos(1.0));
+
 // Media characteristics
 typedef NSString * AVMediaCharacteristic NS_EXTENSIBLE_STRING_ENUM;
 
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetrics.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetrics.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetrics.h	2024-06-15 20:27:05
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetrics.h	2024-06-29 07:51:36
@@ -294,6 +294,12 @@
 @property (readonly) NSRange byteRange;
 
 /*!
+ @property indexFileURL
+ @abstract Returns the URL of the index file in which this segment was declared. If not available, returns nil.
+ */
+@property (readonly) NSURL *indexFileURL;
+
+/*!
  @property mediaResourceRequestEvent
  @abstract Returns the media resource request event which was used to satisfy the media segment.
  */
@@ -476,7 +482,7 @@
 
 /*!
  @class AVMetricPlayerItemVariantSwitchEvent
- @abstract Represents a metric event when variant switch was attempted.
+ @abstract Represents a metric event when variant switch was completed.
  @discussion Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  */
 NS_SWIFT_SENDABLE
@@ -508,6 +514,38 @@
  @abstract Returns if the switch did succeed.
  */
 @property (readonly) BOOL didSucceed;
+@end
+
+#pragma mark - Variant Switch Start Event -
+
+/*!
+ @class AVMetricPlayerItemVariantSwitchStartEvent
+ @abstract Represents a metric event when variant switch was attempted.
+ @discussion Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
+ */
+NS_SWIFT_SENDABLE
+API_AVAILABLE(macos(15), ios(18), tvos(18), watchos(11), visionos(2))
+@interface AVMetricPlayerItemVariantSwitchStartEvent : AVMetricEvent
+AV_INIT_UNAVAILABLE
+
+/*!
+ @property fromVariant
+ @abstract Returns the variant from which the switch is attempted. If no value is available, returns nil
+ */
+@property (readonly, nullable) AVAssetVariant *fromVariant;
+
+/*!
+ @property toVariant
+ @abstract Returns the variant to which the switch is attempted.
+ */
+@property (readonly) AVAssetVariant *toVariant;
+
+/*!
+ @property loadedTimeRanges
+ @abstract This property provides a collection of time ranges for which the player has the media data readily available. The ranges provided might be discontinuous.
+ @discussion Returns an NSArray of NSValues containing CMTimeRanges.
+ */
+@property (readonly) NSArray<NSValue *> *loadedTimeRanges NS_REFINED_FOR_SWIFT;
 @end
 
 #pragma mark - Summary Event -
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRenderedCaptionImage.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRenderedCaptionImage.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRenderedCaptionImage.h	2024-06-15 09:24:07
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRenderedCaptionImage.h	2024-06-28 23:06:11
@@ -6,12 +6,6 @@
 
 	Copyright 2024 Apple Inc. All rights reserved.
 
-	$Log$
-	15mar2024 sdhir
-	<rdar://124167266> Use CGPoint for position in AVRenderedCaptionImage <asonnanst, flick>
-
-	12feb2024 sdhir
-	<rdar://115562147> First time <jbailey, flick>
  */
 
 #ifndef AV_RENDERED_CAPTION_IMAGE_H
diff -ruN /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoPerformanceMetrics.h /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoPerformanceMetrics.h
--- /Applications/Xcode_16.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoPerformanceMetrics.h	2024-06-15 21:00:58
+++ /Applications/Xcode_16.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoPerformanceMetrics.h	2024-06-28 22:26:35
@@ -17,7 +17,7 @@
 
 /*!
  @class			AVVideoPerformanceMetrics
- @abstract		An instance of AVVideoPerformanceMetrics provides current performance metrics.
+ @abstract		[SPI] An instance of AVVideoPerformanceMetrics provides current performance metrics.
  @discussion	An instance of AVVideoPerformanceMetrics provides named properties for accessing the video playback quality metrics.
 				Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
  */
@@ -33,68 +33,68 @@
 
 /*!
  @property		totalNumberOfFrames
- @abstract		The total number of frames that would have been displayed if no frames are dropped.
+ @abstract		[SPI] The total number of frames that would have been displayed if no frames are dropped.
  */
 @property (nonatomic, readonly) NSInteger totalNumberOfFrames;
 
 /*!
  @property		numberOfDroppedFrames
- @abstract		The total number of frames dropped prior to decoding or dropped because a frame missed its display deadline.
+ @abstract		[SPI] The total number of frames dropped prior to decoding or dropped because a frame missed its display deadline.
  */
 @property (nonatomic, readonly) NSInteger numberOfDroppedFrames;
 
 /*!
  @property		numberOfCorruptedFrames
- @abstract		The total number of corrupted frames that have been detected.
+ @abstract		[SPI] The total number of corrupted frames that have been detected.
  */
 @property (nonatomic, readonly) NSInteger numberOfCorruptedFrames;
 
 /*!
  @property		numberOfFramesDisplayedUsingOptimizedCompositing
- @abstract		The total number of full screen frames that were rendered in a special power-efficient mode that didn't require the frame to be composited with other UI elements.
+ @abstract		[SPI] The total number of full screen frames that were rendered in a special power-efficient mode that didn't require the frame to be composited with other UI elements.
  */
 @property (nonatomic, readonly) NSInteger numberOfFramesDisplayedUsingOptimizedCompositing;
 
 /*!
  @property		totalAccumulatedFrameDelay
- @abstract		The accumulated amount of time between the prescribed presentation times of displayed video frames and the actual time at which they were displayed.
+ @abstract		[SPI] The accumulated amount of time between the prescribed presentation times of displayed video frames and the actual time at which they were displayed.
  @discussion	This delay is always greater than or equal to zero since frames must never be displayed before their presentation time. Non-zero delays are a sign of playback jitter and possible loss of A/V sync.
  */
 @property (nonatomic, readonly) NSTimeInterval totalAccumulatedFrameDelay;
 
 /*!
  @property		totalNumberOfVideoFrames
- @abstract		The total number of frames that would have been displayed if no frames are dropped. Same as totalNumberOfFrames.
+ @abstract		[SPI] The total number of frames that would have been displayed if no frames are dropped. Same as totalNumberOfFrames.
  */
 @property (nonatomic, readonly) unsigned long totalNumberOfVideoFrames API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property		numberOfDroppedVideoFrames
- @abstract		The total number of frames dropped prior to decoding or dropped because a frame missed its display deadline. Same as numberOfDroppedFrames.
+ @abstract		[SPI] The total number of frames dropped prior to decoding or dropped because a frame missed its display deadline. Same as numberOfDroppedFrames.
  */
 @property (nonatomic, readonly) unsigned long numberOfDroppedVideoFrames API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property		numberOfCorruptedVideoFrames
- @abstract		The total number of corrupted frames that have been detected. Same as numberOfCorruptedFrames.
+ @abstract		[SPI] The total number of corrupted frames that have been detected. Same as numberOfCorruptedFrames.
  */
 @property (nonatomic, readonly) unsigned long numberOfCorruptedVideoFrames API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property		numberOfDisplayCompositedFrames
- @abstract		The total number of frames that were composited in detached mode.  Same as numberOfFramesDisplayedUsingOptimizedCompositing.
+ @abstract		[SPI] The total number of frames that were composited in detached mode.  Same as numberOfFramesDisplayedUsingOptimizedCompositing.
  */
 @property (nonatomic, readonly) unsigned long numberOfDisplayCompositedVideoFrames API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property		numberOfNonDisplayCompositedFrames
- @abstract		The total number of frames that were composited in undetached mode.
+ @abstract		[SPI] The total number of frames that were composited in undetached mode.
  */
 @property (nonatomic, readonly) unsigned long numberOfNonDisplayCompositedVideoFrames API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property		totalFrameDelay
- @abstract		The accumulated amount of time, in microseconds, between the prescribed presentation times of displayed video frames and the actual time at which they were displayed.
+ @abstract		[SPI] The accumulated amount of time, in microseconds, between the prescribed presentation times of displayed video frames and the actual time at which they were displayed.
  @discussion	This delay is always greater than or equal to zero since frames must never be displayed before their presentation time. Non-zero delays are a sign of playback jitter and possible loss of A/V sync. Same as totalAccumulatedFrameDelay.
  */
 @property (nonatomic, readonly) double totalFrameDelay API_UNAVAILABLE(macos, ios, tvos, visionos) API_UNAVAILABLE(watchos);

Clone this wiki locally