Skip to content

AVFoundation macOS xcode13.0 beta3

Manuel de la Pena edited this page Aug 25, 2021 · 3 revisions

#AVFoundation.framework https://github.com/xamarin/xamarin-macios/pull/12550

diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h	2021-06-17 04:13:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h	2021-07-13 00:37:57.000000000 -0400
@@ -153,6 +153,26 @@
  */
 + (NSPredicate *)predicateForChannelCount:(NSInteger)channelCount mediaSelectionOption:(AVMediaSelectionOption *)mediaSelectionOption operatorType:(NSPredicateOperatorType)operatorType;
 
+/*!
+ @method		predicateForPresentationWidth:operatorType:
+ @abstract		Creates a NSPredicate for presentation size width which can be used with other NSPredicates to express variant preferences.
+ @param			width
+				The RHS value for the presentation size width in the predicate equation.
+ @param			operatorType
+				The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
+ */
++ (NSPredicate *)predicateForPresentationWidth:(CGFloat)width operatorType:(NSPredicateOperatorType)operatorType;
+
+/*!
+ @method		predicateForPresentationHeight:operatorType:
+ @abstract		Creates a NSPredicate for presentation size height which can be used with other NSPredicates to express variant preferences.
+ @param			height
+				The RHS value for the presentation size height in the predicate equation.
+ @param			operatorType
+				The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
+ */
++ (NSPredicate *)predicateForPresentationHeight:(CGFloat)height operatorType:(NSPredicateOperatorType)operatorType;
+
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h	2021-06-17 04:15:41.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h	2021-07-10 09:47:26.000000000 -0400
@@ -4,7 +4,7 @@
 
 	Framework:  AVFoundation
  
-	Copyright 2010-2018 Apple Inc. All rights reserved.
+	Copyright 2010-2021 Apple Inc. All rights reserved.
 
 */
 
@@ -275,7 +275,7 @@
 	
 	If the sample buffer contains a CVPixelBuffer then the choice of pixel format will affect the performance and quality of the encode. For optimal performance the format of the pixel buffer should match one of the native formats supported by the selected video encoder. Below are some recommendations:
  
-	The H.264 encoder natively supports kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, which should be used with video and full range input respectively. The JPEG encoder on iOS natively supports kCVPixelFormatType_422YpCbCr8FullRange. For other video codecs on OSX, kCVPixelFormatType_422YpCbCr8 is the preferred pixel format for video and is generally the most performant when encoding. If you need to work in the RGB domain then kCVPixelFormatType_32BGRA is recommended on iOS and kCVPixelFormatType_32ARGB is recommended on OSX.
+	The H.264 and HEVC encoders natively support kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, which should be used with 8-bit 4:2:0 video and full range input respectively; other related pixel formats in CoreVideo/CVPixelBuffer.h are ideal for 4:2:2 and 4:4:4 (and for HEVC, 10-bit). The JPEG encoder on iOS and Apple Silicon macOS natively supports kCVPixelFormatType_422YpCbCr8FullRange. If you need to work in the RGB domain then kCVPixelFormatType_32BGRA is recommended on iOS and macOS.
 
 	Pixel buffers not in a natively supported format will be converted internally prior to encoding when possible. Pixel format conversions within the same range (video or full) are generally faster than conversions between different ranges.
  
@@ -770,7 +770,7 @@
 	
 	For optimal performance the format of the pixel buffer should match one of the native formats supported by the selected video encoder. Below are some recommendations:
  
-	The H.264 encoder natively supports kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, which should be used with video and full range input respectively. The JPEG encoder on iOS natively supports kCVPixelFormatType_422YpCbCr8FullRange. For other video codecs on OSX, kCVPixelFormatType_422YpCbCr8 is the preferred pixel format for video and is generally the most performant when encoding. If you need to work in the RGB domain then kCVPixelFormatType_32BGRA is recommended on iOS and kCVPixelFormatType_32ARGB is recommended on OSX.
+	The H.264 and HEVC encoders natively support kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, which should be used with 8-bit 4:2:0 video and full range input respectively; other related pixel formats in CoreVideo/CVPixelBuffer.h are ideal for 4:2:2 and 4:4:4 (and for HEVC, 10-bit). The JPEG encoder on iOS and Apple Silicon macOS natively supports kCVPixelFormatType_422YpCbCr8FullRange. If you need to work in the RGB domain then kCVPixelFormatType_32BGRA is recommended on iOS and macOS.
 
 	Pixel buffers not in a natively supported format will be converted internally prior to encoding when possible. Pixel format conversions within the same range (video or full) are generally faster than conversions between different ranges.
 
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaption.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaption.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaption.h	2021-06-17 14:33:47.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaption.h	2021-07-10 09:47:30.000000000 -0400
@@ -15,167 +15,80 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@class AVCaptionInternal;
-@class AVMutableCaptionInternal;
-@class AVCaptionRegionInternal;
-@class AVCaptionPositionInternal;
-@class AVCaptionLengthInternal;
-@class AVMutableCaptionRegionInternal;
 @class AVCaptionRuby;
-@class AVCaptionRubyInternal;
 
 /*!
- @enum AVCaptionUnitType
+ @enum AVCaptionUnitsType
  @abstract
 	Geometry unit.
-
  @discussion
-	Some geometry objects, such as AVCaptionPosition, are variant type object where a client can store a value of specified unit. AVCaptionUnitType indicates the unit being used by such objects.
-
- @constant AVCaptionUnitTypeCell
-	The integer value is the number of cells.
-
- @constant AVCaptionUnitTypeRelativeToEnclosingRegion
-	The floating number value is [0 .. 1], relative to the enclosing region.
- */
-typedef NS_ENUM(NSInteger, AVCaptionUnitType) {
-	AVCaptionUnitTypeCell,
-	AVCaptionUnitTypeRelativeToEnclosingRegion,
-} API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
+	Some geometric objects are positioned or sized with different kinds of dimensions differeing in unit. In some cases, an object might allow multiple kinds of dimensions varrying by units. AVCaptionUnitsType is an enumeration of kinds of units that are used across caption formats.
+ @constant AVCaptionUnitsTypeUnspecified
+	The units has not been specified. The dimension can be seen as invalid.
+ @constant AVCaptionUnitsTypeCells
+	The integer value is a number of cells.
+ @constant AVCaptionUnitsTypePercent
+	The floating-point value number value is [0 .. 100] correspondng to 0% to 100%, typically relative to the enclosing rectangle.
+ */
+typedef NS_ENUM(NSInteger, AVCaptionUnitsType) {
+	AVCaptionUnitsTypeUnspecified = 0,
+	AVCaptionUnitsTypeCells,
+	AVCaptionUnitsTypePercent,
+};
+
+/*!
+ @typedef AVCaptionDimension
+ @abstract The length with a unit or coordinate on a 2D geometric axis
+ @field value The value of the coordinate or length.
+ @field units The units of the coordinate (e.g., cells, points)
+ */
+typedef struct AVCaptionDimension {
+	CGFloat value;
+	AVCaptionUnitsType units;
+} AVCaptionDimension;
+
+/*!
+ @typedef AVCaptionPoint
+ @abstract A two dimensional point made of x and y AVCaptionDimension coordinates
+ @field x An AVCaptionDimension holding the x coordinate of the point
+ @field y An AVCaptionDimension holding the y coordinate of the point
+ */
+typedef struct AVCaptionPoint {
+	AVCaptionDimension x;
+	AVCaptionDimension y;
+} AVCaptionPoint;
+
+/*!
+ @typedef AVCaptionSize
+ @abstract A two dimensional size made of width and height AVCaptionDimensions
+ @field width An AVCaptionDimension holding the width
+ @field height An AVCaptionDimension holding the height
+ */
+typedef struct AVCaptionSize {
+	AVCaptionDimension width;
+	AVCaptionDimension height;
+} AVCaptionSize;
 
 /*!
- @interface AVCaptionPosition
- @abstract
-	Represents a position of things such as region.
-
- @discussion
-	To read a value, examine unitType property and call appropriate properties.
-
- */
-API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface AVCaptionPosition : NSObject <NSCopying, NSSecureCoding>
-{
-@private
-	AVCaptionPositionInternal *_internal;
-}
-AV_INIT_UNAVAILABLE
-
-/*!
-  @property unit
-  @abstract
-    The unit of the value.
- */
-@property (nonatomic, readonly) AVCaptionUnitType unitType API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
-
-@end
-
-/*!
- @interface AVAppleITTCaptionPosition
- @abstract
-	Represents a position of things such as region for the Apple iTT format.
-
- @discussion
-	To read a value, examine unitType property and call appropriate properties.
-
- */
-API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface AVAppleITTCaptionPosition : AVCaptionPosition
-{
-}
-AV_INIT_UNAVAILABLE
-
-/*!
-  @property relativeToEnclosingRegionX
-  @abstract
-	The horizontal position relative to the containing area.
- */
-@property (nonatomic, readonly) float relativeToEnclosingRegionX API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
-
-/*!
-  @property relativeToEnclosingRegionY
-  @abstract
-	The vertical position relative to the containing area.
- */
-@property (nonatomic, readonly) float relativeToEnclosingRegionY API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
-
-/*!
- @method initWithRelativeToEnclosingRegionX:Y:
- @abstract
-	Initializes an instance with percentage.
- @param relativeToEnclosingRegionX
-	The horizontal position in percentage.
- @param relativeToEnclosingRegionY
-	The vertical position in percentage.
- @result
-	An instance of AVCaptionPosition that carries the given position.
+	@function	AVCaptionDimensionMake
+	@abstract	Makes an AVCaptionDimension from a value and units.
 */
