| // 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; | |
| } | |
| static SetInfoNativeDelegate SetInfo_cb_delegate; | |
| static SetInfoNativeDelegate SetInfoVMCallback { | |
| get { | |
| if (SetInfo_cb_delegate == null) | |
| SetInfo_cb_delegate = new SetInfoNativeDelegate (SetInfo_cb); | |
| return SetInfo_cb_delegate; | |
| } | |
| } | |
| static void OverrideSetInfo (GLib.GType gtype) | |
| { | |
| OverrideSetInfo (gtype, SetInfoVMCallback); | |
| } | |
| static void OverrideSetInfo (GLib.GType gtype, SetInfoNativeDelegate callback) | |
| { | |
| unsafe { | |
| IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_info")); | |
| *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); | |
| } | |
| } | |
| [UnmanagedFunctionPointer (CallingConvention.Cdecl)] | |
| delegate bool SetInfoNativeDelegate (IntPtr inst, IntPtr caps, IntPtr info); | |
| static bool SetInfo_cb (IntPtr inst, IntPtr caps, IntPtr info) | |
| { | |
| try { | |
| VideoSink __obj = GLib.Object.GetObject (inst, false) as VideoSink; | |
| bool __result; | |
| __result = __obj.OnSetInfo (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (info, typeof (Gst.Video.VideoInfo), false)); | |
| return __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="OverrideSetInfo")] | |
| protected virtual bool OnSetInfo (Gst.Caps caps, Gst.Video.VideoInfo info) | |
| { | |
| return InternalSetInfo (caps, info); | |
| } | |
| private bool InternalSetInfo (Gst.Caps caps, Gst.Video.VideoInfo info) | |
| { | |
| SetInfoNativeDelegate unmanaged = null; | |
| unsafe { | |
| IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_info")); | |
| unmanaged = (SetInfoNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetInfoNativeDelegate)); | |
| } | |
| if (unmanaged == null) return false; | |
| bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle, info == null ? IntPtr.Zero : info.Handle); | |
| return __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<GLib.AbiField>{ | |
| new GLib.AbiField("show_frame" | |
| , Gst.Base.BaseSink.class_abi.Fields | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) // show_frame | |
| , null | |
| , "set_info" | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) | |
| , 0 | |
| ), | |
| new GLib.AbiField("set_info" | |
| , -1 | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_info | |
| , "show_frame" | |
| , "_gst_reserved" | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) | |
| , 0 | |
| ), | |
| new GLib.AbiField("_gst_reserved" | |
| , -1 | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved | |
| , "set_info" | |
| , null | |
| , (uint) Marshal.SizeOf(typeof(IntPtr)) | |
| , 0 | |
| ), | |
| }); | |
| return _class_abi; | |
| } | |
| } | |
| // End of the ABI representation. | |
| [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] | |
| static extern void gst_video_sink_center_rect(IntPtr src, IntPtr dst, IntPtr _result, bool scaling); | |
| [Obsolete] | |
| public static Gst.Video.VideoRectangle CenterRect(Gst.Video.VideoRectangle src, Gst.Video.VideoRectangle dst, bool scaling) { | |
| Gst.Video.VideoRectangle _result; | |
| IntPtr native_src = GLib.Marshaller.StructureToPtrAlloc (src); | |
| IntPtr native_dst = GLib.Marshaller.StructureToPtrAlloc (dst); | |
| IntPtr native__result = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoRectangle))); | |
| gst_video_sink_center_rect(native_src, native_dst, native__result, scaling); | |
| Marshal.FreeHGlobal (native_src); | |
| Marshal.FreeHGlobal (native_dst); | |
| _result = Gst.Video.VideoRectangle.New (native__result); | |
| Marshal.FreeHGlobal (native__result); | |
| return _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<GLib.AbiField>{ | |
| 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 | |
| } | |
| } |