-
Notifications
You must be signed in to change notification settings - Fork 544
AVFoundation macOS xcode26.0 b3
Rolf Bjarne Kvinge edited this page Jul 9, 2025
·
1 revision
#AVFoundation.framework
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h 2025-06-14 09:10:57
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h 2025-07-01 06:45:13
@@ -760,7 +760,7 @@
@param syntaxElements Array of NSString to represent the skipped syntax.
@discussion
- While the reported string content is human readable, it is highly technical and probably meaningful only to clients who are familiar with the source caption format. It is primarily designed for logging purpose and would not be suitable for UI purpose.
+ While the reported string content is human readable, it is highly technical and probably meaningful only to clients who are familiar with the source caption format. It is primarily designed for logging purposes and would not be suitable for UI purposes.
*/
- (void)captionAdaptor:(AVAssetReaderOutputCaptionAdaptor *)adaptor didVendCaption:(AVCaption *)caption skippingUnsupportedSourceSyntaxElements:(NSArray<NSString *> *)syntaxElements;
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFCore.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFCore.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFCore.h 2025-06-14 09:05:37
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFCore.h 2025-07-01 06:57:48
@@ -84,6 +84,7 @@
#import <AVFoundation/AVTime.h>
#import <AVFoundation/AVTimedMetadataGroup.h>
#import <AVFoundation/AVUtilities.h>
+#import <AVFoundation/AVSpatialVideoConfiguration.h>
#import <AVFoundation/AVVideoCompositing.h>
#import <AVFoundation/AVVideoComposition.h>
#import <AVFoundation/AVVideoPerformanceMetrics.h>
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h 2025-06-19 05:07:10
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItem.h 2025-07-01 08:27:50
@@ -637,6 +637,8 @@
@interface AVPlayerItem (AVPlayerItemCustomMediaSelectionScheme)
/// Indicates the AVCustomMediaSelectionSchemes of AVMediaSelectionGroups of the receiver's asset with which an associated UI implementation should configure its interface for media selection.
+///
+/// Recommended usage: if use of a custom media selection scheme is desired, set this property before either replacing an AVPlayer's current item with the receiver or adding the receiver to an AVQueuePlayer's play queue. This will satisfy requirements of UI implementations that commit to a configuration of UI elements as the receiver becomes ready to play.
@property (nonatomic, copy) NSArray <AVCustomMediaSelectionScheme *> *preferredCustomMediaSelectionSchemes API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
/// When the associated AVPlayer's appliesMediaSelectionCriteriaAutomatically property is set to YES, configures the player item to prefer a particular language, replacing any previous preference for available languages of the specified group's custom media selection scheme.
@@ -697,6 +699,9 @@
/// An AVPlayerItemAccessLog provides methods to retrieve the network access log in a format suitable for serialization.
/// If nil is returned then there is no logging information currently available for this AVPlayerItem.
/// An AVPlayerItemNewAccessLogEntryNotification will be posted when new logging information becomes available. However, accessLog might already return a non-nil value even before the first notification is posted.
+///
+/// In certain situations, this method may temporarily block the calling thread during the ongoing log collection process.
+/// It is strongly recommended that the caller take appropriate measures to prevent blocking essential services such as the user interface, for example, by avoiding calling this method in the main thread.
///
/// - Returns: An autoreleased AVPlayerItemAccessLog instance.
- (nullable AVPlayerItemAccessLog *)accessLog NS_SWIFT_NONISOLATED API_AVAILABLE(macos(10.7), ios(4.3), tvos(9.0), watchos(1.0), visionos(1.0));
@@ -705,6 +710,9 @@
///
/// An AVPlayerItemErrorLog provides methods to retrieve the error log in a format suitable for serialization.
/// If nil is returned then there is no logging information currently available for this AVPlayerItem.
+///
+/// In certain situations, this method may temporarily block the calling thread during the ongoing log collection process.
+/// It is strongly recommended that the caller take appropriate measures to prevent blocking essential services such as the user interface, for example, by avoiding calling this method in the main thread.
///
/// - Returns: An autoreleased AVPlayerItemErrorLog instance.
- (nullable AVPlayerItemErrorLog *)errorLog NS_SWIFT_NONISOLATED API_AVAILABLE(macos(10.7), ios(4.3), tvos(9.0), watchos(1.0), visionos(1.0));
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItemMediaDataCollector.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItemMediaDataCollector.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItemMediaDataCollector.h 2025-06-19 05:07:12
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerItemMediaDataCollector.h 2025-07-01 06:52:29
@@ -4,7 +4,7 @@
Framework: AVFoundation
- Copyright 2015-2016 Apple Inc. All rights reserved.
+ Copyright 2015-2025 Apple Inc. All rights reserved.
*/
@@ -116,7 +116,7 @@
@discussion
This method will be invoked whenever new AVDateRangeMetadataGroups are added to metadataGroups or whenever any AVDateRangeMetadataGroups in metadataGroups have been modified since previous invocations. The initial invocation will have indexesOfNewGroup referring to every index in metadataGroups. Subsequent invocations may not contain all previously collected metadata groups if they no longer refer to a region in the AVPlayerItem's seekableTimeRanges.
*/
-- (void)metadataCollector:(AVPlayerItemMetadataCollector *)metadataCollector didCollectDateRangeMetadataGroups:(NSArray<AVDateRangeMetadataGroup *> *)metadataGroups indexesOfNewGroups:(NSIndexSet *)indexesOfNewGroups indexesOfModifiedGroups:(NSIndexSet *)indexesOfModifiedGroups;
+- (void)metadataCollector:(AVPlayerItemMetadataCollector *)metadataCollector didCollectDateRangeMetadataGroups:(NSArray<AVDateRangeMetadataGroup *> *) NS_SWIFT_SENDING metadataGroups indexesOfNewGroups:(NSIndexSet *)indexesOfNewGroups indexesOfModifiedGroups:(NSIndexSet *)indexesOfModifiedGroups;
@end
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSpatialVideoConfiguration.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSpatialVideoConfiguration.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSpatialVideoConfiguration.h 1970-01-01 01:00:00
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVSpatialVideoConfiguration.h 2025-07-01 06:57:54
@@ -0,0 +1,57 @@
+#if !__has_include(<AVFCore/AVSpatialVideoConfiguration.h>)
+/*
+ File: AVSpatialVideoConfiguration.h
+
+ Framework: AVFoundation
+
+ Copyright 2025-2035 Apple Inc. All rights reserved.
+
+*/
+
+#import <AVFoundation/AVBase.h>
+#import <Foundation/Foundation.h>
+
+#import <CoreMedia/CMFormatDescription.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// An AVSpatialVideoConfiguration specifies spatial video properties.
+API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+NS_REFINED_FOR_SWIFT
+@interface AVSpatialVideoConfiguration: NSObject
+
+/// Specifies intrinsic and extrinsic parameters for single or multiple lenses.
+///
+/// The property value is an array of dictionaries describing the camera calibration data for each lens. The camera calibration data includes intrinsics and extrinics with other parameters. This property is only applicable when the projection kind is kCMTagProjectionTypeParametricImmersive. Can be nil if the value is unknown.
+@property (atomic, copy, nullable) NSArray<NSDictionary<NSString *, id> *> * cameraCalibrationDataLensCollection;
+
+/// Specifies horizontal field of view in thousandths of a degree. Can be nil if the value is unknown.
+@property (atomic, copy, nullable) NSNumber *horizontalFieldOfView;
+
+/// Specifies the distance between centers of the lenses of the camera system that created the video.
+///
+/// The distance is in micrometers or thousandths of a millimeter. Can be nil if the value is unknown.
+@property (atomic, copy, nullable) NSNumber *cameraSystemBaseline;
+
+/// Specifies a relative shift of the left and right images, which changes the zero parallax plane.
+///
+/// The value is in normalized image space and measured over the range of -10000 to 10000 mapping to the uniform range [-1.0...1.0]. The interval of 0.0 to 1.0 or 0 to 10000 maps onto the stereo eye view image width. The negative interval 0.0 to -1.0 or 0 to -10000 similarly map onto the stereo eye view image width. Can be nil if the value is unknown.
+@property (atomic, copy, nullable) NSNumber *disparityAdjustment;
+
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+
+/// Initializes an AVSpatialVideoConfiguration with a format description.
+///
+/// The format description is not stored.
+/// - Parameter formatDescription: Format description to use to initialize the AVSpatialVideoConfiguration.
+///
+/// - Returns: An instance of AVSpatialVideoConfiguration
+- (instancetype)initWithFormatDescription:(CMFormatDescriptionRef)formatDescription;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#else
+#import <AVFCore/AVSpatialVideoConfiguration.h>
+#endif
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h 2025-06-14 09:24:32
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h 2025-07-01 06:57:51
@@ -10,6 +10,7 @@
#import <Foundation/Foundation.h>
#import <AVFoundation/AVBase.h>
#import <AVFoundation/AVTimedMetadataGroup.h>
+#import <AVFoundation/AVSpatialVideoConfiguration.h>
#import <CoreVideo/CVPixelBufferPool.h>
#import <CoreMedia/CMTimeRange.h>
#import <CoreMedia/CMSampleBuffer.h>
@@ -305,8 +306,17 @@
/// The method that the custom compositor calls when composition succeeds.
///
/// - Parameter taggedBufferGroup: The tagged buffer group containing the composed tagged buffers. The tagged buffers must be compatible with the outputBufferDescription specified in the video composition. The outputBufferDescription must not be nil when calling this function.
+/// NOTE: If ``AVVideoComposition/spatialConfigurations`` is not empty, then ``attach(spatialVideoConfiguration:to:)`` must be called with one of the spatial configurations. An exception will be thrown otherwise. Also, all pixel buffers must be associated with the same spatial configuration. An exception will be thrown otherwise.
- (void)finishWithComposedTaggedBufferGroup:(CMTaggedBufferGroupRef)taggedBufferGroup NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Associates the pixel buffer with the specified spatial configuration.
+/// - Parameters:
+/// - spatialVideoConfiguration: The spatial configuration to associate with the pixel buffer.
+/// - pixelBuffer: The pixel buffer to associate with the spatial configuration.
+/// NOTE: The spatial configuration must be one of the spatial configurations specified in the ``AVVideoComposition/spatialConfigurations`` property. An exception will be thrown otherwise.
+/// NOTE: All pixel buffers from the custom compositor must be associated with the same spatial configuration. An exception will be thrown otherwise.
+/// A spatial configuration with all nil values indicates the video is not spatial. A nil spatial configuration also indicates the video is not spatial. The value can be nil, which indicates the output will not be spatial, but a spatial configuration with all nil values must be in the ``AVVideoComposition/spatialConfigurations`` property or an exception will be thrown.
+- (void)attachSpatialVideoConfiguration:(nullable AVSpatialVideoConfiguration *)spatialVideoConfiguration toPixelBuffer:(CVPixelBufferRef)pixelBuffer NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
@end
@class AVAsynchronousCIImageFilteringRequestInternal;
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoComposition.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoComposition.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoComposition.h 2025-06-19 05:07:10
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoComposition.h 2025-07-01 08:18:10
@@ -11,6 +11,7 @@
#import <AVFoundation/AVBase.h>
#import <AVFoundation/AVAsset.h>
#import <AVFoundation/AVVideoCompositing.h>
+#import <AVFoundation/AVSpatialVideoConfiguration.h>
#import <Foundation/Foundation.h>
#import <CoreVideo/CoreVideo.h>
@@ -110,11 +111,17 @@
/// The output buffers of the video composition can be specified with the outputBufferDescription. The value is an array of CMTagCollectionRef objects that describes the output buffers.
///
-/// If the video composition will output tagged buffers, the details of those buffers should be specified with CMTags. Specifically, the StereoView (eyes) must be specified. The behavior is undefined if the output tagged buffers do not match the outputBufferDescription.
+/// If the video composition will output tagged buffers, the details of those buffers should be specified with CMTags. Specifically, the StereoView (eyes) and ProjectionKind must be specified. The behavior is undefined if the output tagged buffers do not match the outputBufferDescription.
/// The default is nil, which means monoscopic output. Note that an empty array is not valid. An exception will be thrown if the objects in the array are not of type CMTagCollectionRef.
/// Note that tagged buffers are only supported for custom compositors.
@property (nonatomic, readonly, copy, nullable) NSArray *outputBufferDescription NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+/// Indicates the spatial configurations that are available to associate with the output of the video composition.
+///
+/// A custom compositor can output spatial video by specifying one of these spatial configurations. A spatial configuration with all nil values indicates the video is not spatial. A nil spatial configuration also indicates the video is not spatial. The value can be nil, which indicates the output will not be spatial.
+/// NOTE: If this property is not empty, then the client must attach one of the spatial configurations in this array to all of the pixel buffers, otherwise an exception will be thrown.
+@property (nonatomic, readonly, copy) NSArray<AVSpatialVideoConfiguration *> *spatialVideoConfigurations NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
@end
/// Indicates the color space of the frames output from the video composition.
@@ -364,9 +371,10 @@
/// List of all track IDs for tracks from which sample data should be presented to the compositor at any point in the overall composition. Currently only tracks of type kCMMediaType_Metadata are allowed to be specified.
@property (nonatomic, copy) NSArray<NSNumber *> *sourceSampleDataTrackIDs API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), visionos(1.0)) API_UNAVAILABLE(watchos);
+// TODO: convert to SPI when clients are no longer using this!
/// The output buffers of the video composition can be specified with the outputBufferDescription. The value is an array of CMTagCollectionRef objects that describes the output buffers.
///
-/// If the video composition will output tagged buffers, the details of those buffers should be specified with CMTags. Specifically, the StereoView (eyes) must be specified. The behavior is undefined if the output tagged buffers do not match the outputBufferDescription.
+/// If the video composition will output tagged buffers, the details of those buffers should be specified with CMTags. Specifically, the StereoView (eyes) and ProjectionKind must be specified. The behavior is undefined if the output tagged buffers do not match the outputBufferDescription.
/// The default is nil, which means monoscopic output. Note that an empty array is not valid. An exception will be thrown if the objects in the array are not of type CMTagCollectionRef.
/// Note that tagged buffers are only supported for custom compositors.
@property (nonatomic, copy, nullable) NSArray *outputBufferDescription NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);