static void OverrideCreateOutputBuffer (GLib.GType gtype, CreateOutputBufferNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_output_buffer")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } }
private Gst.FlowReturn InternalCreateOutputBuffer (Gst.Buffer outbuffer) { CreateOutputBufferNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_output_buffer")); unmanaged = (CreateOutputBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateOutputBufferNativeDelegate)); } if (unmanaged == null) return (Gst.FlowReturn) 0; int __result = unmanaged (this.Handle, outbuffer == null ? IntPtr.Zero : outbuffer.Handle); return (Gst.FlowReturn) __result; }