-- (instancetype)initWithRelativeToEnclosingRegionX:(float)relativeToEnclosingRegionX Y:(float)relativeToEnclosingRegionY API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
-
-@end
-
-API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface AVCEA608CaptionPosition : AVCaptionPosition
-{
-}
-AV_INIT_UNAVAILABLE
-
-/*!
-  @property cellX
-  @abstract
-	The horizontal position in the cell index. The left-most position is 1, not zero.
- */
-@property (nonatomic, readonly) NSInteger cellX;
-
-/*!
-  @property cellY
-  @abstract
-	The vertical position in the cell index. The top-most position is 1, not zero.
- */
-@property (nonatomic, readonly) NSInteger cellY;
+AVF_EXPORT AVCaptionDimension AVCaptionDimensionMake( CGFloat value, AVCaptionUnitsType units )
+API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
- @method initWithCellPositionX:Y:
- @abstract
-	Initializes an instance with number of cells.
- @param cellX
-	The horizontal position in number of cells. The left-most position is 1, not zero.
- @param cellY
-	The vertical position in number of cells. The top-most position is 1, not zero.
- @result
-	An instance of AVCaptionPosition that carries the given position.
+	@function	AVCaptionPointMake
+	@abstract	Makes an AVCaptionPoint from x and y coordinate AVCaptionDimensions.
 */
-- (instancetype)initWithCellPositionX:(NSInteger)cellX Y:(NSInteger)cellY;
-
-@end
-
-
-API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
-@interface AVCaptionLength : NSObject <NSCopying, NSSecureCoding>
-{
-@private
-	AVCaptionLengthInternal *_internal;
-}
-AV_INIT_UNAVAILABLE
+AVF_EXPORT AVCaptionPoint AVCaptionPointMake( AVCaptionDimension x, AVCaptionDimension y )
+API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
-  @property numberOfCells
-  @abstract
-    The length in cells.
- */
-@property (nonatomic, readonly) NSInteger numberOfCells;
-
-/*!
- @method initWithCellCount:
- @abstract
-	Initializes an instance with the number of cells.
- @param numberOfCells
-	The length in cells.
- @result
-	An instance of AVCaptionLength that carries the given length.
+	@function	AVCaptionSizeMake
+	@abstract	Makes an AVCaptionSize from width and height AVCaptionDimensions.
 */
-- (instancetype)initWithCellCount:(NSInteger)numberOfCells;
-
-@end
+AVF_EXPORT AVCaptionSize AVCaptionSizeMake( AVCaptionDimension width, AVCaptionDimension height )
+API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos);
 
 /*!
  @enum AVCaptionRegionDisplayAlignment
@@ -237,19 +150,51 @@
  */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVCaptionRegion : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
