Skip to content

AVFoundation watchOS xcode9 beta2

Vincent Dondain edited this page Jun 21, 2017 · 1 revision

#AVFoundation.framework

diff -ruN /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCameraCalibrationData.h /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCameraCalibrationData.h
--- /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCameraCalibrationData.h	2017-05-24 00:28:27.000000000 -0400
+++ /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCameraCalibrationData.h	2017-06-11 18:48:49.000000000 -0400
@@ -87,7 +87,7 @@
     An NSData of floats describing the camera lens' radial distortions.
  
  @discussion
-    Images captured by a camera are geometrically warped by radial distortions in the lens. In order to project from the 2D image plane back into the 3D world, the images must be distortion corrected, or made rectilinear. Lens distortion is modeled using a one-dimensional lookup table of 32-bit float values evenly distributed along a radius from the center of the distortion to the farthest corner, with each value representing an elongation or compression of the radius (1.0 for any given point indicates no elongation). This model assumes radially symmetric lens distortion. When dealing with AVDepthData, the disparity / depth map representations are geometrically distorted to align with images produced by the camera. For more information, see the reference implementation below.
+    Images captured by a camera are geometrically warped by radial distortions in the lens. In order to project from the 2D image plane back into the 3D world, the images must be distortion corrected, or made rectilinear. Lens distortion is modeled using a one-dimensional lookup table of 32-bit float values evenly distributed along a radius from the center of the distortion to the farthest corner, with each value representing an elongation or compression of the radius (0.0 for any given point indicates no elongation). This model assumes radially symmetric lens distortion. When dealing with AVDepthData, the disparity / depth map representations are geometrically distorted to align with images produced by the camera. For more information, see the reference implementation below.
  */
 @property(nonatomic, readonly) NSData *lensDistortionLookupTable;
 
@@ -116,12 +116,14 @@
  
     To apply distortion correction to an image, you'd begin with an empty destination buffer and iterate through it row by row, calling the sample implementation below for each point in the output image, passing the lensDistortionLookupTable to find the corresponding value in the distorted image, and write it to your output buffer. Please note that the "point", "opticalCenter", and "imageSize" parameters below must be in the same coordinate system, i.e. both at full resolution, or both scaled to a different resolution but with the same aspect ratio.
  
+    The reference function below returns floating-point x and y values. If you wish to match the results with actual pixels in a bitmap, you should either round to the nearest integer value or interpolate from surrounding integer positions (i.e. bilinear interpolation from the 4 surrounding pixels).
+ 
 - (CGPoint)lensDistortionPointForPoint:(CGPoint)point
                            lookupTable:(NSData *)lookupTable
                distortionOpticalCenter:(CGPoint)opticalCenter
                              imageSize:(CGSize)imageSize
 {
-    // The lookup table holds the radial magnification for n linearly spaced radii.
+    // The lookup table holds the relative radial magnification for n linearly spaced radii.
     // The first position corresponds to radius = 0
     // The last position corresponds to the largest radius found in the image.
  
@@ -137,7 +139,7 @@
     // Determine the radius of the given point.
     float r_point = sqrtf( v_point_x * v_point_x + v_point_y * v_point_y );
  
-    // Look up the radial magnification to apply in the provided lookup table
+    // Look up the relative radial magnification to apply in the provided lookup table
     float magnification;
     const float *lookupTableValues = lookupTable.bytes;
     NSUInteger lookupTableCount = lookupTable.length / sizeof(float);
@@ -158,8 +160,8 @@
     }
  
     // Apply radial magnification
-    float new_v_point_x = magnification * v_point_x;
-    float new_v_point_y = magnification * v_point_y;
+    float new_v_point_x = v_point_x + magnification * v_point_x;
+    float new_v_point_y = v_point_y + magnification * v_point_y;
  
     // Construct output
     return CGPointMake( opticalCenter.x + new_v_point_x, opticalCenter.y + new_v_point_y );
diff -ruN /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h
--- /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2017-05-24 00:28:08.000000000 -0400
+++ /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2017-06-12 01:08:15.000000000 -0400
@@ -191,10 +191,10 @@
                 An opaque identifier for the application. The contents of this identifier depend on the particular protocol in use by the entity that controls the use of the media data.
  @param         storageURL
                 URL to a directory previously used with one or more instances of AVContentKeySession for the storage of expired session reports.
- @result        An NSArray containing instances of NSDictionary, each containing a pending expired session report. These contents depend on the particular protocol in use by the entity that controls the use of the media data.
+ @result        An NSArray containing instances of NSData, each containing a pending expired session report as a property-list serialization of an NSDictionary object. The contents of expired session reports depend on the particular protocol in use by the entity that controls the use of the media data.
  @discussion    Note that no reports for sessions still in progress will be included.
 */
-+ (NSArray <NSDictionary *> *)pendingExpiredSessionReportsWithAppIdentifier:(NSData *)appIdentifier storageDirectoryAtURL:(NSURL *)storageURL;
++ (NSArray <NSData *> *)pendingExpiredSessionReportsWithAppIdentifier:(NSData *)appIdentifier storageDirectoryAtURL:(NSURL *)storageURL;
 
 /*! 
  @method        removePendingExpiredSessionReports:withAppIdentifier:storageDirectoryAtURL:
@@ -207,7 +207,7 @@
                 URL to a writable folder.
  @discussion    This method is most suitable for use only after the specified expired session reports have been sent to the entity that controls the use of the media data and the entity has acknowledged their receipt.
 */
-+ (void)removePendingExpiredSessionReports:(NSArray <NSDictionary *> *)expiredSessionReports withAppIdentifier:(NSData *)appIdentifier storageDirectoryAtURL:(NSURL *)storageURL;
++ (void)removePendingExpiredSessionReports:(NSArray <NSData *> *)expiredSessionReports withAppIdentifier:(NSData *)appIdentifier storageDirectoryAtURL:(NSURL *)storageURL;
 
 @end
 
