diff --git a/src/MediaToolbox/MTAudioProcessingTap.cs b/src/MediaToolbox/MTAudioProcessingTap.cs index 4dcefdd01a37..1863af60ec2b 100644 --- a/src/MediaToolbox/MTAudioProcessingTap.cs +++ b/src/MediaToolbox/MTAudioProcessingTap.cs @@ -49,6 +49,8 @@ public class MTAudioProcessingTap : INativeObject #endif { #if !COREBUILD + delegate void Action_IntPtr (IntPtr arg); + // MTAudioProcessingTapCallbacks [StructLayout (LayoutKind.Sequential, Pack = 1)] unsafe struct Callbacks @@ -57,9 +59,9 @@ unsafe struct Callbacks /* int */ int version; // kMTAudioProcessingTapCallbacksVersion_0 == 0 public /* void* */ IntPtr clientInfo; public /* MTAudioProcessingTapInitCallback */ MTAudioProcessingTapInitCallbackProxy init; - public /* MTAudioProcessingTapFinalizeCallback */ Action finalize; + public /* MTAudioProcessingTapFinalizeCallback */ Action_IntPtr finalize; public /* MTAudioProcessingTapPrepareCallback */ MTAudioProcessingTapPrepareCallbackProxy prepare; - public /* MTAudioProcessingTapUnprepareCallback */ Action unprepare; + public /* MTAudioProcessingTapUnprepareCallback */ Action_IntPtr unprepare; public /* MTAudioProcessingTapProcessCallback */ MTAudioProcessingTapProcessCallbackProxy process; #pragma warning restore 169 } @@ -217,7 +219,7 @@ static void ProcessProxy (IntPtr tap, IntPtr numberFrames, MTAudioProcessingTapF numberFramesOut = (IntPtr) numberOut; } - [MonoPInvokeCallback (typeof (Action))] + [MonoPInvokeCallback (typeof (Action_IntPtr))] static void FinalizeProxy (IntPtr tap) { MTAudioProcessingTap apt; @@ -235,7 +237,7 @@ static void PrepareProxy (IntPtr tap, IntPtr maxFrames, ref AudioStreamBasicDesc apt.callbacks.Prepare (apt, (nint) maxFrames, ref processingFormat); } - [MonoPInvokeCallback (typeof (Action))] + [MonoPInvokeCallback (typeof (Action_IntPtr))] static void UnprepareProxy (IntPtr tap) { MTAudioProcessingTap apt;