-{
-@private
-	AVCaptionRegionInternal *_internal;
-}
 
 /*!
-  @method subRipTextBottom
+  @property appleITTTopRegion
   @abstract
-    The bottom region for SubRip Text (SRT) format
+	The top region for iTT format
   @discussion
-    This region can be used in SRT format and it occupies the entire video display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with bottom justified.
+	This region can be used in iTT format and it occupies the top 15% of the display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with top justified.
  */
-+(AVCaptionRegion *)subRipTextBottom;
+@property (class, readonly) AVCaptionRegion  * appleITTTopRegion;
+
+/*!
+  @property appleITTBottomRegion
+  @abstract
+	The bottom region for iTT format
+  @discussion
+	This region can be used in iTT format and it occupies the bottom 15% of the display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with bottom justified.
+ */
+@property (class, readonly) AVCaptionRegion  * appleITTBottomRegion;
+
+/*!
+  @property appleITTLeftRegion
+  @abstract
+	The  left region for iTT format
+  @discussion
+	This region can be used in iTT format and it occupies the left 15% of the display area. The region uses TBRL, a line progresses top to bottom and the block extends from right to left. Each line is stacked with right justified.
+ */
+@property (class, readonly) AVCaptionRegion  * appleITTLeftRegion;
+
+/*!
+  @property appleITTRightRegion
+  @abstract
+	The right region for iTT format
+  @discussion
+	This region can be used in iTT format and it occupies the right 15% of the display area. The region uses TBRL, a line progresses top to bottom and the block extends from right to left. Each line is stacked with right justified.
+ */
+@property (class, readonly) AVCaptionRegion  * appleITTRightRegion;
+
+/*!
+  @property subRipTextBottomRegion
+  @abstract
+	The bottom region for SubRip Text (SRT) format
+  @discussion
+	This region can be used in SRT format and it occupies the entire video display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with bottom justified.
+ */
+@property (class, readonly) AVCaptionRegion  * subRipTextBottomRegion;
 
 /*!
   @property identifier
@@ -265,34 +210,25 @@
 @property (nonatomic, readonly, nullable) NSString *identifier;
 
 /*!
-  @property position
-  @abstract
-    Region position.
-  @discussion
-    It returns nil when the region doesn't have position information.
- */
-@property (nonatomic, readonly, nullable) AVCaptionPosition *position;
-
-/*!
-  @property endPosition
+  @property origin
   @abstract
-    Region endPosition, which is the position of the bottom-right edge.
+	The position of the top-left of the region, potentially with unspecified fields.
   @discussion
-    It returns nil when the region doesn't have position information.
+	It returns an AVCaptionPoint potentially with unspecified x and/or y fields. Unspecified dimensions indicate the region doesn't have positioning information for that dimension.
  */
-@property (nonatomic, readonly, nullable) AVCaptionPosition *endPosition;
+@property (nonatomic, readonly) AVCaptionPoint origin;
 
 /*!
-  @property height
+  @property size
   @abstract
-    Region height.
+	The width and height of the region, potentally with unspecified fields.
   @discussion
-	CEA608 closed captions support limits the height property’s value to 1 cell except when the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp.
-	If the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp, the height property’s value must be 2, 3 or 4 cells.
-
-	It returns nil when the region doesn't have height information.
+	It returns an AVCaptionSize potentially with unspecified width and/or height.
+	CEA608 closed captions support limits the size.height property’s value to 1 cell except when the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp.
+ If the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp, the size.height property’s value must be 2, 3 or 4 cells.
+	It returns an AVCaptionSize with unspecifed width and height when the region doesn't have width or height information.
  */
-@property (nonatomic, readonly, nullable) AVCaptionLength *height;
+@property (nonatomic, readonly) AVCaptionSize size;
 
 /*!
   @property scroll
@@ -325,10 +261,6 @@
  */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVMutableCaptionRegion : AVCaptionRegion
