Skip to content

AVFoundation macOS xcode27.3 b1

Alex Soto edited this page Nov 4, 2026 · 1 revision

#AVFoundation.framework

diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAsset.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAsset.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAsset.h	2026-10-20 08:11:23
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAsset.h	2026-11-04 09:32:06
@@ -1007,6 +1007,23 @@
 
 @end
 
+@interface AVURLAsset (AVURLAssetConnectionPrewarming)
+
+/// Prewarms a network connection to the specified host without creating an asset.
+///
+/// The connection will be established using the same URLSession configuration that would be used for AVURLAsset instances created with the specified options.
+/// This allows the connection to be reused when an actual asset is later created. This is a best-effort API.
+///
+/// - Parameter url: URL containing the scheme, hostname and port for which to establish the connection. This should mirror the eventual asset URL. The actual HTTP request will not be sent (i.e. URL path is ignored).
+/// - Parameter options: The same AVURLAsset creation options dictionary that will be used when creating the eventual AVURLAsset instance.
+/// - Parameter completionHandler: An optional completion handler called when the prewarming attempt completes. The handler receives an NSError if the prewarming failed, or nil on success. The completion handler will always be invoked asynchronously.
++ (void)setUpConnectionForURL:(NSURL *)url
+					  options:(NSDictionary<NSString *, id> * _Nullable)options
+			completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler
+			NS_SWIFT_NAME(setUpConnection(for:options:completionHandler:)) API_AVAILABLE(macos(27.3), ios(27.3), tvos(27.3), watchos(27.3)) API_UNAVAILABLE(visionos);
+
+@end
+
 NS_ASSUME_NONNULL_END
 
 #else
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetDownloadTask.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetDownloadTask.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetDownloadTask.h	2026-10-20 07:07:28
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetDownloadTask.h	2026-11-04 09:32:06
@@ -103,7 +103,7 @@
 /// downloads finish. A person can also cancel all active and queued downloads for your app directly
 /// from the Live Activity, which causes the tasks to fail with an error in the
 /// <doc://com.apple.documentation/documentation/foundation/nscocoaerrordomain> domain with code
-/// <doc://com.apple.documentation/documentation/foundation/nsusercancellederror>.
+/// <doc://com.apple.documentation/documentation/foundation/nsusercancellederror-c.enum.case>.
 ///
 /// The Live Activity doesn't reflect download tasks until you resume them. If you resume a task
 /// while your app runs in the background, the system might demote it to discretionary. The system
@@ -320,7 +320,7 @@
 /// configuration supports reliable downloading while the app is in a suspended state.
 ///
 /// > Important: The standard
-/// > <doc://com.apple.documentation/documentation/foundation/nsurlsession> initializers and
+/// > <doc://com.apple.documentation/documentation/foundation/urlsession> initializers and
 /// > task-creation methods are unavailable on this class. Use
 /// > ``sessionWithConfiguration:assetDownloadDelegate:delegateQueue:`` to create a session and
 /// > ``assetDownloadTaskWithConfiguration:`` to create download tasks.
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioProcessingSettings.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioProcessingSettings.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioProcessingSettings.h	2026-10-07 06:33:08
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAudioProcessingSettings.h	2026-11-04 09:32:06
@@ -4,13 +4,12 @@
  
     Framework:  AVFoundation
  
-	Copyright 2013-2021 Apple Inc. All rights reserved.
+	Copyright 2013-2026 Apple Inc. All rights reserved.
  
  */
 
 #import <AVFoundation/AVBase.h>
 #import <Foundation/Foundation.h>
