// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace Gst.Video { using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; #region Autogenerated code public partial class VideoSink : Gst.Base.BaseSink { public VideoSink (IntPtr raw) : base(raw) {} protected VideoSink() : base(IntPtr.Zero) { CreateNativeObject (new string [0], new GLib.Value [0]); } [GLib.Property ("show-preroll-frame")] public bool ShowPrerollFrame { get { GLib.Value val = GetProperty ("show-preroll-frame"); bool ret = (bool) val; val.Dispose (); return ret; } set { GLib.Value val = new GLib.Value(value); SetProperty("show-preroll-frame", val); val.Dispose (); } } public int Width { get { unsafe { int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("width")); return (*raw_ptr); } } } public int Height { get { unsafe { int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("height")); return (*raw_ptr); } } } static ShowFrameNativeDelegate ShowFrame_cb_delegate; static ShowFrameNativeDelegate ShowFrameVMCallback { get { if (ShowFrame_cb_delegate == null) ShowFrame_cb_delegate = new ShowFrameNativeDelegate (ShowFrame_cb); return ShowFrame_cb_delegate; } } static void OverrideShowFrame (GLib.GType gtype) { OverrideShowFrame (gtype, ShowFrameVMCallback); } static void OverrideShowFrame (GLib.GType gtype, ShowFrameNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("show_frame")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate int ShowFrameNativeDelegate (IntPtr inst, IntPtr buf); static int ShowFrame_cb (IntPtr inst, IntPtr buf) { try { VideoSink __obj = GLib.Object.GetObject (inst, false) as VideoSink; Gst.FlowReturn __result; __result = __obj.OnShowFrame (buf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buf, typeof (Gst.Buffer), false)); return (int) __result; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoSink), ConnectionMethod="OverrideShowFrame")] protected virtual Gst.FlowReturn OnShowFrame (Gst.Buffer buf) { return InternalShowFrame (buf); } private Gst.FlowReturn InternalShowFrame (Gst.Buffer buf) { ShowFrameNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("show_frame")); unmanaged = (ShowFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ShowFrameNativeDelegate)); } if (unmanaged == null) return (Gst.FlowReturn) 0; int __result = unmanaged (this.Handle, buf == null ? IntPtr.Zero : buf.Handle); return (Gst.FlowReturn) __result; } // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _class_abi = null; static public new GLib.AbiStruct class_abi { get { if (_class_abi == null) _class_abi = new GLib.AbiStruct (new List{ new GLib.AbiField("show_frame" , Gst.Base.BaseSink.class_abi.Fields , (uint) Marshal.SizeOf(typeof(IntPtr)) // show_frame , null , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved , "show_frame" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), }); return _class_abi; } } // End of the ABI representation. [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_video_sink_get_type(); public static new GLib.GType GType { get { IntPtr raw_ret = gst_video_sink_get_type(); GLib.GType ret = new GLib.GType(raw_ret); return ret; } } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_sink_center_rect(IntPtr src, IntPtr dst, IntPtr _result, bool scaling); public static void CenterRect(Gst.Video.VideoRectangle src, Gst.Video.VideoRectangle dst, Gst.Video.VideoRectangle _result, bool scaling) { IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src); IntPtr native_dst = GLib.Marshaller.StructureToPtrAlloc (dst); IntPtr native__result = GLib.Marshaller.StructureToPtrAlloc (_result); gst_video_sink_center_rect(native_src, native_dst, native__result, scaling); Marshal.FreeHGlobal (native_src); Marshal.FreeHGlobal (native_dst); Marshal.FreeHGlobal (native__result); } static VideoSink () { GtkSharp.GstreamerSharp.ObjectManager.Initialize (); } // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; static public new GLib.AbiStruct abi_info { get { if (_abi_info == null) _abi_info = new GLib.AbiStruct (new List{ new GLib.AbiField("width" , Gst.Base.BaseSink.abi_info.Fields , (uint) Marshal.SizeOf(typeof(int)) // width , null , "height" , (long) Marshal.OffsetOf(typeof(GstVideoSink_widthAlign), "width") , 0 ), new GLib.AbiField("height" , -1 , (uint) Marshal.SizeOf(typeof(int)) // height , "width" , "priv" , (long) Marshal.OffsetOf(typeof(GstVideoSink_heightAlign), "height") , 0 ), new GLib.AbiField("priv" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv , "height" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved , "priv" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), }); return _abi_info; } } [StructLayout(LayoutKind.Sequential)] public struct GstVideoSink_widthAlign { sbyte f1; private int width; } [StructLayout(LayoutKind.Sequential)] public struct GstVideoSink_heightAlign { sbyte f1; private int height; } // End of the ABI representation. #endregion } }