Skip to content

AVFoundation tvOS xcode15.1 b3

Alex Soto edited this page Nov 14, 2023 · 1 revision

#AVFoundation.framework

diff -ruN /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h
--- /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h	2023-09-22 19:50:03
+++ /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h	2023-11-06 04:35:11
@@ -2671,8 +2671,54 @@
 @end
 
 
+#pragma mark - AVZoomRange
 
 /*!
+ @class AVZoomRange
+ @abstract
+    An AVZoomRange expresses an inclusive range of supported zoom factors.
+ 
+ @discussion
+    This is used by features that have requirements on zoom factors falling within certain ranges.
+ */
+API_AVAILABLE(macos(14.2), ios(17.2), macCatalyst(17.2), tvos(17.2)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT
+@interface AVZoomRange : NSObject
+
+AV_INIT_UNAVAILABLE
+
+/*!
+@property minZoomFactor
+@abstract
+    A CGFloat indicating the minimum zoom factor supported by this range.
+*/
+@property(nonatomic, readonly) CGFloat minZoomFactor;
+
+/*!
+@property maxZoomFactor
+@abstract
+    A CGFloat indicating the maximum zoom factor supported by this range.
+ */
+@property(nonatomic, readonly) CGFloat maxZoomFactor;
+
+/*!
+@method containsZoomFactor:
+@abstract
+    Tests if a given zoom factor is within the zoom range.
+ 
+@param zoomFactor
+    The zoom factor to test.
+@result
+    Returns YES if the given zoom factor is within the zoom range, NO otherwise.
+ 
+@discussion
+     Note that the zoom ranges are inclusive.
+ */
+- (BOOL)containsZoomFactor:(CGFloat)zoomFactor;
+
+@end
+
+
+/*!
  @enum AVCaptureVideoStabilizationMode
  @abstract
     Constants indicating the modes of video stabilization supported by the device's format.
@@ -2968,14 +3014,37 @@
 /*!
  @property supportedVideoZoomFactorsForDepthDataDelivery
  @abstract
-    Indicates the sorted zoom factors available for the AVCaptureDevice's videoZoomFactor property when delivering depth data to one or more outputs.
+    A deprecated property. Please use supportedVideoZoomRangesForDepthDataDelivery
+ */
+@property(nonatomic, readonly) NSArray<NSNumber *> *supportedVideoZoomFactorsForDepthDataDelivery API_DEPRECATED_WITH_REPLACEMENT("supportedVideoZoomRangesForDepthDataDelivery", ios(16.0, 17.2), macCatalyst(16.0, 17.2), tvos(17.0, 17.2)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+
+/*!
+@property supportedVideoZoomRangesForDepthDataDelivery
+@abstract
+    This property returns the zoom ranges within which depth data can be delivered.
+
+@discussion
+    Virtual devices support limited zoom ranges when delivering depth data to any output. If this device format has no -supportedDepthDataFormats, this property returns an empty array.
+    The presence of one or more ranges where the min and max zoom factors are not equal means that "continuous zoom" with depth is supported.
+    For example:
+    a) ranges: @[ [2..2], [4..4] ]
+        only zoom factors 2 and 4 are allowed to be set when depthDataDelivery is enabled. Any other zoom factor results in an exception.
+    b) ranges: @[ [2..5] ]
+        depthDataDelivery is supported with zoom factors [2..5]. Zoom factors outside of this range may be set, but will result in loss of depthDataDeliery. Whenever zoom is set back to a value within the range of [2..5], depthDataDelivery will resume.
  
- @discussion
-    Virtual devices support limited zoom factors when delivering depth data to any output. If this device format has no -supportedDepthDataFormats, this property returns an empty array.
+    When depth data delivery is enabled, the effective videoZoomFactorUpscaleThreshold will be 1.0, meaning that all zoom factors that are not native zoom factors (see AVCaptureDevice.virtualDeviceSwitchOverVideoZoomFactors and AVCaptureDevice.secondaryNativeResolutionZoomFactors) result in digital upscaling.
  */
-@property(nonatomic, readonly) NSArray<NSNumber *> *supportedVideoZoomFactorsForDepthDataDelivery API_DEPRECATED_WITH_REPLACEMENT("supportedVideoZoomRangesForDepthDataDelivery", ios(16.0, 17.0), macCatalyst(16.0, 17.0), tvos(17.0, 18.0)) API_UNAVAILABLE(macos, visionos) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
+@property(nonatomic, readonly) NSArray<AVZoomRange *> *supportedVideoZoomRangesForDepthDataDelivery API_AVAILABLE(macos(14.2), ios(17.2), macCatalyst(17.2), tvos(17.2)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos) NS_REFINED_FOR_SWIFT;
 
+/*!
+@property zoomFactorsOutsideOfVideoZoomRangesForDepthDeliverySupported
+@abstract
+    This property returns whether the format supports zoom factors outside of the supportedVideoZoomFactorRangesForDepthDataDelivery.
 
+@discussion
+    When a zoom factor outside of the supportedVideoZoomFactorRangesForDepthDataDelivery is set, depth data delivery will be suspended until a zoom factor within the supportedVideoZoomFactorRangesForDepthDataDelivery is set.
+ */
+@property(nonatomic, readonly) BOOL zoomFactorsOutsideOfVideoZoomRangesForDepthDeliverySupported API_AVAILABLE(macos(14.2), ios(17.2), macCatalyst(17.2), tvos(17.2)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos);
 
 /*!
  @property supportedDepthDataFormats
diff -ruN /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes
--- /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2023-10-16 23:39:34
+++ /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2023-11-06 04:47:50
@@ -413,6 +413,8 @@
   Properties:
   - Name: 'outputObscuredDueToInsufficientExternalProtection'
     SwiftName: isOutputObscuredDueToInsufficientExternalProtection
+- Name: AVPlayerVideoOutputConfiguration
+  SwiftName: AVPlayerVideoOutput.Configuration
 - Name: AVSampleBufferDisplayLayer
   Properties:
   - Name: 'outputObscuredDueToInsufficientExternalProtection'
diff -ruN /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h
--- /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2023-10-16 23:00:32
+++ /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2023-11-06 04:51:08
@@ -1336,6 +1336,13 @@
  */
 @property (nonatomic, readonly, nullable) NSString *errorComment;
 
+ /*
+ @property		allHTTPResponseHeaderFields
+ @abstract		The HTTP header fields returned by the server, if an HTTP response was received as part of this error.
+ @discussion	See -[NSHTTPURLResponse allHeaderFields] for more information.
+ */
+ @property (nonatomic, readonly, nullable) NSDictionary <NSString *, NSString *> *allHTTPResponseHeaderFields API_AVAILABLE(macos(14.2), ios(17.2), tvos(17.2), watchos(10.2));
+
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerOutput.h /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerOutput.h
--- /Applications/Xcode_15.1.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerOutput.h	2023-10-16 23:08:11
+++ /Applications/Xcode_15.1.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerOutput.h	2023-11-06 04:33:58
@@ -124,7 +124,7 @@
 				A single tag collection for which these pixel buffer attributes should map to.
  @discussion 	If this method is called twice on the same tag collection, the first requested pixel buffer attributes will be overridden.
  */
-- (void)setOutputPixelBufferAttributes:(NSDictionary<NSString *, id> *)pixelBufferAttributes forTagCollection:(CMTagCollectionRef)tagCollection NS_REFINED_FOR_SWIFT;
+- (void)setOutputPixelBufferAttributes:(nullable NSDictionary<NSString *, id> *)pixelBufferAttributes forTagCollection:(CMTagCollectionRef)tagCollection NS_REFINED_FOR_SWIFT;
 /*!
  @property		preferredTagCollections
  @abstract		Tag collections held by AVTaggedVideoOutputSpecification.
Clone this wiki locally