Skip to content

AVKit macOS xcode14.0 beta1

TJ Lambert edited this page Aug 30, 2022 · 3 revisions

#AVKit.framework https://github.com/xamarin/xamarin-macios/pull/15811

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKit.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKit.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKit.h	2022-02-12 07:55:18.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKit.h	2022-05-21 08:58:58.000000000 -0400
@@ -26,21 +26,28 @@
 #endif // TARGET_OS_OSX || TARGET_OS_MACCATALYST
 
 
+
 #if TARGET_OS_IPHONE
 #import <AVKit/AVError.h>
+#if !TARGET_OS_MACCATALYST
+#import <AVKit/AVInterstitialTimeRange.h>
+#endif // TARGET_OS_MACCATALYST
 #import <AVKit/AVPictureInPictureController.h>
 #import <AVKit/AVPictureInPictureController_AVSampleBufferDisplayLayerSupport.h>
 #import <AVKit/AVPictureInPictureController_VideoCallSupport.h>
+#import <AVKit/AVPlaybackSpeed.h>
+#import <AVKit/AVPlaybackSpeedCollection.h>
 #import <AVKit/AVPlayerItem+AVKitAdditions.h>
 #import <AVKit/AVPlayerViewController.h>
 #import <AVKit/AVPlaybackRouteSelecting.h>
 #import <AVKit/AVRoutePickerView.h>
 
 #else
-
 #import <AVKit/AVCaptureView.h>
 #import <AVKit/AVPictureInPictureController.h>
 #import <AVKit/AVPictureInPictureController_AVSampleBufferDisplayLayerSupport.h>
+#import <AVKit/AVPlaybackSpeed.h>
+#import <AVKit/AVPlaybackSpeedCollection.h>
 #import <AVKit/AVPlayerView.h>
 #import <AVKit/AVRoutePickerView.h>
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitCore.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitCore.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitCore.h	2022-02-12 07:55:18.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitCore.h	2022-05-21 08:58:58.000000000 -0400
@@ -7,3 +7,6 @@
 //
 
 #import <AVKit/AVKitDefines.h>
+
+#import <AVKit/AVPlaybackSpeed.h>
+#import <AVKit/AVPlaybackSpeedCollection.h>
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitDefines.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitDefines.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitDefines.h	2022-02-23 10:56:01.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVKitDefines.h	2022-05-31 15:02:16.000000000 -0400
@@ -17,16 +17,29 @@
 #define AVKIT_EXTERN	extern __attribute__((visibility ("default")))
 #endif
 
+
 #if !TARGET_IS_AVKITMACHELPER
 #define AVKIT_ONLY_EXTERN AVKIT_EXTERN
 #define AVKIT_ONLY_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__)
+
+#define AVKIT_ONLY_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__)
+#define AVKIT_ONLY_API_DEPRECATED_WITH_REPLACEMENT(...) API_DEPRECATED_WITH_REPLACEMENT(__VA_ARGS__)
+
 #else
 #define AVKIT_ONLY_EXTERN extern __attribute__((visibility ("hidden")))
 #define AVKIT_ONLY_API_AVAILABLE(...)
+
+#define AVKIT_ONLY_API_DEPRECATED_WITH_REPLACEMENT(...)
+
 #endif
 
+
 #define PLATFORM_SUPPORTS_AVKITCORE (TARGET_OS_OSX || TARGET_OS_MACCATALYST)
 
