Skip to content

AVFoundation tvOS xcode13.3 beta3

Alex Soto edited this page Mar 7, 2022 · 2 revisions

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

diff -ruN /Applications/Xcode_13.3.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h /Applications/Xcode_13.3.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h
--- /Applications/Xcode_13.3.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h	2022-02-04 13:44:53.000000000 -0500
+++ /Applications/Xcode_13.3.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h	2022-02-17 16:57:34.000000000 -0500
@@ -546,12 +546,6 @@
  */
 @property(nonatomic, readonly) AVCaptureDeviceType deviceType API_AVAILABLE(macos(10.15), ios(10.0), macCatalyst(14.0)) API_UNAVAILABLE(tvos);
 
-@end
-
-
-API_AVAILABLE(macos(10.15), ios(10.0), macCatalyst(14.0)) API_UNAVAILABLE(tvos) __WATCHOS_PROHIBITED
-@interface AVCaptureDevice (AVCaptureDefaultDevice)
-
 /*!
  @method defaultDeviceWithDeviceType:mediaType:position:
  @abstract
diff -ruN /Applications/Xcode_13.3.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlaybackCoordinator.h /Applications/Xcode_13.3.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlaybackCoordinator.h
--- /Applications/Xcode_13.3.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlaybackCoordinator.h	2022-02-04 13:46:28.000000000 -0500
+++ /Applications/Xcode_13.3.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlaybackCoordinator.h	2022-02-17 16:54:15.000000000 -0500
@@ -278,7 +278,12 @@
 /**
 	@method		playbackCoordinator:interstitialTimeRangesForPlayerItem:
 	@abstract	Called by the coordinator to obtain time ranges in the AVPlayerItem that do not correspond to the primary content.
-	@discussion	Implementing this method allows the coordinator to synchronize playback between participants that have different interstitials stitched into the primary content timeline.
+	@discussion	Implement this method to provide the coordinator a list of sample accurate time ranges that represent interstitials in the player item.
+				The coordinator would use this along with the waiting policy for the playingInterstitial suspension to coordinate playback across the group.
+				If the playingInterstitial suspension is part of AVPlaybackCoordinator.suspensionReasonsThatTriggerWaiting, then the coordinator would wait for other participants to complete the interstitial before proceeding with playback.
+				And if the playingInterstitial suspension is not a part of AVPlaybackCoordinator.suspensionReasonsThatTriggerWaiting then the coordinator will not wait for the participant playing the interstitial.
+				Instead, that participant would jump to catch up with the rest of the group when they finish playing the interstitial.
+				This delegate method is expected to return an array of NSValues with each value containing a CMTimeRange that represents the interstitial.
 				If the method is not implemented, the coordinator would assume that the entire item corresponds to the primary content.
 */
 -(NSArray<NSValue *> *)playbackCoordinator:(AVPlayerPlaybackCoordinator *)coordinator interstitialTimeRangesForPlayerItem:(AVPlayerItem *)playerItem API_AVAILABLE(macos(12.3), ios(15.4), tvos(15.4)) API_UNAVAILABLE(watchos);
Clone this wiki locally