context: // This file was generated by the Gtk# code generator.
  // Any changes made will be lost if regenerated.
  
  namespace Gst {
  
  	using System;
  	using System.Collections;
  	using System.Collections.Generic;
  	using System.Runtime.InteropServices;
  
  #region Autogenerated code
  	public partial class Event : Gst.MiniObject {
  
  		public Gst.EventType Type {
  			get {
  				unsafe {
  					int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
  					return (Gst.EventType) (*raw_ptr);
  				}
  			}
  			set {
  				unsafe {
  					int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
  					*raw_ptr = (int) value;
  				}
  			}
  		}
  
  		public ulong Timestamp {
  			get {
  				unsafe {
  					ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
  					return (*raw_ptr);
  				}
  			}
  			set {
  				unsafe {
  					ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("timestamp"));
  					*raw_ptr = value;
  				}
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern uint gst_event_get_seqnum(IntPtr raw);
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_seqnum(IntPtr raw, uint seqnum);
  
  		public uint Seqnum {
  			get  {
  				uint raw_ret = gst_event_get_seqnum(Handle);
  				uint ret = raw_ret;
  				return ret;
  			}
  			set  {
  				gst_event_set_seqnum(Handle, value);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_get_type();
  
  		public static GLib.GType GType { 
  			get {
  				IntPtr raw_ret = gst_event_get_type();
  				GLib.GType ret = new GLib.GType(raw_ret);
  				return ret;
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_copy_segment(IntPtr raw, IntPtr segment);
  
  		public void CopySegment(Gst.Segment segment) {
  			IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
  			gst_event_copy_segment(Handle, native_segment);
  			Marshal.FreeHGlobal (native_segment);
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern long gst_event_get_running_time_offset(IntPtr raw);
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_running_time_offset(IntPtr raw, long offset);
  
  		public long RunningTimeOffset { 
  			get {
  				long raw_ret = gst_event_get_running_time_offset(Handle);
  				long ret = raw_ret;
  				return ret;
  			}
  			set {
  				gst_event_set_running_time_offset(Handle, value);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_get_structure(IntPtr raw);
  
  		public Gst.Structure Structure { 
  			get {
  				IntPtr raw_ret = gst_event_get_structure(Handle);
  				Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
  				return ret;
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gst_event_has_name(IntPtr raw, IntPtr name);
  
  		public bool HasName(string name) {
  			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
  			bool raw_ret = gst_event_has_name(Handle, native_name);
  			bool ret = raw_ret;
  			GLib.Marshaller.Free (native_name);
  			return ret;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_buffer_size(IntPtr raw, out int format, out long minsize, out long maxsize, out bool async);
  
  		public void ParseBufferSize(out Gst.Format format, out long minsize, out long maxsize, out bool async) {
  			int native_format;
  			gst_event_parse_buffer_size(Handle, out native_format, out minsize, out maxsize, out async);
  			format = (Gst.Format) native_format;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_caps(IntPtr raw, out IntPtr caps);
  
  		public Gst.Caps ParseCaps() {
  			Gst.Caps caps;
  			IntPtr native_caps;
  			gst_event_parse_caps(Handle, out native_caps);
  			caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), false);
  			return caps;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_flush_stop(IntPtr raw, out bool reset_time);
  
  		public bool ParseFlushStop() {
  			bool reset_time;
  			gst_event_parse_flush_stop(Handle, out reset_time);
  			return reset_time;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_gap(IntPtr raw, out ulong timestamp, out ulong duration);
  
  		public void ParseGap(out ulong timestamp, out ulong duration) {
  			gst_event_parse_gap(Handle, out timestamp, out duration);
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern bool gst_event_parse_group_id(IntPtr raw, out uint group_id);
  
  		public bool ParseGroupId(out uint group_id) {
  			bool raw_ret = gst_event_parse_group_id(Handle, out group_id);
  			bool ret = raw_ret;
  			return ret;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_latency(IntPtr raw, out ulong latency);
  
  		public ulong ParseLatency() {
  			ulong latency;
  			gst_event_parse_latency(Handle, out latency);
  			return latency;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_protection(IntPtr raw, out IntPtr system_id, out IntPtr data, out IntPtr origin);
  
  		public void ParseProtection(out string system_id, out Gst.Buffer data, out string origin) {
  			IntPtr native_system_id;
  			IntPtr native_data;
  			IntPtr native_origin;
  			gst_event_parse_protection(Handle, out native_system_id, out native_data, out native_origin);
  			system_id = GLib.Marshaller.Utf8PtrToString (native_system_id);
  			data = native_data == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_data, typeof (Gst.Buffer), false);
  			origin = GLib.Marshaller.Utf8PtrToString (native_origin);
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_qos(IntPtr raw, out int type, out double proportion, out long diff, out ulong timestamp);
  
  		public void ParseQos(out Gst.QOSType type, out double proportion, out long diff, out ulong timestamp) {
  			int native_type;
  			gst_event_parse_qos(Handle, out native_type, out proportion, out diff, out timestamp);
  			type = (Gst.QOSType) native_type;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_seek(IntPtr raw, out double rate, out int format, out int flags, out int start_type, out long start, out int stop_type, out long stop);
  
  		public void ParseSeek(out double rate, out Gst.Format format, out Gst.SeekFlags flags, out Gst.SeekType start_type, out long start, out Gst.SeekType stop_type, out long stop) {
  			int native_format;
  			int native_flags;
  			int native_start_type;
  			int native_stop_type;
  			gst_event_parse_seek(Handle, out rate, out native_format, out native_flags, out native_start_type, out start, out native_stop_type, out stop);
  			format = (Gst.Format) native_format;
  			flags = (Gst.SeekFlags) native_flags;
  			start_type = (Gst.SeekType) native_start_type;
  			stop_type = (Gst.SeekType) native_stop_type;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_seek_trickmode_interval(IntPtr raw, out ulong interval);
  
  		public ulong ParseSeekTrickmodeInterval() {
  			ulong interval;
  			gst_event_parse_seek_trickmode_interval(Handle, out interval);
  			return interval;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_segment(IntPtr raw, IntPtr segment);
  
  		public Gst.Segment ParseSegment() {
  			Gst.Segment segment;
  			IntPtr native_segment = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Segment)));
  			gst_event_parse_segment(Handle, native_segment);
  			segment = Gst.Segment.New (native_segment);
  			Marshal.FreeHGlobal (native_segment);
  			return segment;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_segment_done(IntPtr raw, out int format, out long position);
  
  		public void ParseSegmentDone(out Gst.Format format, out long position) {
  			int native_format;
  			gst_event_parse_segment_done(Handle, out native_format, out position);
  			format = (Gst.Format) native_format;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_select_streams(IntPtr raw, out IntPtr streams);
  
  		public GLib.List ParseSelectStreams() {
  			GLib.List streams;
  			IntPtr native_streams;
  			gst_event_parse_select_streams(Handle, out native_streams);
  			streams = new GLib.List(native_streams);
  			return streams;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_sink_message(IntPtr raw, out IntPtr msg);
  
  		public Gst.Message ParseSinkMessage() {
  			Gst.Message msg;
  			IntPtr native_msg;
  			gst_event_parse_sink_message(Handle, out native_msg);
  			msg = native_msg == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Message), true);
  			return msg;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_step(IntPtr raw, out int format, out ulong amount, out double rate, out bool flush, out bool intermediate);
  
  		public void ParseStep(out Gst.Format format, out ulong amount, out double rate, out bool flush, out bool intermediate) {
  			int native_format;
  			gst_event_parse_step(Handle, out native_format, out amount, out rate, out flush, out intermediate);
  			format = (Gst.Format) native_format;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_stream(IntPtr raw, out IntPtr stream);
  
  		public Gst.Stream ParseStream() {
  			Gst.Stream stream;
  			IntPtr native_stream;
  			gst_event_parse_stream(Handle, out native_stream);
  			stream = GLib.Object.GetObject(native_stream, true) as Gst.Stream;
  			return stream;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_stream_collection(IntPtr raw, out IntPtr collection);
  
  		public Gst.StreamCollection ParseStreamCollection() {
  			Gst.StreamCollection collection;
  			IntPtr native_collection;
  			gst_event_parse_stream_collection(Handle, out native_collection);
  			collection = GLib.Object.GetObject(native_collection, true) as Gst.StreamCollection;
  			return collection;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_stream_flags(IntPtr raw, out int flags);
  
  		public Gst.StreamFlags ParseStreamFlags() {
  			Gst.StreamFlags flags;
  			int native_flags;
  			gst_event_parse_stream_flags(Handle, out native_flags);
  			flags = (Gst.StreamFlags) native_flags;
  			return flags;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_stream_group_done(IntPtr raw, out uint group_id);
  
  		public uint ParseStreamGroupDone() {
  			uint group_id;
  			gst_event_parse_stream_group_done(Handle, out group_id);
  			return group_id;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_stream_start(IntPtr raw, out IntPtr stream_id);
  
  		public string ParseStreamStart() {
  			string stream_id;
  			IntPtr native_stream_id;
  			gst_event_parse_stream_start(Handle, out native_stream_id);
  			stream_id = GLib.Marshaller.Utf8PtrToString (native_stream_id);
  			return stream_id;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_tag(IntPtr raw, out IntPtr taglist);
  
  		public Gst.TagList ParseTag() {
  			Gst.TagList taglist;
  			IntPtr native_taglist;
  			gst_event_parse_tag(Handle, out native_taglist);
  			taglist = native_taglist == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (native_taglist, typeof (Gst.TagList), false);
  			return taglist;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_toc(IntPtr raw, IntPtr toc, out bool updated);
  
  		public void ParseToc(out Gst.Toc toc, out bool updated) {
  			IntPtr native_toc = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Toc)));
  			gst_event_parse_toc(Handle, native_toc, out updated);
  			toc = Gst.Toc.New (native_toc);
  			Marshal.FreeHGlobal (native_toc);
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_parse_toc_select(IntPtr raw, out IntPtr uid);
  
  		public string ParseTocSelect() {
  			string uid;
  			IntPtr native_uid;
  			gst_event_parse_toc_select(Handle, out native_uid);
  			uid = GLib.Marshaller.PtrToStringGFree(native_uid);
  			return uid;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_group_id(IntPtr raw, uint group_id);
  
  		public uint GroupId { 
  			set {
  				gst_event_set_group_id(Handle, value);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_seek_trickmode_interval(IntPtr raw, ulong interval);
  
  		public ulong SeekTrickmodeInterval { 
  			set {
  				gst_event_set_seek_trickmode_interval(Handle, value);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_stream(IntPtr raw, IntPtr stream);
  
  		public Gst.Stream Stream { 
  			set {
  				gst_event_set_stream(Handle, value == null ? IntPtr.Zero : value.Handle);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern void gst_event_set_stream_flags(IntPtr raw, int flags);
  
  		public Gst.StreamFlags StreamFlags { 
  			set {
  				gst_event_set_stream_flags(Handle, (int) value);
  			}
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_writable_structure(IntPtr raw);
  
  		public Gst.Structure WritableStructure() {
  			IntPtr raw_ret = gst_event_writable_structure(Handle);
  			Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
  			return ret;
  		}
  
  		public Event(IntPtr raw) : base(raw) {}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_buffer_size(int format, long minsize, long maxsize, bool async);
  
  		public static Event NewBufferSize(Gst.Format format, long minsize, long maxsize, bool async)
  		{
  			Event result = new Event (gst_event_new_buffer_size((int) format, minsize, maxsize, async));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_caps(IntPtr caps);
  
  		public static Event NewCaps(Gst.Caps caps)
  		{
  			Event result = new Event (gst_event_new_caps(caps == null ? IntPtr.Zero : caps.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_custom(int type, IntPtr structure);
  
  		public static Event NewCustom(Gst.EventType type, Gst.Structure structure)
  		{
  			structure.Owned = false;
  			Event result = new Event (gst_event_new_custom((int) type, structure == null ? IntPtr.Zero : structure.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_eos();
  
  		public static Event NewEos()
  		{
  			Event result = new Event (gst_event_new_eos());
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_flush_start();
  
  		public static Event NewFlushStart()
  		{
  			Event result = new Event (gst_event_new_flush_start());
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_flush_stop(bool reset_time);
  
  		public static Event NewFlushStop(bool reset_time)
  		{
  			Event result = new Event (gst_event_new_flush_stop(reset_time));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_gap(ulong timestamp, ulong duration);
  
  		public static Event NewGap(ulong timestamp, ulong duration)
  		{
  			Event result = new Event (gst_event_new_gap(timestamp, duration));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_latency(ulong latency);
  
  		public static Event NewLatency(ulong latency)
  		{
  			Event result = new Event (gst_event_new_latency(latency));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_navigation(IntPtr structure);
  
  		public static Event NewNavigation(Gst.Structure structure)
  		{
  			structure.Owned = false;
  			Event result = new Event (gst_event_new_navigation(structure == null ? IntPtr.Zero : structure.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_protection(IntPtr system_id, IntPtr data, IntPtr origin);
  
  		public static Event NewProtection(string system_id, Gst.Buffer data, string origin)
  		{
  			IntPtr native_system_id = GLib.Marshaller.StringToPtrGStrdup (system_id);
  			IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
  			Event result = new Event (gst_event_new_protection(native_system_id, data == null ? IntPtr.Zero : data.Handle, native_origin));
  			GLib.Marshaller.Free (native_system_id);
  			GLib.Marshaller.Free (native_origin);
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_qos(int type, double proportion, long diff, ulong timestamp);
  
  		public static Event NewQos(Gst.QOSType type, double proportion, long diff, ulong timestamp)
  		{
  			Event result = new Event (gst_event_new_qos((int) type, proportion, diff, timestamp));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_reconfigure();
  
  		public static Event NewReconfigure()
  		{
  			Event result = new Event (gst_event_new_reconfigure());
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_seek(double rate, int format, int flags, int start_type, long start, int stop_type, long stop);
  
  		public static Event NewSeek(double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop)
  		{
  			Event result = new Event (gst_event_new_seek(rate, (int) format, (int) flags, (int) start_type, start, (int) stop_type, stop));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_segment(IntPtr segment);
  
  		public static Event NewSegment(Gst.Segment segment)
  		{
  			IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
  			Event result = new Event (gst_event_new_segment(native_segment));
  			Marshal.FreeHGlobal (native_segment);
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_segment_done(int format, long position);
  
  		public static Event NewSegmentDone(Gst.Format format, long position)
  		{
  			Event result = new Event (gst_event_new_segment_done((int) format, position));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_select_streams(IntPtr streams);
  
  		public static Event NewSelectStreams(GLib.List streams)
  		{
  			Event result = new Event (gst_event_new_select_streams(streams == null ? IntPtr.Zero : streams.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_sink_message(IntPtr name, IntPtr msg);
  
  		public static Event NewSinkMessage(string name, Gst.Message msg)
  		{
  			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
  			Event result = new Event (gst_event_new_sink_message(native_name, msg == null ? IntPtr.Zero : msg.Handle));
  			GLib.Marshaller.Free (native_name);
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_step(int format, ulong amount, double rate, bool flush, bool intermediate);
  
  		public static Event NewStep(Gst.Format format, ulong amount, double rate, bool flush, bool intermediate)
  		{
  			Event result = new Event (gst_event_new_step((int) format, amount, rate, flush, intermediate));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_stream_collection(IntPtr collection);
  
  		public static Event NewStreamCollection(Gst.StreamCollection collection)
  		{
  			Event result = new Event (gst_event_new_stream_collection(collection == null ? IntPtr.Zero : collection.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_stream_group_done(uint group_id);
  
  		public static Event NewStreamGroupDone(uint group_id)
  		{
  			Event result = new Event (gst_event_new_stream_group_done(group_id));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_stream_start(IntPtr stream_id);
  
  		public static Event NewStreamStart(string stream_id)
  		{
  			IntPtr native_stream_id = GLib.Marshaller.StringToPtrGStrdup (stream_id);
  			Event result = new Event (gst_event_new_stream_start(native_stream_id));
  			GLib.Marshaller.Free (native_stream_id);
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_tag(IntPtr taglist);
  
  		public static Event NewTag(Gst.TagList taglist)
  		{
  			taglist.Owned = false;
  			Event result = new Event (gst_event_new_tag(taglist == null ? IntPtr.Zero : taglist.Handle));
  			return result;
  		}
  
  		[DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
  		static extern IntPtr gst_event_new_toc(IntPtr toc, bool updated);
  
  		public static Event NewToc(Gst.Toc toc, bool updated)
  		{
  
gt: 			IntPtr native_toc = GLib.Marshaller.StructureToPtrAlloc (toc);