Gst.PadProbeReturn InvokeNative(Gst.Pad pad, Gst.PadProbeInfo info)
        {
            IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc(info);

            Gst.PadProbeReturn __result = (Gst.PadProbeReturn)native_cb(pad == null ? IntPtr.Zero : pad.Handle, native_info, __data);
            Marshal.FreeHGlobal(native_info);
            return(__result);
        }
 public int NativeCallback(IntPtr pad, IntPtr info, IntPtr user_data)
 {
     try {
         Gst.PadProbeReturn __ret = managed(GLib.Object.GetObject(pad) as Gst.Pad, Gst.PadProbeInfo.New(info));
         if (release_on_call)
         {
             gch.Free();
         }
         return((int)__ret);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: Above call does not return.
         throw e;
     }
 }