-{
-@private
-	AVMutableCaptionRegionInternal *_mutableInternal __attribute__((unused));
-}
 
 /*!
   @method init
@@ -345,25 +277,18 @@
 - (instancetype)initWithIdentifier:(NSString *)identifier;
 
 /*!
-  @property position
-  @abstract
-    Region position.
- */
-@property (nonatomic, copy) AVCaptionPosition *position;
-
-/*!
-  @property endPosition
+  @property origin
   @abstract
-    Region endPosition, exclusive.
+	The position of the top-left of the region.
  */
-@property (nonatomic, copy) AVCaptionPosition *endPosition;
+@property (nonatomic, assign) AVCaptionPoint 	origin;
 
 /*!
-  @property height
+  @property size
   @abstract
-    Region height.
+	The width and height of the region, potentally with unspecified fields.
  */
-@property (nonatomic, copy) AVCaptionLength *height;
+@property (nonatomic, assign) AVCaptionSize size;
 
 /*!
   @property scroll
@@ -409,10 +334,6 @@
  */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVCaption : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
-{
-@private
-	AVCaptionInternal *_internal;
-}
 AV_INIT_UNAVAILABLE
 
 /*!
@@ -426,7 +347,7 @@
  @result
 	An instance of AVCaption that carries the given text and time range.
  */
-- (instancetype)initWithText:(NSString *)text timeRange:(CMTimeRange)timeRange;
+- (instancetype)initWithText:(NSString *)text timeRange:(CMTimeRange)timeRange NS_DESIGNATED_INITIALIZER;
 
 /*!
  @property text
@@ -480,9 +401,6 @@
  */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVMutableCaption : AVCaption
-{
-	AVMutableCaptionInternal *_mutableInternal;
-}
 
 /*!
  @property text
@@ -918,10 +836,6 @@
 
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVCaptionRuby : NSObject <NSCopying, NSSecureCoding>
-{
-@private
-	AVCaptionRubyInternal *_internal;
-}
 AV_INIT_UNAVAILABLE
 
 - (instancetype)initWithText:(NSString *)text NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionConversionValidator.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionConversionValidator.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionConversionValidator.h	2021-06-17 14:33:46.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionConversionValidator.h	2021-07-10 09:47:29.000000000 -0400
@@ -43,10 +43,7 @@
  @abstract      Performs a validation of captions for a conversion operation and warns about problems that are encountered.
 */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, watchos, tvos)
-@interface AVCaptionConversionValidator : NSObject {
-@private
-	void *_validatorInternal;
-}
+@interface AVCaptionConversionValidator : NSObject
 AV_INIT_UNAVAILABLE
 
 /*!
@@ -60,7 +57,7 @@
                 Describes the conversion operation for which the captions are to be validated.
  @result        A new instance of AVCaptionConversionValidator configured to perform the specified validation.
 */
-+ (instancetype)captionConversionValidatorWithCaptions:(NSArray<AVCaption *> *)captions timeRange:(CMTimeRange)timeRange conversionSettings:(NSDictionary *)conversionSettings;
++ (instancetype)captionConversionValidatorWithCaptions:(NSArray<AVCaption *> *)captions timeRange:(CMTimeRange)timeRange conversionSettings:(NSDictionary<AVCaptionSettingsKey, id> *)conversionSettings;
 
 /*!
  @method        initWithCaptions:startTime:conversionSettings:
@@ -142,10 +139,7 @@
  @abstract      Reports a specific problem encountered during the validation of a caption conversion.
 */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, watchos, tvos)
-@interface AVCaptionConversionWarning : NSObject {
-@private
-	void *_warningInternal;
-}
+@interface AVCaptionConversionWarning : NSObject
 AV_INIT_UNAVAILABLE
 
 /*!
@@ -158,7 +152,6 @@
  @property      rangeOfCaptions
  @abstract      Indicates the range of captions in the validator's captions array for which the specified warning has been issued.
  @discussion    Only captions with the same start time and duration will be referenced. If captions with different start times and durations exhibit similar problems, a separate instance of AVCaptionConversionWarning will be used to indicate each problematic case. If the referenced captions have multiple problems, a separate instance of AVCaptionConversionWarning will be issued to indicate each problem.
-
 */
 @property (readonly) NSRange rangeOfCaptions;
 
