static void CleanFrame_cb(IntPtr inst, IntPtr videoaggregator, IntPtr prepared_frame)
 {
     try {
         VideoAggregatorPad __obj = GLib.Object.GetObject(inst, false) as VideoAggregatorPad;
         __obj.OnCleanFrame(GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, Gst.Video.VideoFrame.New(prepared_frame));
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
 static void UpdateConversionInfo_cb(IntPtr inst)
 {
     try {
         VideoAggregatorPad __obj = GLib.Object.GetObject(inst, false) as VideoAggregatorPad;
         __obj.OnUpdateConversionInfo();
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
 static bool PrepareFrame_cb(IntPtr inst, IntPtr videoaggregator, IntPtr buffer, IntPtr prepared_frame)
 {
     try {
         VideoAggregatorPad __obj = GLib.Object.GetObject(inst, false) as VideoAggregatorPad;
         bool __result;
         __result = __obj.OnPrepareFrame(GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, buffer == IntPtr.Zero ? null : (Gst.Buffer)GLib.Opaque.GetOpaque(buffer, typeof(Gst.Buffer), false), Gst.Video.VideoFrame.New(prepared_frame));
         return(__result);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: above call does not return.
         throw e;
     }
 }