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