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