diff -ruN /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes
--- /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2017-05-23 21:01:42.000000000 -0400
+++ /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.apinotes	2017-06-12 01:08:13.000000000 -0400
@@ -147,6 +147,15 @@
     MethodKind: Class
     Availability: nonswift
     AvailabilityMsg: 'use object initializers instead'
+  - Selector: 'supportedPhotoCodecTypesForFileType:'
+    SwiftName: 'supportedPhotoCodecTypes(for:)'
+    MethodKind: Instance
+  - Selector: 'supportedPhotoPixelFormatTypesForFileType:'
+    SwiftName: 'supportedPhotoPixelFormatTypes(for:)'
+    MethodKind: Instance
+  - Selector: 'supportedRawPhotoPixelFormatTypesForFileType:'
+    SwiftName: 'supportedRawPhotoPixelFormatTypes(for:)'
+    MethodKind: Instance
 - Name: AVCaptureStillImageOutput
   Methods:
   - Selector: 'new'
@@ -165,6 +174,9 @@
   - Selector: 'recommendedVideoSettingsForAssetWriterWithOutputFileType:'
     SwiftName: 'recommendedVideoSettingsForAssetWriter(writingTo:)'
     MethodKind: Instance
+  Properties:
+  - Name: availableVideoCVPixelFormatTypes
+    SwiftName: availableVideoPixelFormatTypes
 - Name: AVCaptureVideoPreviewLayer
   Methods:
   - Selector: 'captureDevicePointOfInterestForPoint:'
@@ -518,6 +530,8 @@
   SwiftName: AVCaptureDevice.TorchMode
 - Name: AVCaptureWhiteBalanceMode
   SwiftName: AVCaptureDevice.WhiteBalanceMode
+- Name: AVDepthDataAccuracy
+  SwiftName: AVDepthData.Accuracy
 - Name: AVError
   NSErrorDomain: AVFoundationErrorDomain
 Typedefs:
@@ -1435,6 +1449,7 @@
       Nullability: [ U, U ]
     Properties:
     - Name: availableVideoCVPixelFormatTypes
+      SwiftName: availableVideoCVPixelFormatTypes
       PropertyKind: Instance
       Nullability: U
       Type: 'NSArray *'
diff -ruN /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h
--- /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h	2017-05-25 06:23:45.000000000 -0400
+++ /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h	2017-06-14 05:48:59.000000000 -0400
@@ -39,6 +39,7 @@
 
 #if TARGET_OS_IPHONE
 #import <AVFoundation/AVAssetDownloadTask.h>
+#import <AVFoundation/AVAssetDownloadStorageManager.h>
 #endif
 
 #if (TARGET_OS_IPHONE || defined(__MAC_10_7))
@@ -84,6 +85,7 @@
 #import <AVFoundation/AVPlayerLooper.h>
 #import <AVFoundation/AVPlayerMediaSelectionCriteria.h>
 #import <AVFoundation/AVQueuedSampleBufferRendering.h>
+#import <AVFoundation/AVRouteDetector.h>
 #import <AVFoundation/AVSampleBufferAudioRenderer.h>
 #import <AVFoundation/AVSampleBufferDisplayLayer.h>
 #import <AVFoundation/AVSampleBufferRenderSynchronizer.h>
diff -ruN /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRouteDetector.h /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRouteDetector.h
--- /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRouteDetector.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode9-beta2.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVRouteDetector.h	2017-06-14 05:49:03.000000000 -0400
@@ -0,0 +1,55 @@
+/*
+	File:  AVRouteDetector.h
+ 
+	Framework:  AVFoundation
+ 
+	Copyright 2017 Apple Inc. All rights reserved.
+ 
+ */
+
+#import <AVFoundation/AVBase.h>
+#import <Foundation/Foundation.h>
+
+@class AVRouteDetectorInternal;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*!
+ @class		AVRouteDetector
+ @abstract	AVRouteDetector detects the presence of media playback routes.
+ @discussion	
+	If route detection is enabled (it is disabled by default), AVRouteDetector reports whether or not multiple playback routes have been detected. If this is the case, AVKit's AVRoutePickerView can be used to allow users to pick from the set of available routes.
+ */
+
+API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos)
+@interface AVRouteDetector : NSObject
+{
+@private
+	AVRouteDetectorInternal *_routeDetectorInternal;
+}
+
+/*!
+ @property	routeDetectionEnabled
+ @abstract	Whether or not route detection is enabled. The default value is NO.
+ @discussion	
+	Route detection significantly increases power consumption and must be turned off when it's no longer needed.
+ */
+@property (getter=isRouteDetectionEnabled) BOOL routeDetectionEnabled;
+
+/*!
+ @property	multipleRoutesDetected
+ @abstract	This property is YES if, in addition to the local playback route, at least one more playback route has been detected.
+ @discussion	
+	If multiple route have been detected, AVKit's AVRoutePickerView can be used to allow users to pick from the set of available routes. When the values of this property changes AVRouteDetectorMultipleRoutesDetectedDidChangeNotification is posted.
+ */
+@property (readonly) BOOL multipleRoutesDetected;
+
+/*!
+ @constant	AVRouteDetectorMultipleRoutesDetectedDidChangeNotification
+ @abstract	Posted when the value of multipleRoutesDetected changes.
+ */
+AVF_EXPORT NSNotificationName const AVRouteDetectorMultipleRoutesDetectedDidChangeNotification API_AVAILABLE(macos(10.13), ios(11.0), tvos(11.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+NS_ASSUME_NONNULL_END
Clone this wiki locally