+
+#define AVKIT_INIT_UNAVAILABLE	- (instancetype)init NS_UNAVAILABLE; \
+								+ (instancetype)new  NS_UNAVAILABLE;
+
 #else
 #import <AVKitCore/AVKitDefines.h>
 #endif
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeed.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeed.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeed.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeed.h	2022-05-31 15:02:16.000000000 -0400
@@ -0,0 +1,76 @@
+#if !__has_include(<AVKitCore/AVPlaybackSpeed.h>)
+//
+//  AVPlaybackSpeed.h
+//  AVKit
+//
+//  Created by adesjarlais on 11/13/21.
+//  Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+#import <AVKit/AVKitDefines.h>
+#else
+#import <AVKit/AVKitDefines.h>
+#endif // #TARGET_OS_OSX || TARGET_OS_MACCATALYST
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+// MARK: -
+
+/*!
+ @class         AVPlaybackSpeed
+ @abstract      Class used to define a user selectable playback speed in a playback UI.
+ */
+API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos)
+@interface AVPlaybackSpeed : NSObject
+
+AVKIT_INIT_UNAVAILABLE
+
+/*!
+ @property      systemDefaultSpeeds
+ @abstract      A list of playback speeds to be used by default across the system.
+ */
+@property (nonatomic, readonly, class) NSArray<AVPlaybackSpeed *> *systemDefaultSpeeds;
+
+
+/*!
+ @method         initWithRate:localizedName:
+ @param         rate
+				The rate to be used when this playback speed is selected.
+ @param         localizedName
+				A localized name to be displayed representing this playback speed in a UI.
+ @abstract      Initializes an AVPlaybackSpeed.
+ */
+- (instancetype)initWithRate:(float)rate localizedName:(NSString *)localizedName;
+
+
+/*!
+ @property      rate
+ @abstract      The rate associated with this object. When this playback speed is selected this rate will be set in response to the play button being pressed.
+ */
+@property (nonatomic, readonly) float rate;
+
+/*!
+ @property      localizedName
+ @abstract      A localized name for this playback speed.
+ @discussion    This name will be used to represent this playback speed in playback UIs where more space is available.
+ */
+@property (nonatomic, readonly) NSString *localizedName;
+
+/*!
+ @property      localizedNumericName
+ @abstract      A localized name for this playback speed used when space is limited.
+ @discussion    This name will be used to represent this playback speed in playback UIs where limited space is available.
+ */
+@property (nonatomic, readonly) NSString *localizedNumericName;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <AVKitCore/AVPlaybackSpeed.h>
+#endif
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeedCollection.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeedCollection.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeedCollection.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlaybackSpeedCollection.h	2022-05-31 15:02:16.000000000 -0400
@@ -0,0 +1,81 @@
+#if !__has_include(<AVKitCore/AVPlaybackSpeedCollection.h>)
+//
+//  AVPlaybackSpeedCollection.h
+//  AVKit
+//
+//  Created by adesjarlais on 11/13/21.
+//  Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+#import <AVKit/AVKitDefines.h>
+#import <AVKit/AVPlaybackSpeed.h>
+#else
+#import <AVKit/AVKitDefines.h>
+#import <AVKit/AVPlaybackSpeed.h>
+#endif // #TARGET_OS_OSX || TARGET_OS_MACCATALYST
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+// MARK: -
+
+/*!
+ @class         AVPlaybackSpeedCollection
+ @abstract      A class representing a collection of user selectable playback speeds in a playback UI.
+ */
+API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0)) API_UNAVAILABLE(watchos)
+@interface AVPlaybackSpeedCollection : NSObject
+
+AVKIT_INIT_UNAVAILABLE
+
+/*!
+ @method      	defaultSpeedFromList
+ @param         speeds
+				The playback speeds to select from
+ @abstract      Returns the playback speed that should be used by default from the given list.
+ */
++ (AVPlaybackSpeed *)defaultSpeedFromList:(NSArray<AVPlaybackSpeed *> *)speeds;
+
+
+/*!
+ @method        collectionWithSpeeds:
+ @param         playbackSpeeds
+				A list of playback speeds to be used for this collection.
+ @abstract      Creates a new instance of an AVPlaybackSpeedCollection with the given playback speeds.
+ */
++ (instancetype)collectionWithSpeeds:(NSArray<AVPlaybackSpeed *> *)playbackSpeeds;
+
+
+/*!
+ @property      speeds
+ @abstract      The list of playback speeds in this collection.
+ */
+@property (nonatomic, readonly) NSArray<AVPlaybackSpeed *> *speeds;
+
+/*!
+ @property      selectedSpeed
+ @abstract      The currently selected playback speed in this collection.
+ @discussion    Changes to the associated AVPlayer's defaultRate will be reflected in this property and vice versa. If the associated AVPlayer's defaultRate is set to a value that does not match a speed in the collection, the selected speed will be set to nil.
+ */
+@property (nonatomic, readonly, nullable) AVPlaybackSpeed *selectedSpeed;
+
+
+/*!
+ @method      selectSpeed
+ @param         speed
+				The playback speed to select.
+ @abstract      Selects the input AVPlaybackSpeed on this collection.
+ @discussion    Calls to selectSpeed: with AVPlaybackSpeeds not contained within this collection will be ignored.
+ */
+- (void)selectSpeed:(AVPlaybackSpeed *)speed;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <AVKitCore/AVPlaybackSpeedCollection.h>
+#endif
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlayerView.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlayerView.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlayerView.h	2022-02-23 10:56:01.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVKit.framework/Headers/AVPlayerView.h	2022-05-31 15:02:16.000000000 -0400
@@ -13,6 +13,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+@class AVPlaybackSpeedCollection;
+
 @protocol AVPlayerViewDelegate;
 @protocol AVPlayerViewPictureInPictureDelegate;
 
