diff --git a/src/AVFoundation/Enums.cs b/src/AVFoundation/Enums.cs index 12101c4f2d10..43f62890031f 100644 --- a/src/AVFoundation/Enums.cs +++ b/src/AVFoundation/Enums.cs @@ -1637,6 +1637,18 @@ public enum AVExternalStorageDeviceReasonNotRecommendedForCaptureUse { UnknownWritingSpeed, } + [iOS (27, 0), TV (27, 0), Mac (27, 0), MacCatalyst (27, 0)] + public enum AVProVideoStorageBusyReason { + [Field ("AVProVideoStorageBusyReasonAdjustingCapacity")] + AdjustingCapacity, + + [Field ("AVProVideoStorageBusyReasonReplenishing")] + Replenishing, + + [Field ("AVProVideoStorageBusyReasonCapturing")] + Capturing, + } + /// Constants for known video codecs. /// To be added. [MacCatalyst (15, 0)] diff --git a/src/avfoundation.cs b/src/avfoundation.cs index d5baa63a46dc..8b9a841569fd 100644 --- a/src/avfoundation.cs +++ b/src/avfoundation.cs @@ -7017,6 +7017,8 @@ interface AVAssetWriterDelegate { void DidOutputSegmentData (AVAssetWriter writer, NSData segmentData, AVAssetSegmentType segmentType); } + delegate void AVProVideoStorageReplenishCapacityCompletionHandler (nint remainingCapacity, [NullAllowed] NSError error); + [iOS (27, 0), TV (27, 0), Mac (27, 0), MacCatalyst (27, 0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] @@ -7038,8 +7040,15 @@ interface AVProVideoStorage { [Export ("remainingCapacity")] nint RemainingCapacity { get; } - [Export ("busy")] - bool Busy { [Bind ("isBusy")] get; } + [Export ("replenishCapacityWithCompletionHandler:")] + [Async] + void ReplenishCapacity ([NullAllowed] AVProVideoStorageReplenishCapacityCompletionHandler completionHandler); + + [Export ("busyReasons")] + NSSet WeakBusyReasons { get; } + + [Wrap ("WeakBusyReasons.ToHashSet (v => AVProVideoStorageBusyReasonExtensions.GetValue (v))")] + HashSet BusyReasons { get; } } delegate void AVAssetWritingPlannerSegmentCallback (AVPlannedSegmentWritingRequest segmentWriteRequest); diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index b683a361c4cd..4ce0cc21a840 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -1685,6 +1685,9 @@ F:AVFoundation.AVPlayerWaitingReason.WaitingForCoordinatedPlayback F:AVFoundation.AVPlayerWaitingReason.WaitingToMinimizeStalls F:AVFoundation.AVPlayerWaitingReason.WaitingWhileEvaluatingBufferingRate F:AVFoundation.AVPlayerWaitingReason.WaitingWithNoItemToPlay +F:AVFoundation.AVProVideoStorageBusyReason.AdjustingCapacity +F:AVFoundation.AVProVideoStorageBusyReason.Capturing +F:AVFoundation.AVProVideoStorageBusyReason.Replenishing F:AVFoundation.AVSampleBufferRequestMode.Opportunistic F:AVFoundation.AVSampleCursorAudioDependencyInfo.IsIndependentlyDecodable F:AVFoundation.AVSampleCursorAudioDependencyInfo.PacketRefreshCount @@ -14172,6 +14175,8 @@ M:AVFoundation.AVPortraitEffectsMatte.Create(Foundation.NSDictionary,Foundation. M:AVFoundation.AVPortraitEffectsMatte.Create(ImageIO.CGImagePropertyOrientation) M:AVFoundation.AVPortraitEffectsMatte.GetDictionaryRepresentation(System.String@) M:AVFoundation.AVProVideoStorage.OpenSettings +M:AVFoundation.AVProVideoStorage.ReplenishCapacity(AVFoundation.AVProVideoStorageReplenishCapacityCompletionHandler) +M:AVFoundation.AVProVideoStorage.ReplenishCapacityAsync M:AVFoundation.AVQueuePlayer.#ctor(AVFoundation.AVPlayerItem[]) M:AVFoundation.AVQueuePlayer.AdvanceToNextItem M:AVFoundation.AVQueuePlayer.CanInsert(AVFoundation.AVPlayerItem,AVFoundation.AVPlayerItem) @@ -37790,11 +37795,12 @@ P:AVFoundation.AVPlayerVideoOutputConfiguration.PreferredTransform P:AVFoundation.AVPlayerVideoOutputConfiguration.SourcePlayerItem P:AVFoundation.AVPortraitEffectsMatte.MattingImage P:AVFoundation.AVPortraitEffectsMatte.PixelFormatType -P:AVFoundation.AVProVideoStorage.Busy +P:AVFoundation.AVProVideoStorage.BusyReasons P:AVFoundation.AVProVideoStorage.InitialCapacity P:AVFoundation.AVProVideoStorage.IsSupported P:AVFoundation.AVProVideoStorage.RemainingCapacity P:AVFoundation.AVProVideoStorage.SharedStorage +P:AVFoundation.AVProVideoStorage.WeakBusyReasons P:AVFoundation.AVQueuePlayer.Items P:AVFoundation.AVRenderedCaptionImage.PixelBuffer P:AVFoundation.AVRenderedCaptionImage.Position @@ -57363,6 +57369,8 @@ T:AVFoundation.AVPlayerViewControllerSkippingBehavior T:AVFoundation.AVPlayerWaitingReason T:AVFoundation.AVPortraitEffectsMatte T:AVFoundation.AVProVideoStorage +T:AVFoundation.AVProVideoStorageBusyReason +T:AVFoundation.AVProVideoStorageReplenishCapacityCompletionHandler T:AVFoundation.AVQueuePlayer T:AVFoundation.AVRenderedCaptionImage T:AVFoundation.AVRouteDetector diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AVFoundation.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AVFoundation.todo deleted file mode 100644 index 9a081e81b909..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-AVFoundation.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-field! AVProVideoStorageBusyReasonAdjustingCapacity not bound -!missing-field! AVProVideoStorageBusyReasonCapturing not bound -!missing-field! AVProVideoStorageBusyReasonReplenishing not bound -!missing-selector! AVProVideoStorage::busyReasons not bound -!missing-selector! AVProVideoStorage::replenishCapacityWithCompletionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AVFoundation.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-AVFoundation.todo deleted file mode 100644 index 9a081e81b909..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AVFoundation.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-field! AVProVideoStorageBusyReasonAdjustingCapacity not bound -!missing-field! AVProVideoStorageBusyReasonCapturing not bound -!missing-field! AVProVideoStorageBusyReasonReplenishing not bound -!missing-selector! AVProVideoStorage::busyReasons not bound -!missing-selector! AVProVideoStorage::replenishCapacityWithCompletionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-AVFoundation.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-AVFoundation.todo deleted file mode 100644 index 9a081e81b909..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-AVFoundation.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-field! AVProVideoStorageBusyReasonAdjustingCapacity not bound -!missing-field! AVProVideoStorageBusyReasonCapturing not bound -!missing-field! AVProVideoStorageBusyReasonReplenishing not bound -!missing-selector! AVProVideoStorage::busyReasons not bound -!missing-selector! AVProVideoStorage::replenishCapacityWithCompletionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AVFoundation.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AVFoundation.todo deleted file mode 100644 index 9a081e81b909..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AVFoundation.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-field! AVProVideoStorageBusyReasonAdjustingCapacity not bound -!missing-field! AVProVideoStorageBusyReasonCapturing not bound -!missing-field! AVProVideoStorageBusyReasonReplenishing not bound -!missing-selector! AVProVideoStorage::busyReasons not bound -!missing-selector! AVProVideoStorage::replenishCapacityWithCompletionHandler: not bound