-
 
 /*!
  @typedef AVAudioTimePitchAlgorithm
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2026-10-07 06:33:05
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVContentKeySession.h	2026-11-04 09:32:06
@@ -94,20 +94,22 @@
 /// The key system used for retrieving keys
 @property (readonly) AVContentKeySystem keySystem;
 
-/// Boolean indicating whether advisory keys are enabled on the client.
+/// A Boolean value that indicates whether the session supports advisory keys.
 ///
-/// Set to true to enable advisory key loading. False by default. Note that this is a one-way operation—once set to true, this property cannot be set back to false.
+/// Advisory keys are content keys that the key server sends before a client requests them.
+/// When you enable advisory keys, FairPlay can cache these keys and use them to fulfill later
+/// key requests without a round trip to the key server.
 ///
-/// Advisory key loading allows applications to make use of content keys provided speculatively
-/// by the key server. When enabled, FairPlay may cache these keys and return them immediately
-/// on subsequent requests without requiring a round-trip to the key server.
+/// The default value is `false`. After you set this property to `true`, you can't set it back
+/// to `false`. Attempting to do so throws an exception.
 ///
-/// The delegate must be prepared to handle advisory key requests by checking the `canBeFulfilledWithAdvisoryKey` property on
-/// `AVContentKeyRequest` objects.
+/// Important: When this property is `true`, use
+/// `makeOptionalStreamingContentKeyRequestDataForApp` to request key data.
+/// Calling `makeStreamingContentKeyRequestDataForApp` throws an exception.
 ///
-/// When an advisory key is already cached by FairPlay, `makeStreamingContentKeyRequestData`
-/// will return nil for the key request data, and `canBeFulfilledWithAdvisoryKey` will return true. In this case,
-/// no request to the key server is necessary.
+/// If FairPlay already has a cached advisory key for a request, the completion handler receives
+/// `nil` key request data, and the request's `canBeFulfilledWithAdvisoryKey` property is `true`.
+/// In this case, don't send a request to the key server.
 @property (readwrite) BOOL supportsAdvisoryKeys API_AVAILABLE(ios(27.0), tvos(27.0)) API_UNAVAILABLE(macos, watchos, visionos, macCatalyst);
 
 /// Tells the receiver to treat the session as having been intentionally and normally expired.
@@ -416,21 +418,17 @@
 /// These interstitial AVURLAssets may be retrieved from the primary AVURLAsset via AVPlayerInterstitialEventMonitor.
 @property (readonly, nullable, weak) id <AVContentKeyRecipient> originatingRecipient API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
 
-/// Indicates whether this key request was initiated for an advisory key.
+/// A Boolean value that indicates whether a cached advisory key can fulfill the key request.
 ///
-/// This property is set to true when:
-/// 	1. Advisory key loading is enabled on the parent AVContentKeySession
-/// 	2. The key was previously loaded as an advisory key and cached by FairPlay
-/// 	3. A subsequent request for the same key is made
+/// The value of this property is `true` when all of the following conditions are met:
+/// - The AVContentKeySession `supportsAdvisoryKeys` property is `true`.
+/// - FairPlay previously loaded and cached the key as an advisory key.
+/// - The app makes a subsequent request for the same key.
 ///
-/// When `canBeFulfilledWithAdvisoryKey` is true and `makeStreamingContentKeyRequestData` returns nil
-/// for the key request data, this indicates FairPlay has already cached the key. No request to the
-/// key server for a key response is necessary, and the application should simply return from the completion handler.
-///
-/// This property should be checked in the completion handler of
-/// `makeStreamingContentKeyRequestData(forApp:contentIdentifier:options:completionHandler:)`
-/// whenever the key request data is nil to distinguish advisory keys from actual errors.
-
+/// Check this property in the completion handler of
+/// `makeOptionalStreamingContentKeyRequestDataForApp` when the key request data is `nil`.
+/// A value of `true` means FairPlay already has the key cached, and no further action is necessary.
+/// A value of `false` means the request failed, so inspect the error.
 @property (readonly) BOOL canBeFulfilledWithAdvisoryKey API_AVAILABLE(ios(27.0), tvos(27.0)) API_UNAVAILABLE(macos, watchos, visionos, macCatalyst);
 
 /// Request secure token to have extended validation data. The value for the key should be previously created offline key using -[AVContentKeyRequest persistableContentKeyFromKeyVendorResponse:options:error:].
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h	2026-10-07 06:33:05
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMediaFormat.h	2026-11-04 09:32:06
@@ -223,7 +223,7 @@
 /// See the discussion of the tagging of tracks with media characteristics below.
 ///
 /// Also see -[AVAssetTrack hasMediaCharacteristic:] and -[AVMediaSelectionOption hasMediaCharacteristic:].
-AVF_EXPORT AVMediaCharacteristic const AVMediaCharacteristicSignLanguageInterpretationForAccessibility API_AVAILABLE(anyappleos(27.2));
+AVF_EXPORT AVMediaCharacteristic const AVMediaCharacteristicSignLanguageInterpretationForAccessibility API_AVAILABLE(anyappleos(27.1));
 
 /// A media characteristic that indicates that a track or media selection option contains a language or dialect translation of originally or previously produced content, intended to be used as a substitute for that content by users who prefer its designated language.
 /// 
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetadataIdentifiers.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetadataIdentifiers.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetadataIdentifiers.h	2026-10-20 07:27:41
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVMetadataIdentifiers.h	2026-11-04 09:32:06
@@ -79,12 +79,16 @@
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierQuickTimeUserDataPhonogramRights                 API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierQuickTimeUserDataTaggedCharacteristic            API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierQuickTimeUserDataAccessibilityDescription        API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0), visionos(1.0));
+AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierQuickTimeUserDataAudioStreamLoudness             API_AVAILABLE(macos(27.3), ios(27.3), tvos(27.3), watchos(27.3), visionos(27.3));
+AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierQuickTimeUserDataContentTypeForLoudnessControl   API_AVAILABLE(macos(27.3), ios(27.3), tvos(27.3), watchos(27.3), visionos(27.3));
 
 // ISO UserData (includes 3GPP)
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataCopyright                             API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataDate                                  API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), watchos(3.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataTaggedCharacteristic                  API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataAccessibilityDescription              API_AVAILABLE(macos(11.0), ios(14.0), tvos(14.0), watchos(7.0), visionos(1.0));
+AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataAudioStreamLoudness                   API_AVAILABLE(macos(27.3), ios(27.3), tvos(27.3), watchos(27.3), visionos(27.3));
+AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifierISOUserDataContentTypeForLoudnessControl         API_AVAILABLE(macos(27.3), ios(27.3), tvos(27.3), watchos(27.3), visionos(27.3));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifier3GPUserDataCopyright                             API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifier3GPUserDataAuthor                                API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
 AVF_EXPORT AVMetadataIdentifier const AVMetadataIdentifier3GPUserDataPerformer                             API_AVAILABLE(macos(10.10), ios(8.0), tvos(9.0), watchos(1.0), visionos(1.0));
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2026-10-20 08:11:21
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h	2026-11-04 09:32:06
@@ -4,7 +4,7 @@
 
 	Framework:  AVFoundation
  
-	Copyright 2010-2025 Apple Inc. All rights reserved.
+	Copyright 2010-2026 Apple Inc. All rights reserved.
 
 */
 
@@ -483,7 +483,6 @@
 @property (nonatomic, copy, nullable) AVAudioMix *audioMix;
 
 @end
-
 
 @interface AVPlayerItem (AVPlayerItemPlayability)
 

Clone this wiki locally