@@ -188,17 +181,14 @@
  @abstract      Describes an adjustment that can be performed in order to correct a problem encountered during the validation of a caption conversion.
 */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, watchos, tvos)
-@interface AVCaptionConversionAdjustment : NSObject {
-@private
-	void *_adjustmentInternal __attribute__((unused));
-}
+@interface AVCaptionConversionAdjustment : NSObject
 AV_INIT_UNAVAILABLE
 
 /*!
  @property      adjustmentType
  @abstract      Indicates the type of adjustment described by the receiver.
 */
-@property (readonly) AVCaptionConversionWarningType adjustmentType;
+@property (readonly) AVCaptionConversionAdjustmentType adjustmentType;
 
 @end
 
@@ -207,25 +197,22 @@
  @abstract      Describes an adjustment to the timeRange of one or more captions.
 */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, watchos, tvos)
-@interface AVCaptionConversionTimeRangeAdjustment : AVCaptionConversionAdjustment {
-@private
-	void *_timeRangeAdjustmentInternal;
-}
+@interface AVCaptionConversionTimeRangeAdjustment : AVCaptionConversionAdjustment
 AV_INIT_UNAVAILABLE
 
 /*!
- @property      startAdjustment
+ @property      startTimeOffset
  @abstract      Indicates the amount by which the timeRange.start of the captions must be adjusted in order to correct a problem.
  @discussion    The value may any numeric value, positive, negative, or zero.
 */
-@property (readonly) CMTime startAdjustment;
+@property (readonly) CMTime startTimeOffset;
 
 /*!
- @property      durationAdjustment
+ @property      durationOffset
  @abstract      Indicates the amount by which the timeRange.duration of the captions must be adjusted in order to correct a problem.
  @discussion    The value may any numeric value, positive, negative, or zero.
 */
-@property (readonly) CMTime durationAdjustment;
+@property (readonly) CMTime durationOffset;
 
 @end
 
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionFormatConformer.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionFormatConformer.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionFormatConformer.h	2021-06-17 14:33:48.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptionFormatConformer.h	2021-07-10 09:47:31.000000000 -0400
@@ -22,10 +22,6 @@
 */
 API_AVAILABLE(macos(12.0)) API_UNAVAILABLE(ios, tvos, watchos)
 @interface AVCaptionFormatConformer : NSObject
-{
-@private
-	void *_conformerInternal;
-}
 AV_INIT_UNAVAILABLE
 
 /*!
@@ -47,7 +43,7 @@
 - (instancetype)initWithConversionSettings:(NSDictionary<AVCaptionSettingsKey, id> *)conversionSettings NS_DESIGNATED_INITIALIZER;
 
 /*!
- @property	conformsCaptionTimeRange
+ @property	conformsCaptionsToTimeRange
  @abstract	Specifies whether to conform the time range of a given canonical caption as well.
  @discussion
 	When set to YES, conforms time range.
@@ -56,7 +52,7 @@
 	When set to YES and if all the encoded data can not fit inside the canonical caption time range, the caption time range will be extended to fit all the data and will be returned in the conformed AVCaption.
 	The default value is NO.
 */
-@property (nonatomic) BOOL conformsCaptionTimeRange;
+@property (nonatomic) BOOL conformsCaptionsToTimeRange;
 
 /*!
  @method	conformedCaptionForCaption:error:
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h	2021-06-22 17:36:56.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h	2021-07-13 00:33:57.000000000 -0400
@@ -309,6 +309,8 @@
     Default value is AVCapturePhotoQualityPrioritizationBalanced when attached to an AVCaptureSession, and AVCapturePhotoQualityPrioritizationSpeed when attached to an AVCaptureMultiCamSession. The AVCapturePhotoOutput is capable of applying a variety of techniques to improve photo quality (reduce noise, preserve detail in low light, freeze motion, etc). Some techniques improve image quality at the expense of speed (shot-to-shot time). Before starting your session, you may set this property to indicate the highest quality prioritization you intend to request when calling -capturePhotoWithSettings:delegate:. When configuring an AVCapturePhotoSettings object, you may not exceed this quality prioritization level, but you may select a lower (speedier) prioritization level.
  
     Changing the maxPhotoQualityPrioritization while the session is running can result in a lengthy rebuild of the session in which video preview is disrupted.
+ 
+    Setting the maxPhotoQualityPrioritization to .quality will turn on optical image stabilization if the -isHighPhotoQualitySupported of the source device's -activeFormat is true.
  */
 @property(nonatomic) AVCapturePhotoQualityPrioritization maxPhotoQualityPrioritization API_AVAILABLE(ios(13.0), macCatalyst(14.0)) API_UNAVAILABLE(macos, tvos) API_UNAVAILABLE(watchos);
 
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2021-06-15 08:05:08.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2021-07-08 01:03:17.000000000 -0400
@@ -108,6 +108,9 @@
     AvailabilityMsg: 'use object initializers instead'
 - Name: AVCaption
   Methods:
