- Notifications
You must be signed in to change notification settings - Fork 548
AVFoundation iOS xcode16.2 b2
Rolf Bjarne Kvinge edited this page Nov 28, 2024 · 2 revisions
#AVFoundation.framework https://github.com/xamarin/xamarin-macios/pull/21709
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h --- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h 2024-10-09 00:09:57 +++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetVariant.h 2024-10-24 17:17:56 @@ -205,34 +205,34 @@ @method assetVariantQualifierWithPredicate: @abstract Returns a qualifer for a predicate. @param predicate -The variant predicate. +The variant predicate. Must be a valid, non-nil NSPredicate. */ -+ (instancetype)assetVariantQualifierWithPredicate:(NSPredicate *)predicate; ++ (instancetype)assetVariantQualifierWithPredicate:(nonnull NSPredicate *)predicate; /*! @method assetVariantQualifierWithVariant: @abstract Returns a qualifer for a particular asset variant. @param variant -A variant obtained from the -[AVAsset variants] or -[AVAssetDownloadConfiguration playableVariants]. +A variant obtained from the -[AVAsset variants] or -[AVAssetDownloadConfiguration playableVariants]. Must be a valid, non-nil AVAssetVariant. */ -+ (instancetype)assetVariantQualifierWithVariant:(AVAssetVariant *)variant; ++ (instancetype)assetVariantQualifierWithVariant:(nonnull AVAssetVariant *)variant; /*! @method assetVariantQualifierForMinimumValueInKeyPath: @abstract Returns a qualifer for finding variant with minimum value in the input key path. @param keyPath -AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. +AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString. */ -+ (instancetype)assetVariantQualifierForMinimumValueInKeyPath:(NSString *)keyPath API_UNAVAILABLE(macos, ios, tvos, watchos, visionos); ++ (instancetype)assetVariantQualifierForMinimumValueInKeyPath:(nonnull NSString *)keyPath API_UNAVAILABLE(macos, ios, tvos, watchos, visionos); /*! @method assetVariantQualifierForMaximumValueInKeyPath: @abstract Returns a qualifer for finding variant with maximum value in the input key path @param keyPath -AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. +AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString. */ -+ (instancetype)assetVariantQualifierForMaximumValueInKeyPath:(NSString *)keyPath API_UNAVAILABLE(macos, ios, tvos, watchos, visionos); ++ (instancetype)assetVariantQualifierForMaximumValueInKeyPath:(nonnull NSString *)keyPath API_UNAVAILABLE(macos, ios, tvos, watchos, visionos); /*! @method predicateForChannelCount:mediaSelectionOption:operatorType: diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureFileOutput.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureFileOutput.h --- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureFileOutput.h 2024-10-09 23:42:58 +++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureFileOutput.h 2024-10-29 23:42:28 @@ -227,6 +227,29 @@ - (void)captureOutput:(AVCaptureFileOutput *)output didStartRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray<AVCaptureConnection *> *)connections; /*! + @method captureOutput:didStartRecordingToOutputFileAtURL:startPTS:fromConnections: + @abstract + Informs the delegate when the output has started writing to a file. + + @param output + The capture file output that started writing the file. + @param fileURL + The file URL of the file that is being written. + @param startPTS + The timestamp of the first buffer written to the file, synced with AVCaptureSession.synchronizationClock + @param connections + An array of AVCaptureConnection objects attached to the file output that provided the data that is being written to the file. + + @discussion + This method is called when the file output has started writing data to a file. If an error condition prevents any data from being written, this method may not be called. captureOutput:willFinishRecordingToOutputFileAtURL:fromConnections:error: and captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error: will always be called, even if no data is written. + + If this method is implemented, the alternative delegate callback -captureOutput:didStartRecordingToOutputFileAtURL:fromConnections will not be called. + + Clients should not assume that this method will be called on a specific thread, and should also try to make this method as efficient as possible. + */ +- (void)captureOutput:(AVCaptureFileOutput *)output didStartRecordingToOutputFileAtURL:(NSURL *)fileURL startPTS:(CMTime)startPTS fromConnections:(NSArray<AVCaptureConnection *> *)connections NS_SWIFT_NAME(fileOutput(_:didStartRecordingTo:startPTS:from:)) API_AVAILABLE(macos(15.2), ios(18.2), macCatalyst(18.2), tvos(18.2)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos); + +/*! @method captureOutput:didPauseRecordingToOutputFileAtURL:fromConnections: @abstract Called whenever the output is recording to a file and successfully pauses the recording at the request of the client.