static void Changed_cb(IntPtr inst)
 {
     try {
         TrackElement __obj = GLib.Object.GetObject(inst, false) as TrackElement;
         __obj.OnChanged();
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
 static void ControlBindingRemoved_cb(IntPtr inst, IntPtr control_binding)
 {
     try {
         TrackElement __obj = GLib.Object.GetObject(inst, false) as TrackElement;
         __obj.OnControlBindingRemoved(GLib.Object.GetObject(control_binding) as Gst.ControlBinding);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
 static bool LookupChild_cb(IntPtr inst, IntPtr prop_name, out IntPtr element, out IntPtr pspec)
 {
     try {
         TrackElement __obj = GLib.Object.GetObject(inst, false) as TrackElement;
         bool         __result;
         Gst.Element  myelement;
         __result = __obj.OnLookupChild(GLib.Marshaller.Utf8PtrToString(prop_name), out myelement, out pspec);
         element  = myelement == null ? IntPtr.Zero : myelement.Handle;
         return(__result);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: above call does not return.
         throw e;
     }
 }