+  - Selector: 'initWithText:timeRange:'
+    SwiftName: init(_:timeRange:)
+    MethodKind: Instance
   - Selector: 'textColorAtIndex:range:'
     MethodKind: Instance
     SwiftPrivate: true
@@ -288,11 +291,11 @@
     SwiftName: 'supportedPhotoCodecTypes(for:)'
     MethodKind: Instance
   - Selector: 'supportedPhotoPixelFormatTypesForFileType:'
-    SwiftName: 'supportedPhotoPixelFormatTypes(for:)'
     MethodKind: Instance
+    SwiftPrivate: true
   - Selector: 'supportedRawPhotoPixelFormatTypesForFileType:'
-    SwiftName: 'supportedRawPhotoPixelFormatTypes(for:)'
     MethodKind: Instance
+    SwiftPrivate: true
   Properties:
   - Name: availablePhotoPixelFormatTypes
     PropertyKind: Instance
@@ -734,6 +737,15 @@
 Functions:
 - Name: AVMakeRectWithAspectRatioInsideRect
   SwiftName: AVMakeRect(aspectRatio:insideRect:)
+- Name: AVCaptionDimensionMake
+  Availability: nonswift
+  SwiftName: AVCaptionDimension.init(value:units:)
+- Name: AVCaptionPointMake
+  Availability: nonswift
+  SwiftName: AVCaptionPoint.init(x:y:)
+- Name: AVCaptionSizeMake
+  Availability: nonswift
+  SwiftName: AVCaptionSize.init(width:heigh:)
 Enumerators:
 - Name: AVCaptureColorSpace_sRGB
   SwiftName: sRGB
@@ -877,6 +889,10 @@
   SwiftName: AVCoordinatedPlaybackSuspension.Reason
 - Name: AVPlayerRateDidChangeReason
   SwiftName: AVPlayer.RateDidChangeReason
+- Name: AVCaptionConversionAdjustmentType
+  SwiftName: AVCaptionConversionAdjustment.AdjustmentType
+- Name: AVCaptionConversionWarningType
+  SwiftName: AVCaptionConversionWarning.WarningType
 
 Globals:
 # AVCaptureDevice constants
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerInterstitialEventController.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerInterstitialEventController.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerInterstitialEventController.h	2021-06-17 14:33:45.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerInterstitialEventController.h	2021-07-13 00:36:28.000000000 -0400
@@ -73,8 +73,6 @@
 			    Storage for attributes defined by the client or the content vendor. Attribute names should begin with X- for uniformity with server insertion.
   @result       An instance of AVPlayerInterstitialEvent.
 */
-+ (instancetype)interstitialEventWithPrimaryItem:(AVPlayerItem *)primaryItem identifier:(nullable NSString *)identifier time:(CMTime)time templateItems:(NSArray<AVPlayerItem *> *)templateItems restrictions:(AVPlayerInterstitialEventRestrictions)restrictions resumptionOffset:(CMTime)resumptionOffset playoutLimit:(CMTime)playoutLimit;
-
 + (instancetype)interstitialEventWithPrimaryItem:(AVPlayerItem *)primaryItem identifier:(nullable NSString *)identifier time:(CMTime)time templateItems:(NSArray<AVPlayerItem *> *)templateItems restrictions:(AVPlayerInterstitialEventRestrictions)restrictions resumptionOffset:(CMTime)resumptionOffset playoutLimit:(CMTime)playoutLimit userDefinedAttributes:(nullable NSDictionary*)userDefinedAttributes NS_REFINED_FOR_SWIFT;
 
 /*!
@@ -98,8 +96,6 @@
 			    Storage for attributes defined by the client or the content vendor. Attribute names should begin with X- for uniformity with server insertion.
   @result       An instance of AVPlayerInterstitialEvent.
 */
