Skip to content

MediaPlayer macOS xcode14.0 beta1

Manuel de la Pena edited this page Aug 6, 2022 · 3 revisions

#MediaPlayer.framework https://github.com/xamarin/xamarin-macios/pull/15654

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVFoundation+MPNowPlayingInfoLanguageOptionAdditions.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVFoundation+MPNowPlayingInfoLanguageOptionAdditions.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVFoundation+MPNowPlayingInfoLanguageOptionAdditions.h	2022-02-12 08:05:03.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVFoundation+MPNowPlayingInfoLanguageOptionAdditions.h	2022-05-25 21:18:59.000000000 -0400
@@ -7,6 +7,7 @@
 
 #import <MediaPlayer/MediaPlayerDefines.h>
 
+#import <AVFoundation/AVFoundation.h>
 #import <AVFoundation/AVMediaSelectionGroup.h>
 #import <AVFoundation/AVMediaSelection.h>
 #import <AVFoundation/AVMediaFormat.h>
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVPlayerItem+MediaPlayerAdditions.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVPlayerItem+MediaPlayerAdditions.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/AVPlayerItem+MediaPlayerAdditions.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/MediaPlayer.framework/Headers/AVPlayerItem+MediaPlayerAdditions.h	2022-05-31 15:04:20.000000000 -0400
@@ -0,0 +1,21 @@
+//
+//  AVPlayerItem+MPAdditions.h
+//  MediaPlayer
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <MediaPlayer/MediaPlayerDefines.h>
+#import <AVFoundation/AVPlayerItem.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AVPlayerItem (MPAdditions)
+
+/// The current now playing info for the player item.
+/// Setting the info to nil will clear it.
+@property (nonatomic, copy, nullable) NSDictionary<NSString *, id> *nowPlayingInfo MP_API(ios(16.0), tvos(16.0), macos(13.0), watchos(9.0));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h	2022-02-23 10:58:15.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingInfoCenter.h	2022-05-31 15:05:22.000000000 -0400
@@ -164,4 +164,11 @@
 // For example, a sports broadcast can map an elapsed playback time (i.e 12 minutes and 30 seconds) to a real-time date (i.e "10:30:00 9/14/2017")
 MP_EXTERN NSString * const MPNowPlayingInfoPropertyCurrentPlaybackDate MP_API(ios(11.1), macos(10.13.1), watchos(5.0)); // NSDate
 
+// A list of ad breaks in the now playing item.
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyAdTimeRanges MP_API(ios(16.0), tvos(16.0), macos(13.0)); // NSArray of MPAdTimeRange
+
+// Represents the credits start time (without ads) in seconds for the now playing item.
+// A replacement for MPNowPlayingInfoPropertyPlaybackProgress.
+MP_EXTERN NSString * const MPNowPlayingInfoPropertyCreditsStartTime MP_API(ios(16.0), tvos(16.0), macos(13.0)); // NSNumber (double)
+
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingSession.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingSession.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingSession.h	2022-02-23 10:58:14.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MPNowPlayingSession.h	2022-05-31 15:04:20.000000000 -0400
@@ -7,6 +7,7 @@
 
 #import <MediaPlayer/MediaPlayerDefines.h>
 #import <Foundation/Foundation.h>
+#import <CoreMedia/CMTimeRange.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -15,7 +16,22 @@
 @class AVPlayer;
 @protocol MPNowPlayingSessionDelegate;
 
-MP_API(tvos(14.0)) MP_UNAVAILABLE(ios, macos, watchos)
+MP_UNAVAILABLE_BEGIN(watchos, macos, macCatalyst)
+
+MP_API(ios(16.0), tvos(16.0))
+@interface MPAdTimeRange : NSObject <NSCopying>
+
+/// Represents a time range where an ad break exists in the current player item.
+/// This value must be in bounds of the duration of the current player item.
+@property (nonatomic, assign) CMTimeRange timeRange;
+
+MP_INIT_UNAVAILABLE
+
+- (instancetype)initWithTimeRange:(CMTimeRange)timeRange;
+
+@end
+
+MP_API(tvos(14.0), ios(16.0))
 @interface MPNowPlayingSession : NSObject
 
 /// Creates a session associated with a given AVPlayer instance. This will assert if players is nil or empty. 
@@ -28,6 +44,10 @@
 
 @property (nonatomic, weak, nullable) id<MPNowPlayingSessionDelegate> delegate;
 
+/// When YES, now playing info will be automatically published, and nowPlayingInfoCenter must not be used.
+///  Now playing info keys to be incorporated by automatic publishing can be set on the AVPlayerItem's nowPlayingInfo property.
+@property (nonatomic, assign) BOOL automaticallyPublishNowPlayingInfo MP_API(ios(16.0), tvos(16.0));
+
 /// The now playing info center that is associated with this session.
 @property (nonatomic, strong, readonly) MPNowPlayingInfoCenter *nowPlayingInfoCenter;
 
@@ -52,7 +72,7 @@
 @end
 
 
-MP_API(tvos(14.0)) MP_UNAVAILABLE(ios, macos, watchos)
+MP_API(tvos(14.0), ios(16.0))
 @protocol MPNowPlayingSessionDelegate <NSObject>
 
 @optional
@@ -64,4 +84,6 @@
 
 @end
 
+MP_UNAVAILABLE_END
+
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h	2022-02-12 08:05:03.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayer.h	2022-05-25 21:18:59.000000000 -0400
@@ -37,3 +37,4 @@
 #import <MediaPlayer/MPVolumeSettings.h>
 #import <MediaPlayer/MPVolumeView.h>
 #import <MediaPlayer/NSUserActivity+MediaPlayerAdditions.h>
+#import <MediaPlayer/AVPlayerItem+MediaPlayerAdditions.h>
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h	2022-02-23 10:58:15.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Headers/MediaPlayerDefines.h	2022-05-31 15:04:20.000000000 -0400
@@ -41,11 +41,11 @@
 #define MP_DEPRECATED_WITH_REPLACEMENT_BEGIN(...)   __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(__VA_ARGS__)
 #define MP_DEPRECATED_WITH_REPLACEMENT_END          __API_DEPRECATED_WITH_REPLACEMENT_END
 
-#define MP_FALLTHROUGH __attribute__((fallthrough))
-#define MP_TYPE_PROTOCOL __attribute((objc_non_runtime_protocol))
-#define MP_COMPLETION __attribute__((called_once))
-#define MP_OVERLOAD __attribute__((overloadable))
-#define MP_FINAL_CLASS __attribute__((objc_subclassing_restricted))
+#define MP_FALLTHROUGH                              __attribute__((fallthrough))
+#define MP_TYPE_PROTOCOL                            __attribute__((objc_non_runtime_protocol))
+#define MP_COMPLETION                               __attribute__((called_once))
+#define MP_OVERLOAD                                 __attribute__((overloadable))
+#define MP_FINAL_CLASS                              __attribute__((objc_subclassing_restricted))
 
 #pragma mark - Utility
 
Clone this wiki locally