public AudioClockGetTimeFuncWrapper(Gst.Audio.AudioClockGetTimeFunc managed) { this.managed = managed; if (managed != null) { NativeDelegate = new AudioClockGetTimeFuncNative(NativeCallback); } }
public AudioClock(string name, Gst.Audio.AudioClockGetTimeFunc func, IntPtr user_data, GLib.DestroyNotify destroy_notify) : base(IntPtr.Zero) { if (GetType() != typeof(AudioClock)) { var vals = new List <GLib.Value> (); var names = new List <string> (); names.Add("name"); vals.Add(new GLib.Value(name)); CreateNativeObject(names.ToArray(), vals.ToArray()); return; } IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name); Gst.AudioSharp.AudioClockGetTimeFuncWrapper func_wrapper = new Gst.AudioSharp.AudioClockGetTimeFuncWrapper(func); Raw = gst_audio_clock_new(native_name, func_wrapper.NativeDelegate, user_data, destroy_notify); GLib.Marshaller.Free(native_name); }