-+ (instancetype)interstitialEventWithPrimaryItem:(AVPlayerItem *)primaryItem identifier:(nullable NSString *)identifier date:(NSDate *)date templateItems:(NSArray<AVPlayerItem *> *)templateItems restrictions:(AVPlayerInterstitialEventRestrictions)restrictions resumptionOffset:(CMTime)resumptionOffset playoutLimit:(CMTime)playoutLimit;
-
 + (instancetype)interstitialEventWithPrimaryItem:(AVPlayerItem *)primaryItem identifier:(nullable NSString *)identifier date:(NSDate *)date templateItems:(NSArray<AVPlayerItem *> *)templateItems restrictions:(AVPlayerInterstitialEventRestrictions)restrictions resumptionOffset:(CMTime)resumptionOffset playoutLimit:(CMTime)playoutLimit userDefinedAttributes:(nullable NSDictionary*)userDefinedAttributes NS_REFINED_FOR_SWIFT;
 
 /*!
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2021-06-22 17:33:55.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2021-07-13 00:37:59.000000000 -0400
@@ -1167,7 +1167,7 @@
  @discussion	Value is negative if unknown. Corresponds to "c-observed-max-bitrate".
 				This property is not observable.
  */
-@property (nonatomic, readonly) double observedMaxBitrate API_AVAILABLE(macos(10.9), ios(7.0), tvos(9.0), watchos(1.0));
+@property (nonatomic, readonly) double observedMaxBitrate API_DEPRECATED("Use observedBitrateStandardDeviation to monitor variance in network bitrate.", macos(10.9, 12), ios(7.0, 15.0), tvos(9.0, 15.0), watchos(1.0, 8.0));
 
 /*!
  @property		observedMinBitrate
@@ -1175,7 +1175,7 @@
  @discussion	Value is negative if unknown. Corresponds to "c-observed-min-bitrate".
 				This property is not observable.
  */
-@property (nonatomic, readonly) double observedMinBitrate API_AVAILABLE(macos(10.9), ios(7.0), tvos(9.0), watchos(1.0));
+@property (nonatomic, readonly) double observedMinBitrate API_DEPRECATED("Use observedBitrateStandardDeviation to monitor variance in network bitrate.", macos(10.9, 12), ios(7.0, 15.0), tvos(9.0, 15.0), watchos(1.0, 8.0));
 
 /*!
  @property		observedBitrateStandardDeviation
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h	2021-06-17 03:46:06.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h	2021-07-10 09:47:31.000000000 -0400
@@ -17,6 +17,8 @@
  @discussion
     The same result can be accomplished with AVQueuePlayer directly, but AVPlayerLooper provides a simpler interface to loop a single AVPlayerItem with an option to specify a time range. AVPlayerLooper only supports looping for forward playback (positive player rate). Behavior is undefined for negative player rate.
 
+	Note that the transition at the loop point is not guaranteed to be gapless.
+
     Sample usage code:
     // Create player and configure
     AVQueuePlayer *player = [[AVQueuePlayer alloc] init];
diff -ruN /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSampleBufferDisplayLayer.h /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSampleBufferDisplayLayer.h
--- /Applications/Xcode_13.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSampleBufferDisplayLayer.h	2021-06-17 03:46:05.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSampleBufferDisplayLayer.h	2021-07-13 00:39:53.000000000 -0400
@@ -35,10 +35,6 @@
 
 API_AVAILABLE(macos(10.8), ios(8.0), tvos(10.2)) API_UNAVAILABLE(watchos)
 @interface AVSampleBufferDisplayLayer : CALayer
-{
-@private
-	AVSampleBufferDisplayLayerInternal		*_sampleBufferDisplayLayerInternal;
-}
 
 /*!
 	@property		controlTimebase
Clone this wiki locally