@@ -96,6 +98,44 @@
  */
 @property (nonatomic, readwrite, nullable, weak) id<AVPlayerViewDelegate> delegate API_AVAILABLE(macos(12.0));
 
+/*!
+	@property	playbackSpeedCollection
+	@abstract	A collection of user selectable playback speeds to be shown in the standard playback controls UI.
+	@discussion	By default this property will be set to an AVPlaybackSpeedCollection with the platform default playback speeds (defined in [AVPlaybackSpeed systemDefaultSpeeds]). Setting this property to nil will hide the playback speed selection UI.
+				
+				To set the currently selected playback speed programmatically, either set the defaultRate on the AVPlayer associated with this view controller or call selectSpeed: the playback collection to the desired speed.
+ */
+@property (nonatomic, nullable) AVPlaybackSpeedCollection *playbackSpeedCollection API_AVAILABLE(macos(13.0));
+
+/*!
+	@property	allowsVideoFrameAnalysis
+	@abstract	When set to YES, the AVPlayerView will try to find objects, text and people while the media is paused. When an object is found, the user will be able to interact with it selecting and right clicking to present a context menu. Default is YES.
+ */
+@property (nonatomic) BOOL allowsVideoFrameAnalysis API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, tvos, watchos, macCatalyst);
+
+/*!
+	@property	allowsMagnification
+	@abstract	Whether the magnify gesture will change the video's view magnification.
+	@discussion	The default value is NO. This property only effects whether the magnify gesture triggers magnification. A client can still programmatically change magnification even when the value of this is NO. This behavior matches the behavior of NSScrollView.
+ */
+@property (nonatomic, setter = setAllowsMagnification:) BOOL allowsMagnification API_AVAILABLE(macos(13.0));
+
+/*!
+	@property	magnification
+	@abstract	The factor by which the video's view is currently scaled.
+	@discussion	The default value is 1.0. The value cannot be smaller than 1.0 or larger 64.0. Nearest neighbor interpolation will be used once the content has been zoomed past a certain factor.
+ */
+@property (nonatomic, setter = setMagnification:) CGFloat magnification API_AVAILABLE(macos(13.0));
+
+/*!
+	@method		setMagnification:centeredAtPoint:
+	@abstract	Scales the video's view by a specified factor and centers the result on a specified point.
+	@param		magnification The factor by which to scale the video's view.
+	@param		point The point (in view space) on which to center magnification.
+	@discussion	The magnification cannot be smaller than 1.0 or larger 64.0. Nearest neighbor interpolation will be used once the content has been zoomed past a certain factor.
+ */
+- (void)setMagnification:(CGFloat)magnification centeredAtPoint:(CGPoint)point API_AVAILABLE(macos(13.0));
+
 @end
 
 
Clone this wiki locally