// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace Gst.Audio { using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; #region Autogenerated code public partial class AudioBaseSink : Gst.Base.BaseSink { public AudioBaseSink (IntPtr raw) : base(raw) {} protected AudioBaseSink() : base(IntPtr.Zero) { CreateNativeObject (new string [0], new GLib.Value [0]); } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern ulong gst_audio_base_sink_get_alignment_threshold(IntPtr raw); [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_alignment_threshold(IntPtr raw, ulong alignment_threshold); [GLib.Property ("alignment-threshold")] public ulong AlignmentThreshold { get { ulong raw_ret = gst_audio_base_sink_get_alignment_threshold(Handle); ulong ret = raw_ret; return ret; } set { gst_audio_base_sink_set_alignment_threshold(Handle, value); } } [GLib.Property ("buffer-time")] public long BufferTime { get { GLib.Value val = GetProperty ("buffer-time"); long ret = (long) val; val.Dispose (); return ret; } set { GLib.Value val = new GLib.Value(value); SetProperty("buffer-time", val); val.Dispose (); } } [GLib.Property ("can-activate-pull")] public bool CanActivatePull { get { GLib.Value val = GetProperty ("can-activate-pull"); bool ret = (bool) val; val.Dispose (); return ret; } set { GLib.Value val = new GLib.Value(value); SetProperty("can-activate-pull", val); val.Dispose (); } } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern ulong gst_audio_base_sink_get_discont_wait(IntPtr raw); [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_discont_wait(IntPtr raw, ulong discont_wait); [GLib.Property ("discont-wait")] public ulong DiscontWait { get { ulong raw_ret = gst_audio_base_sink_get_discont_wait(Handle); ulong ret = raw_ret; return ret; } set { gst_audio_base_sink_set_discont_wait(Handle, value); } } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern long gst_audio_base_sink_get_drift_tolerance(IntPtr raw); [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_drift_tolerance(IntPtr raw, long drift_tolerance); [GLib.Property ("drift-tolerance")] public long DriftTolerance { get { long raw_ret = gst_audio_base_sink_get_drift_tolerance(Handle); long ret = raw_ret; return ret; } set { gst_audio_base_sink_set_drift_tolerance(Handle, value); } } [GLib.Property ("latency-time")] public long LatencyTime { get { GLib.Value val = GetProperty ("latency-time"); long ret = (long) val; val.Dispose (); return ret; } set { GLib.Value val = new GLib.Value(value); SetProperty("latency-time", val); val.Dispose (); } } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_audio_base_sink_get_provide_clock(IntPtr raw); [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_provide_clock(IntPtr raw, bool provide); [GLib.Property ("provide-clock")] public bool ProvideClock { get { bool raw_ret = gst_audio_base_sink_get_provide_clock(Handle); bool ret = raw_ret; return ret; } set { gst_audio_base_sink_set_provide_clock(Handle, value); } } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_audio_base_sink_get_slave_method(IntPtr raw); [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_slave_method(IntPtr raw, int method); [GLib.Property ("slave-method")] public Gst.Audio.AudioBaseSinkSlaveMethod SlaveMethod { get { int raw_ret = gst_audio_base_sink_get_slave_method(Handle); Gst.Audio.AudioBaseSinkSlaveMethod ret = (Gst.Audio.AudioBaseSinkSlaveMethod) raw_ret; return ret; } set { gst_audio_base_sink_set_slave_method(Handle, (int) value); } } public Gst.Audio.AudioRingBuffer Ringbuffer { get { unsafe { IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("ringbuffer")); return GLib.Object.GetObject((*raw_ptr)) as Gst.Audio.AudioRingBuffer; } } } public ulong BufferTimeField { get { unsafe { ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffer_time")); return (*raw_ptr); } } } public ulong LatencyTimeField { get { unsafe { ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("latency_time")); return (*raw_ptr); } } } public ulong NextSample { get { unsafe { ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("next_sample")); return (*raw_ptr); } } } public Gst.Clock ProvidedClock { get { unsafe { IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("provided_clock")); return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock; } } } public bool EosRendering { get { unsafe { bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("eos_rendering")); return (*raw_ptr); } } } static CreateRingbufferNativeDelegate CreateRingbuffer_cb_delegate; static CreateRingbufferNativeDelegate CreateRingbufferVMCallback { get { if (CreateRingbuffer_cb_delegate == null) CreateRingbuffer_cb_delegate = new CreateRingbufferNativeDelegate (CreateRingbuffer_cb); return CreateRingbuffer_cb_delegate; } } static void OverrideCreateRingbuffer (GLib.GType gtype) { OverrideCreateRingbuffer (gtype, CreateRingbufferVMCallback); } static void OverrideCreateRingbuffer (GLib.GType gtype, CreateRingbufferNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate IntPtr CreateRingbufferNativeDelegate (IntPtr inst); static IntPtr CreateRingbuffer_cb (IntPtr inst) { try { AudioBaseSink __obj = GLib.Object.GetObject (inst, false) as AudioBaseSink; Gst.Audio.AudioRingBuffer __result; __result = __obj.OnCreateRingbuffer (); return __result == null ? IntPtr.Zero : __result.Handle; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioBaseSink), ConnectionMethod="OverrideCreateRingbuffer")] protected virtual Gst.Audio.AudioRingBuffer OnCreateRingbuffer () { return InternalCreateRingbuffer (); } private Gst.Audio.AudioRingBuffer InternalCreateRingbuffer () { CreateRingbufferNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_ringbuffer")); unmanaged = (CreateRingbufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateRingbufferNativeDelegate)); } if (unmanaged == null) return null; IntPtr __result = unmanaged (this.Handle); return GLib.Object.GetObject(__result) as Gst.Audio.AudioRingBuffer; } static PayloadNativeDelegate Payload_cb_delegate; static PayloadNativeDelegate PayloadVMCallback { get { if (Payload_cb_delegate == null) Payload_cb_delegate = new PayloadNativeDelegate (Payload_cb); return Payload_cb_delegate; } } static void OverridePayload (GLib.GType gtype) { OverridePayload (gtype, PayloadVMCallback); } static void OverridePayload (GLib.GType gtype, PayloadNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("payload")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate IntPtr PayloadNativeDelegate (IntPtr inst, IntPtr buffer); static IntPtr Payload_cb (IntPtr inst, IntPtr buffer) { try { AudioBaseSink __obj = GLib.Object.GetObject (inst, false) as AudioBaseSink; Gst.Buffer __result; __result = __obj.OnPayload (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false)); return __result == null ? IntPtr.Zero : __result.OwnedCopy; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioBaseSink), ConnectionMethod="OverridePayload")] protected virtual Gst.Buffer OnPayload (Gst.Buffer buffer) { return InternalPayload (buffer); } private Gst.Buffer InternalPayload (Gst.Buffer buffer) { PayloadNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("payload")); unmanaged = (PayloadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PayloadNativeDelegate)); } if (unmanaged == null) return null; IntPtr __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle); return __result == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (__result, typeof (Gst.Buffer), true); } // 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("create_ringbuffer" , Gst.Base.BaseSink.class_abi.Fields , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_ringbuffer , null , "payload" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("payload" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // payload , "create_ringbuffer" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved , "payload" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), }); return _class_abi; } } // End of the ABI representation. [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_audio_base_sink_get_type(); public static new GLib.GType GType { get { IntPtr raw_ret = gst_audio_base_sink_get_type(); GLib.GType ret = new GLib.GType(raw_ret); return ret; } } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_audio_base_sink_create_ringbuffer(IntPtr raw); public Gst.Audio.AudioRingBuffer CreateRingbuffer() { IntPtr raw_ret = gst_audio_base_sink_create_ringbuffer(Handle); Gst.Audio.AudioRingBuffer ret = GLib.Object.GetObject(raw_ret) as Gst.Audio.AudioRingBuffer; return ret; } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_report_device_failure(IntPtr raw); public void ReportDeviceFailure() { gst_audio_base_sink_report_device_failure(Handle); } [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_base_sink_set_custom_slaving_callback(IntPtr raw, Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative cb, IntPtr user_data, GLib.DestroyNotify notify); public Gst.Audio.AudioBaseSinkCustomSlavingCallback CustomSlavingCallback { set { Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackWrapper value_wrapper = new Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackWrapper (value); IntPtr user_data; GLib.DestroyNotify notify; if (value == null) { user_data = IntPtr.Zero; notify = null; } else { user_data = (IntPtr) GCHandle.Alloc (value_wrapper); notify = GLib.DestroyHelper.NotifyHandler; } gst_audio_base_sink_set_custom_slaving_callback(Handle, value_wrapper.NativeDelegate, user_data, notify); } } static AudioBaseSink () { 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("ringbuffer" , Gst.Base.BaseSink.abi_info.Fields , (uint) Marshal.SizeOf(typeof(IntPtr)) // ringbuffer , null , "buffer_time" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("buffer_time" , -1 , (uint) Marshal.SizeOf(typeof(ulong)) // buffer_time , "ringbuffer" , "latency_time" , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_buffer_timeAlign), "buffer_time") , 0 ), new GLib.AbiField("latency_time" , -1 , (uint) Marshal.SizeOf(typeof(ulong)) // latency_time , "buffer_time" , "next_sample" , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_latency_timeAlign), "latency_time") , 0 ), new GLib.AbiField("next_sample" , -1 , (uint) Marshal.SizeOf(typeof(ulong)) // next_sample , "latency_time" , "provided_clock" , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_next_sampleAlign), "next_sample") , 0 ), new GLib.AbiField("provided_clock" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // provided_clock , "next_sample" , "eos_rendering" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("eos_rendering" , -1 , (uint) Marshal.SizeOf(typeof(bool)) // eos_rendering , "provided_clock" , "priv" , (long) Marshal.OffsetOf(typeof(GstAudioBaseSink_eos_renderingAlign), "eos_rendering") , 0 ), new GLib.AbiField("priv" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv , "eos_rendering" , "_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 GstAudioBaseSink_buffer_timeAlign { sbyte f1; private ulong buffer_time; } [StructLayout(LayoutKind.Sequential)] public struct GstAudioBaseSink_latency_timeAlign { sbyte f1; private ulong latency_time; } [StructLayout(LayoutKind.Sequential)] public struct GstAudioBaseSink_next_sampleAlign { sbyte f1; private ulong next_sample; } [StructLayout(LayoutKind.Sequential)] public struct GstAudioBaseSink_eos_renderingAlign { sbyte f1; private bool eos_rendering; } // End of the ABI representation. #endregion } }