Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created March 22, 2024 11:49
Show Gist options
  • Save vs-mobiletools-engineering-service2/a29d576178b0c5b029d721eed18068ee to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/a29d576178b0c5b029d721eed18068ee to your computer and use it in GitHub Desktop.
generator-diff/generator.diff
diff --git a/old/dotnet/IDE/obj/common/bgen/bgen.AssemblyInfo.cs b/new/dotnet/IDE/obj/common/bgen/bgen.AssemblyInfo.cs
index 8de55b7..386ff08 100644
--- a/old/dotnet/IDE/obj/common/bgen/bgen.AssemblyInfo.cs
+++ b/new/dotnet/IDE/obj/common/bgen/bgen.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("bgen")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0d39f757ca95ac71477f5d84f25df43afdba95c4")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bd3d9e0ae623eb2681e8f7902838a738a25c964b")]
[assembly: System.Reflection.AssemblyProductAttribute("bgen")]
[assembly: System.Reflection.AssemblyTitleAttribute("bgen")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/old/dotnet/IDE/obj/common/bgen/bgen.sourcelink.json b/new/dotnet/IDE/obj/common/bgen/bgen.sourcelink.json
index 9826173..724304e 100644
--- a/old/dotnet/IDE/obj/common/bgen/bgen.sourcelink.json
+++ b/new/dotnet/IDE/obj/common/bgen/bgen.sourcelink.json
@@ -1 +1 @@
-{"documents":{"/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/*":"https://raw.githubusercontent.com/xamarin/xamarin-macios/0d39f757ca95ac71477f5d84f25df43afdba95c4/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/api-tools/*":"https://raw.githubusercontent.com/xamarin/api-tools/1fbbe003a141231439c08b23989d3dc910bd6182/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/macios-binaries/*":"https://raw.githubusercontent.com/xamarin/macios-binaries/7813391e75d7373ee073ef2d5716e3c607c8636a/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/MonoTouch.Dialog/*":"https://raw.githubusercontent.com/xamarin/MonoTouch.Dialog/77b3337dbbc9e3e2f1b06dab3d37d2822488b0b3/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/opentk/*":"https://raw.githubusercontent.com/mono/opentk/396bc90c7ac2e7ce442840a5e8bd91e5e79b381e/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/Touch.Unit/*":"https://raw.githubusercontent.com/xamarin/Touch.Unit/92a072683b69b2f61f235a7a249c2c7f261236d4/*","/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/external/Xamarin.MacDev/*":"https://raw.githubusercontent.com/xamarin/Xamarin.MacDev/d1ed5a2dbb0e8f3d91b9bb91e0c921ae90403b7d/*"}}
\ No newline at end of file
+{"documents":{"/Users/builder/azdo/_work/2/s/xamarin-macios/*":"https://raw.githubusercontent.com/xamarin/xamarin-macios/bd3d9e0ae623eb2681e8f7902838a738a25c964b/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/api-tools/*":"https://raw.githubusercontent.com/xamarin/api-tools/1fbbe003a141231439c08b23989d3dc910bd6182/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/macios-binaries/*":"https://raw.githubusercontent.com/xamarin/macios-binaries/7813391e75d7373ee073ef2d5716e3c607c8636a/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/MonoTouch.Dialog/*":"https://raw.githubusercontent.com/xamarin/MonoTouch.Dialog/77b3337dbbc9e3e2f1b06dab3d37d2822488b0b3/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/opentk/*":"https://raw.githubusercontent.com/mono/opentk/396bc90c7ac2e7ce442840a5e8bd91e5e79b381e/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/Touch.Unit/*":"https://raw.githubusercontent.com/xamarin/Touch.Unit/92a072683b69b2f61f235a7a249c2c7f261236d4/*","/Users/builder/azdo/_work/2/s/xamarin-macios/external/Xamarin.MacDev/*":"https://raw.githubusercontent.com/xamarin/Xamarin.MacDev/d1ed5a2dbb0e8f3d91b9bb91e0c921ae90403b7d/*"}}
\ No newline at end of file
diff --git a/old/dotnet/ios/SourceLink.json b/new/dotnet/ios/SourceLink.json
index bca4643..ab571d0 100644
--- a/old/dotnet/ios/SourceLink.json
+++ b/new/dotnet/ios/SourceLink.json
@@ -1,5 +1,5 @@
{
"documents": {
- "/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/0d39f757ca95ac71477f5d84f25df43afdba95c4/src*"
+ "/Users/builder/azdo/_work/2/s/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/bd3d9e0ae623eb2681e8f7902838a738a25c964b/src*"
}
}
diff --git a/old/dotnet/ios/doc/Microsoft.iOS.xml b/new/dotnet/ios/doc/Microsoft.iOS.xml
index 705b4aa..4debef3 100644
--- a/old/dotnet/ios/doc/Microsoft.iOS.xml
+++ b/new/dotnet/ios/doc/Microsoft.iOS.xml
@@ -66,6 +66,40 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute" /> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/dotnet/ios/generated-sources/AVFoundation/AVAudioSourceNode.g.cs b/new/dotnet/ios/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
index 705626a..5c2cd7e 100644
--- a/old/dotnet/ios/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/dotnet/ios/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
@@ -76,10 +76,11 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
#if ARCH_32
@@ -87,7 +88,7 @@ namespace AVFoundation {
#else
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -96,10 +97,11 @@ namespace AVFoundation {
}
#endif
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
#if ARCH_32
@@ -108,7 +110,7 @@ namespace AVFoundation {
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle_NativeHandle (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs b/new/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
index e8e1166..42f0de1 100644
--- a/old/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
+++ b/new/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
@@ -512,63 +512,55 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData);
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData);
//
// This class bridges native block invocations that call into C#
//
- static internal class SDAVAudioSourceNodeRenderHandler {
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
[Preserve (Conditional = true)]
[UnmanagedCallersOnly]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ internal static unsafe int Invoke (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
- delegate* unmanaged<IntPtr, byte*, global::AudioToolbox.AudioTimeStamp*, uint, NativeHandle*, int> trampoline = &Invoke;
- return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandler), nameof (Invoke));
+ delegate* unmanaged<IntPtr, nint, nint, uint, nint, int> trampoline = &Invoke;
+ return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandlerRaw), nameof (Invoke));
}
- } /* class SDAVAudioSourceNodeRenderHandler */
- internal sealed class NIDAVAudioSourceNodeRenderHandler : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (nint isSilence, nint timestamp, uint frameCount, nint outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, NativeHandle comp, byte* stop);
diff --git a/old/dotnet/ios/generated-sources/SupportDelegates.g.cs b/new/dotnet/ios/generated-sources/SupportDelegates.g.cs
index 7222abf..98cacfe 100644
--- a/old/dotnet/ios/generated-sources/SupportDelegates.g.cs
+++ b/new/dotnet/ios/generated-sources/SupportDelegates.g.cs
@@ -62,7 +62,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/dotnet/ios/generated-sources/temp.xml b/new/dotnet/ios/generated-sources/temp.xml
index f32dbfa..9fe72e7 100644
--- a/old/dotnet/ios/generated-sources/temp.xml
+++ b/new/dotnet/ios/generated-sources/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:Compression.CompressionAlgorithm.LZ4">
<summary>The LZ4 compression format.</summary>
</member>
diff --git a/old/dotnet/ios/ref/Microsoft.iOS.xml b/new/dotnet/ios/ref/Microsoft.iOS.xml
index 69cea91..86800c8 100644
--- a/old/dotnet/ios/ref/Microsoft.iOS.xml
+++ b/new/dotnet/ios/ref/Microsoft.iOS.xml
@@ -66,6 +66,32 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute"/> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/dotnet/maccatalyst/SourceLink.json b/new/dotnet/maccatalyst/SourceLink.json
index bca4643..ab571d0 100644
--- a/old/dotnet/maccatalyst/SourceLink.json
+++ b/new/dotnet/maccatalyst/SourceLink.json
@@ -1,5 +1,5 @@
{
"documents": {
- "/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/0d39f757ca95ac71477f5d84f25df43afdba95c4/src*"
+ "/Users/builder/azdo/_work/2/s/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/bd3d9e0ae623eb2681e8f7902838a738a25c964b/src*"
}
}
diff --git a/old/dotnet/maccatalyst/doc/Microsoft.MacCatalyst.xml b/new/dotnet/maccatalyst/doc/Microsoft.MacCatalyst.xml
index d7b648a..84dc188 100644
--- a/old/dotnet/maccatalyst/doc/Microsoft.MacCatalyst.xml
+++ b/new/dotnet/maccatalyst/doc/Microsoft.MacCatalyst.xml
@@ -66,6 +66,40 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute" /> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/dotnet/maccatalyst/generated-sources/AVFoundation/AVAudioSourceNode.g.cs b/new/dotnet/maccatalyst/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
index a692409..5fc6c75 100644
--- a/old/dotnet/maccatalyst/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/dotnet/maccatalyst/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
@@ -70,15 +70,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -86,16 +87,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSendSuper_NativeHandle (this.SuperHandle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle_NativeHandle (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/dotnet/maccatalyst/generated-sources/ObjCRuntime/Trampolines.g.cs b/new/dotnet/maccatalyst/generated-sources/ObjCRuntime/Trampolines.g.cs
index 3f902c8..9cbae0a 100644
--- a/old/dotnet/maccatalyst/generated-sources/ObjCRuntime/Trampolines.g.cs
+++ b/new/dotnet/maccatalyst/generated-sources/ObjCRuntime/Trampolines.g.cs
@@ -461,63 +461,55 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData);
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData);
//
// This class bridges native block invocations that call into C#
//
- static internal class SDAVAudioSourceNodeRenderHandler {
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
[Preserve (Conditional = true)]
[UnmanagedCallersOnly]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ internal static unsafe int Invoke (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
- delegate* unmanaged<IntPtr, byte*, global::AudioToolbox.AudioTimeStamp*, uint, NativeHandle*, int> trampoline = &Invoke;
- return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandler), nameof (Invoke));
+ delegate* unmanaged<IntPtr, nint, nint, uint, nint, int> trampoline = &Invoke;
+ return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandlerRaw), nameof (Invoke));
}
- } /* class SDAVAudioSourceNodeRenderHandler */
- internal sealed class NIDAVAudioSourceNodeRenderHandler : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (nint isSilence, nint timestamp, uint frameCount, nint outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, NativeHandle comp, byte* stop);
diff --git a/old/dotnet/maccatalyst/generated-sources/SupportDelegates.g.cs b/new/dotnet/maccatalyst/generated-sources/SupportDelegates.g.cs
index f5d66da..a8d02dc 100644
--- a/old/dotnet/maccatalyst/generated-sources/SupportDelegates.g.cs
+++ b/new/dotnet/maccatalyst/generated-sources/SupportDelegates.g.cs
@@ -58,7 +58,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/dotnet/maccatalyst/generated-sources/temp.xml b/new/dotnet/maccatalyst/generated-sources/temp.xml
index 7446d83..82efa43 100644
--- a/old/dotnet/maccatalyst/generated-sources/temp.xml
+++ b/new/dotnet/maccatalyst/generated-sources/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/dotnet/maccatalyst/ref/Microsoft.MacCatalyst.xml b/new/dotnet/maccatalyst/ref/Microsoft.MacCatalyst.xml
index dd7342e..d4c7676 100644
--- a/old/dotnet/maccatalyst/ref/Microsoft.MacCatalyst.xml
+++ b/new/dotnet/maccatalyst/ref/Microsoft.MacCatalyst.xml
@@ -66,6 +66,32 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute"/> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/dotnet/macos/SourceLink.json b/new/dotnet/macos/SourceLink.json
index bca4643..ab571d0 100644
--- a/old/dotnet/macos/SourceLink.json
+++ b/new/dotnet/macos/SourceLink.json
@@ -1,5 +1,5 @@
{
"documents": {
- "/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/0d39f757ca95ac71477f5d84f25df43afdba95c4/src*"
+ "/Users/builder/azdo/_work/2/s/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/bd3d9e0ae623eb2681e8f7902838a738a25c964b/src*"
}
}
diff --git a/old/dotnet/macos/doc/Microsoft.macOS.xml b/new/dotnet/macos/doc/Microsoft.macOS.xml
index ef2a60a..c3966f0 100644
--- a/old/dotnet/macos/doc/Microsoft.macOS.xml
+++ b/new/dotnet/macos/doc/Microsoft.macOS.xml
@@ -66,6 +66,40 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute" /> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/dotnet/macos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs b/new/dotnet/macos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
index 5ed5b82..0b1712a 100644
--- a/old/dotnet/macos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/dotnet/macos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
@@ -134,15 +134,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle (this.Handle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -150,16 +151,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSendSuper_NativeHandle (this.SuperHandle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle_NativeHandle (this.Handle, selInitWithFormat_RenderBlock_XHandle, format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/dotnet/macos/generated-sources/ObjCRuntime/Trampolines.g.cs b/new/dotnet/macos/generated-sources/ObjCRuntime/Trampolines.g.cs
index ab1943f..07de557 100644
--- a/old/dotnet/macos/generated-sources/ObjCRuntime/Trampolines.g.cs
+++ b/new/dotnet/macos/generated-sources/ObjCRuntime/Trampolines.g.cs
@@ -456,63 +456,55 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData);
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData);
//
// This class bridges native block invocations that call into C#
//
- static internal class SDAVAudioSourceNodeRenderHandler {
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
[Preserve (Conditional = true)]
[UnmanagedCallersOnly]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ internal static unsafe int Invoke (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
- delegate* unmanaged<IntPtr, byte*, global::AudioToolbox.AudioTimeStamp*, uint, NativeHandle*, int> trampoline = &Invoke;
- return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandler), nameof (Invoke));
+ delegate* unmanaged<IntPtr, nint, nint, uint, nint, int> trampoline = &Invoke;
+ return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandlerRaw), nameof (Invoke));
}
- } /* class SDAVAudioSourceNodeRenderHandler */
- internal sealed class NIDAVAudioSourceNodeRenderHandler : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (nint isSilence, nint timestamp, uint frameCount, nint outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, NativeHandle comp, byte* stop);
diff --git a/old/dotnet/macos/generated-sources/SupportDelegates.g.cs b/new/dotnet/macos/generated-sources/SupportDelegates.g.cs
index c3ebfec..0d845b5 100644
--- a/old/dotnet/macos/generated-sources/SupportDelegates.g.cs
+++ b/new/dotnet/macos/generated-sources/SupportDelegates.g.cs
@@ -53,7 +53,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/dotnet/macos/generated-sources/temp.xml b/new/dotnet/macos/generated-sources/temp.xml
index 7446d83..82efa43 100644
--- a/old/dotnet/macos/generated-sources/temp.xml
+++ b/new/dotnet/macos/generated-sources/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/dotnet/macos/ref/Microsoft.macOS.xml b/new/dotnet/macos/ref/Microsoft.macOS.xml
index f3339bd..58dcf6c 100644
--- a/old/dotnet/macos/ref/Microsoft.macOS.xml
+++ b/new/dotnet/macos/ref/Microsoft.macOS.xml
@@ -66,6 +66,32 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute"/> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/dotnet/projects/MacCatalyst/MacCatalyst.csproj b/new/dotnet/projects/MacCatalyst/MacCatalyst.csproj
index 95be5a2..18defae 100644
--- a/old/dotnet/projects/MacCatalyst/MacCatalyst.csproj
+++ b/new/dotnet/projects/MacCatalyst/MacCatalyst.csproj
@@ -54,6 +54,7 @@
<Compile Include="../../../../AVFoundation/AVAudioSessionPortDescription.cs" Link="sources/AVFoundation/AVAudioSessionPortDescription.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSettings.cs" Link="sources/AVFoundation/AVAudioSettings.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSinkNode.cs" Link="sources/AVFoundation/AVAudioSinkNode.cs"/>
+ <Compile Include="../../../../AVFoundation/AVAudioSourceNode.cs" Link="sources/AVFoundation/AVAudioSourceNode.cs"/>
<Compile Include="../../../../AVFoundation/AVBeatRange.cs" Link="sources/AVFoundation/AVBeatRange.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureConnection.cs" Link="sources/AVFoundation/AVCaptureConnection.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureDeviceDiscoverySession.cs" Link="sources/AVFoundation/AVCaptureDeviceDiscoverySession.cs"/>
diff --git a/old/dotnet/projects/iOS/iOS.csproj b/new/dotnet/projects/iOS/iOS.csproj
index 254cbaf..45bc460 100644
--- a/old/dotnet/projects/iOS/iOS.csproj
+++ b/new/dotnet/projects/iOS/iOS.csproj
@@ -61,6 +61,7 @@
<Compile Include="../../../../AVFoundation/AVAudioSessionPortDescription.cs" Link="sources/AVFoundation/AVAudioSessionPortDescription.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSettings.cs" Link="sources/AVFoundation/AVAudioSettings.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSinkNode.cs" Link="sources/AVFoundation/AVAudioSinkNode.cs"/>
+ <Compile Include="../../../../AVFoundation/AVAudioSourceNode.cs" Link="sources/AVFoundation/AVAudioSourceNode.cs"/>
<Compile Include="../../../../AVFoundation/AVBeatRange.cs" Link="sources/AVFoundation/AVBeatRange.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureConnection.cs" Link="sources/AVFoundation/AVCaptureConnection.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureDeviceDiscoverySession.cs" Link="sources/AVFoundation/AVCaptureDeviceDiscoverySession.cs"/>
diff --git a/old/dotnet/projects/macOS/macOS.csproj b/new/dotnet/projects/macOS/macOS.csproj
index bf72b7b..999824f 100644
--- a/old/dotnet/projects/macOS/macOS.csproj
+++ b/new/dotnet/projects/macOS/macOS.csproj
@@ -54,6 +54,7 @@
<Compile Include="../../../../AVFoundation/AVAudioSessionPortDescription.cs" Link="sources/AVFoundation/AVAudioSessionPortDescription.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSettings.cs" Link="sources/AVFoundation/AVAudioSettings.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSinkNode.cs" Link="sources/AVFoundation/AVAudioSinkNode.cs"/>
+ <Compile Include="../../../../AVFoundation/AVAudioSourceNode.cs" Link="sources/AVFoundation/AVAudioSourceNode.cs"/>
<Compile Include="../../../../AVFoundation/AVBeatRange.cs" Link="sources/AVFoundation/AVBeatRange.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureConnection.cs" Link="sources/AVFoundation/AVCaptureConnection.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureDeviceDiscoverySession.cs" Link="sources/AVFoundation/AVCaptureDeviceDiscoverySession.cs"/>
diff --git a/old/dotnet/projects/tvOS/tvOS.csproj b/new/dotnet/projects/tvOS/tvOS.csproj
index 49499bc..81fe26a 100644
--- a/old/dotnet/projects/tvOS/tvOS.csproj
+++ b/new/dotnet/projects/tvOS/tvOS.csproj
@@ -54,6 +54,7 @@
<Compile Include="../../../../AVFoundation/AVAudioSessionPortDescription.cs" Link="sources/AVFoundation/AVAudioSessionPortDescription.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSettings.cs" Link="sources/AVFoundation/AVAudioSettings.cs"/>
<Compile Include="../../../../AVFoundation/AVAudioSinkNode.cs" Link="sources/AVFoundation/AVAudioSinkNode.cs"/>
+ <Compile Include="../../../../AVFoundation/AVAudioSourceNode.cs" Link="sources/AVFoundation/AVAudioSourceNode.cs"/>
<Compile Include="../../../../AVFoundation/AVBeatRange.cs" Link="sources/AVFoundation/AVBeatRange.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureConnection.cs" Link="sources/AVFoundation/AVCaptureConnection.cs"/>
<Compile Include="../../../../AVFoundation/AVCaptureDeviceDiscoverySession.cs" Link="sources/AVFoundation/AVCaptureDeviceDiscoverySession.cs"/>
diff --git a/old/dotnet/tvos/SourceLink.json b/new/dotnet/tvos/SourceLink.json
index bca4643..ab571d0 100644
--- a/old/dotnet/tvos/SourceLink.json
+++ b/new/dotnet/tvos/SourceLink.json
@@ -1,5 +1,5 @@
{
"documents": {
- "/Users/builder/azdo/_work/2/a/change-detection/tmp/src/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/0d39f757ca95ac71477f5d84f25df43afdba95c4/src*"
+ "/Users/builder/azdo/_work/2/s/xamarin-macios/src*": "https://raw.githubusercontent.com/xamarin/xamarin-macios/bd3d9e0ae623eb2681e8f7902838a738a25c964b/src*"
}
}
diff --git a/old/dotnet/tvos/doc/Microsoft.tvOS.xml b/new/dotnet/tvos/doc/Microsoft.tvOS.xml
index dc5ad1d..793dc08 100644
--- a/old/dotnet/tvos/doc/Microsoft.tvOS.xml
+++ b/new/dotnet/tvos/doc/Microsoft.tvOS.xml
@@ -66,6 +66,40 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute" /> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/dotnet/tvos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs b/new/dotnet/tvos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
index 4c82248..55fa2c9 100644
--- a/old/dotnet/tvos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/dotnet/tvos/generated-sources/AVFoundation/AVAudioSourceNode.g.cs
@@ -62,15 +62,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -78,16 +79,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSendSuper_NativeHandle (this.SuperHandle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler))]AVAudioSourceNodeRenderHandler renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.NativeHandle_objc_msgSend_NativeHandle_NativeHandle (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/dotnet/tvos/generated-sources/ObjCRuntime/Trampolines.g.cs b/new/dotnet/tvos/generated-sources/ObjCRuntime/Trampolines.g.cs
index 11e5828..69896ed 100644
--- a/old/dotnet/tvos/generated-sources/ObjCRuntime/Trampolines.g.cs
+++ b/new/dotnet/tvos/generated-sources/ObjCRuntime/Trampolines.g.cs
@@ -453,63 +453,55 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData);
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData);
//
// This class bridges native block invocations that call into C#
//
- static internal class SDAVAudioSourceNodeRenderHandler {
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
[Preserve (Conditional = true)]
[UnmanagedCallersOnly]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, NativeHandle* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ internal static unsafe int Invoke (IntPtr block, nint isSilence, nint timestamp, uint frameCount, nint outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
- delegate* unmanaged<IntPtr, byte*, global::AudioToolbox.AudioTimeStamp*, uint, NativeHandle*, int> trampoline = &Invoke;
- return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandler), nameof (Invoke));
+ delegate* unmanaged<IntPtr, nint, nint, uint, nint, int> trampoline = &Invoke;
+ return new BlockLiteral (trampoline, callback, typeof (SDAVAudioSourceNodeRenderHandlerRaw), nameof (Invoke));
}
- } /* class SDAVAudioSourceNodeRenderHandler */
- internal sealed class NIDAVAudioSourceNodeRenderHandler : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (nint isSilence, nint timestamp, uint frameCount, nint outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, NativeHandle comp, byte* stop);
diff --git a/old/dotnet/tvos/generated-sources/SupportDelegates.g.cs b/new/dotnet/tvos/generated-sources/SupportDelegates.g.cs
index a6c743d..53f96bb 100644
--- a/old/dotnet/tvos/generated-sources/SupportDelegates.g.cs
+++ b/new/dotnet/tvos/generated-sources/SupportDelegates.g.cs
@@ -50,7 +50,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCompletion (bool finished);
}
diff --git a/old/dotnet/tvos/generated-sources/temp.xml b/new/dotnet/tvos/generated-sources/temp.xml
index e206d6e..9c0278a 100644
--- a/old/dotnet/tvos/generated-sources/temp.xml
+++ b/new/dotnet/tvos/generated-sources/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:Compression.CompressionAlgorithm.LZ4">
<summary>The LZ4 compression format.</summary>
</member>
diff --git a/old/dotnet/tvos/ref/Microsoft.tvOS.xml b/new/dotnet/tvos/ref/Microsoft.tvOS.xml
index 85a96e9..6a7ffaf 100644
--- a/old/dotnet/tvos/ref/Microsoft.tvOS.xml
+++ b/new/dotnet/tvos/ref/Microsoft.tvOS.xml
@@ -66,6 +66,32 @@
Initializes a new instance of the <see cref="T:ObjCRuntime.CCallbackAttribute"/> class.
</summary>
</member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandler3">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time).</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandler3)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.#ctor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
<member name="M:UIKit.IUITraitChangeObservable.RegisterForTraitChanges(System.Type[],System.Action{UIKit.IUITraitEnvironment,UIKit.UITraitCollection})">
<summary>
Registers a callback handler that will be executed when one of the specified traits changes.
diff --git a/old/ios/native/AVFoundation/AVAudioSourceNode.g.cs b/new/ios/native/AVFoundation/AVAudioSourceNode.g.cs
index 5cf8ac6..aef5261 100644
--- a/old/ios/native/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/ios/native/AVFoundation/AVAudioSourceNode.g.cs
@@ -74,10 +74,11 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
#if ARCH_32
@@ -85,7 +86,7 @@ namespace AVFoundation {
#else
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -94,10 +95,11 @@ namespace AVFoundation {
}
#endif
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
#if ARCH_32
@@ -106,7 +108,7 @@ namespace AVFoundation {
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/ios/native/ObjCRuntime/Trampolines.g.cs b/new/ios/native/ObjCRuntime/Trampolines.g.cs
index ef601ab..a0abc36 100644
--- a/old/ios/native/ObjCRuntime/Trampolines.g.cs
+++ b/new/ios/native/ObjCRuntime/Trampolines.g.cs
@@ -520,64 +520,56 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler2))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler2 (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData);
- //
- // This class bridges native block invocations that call into C#
- //
- static internal class SDAVAudioSourceNodeRenderHandler2 {
- unsafe static internal readonly DAVAudioSourceNodeRenderHandler2 Handler = Invoke;
- [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandler2))]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler2> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData);
+ //
+ // This class bridges native block invocations that call into C#
+ //
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
+ unsafe static internal readonly DAVAudioSourceNodeRenderHandlerRaw Handler = Invoke;
+ [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandlerRaw))]
+ internal static unsafe int Invoke (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2 callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
var block = new BlockLiteral ();
block.SetupBlockUnsafe (Handler, callback);
return block;
}
- } /* class SDAVAudioSourceNodeRenderHandler2 */
- internal sealed class NIDAVAudioSourceNodeRenderHandler2 : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler2 invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler2 (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler2> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler2? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler2) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler2 ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler2 */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, IntPtr comp, byte* stop);
diff --git a/old/ios/native/SupportDelegates.g.cs b/new/ios/native/SupportDelegates.g.cs
index 2223a62..cf87ed3 100644
--- a/old/ios/native/SupportDelegates.g.cs
+++ b/new/ios/native/SupportDelegates.g.cs
@@ -61,7 +61,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/ios/native/temp.xml b/new/ios/native/temp.xml
index 706220b..88ab52e 100644
--- a/old/ios/native/temp.xml
+++ b/new/ios/native/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:Compression.CompressionAlgorithm.LZ4">
<summary>The LZ4 compression format.</summary>
</member>
diff --git a/old/mac/full/AVFoundation/AVAudioSourceNode.g.cs b/new/mac/full/AVFoundation/AVAudioSourceNode.g.cs
index 58f65c3..9dae851 100644
--- a/old/mac/full/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/mac/full/AVFoundation/AVAudioSourceNode.g.cs
@@ -132,15 +132,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr (this.Handle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -148,16 +149,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr (this.SuperHandle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (this.Handle, selInitWithFormat_RenderBlock_XHandle, format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/mac/full/ObjCRuntime/Trampolines.g.cs b/new/mac/full/ObjCRuntime/Trampolines.g.cs
index e5b4ee8..e8b001a 100644
--- a/old/mac/full/ObjCRuntime/Trampolines.g.cs
+++ b/new/mac/full/ObjCRuntime/Trampolines.g.cs
@@ -463,64 +463,56 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler2))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler2 (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData);
- //
- // This class bridges native block invocations that call into C#
- //
- static internal class SDAVAudioSourceNodeRenderHandler2 {
- unsafe static internal readonly DAVAudioSourceNodeRenderHandler2 Handler = Invoke;
- [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandler2))]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler2> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData);
+ //
+ // This class bridges native block invocations that call into C#
+ //
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
+ unsafe static internal readonly DAVAudioSourceNodeRenderHandlerRaw Handler = Invoke;
+ [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandlerRaw))]
+ internal static unsafe int Invoke (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2 callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
var block = new BlockLiteral ();
block.SetupBlockUnsafe (Handler, callback);
return block;
}
- } /* class SDAVAudioSourceNodeRenderHandler2 */
- internal sealed class NIDAVAudioSourceNodeRenderHandler2 : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler2 invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler2 (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler2> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler2? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler2) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler2 ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler2 */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, IntPtr comp, byte* stop);
diff --git a/old/mac/full/SupportDelegates.g.cs b/new/mac/full/SupportDelegates.g.cs
index 8d81c26..ab82b02 100644
--- a/old/mac/full/SupportDelegates.g.cs
+++ b/new/mac/full/SupportDelegates.g.cs
@@ -52,7 +52,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/mac/full/temp.xml b/new/mac/full/temp.xml
index 313c7a9..d78842c 100644
--- a/old/mac/full/temp.xml
+++ b/new/mac/full/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/mac/mobile/AVFoundation/AVAudioSourceNode.g.cs b/new/mac/mobile/AVFoundation/AVAudioSourceNode.g.cs
index 58f65c3..9dae851 100644
--- a/old/mac/mobile/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/mac/mobile/AVFoundation/AVAudioSourceNode.g.cs
@@ -132,15 +132,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr (this.Handle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -148,16 +149,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr (this.SuperHandle, selInitWithRenderBlock_XHandle, (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (this.Handle, selInitWithFormat_RenderBlock_XHandle, format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/mac/mobile/ObjCRuntime/Trampolines.g.cs b/new/mac/mobile/ObjCRuntime/Trampolines.g.cs
index e5b4ee8..e8b001a 100644
--- a/old/mac/mobile/ObjCRuntime/Trampolines.g.cs
+++ b/new/mac/mobile/ObjCRuntime/Trampolines.g.cs
@@ -463,64 +463,56 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler2))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler2 (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData);
- //
- // This class bridges native block invocations that call into C#
- //
- static internal class SDAVAudioSourceNodeRenderHandler2 {
- unsafe static internal readonly DAVAudioSourceNodeRenderHandler2 Handler = Invoke;
- [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandler2))]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler2> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData);
+ //
+ // This class bridges native block invocations that call into C#
+ //
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
+ unsafe static internal readonly DAVAudioSourceNodeRenderHandlerRaw Handler = Invoke;
+ [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandlerRaw))]
+ internal static unsafe int Invoke (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2 callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
var block = new BlockLiteral ();
block.SetupBlockUnsafe (Handler, callback);
return block;
}
- } /* class SDAVAudioSourceNodeRenderHandler2 */
- internal sealed class NIDAVAudioSourceNodeRenderHandler2 : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler2 invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler2 (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler2> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler2? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler2) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler2 ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler2 */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, IntPtr comp, byte* stop);
diff --git a/old/mac/mobile/SupportDelegates.g.cs b/new/mac/mobile/SupportDelegates.g.cs
index 8d81c26..ab82b02 100644
--- a/old/mac/mobile/SupportDelegates.g.cs
+++ b/new/mac/mobile/SupportDelegates.g.cs
@@ -52,7 +52,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCaptureCompletionHandler (CMSampleBuffer imageDataSampleBuffer, NSError error);
public delegate void AVCompletion (bool finished);
diff --git a/old/mac/mobile/temp.xml b/new/mac/mobile/temp.xml
index 313c7a9..d78842c 100644
--- a/old/mac/mobile/temp.xml
+++ b/new/mac/mobile/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:AppKit.NSCharacterCollection.IdentityMapping">
<summary>Identity mapping (CID == NSGlyph)</summary>
</member>
diff --git a/old/tvos/tvos/AVFoundation/AVAudioSourceNode.g.cs b/new/tvos/tvos/AVFoundation/AVAudioSourceNode.g.cs
index 13c843e..63797d6 100644
--- a/old/tvos/tvos/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/tvos/tvos/AVFoundation/AVAudioSourceNode.g.cs
@@ -60,15 +60,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -76,16 +77,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr (this.SuperHandle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/tvos/tvos/ObjCRuntime/Trampolines.g.cs b/new/tvos/tvos/ObjCRuntime/Trampolines.g.cs
index 63183b7..90a5321 100644
--- a/old/tvos/tvos/ObjCRuntime/Trampolines.g.cs
+++ b/new/tvos/tvos/ObjCRuntime/Trampolines.g.cs
@@ -460,64 +460,56 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler2))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler2 (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData);
- //
- // This class bridges native block invocations that call into C#
- //
- static internal class SDAVAudioSourceNodeRenderHandler2 {
- unsafe static internal readonly DAVAudioSourceNodeRenderHandler2 Handler = Invoke;
- [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandler2))]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler2> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData);
+ //
+ // This class bridges native block invocations that call into C#
+ //
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
+ unsafe static internal readonly DAVAudioSourceNodeRenderHandlerRaw Handler = Invoke;
+ [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandlerRaw))]
+ internal static unsafe int Invoke (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2 callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
var block = new BlockLiteral ();
block.SetupBlockUnsafe (Handler, callback);
return block;
}
- } /* class SDAVAudioSourceNodeRenderHandler2 */
- internal sealed class NIDAVAudioSourceNodeRenderHandler2 : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler2 invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler2 (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler2> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler2? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler2) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler2 ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler2 */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVAudioUnitComponentFilter))]
unsafe internal delegate byte DAVAudioUnitComponentFilter (IntPtr block, IntPtr comp, byte* stop);
diff --git a/old/tvos/tvos/SupportDelegates.g.cs b/new/tvos/tvos/SupportDelegates.g.cs
index 65e5d3e..1c9ca6a 100644
--- a/old/tvos/tvos/SupportDelegates.g.cs
+++ b/new/tvos/tvos/SupportDelegates.g.cs
@@ -49,7 +49,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate bool AVAudioUnitComponentFilter (AVAudioUnitComponent comp, ref bool stop);
public delegate void AVCompletion (bool finished);
}
diff --git a/old/tvos/tvos/temp.xml b/new/tvos/tvos/temp.xml
index e206d6e..9c0278a 100644
--- a/old/tvos/tvos/temp.xml
+++ b/new/tvos/tvos/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:Compression.CompressionAlgorithm.LZ4">
<summary>The LZ4 compression format.</summary>
</member>
diff --git a/old/watch/watch/AVFoundation/AVAudioSourceNode.g.cs b/new/watch/watch/AVFoundation/AVAudioSourceNode.g.cs
index 251d745..4b0f3ec 100644
--- a/old/watch/watch/AVFoundation/AVAudioSourceNode.g.cs
+++ b/new/watch/watch/AVFoundation/AVAudioSourceNode.g.cs
@@ -50,15 +50,16 @@ namespace AVFoundation {
{
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithRenderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode ([BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr (this.Handle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
@@ -66,16 +67,17 @@ namespace AVFoundation {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr (this.SuperHandle, Selector.GetHandle ("initWithRenderBlock:"), (IntPtr) block_ptr_renderHandler), "initWithRenderBlock:");
}
}
+ /// <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary><param name="format">The format of the PCM audio data the callback supplies.</param><param name="renderHandler">The callback that will be called to supply audio data.</param>
[Export ("initWithFormat:renderBlock:")]
[DesignatedInitializer]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandler2))]AVAudioSourceNodeRenderHandler2 renderHandler)
+ public unsafe AVAudioSourceNode (AVAudioFormat format, [BlockProxy (typeof (ObjCRuntime.Trampolines.NIDAVAudioSourceNodeRenderHandlerRaw))]AVAudioSourceNodeRenderHandlerRaw renderHandler)
: base (NSObjectFlag.Empty)
{
var format__handle__ = format!.GetNonNullHandle (nameof (format));
if (renderHandler is null)
ObjCRuntime.ThrowHelper.ThrowArgumentNullException (nameof (renderHandler));
- using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandler2.CreateBlock (renderHandler);
+ using var block_renderHandler = Trampolines.SDAVAudioSourceNodeRenderHandlerRaw.CreateBlock (renderHandler);
BlockLiteral *block_ptr_renderHandler = &block_renderHandler;
if (IsDirectBinding) {
InitializeHandle (global::ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (this.Handle, Selector.GetHandle ("initWithFormat:renderBlock:"), format__handle__, (IntPtr) block_ptr_renderHandler), "initWithFormat:renderBlock:");
diff --git a/old/watch/watch/ObjCRuntime/Trampolines.g.cs b/new/watch/watch/ObjCRuntime/Trampolines.g.cs
index 1221b83..8003e26 100644
--- a/old/watch/watch/ObjCRuntime/Trampolines.g.cs
+++ b/new/watch/watch/ObjCRuntime/Trampolines.g.cs
@@ -292,64 +292,56 @@ namespace ObjCRuntime {
}
} /* class NIDAVAudioSinkNodeReceiverHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
- [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandler2))]
- unsafe internal delegate int DAVAudioSourceNodeRenderHandler2 (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData);
- //
- // This class bridges native block invocations that call into C#
- //
- static internal class SDAVAudioSourceNodeRenderHandler2 {
- unsafe static internal readonly DAVAudioSourceNodeRenderHandler2 Handler = Invoke;
- [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandler2))]
- internal static unsafe int Invoke (IntPtr block, byte* isSilence, global::AudioToolbox.AudioTimeStamp* timestamp, uint frameCount, IntPtr* outputData) {
- var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandler2> (block);
- bool __xamarin_bool__0 = *isSilence != 0;
- var __xamarin_pref3 = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputData is not null ? *outputData : NativeHandle.Zero, false)!;
- int retval = del (ref __xamarin_bool__0, ref global::System.Runtime.CompilerServices.Unsafe.AsRef<global::AudioToolbox.AudioTimeStamp> (timestamp), frameCount, ref __xamarin_pref3);
- *isSilence = __xamarin_bool__0 ? (byte) 1 : (byte) 0;
- if (outputData is not null)
- *outputData = __xamarin_pref3.GetHandle ();
+ [UserDelegateType (typeof (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw))]
+ unsafe internal delegate int DAVAudioSourceNodeRenderHandlerRaw (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData);
+ //
+ // This class bridges native block invocations that call into C#
+ //
+ static internal class SDAVAudioSourceNodeRenderHandlerRaw {
+ unsafe static internal readonly DAVAudioSourceNodeRenderHandlerRaw Handler = Invoke;
+ [MonoPInvokeCallback (typeof (DAVAudioSourceNodeRenderHandlerRaw))]
+ internal static unsafe int Invoke (IntPtr block, global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData) {
+ var del = BlockLiteral.GetTarget<global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw> (block);
+ int retval = del (isSilence, timestamp, frameCount, outputData);
return retval;
}
- internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2? callback)
+ internal static unsafe BlockLiteral CreateNullableBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? callback)
{
if (callback is null)
return default (BlockLiteral);
return CreateBlock (callback);
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandler2 callback)
+ internal static unsafe BlockLiteral CreateBlock (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw callback)
{
var block = new BlockLiteral ();
block.SetupBlockUnsafe (Handler, callback);
return block;
}
- } /* class SDAVAudioSourceNodeRenderHandler2 */
- internal sealed class NIDAVAudioSourceNodeRenderHandler2 : TrampolineBlockBase {
- DAVAudioSourceNodeRenderHandler2 invoker;
+ } /* class SDAVAudioSourceNodeRenderHandlerRaw */
+ internal sealed class NIDAVAudioSourceNodeRenderHandlerRaw : TrampolineBlockBase {
+ DAVAudioSourceNodeRenderHandlerRaw invoker;
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe NIDAVAudioSourceNodeRenderHandler2 (BlockLiteral *block) : base (block)
+ public unsafe NIDAVAudioSourceNodeRenderHandlerRaw (BlockLiteral *block) : base (block)
{
- invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandler2> ();
+ invoker = block->GetDelegateForBlock<DAVAudioSourceNodeRenderHandlerRaw> ();
}
[Preserve (Conditional=true)]
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandler2? Create (IntPtr block)
+ public unsafe static global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw? Create (IntPtr block)
{
if (block == IntPtr.Zero)
return null;
- var del = (global::AVFoundation.AVAudioSourceNodeRenderHandler2) GetExistingManagedDelegate (block);
- return del ?? new NIDAVAudioSourceNodeRenderHandler2 ((BlockLiteral *) block).Invoke;
+ var del = (global::AVFoundation.AVAudioSourceNodeRenderHandlerRaw) GetExistingManagedDelegate (block);
+ return del ?? new NIDAVAudioSourceNodeRenderHandlerRaw ((BlockLiteral *) block).Invoke;
}
[BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
- unsafe int Invoke (ref bool isSilence, ref global::AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref global::AudioToolbox.AudioBuffers outputData)
+ unsafe int Invoke (global::System.IntPtr isSilence, global::System.IntPtr timestamp, uint frameCount, global::System.IntPtr outputData)
{
- var outputDataValue = outputData is null ? NativeHandle.Zero : outputData.Handle;
- var ret = invoker (BlockPointer, (byte*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<bool> (ref isSilence), (global::AudioToolbox.AudioTimeStamp*) global::System.Runtime.CompilerServices.Unsafe.AsPointer<global::AudioToolbox.AudioTimeStamp> (ref timestamp), frameCount, &outputDataValue);
- if (outputDataValue != (outputData is null ? NativeHandle.Zero : outputData.Handle))
- outputData = Runtime.GetINativeObject<AudioToolbox.AudioBuffers> (outputDataValue, false, false)!;
+ var ret = invoker (BlockPointer, isSilence, timestamp, frameCount, outputData);
return ret!;
}
- } /* class NIDAVAudioSourceNodeRenderHandler2 */
+ } /* class NIDAVAudioSourceNodeRenderHandlerRaw */
[UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
[UserDelegateType (typeof (global::AVFoundation.AVCompletion))]
unsafe internal delegate void DAVCompletion (IntPtr block, byte finished);
diff --git a/old/watch/watch/SupportDelegates.g.cs b/new/watch/watch/SupportDelegates.g.cs
index 86e7049..7e7ea22 100644
--- a/old/watch/watch/SupportDelegates.g.cs
+++ b/new/watch/watch/SupportDelegates.g.cs
@@ -36,7 +36,8 @@ namespace AVFoundation {
public delegate AudioToolbox.AudioBuffers AVAudioIONodeInputBlock (uint frameCount);
public delegate void AVAudioNodeTapBlock (AVAudioPcmBuffer buffer, AVAudioTime when);
public delegate int AVAudioSinkNodeReceiverHandlerRaw (IntPtr timestamp, uint frameCount, IntPtr inputData);
- public delegate int AVAudioSourceNodeRenderHandler2 (ref bool isSilence, ref AudioToolbox.AudioTimeStamp timestamp, uint frameCount, ref AudioToolbox.AudioBuffers outputData);
+ /// <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary><returns>An OSStatus result code. Return 0 to indicate success.</returns><param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param><param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param><param name="frameCount">The number of frames of audio to supply.</param><param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ public delegate int AVAudioSourceNodeRenderHandlerRaw (IntPtr isSilence, IntPtr timestamp, uint frameCount, IntPtr outputData);
public delegate void AVCompletion (bool finished);
public delegate void AVPermissionGranted (bool granted);
}
diff --git a/old/watch/watch/temp.xml b/new/watch/watch/temp.xml
index 17758ed..f9f37b3 100644
--- a/old/watch/watch/temp.xml
+++ b/new/watch/watch/temp.xml
@@ -4,6 +4,23 @@
<name>temp</name>
</assembly>
<members>
+ <member name="T:AVFoundation.AVAudioSourceNodeRenderHandlerRaw">
+ <summary>The delegate that will be called in a callback from <see cref="T:AudioToolbox.AVAudioSourceNode" />.</summary>
+ <returns>An OSStatus result code. Return 0 to indicate success.</returns>
+ <param name="isSilence">Indicates whether the supplied audio data only contains silence. This is a pointer to a <see cref="T:System.Byte" /> value.</param>
+ <param name="timestamp">The timestamp the audio renders (HAL time). This is a pointer to an <see cref="T:AudioToolbox.AudioTimeStamp" /> value.</param>
+ <param name="frameCount">The number of frames of audio to supply.</param>
+ <param name="outputData">The <see cref="T:AudioToolbox.AudioBuffers" /> that contains the supplied audio data when the callback returns. This is a handle for an <see cref="T:AudioToolbox.AudioBuffers" /> value.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
+ <member name="M:AVFoundation.AVAudioSourceNode.Constructor(AVFoundation.AVAudioFormat,AVFoundation.AVAudioSourceNodeRenderHandlerRaw)">
+ <summary>Creates an <see cref="T:AudioToolbox.AVAudioSourceNode" /> with the specified callback to render audio.</summary>
+ <param name="format">The format of the PCM audio data the callback supplies.</param>
+ <param name="renderHandler">The callback that will be called to supply audio data.</param>
+ </member>
<member name="F:Compression.CompressionAlgorithm.LZ4">
<summary>The LZ4 compression format.</summary>
</member>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment