2018-01-29 18:56:49 +00:00
|
|
|
// 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 AudioBaseSrc : Gst.Base.PushSrc {
|
|
|
|
|
|
|
|
public AudioBaseSrc (IntPtr raw) : base(raw) {}
|
|
|
|
|
|
|
|
protected AudioBaseSrc() : base(IntPtr.Zero)
|
|
|
|
{
|
|
|
|
CreateNativeObject (new string [0], new GLib.Value [0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("actual-buffer-time")]
|
|
|
|
public long ActualBufferTime {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("actual-buffer-time");
|
|
|
|
long ret = (long) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("actual-latency-time")]
|
|
|
|
public long ActualLatencyTime {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("actual-latency-time");
|
|
|
|
long ret = (long) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[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 ("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 ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_audio_base_src_get_provide_clock(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_audio_base_src_set_provide_clock(IntPtr raw, bool provide);
|
|
|
|
|
|
|
|
[GLib.Property ("provide-clock")]
|
|
|
|
public bool ProvideClock {
|
|
|
|
get {
|
|
|
|
bool raw_ret = gst_audio_base_src_get_provide_clock(Handle);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_audio_base_src_set_provide_clock(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_audio_base_src_get_slave_method(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_audio_base_src_set_slave_method(IntPtr raw, int method);
|
|
|
|
|
|
|
|
[GLib.Property ("slave-method")]
|
|
|
|
public Gst.Audio.AudioBaseSrcSlaveMethod SlaveMethod {
|
|
|
|
get {
|
|
|
|
int raw_ret = gst_audio_base_src_get_slave_method(Handle);
|
|
|
|
Gst.Audio.AudioBaseSrcSlaveMethod ret = (Gst.Audio.AudioBaseSrcSlaveMethod) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_audio_base_src_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 Clock {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("clock"));
|
|
|
|
return GLib.Object.GetObject((*raw_ptr)) as Gst.Clock;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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 {
|
|
|
|
AudioBaseSrc __obj = GLib.Object.GetObject (inst, false) as AudioBaseSrc;
|
|
|
|
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.AudioBaseSrc), 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 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("create_ringbuffer"
|
|
|
|
, Gst.Base.PushSrc.class_abi.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // create_ringbuffer
|
|
|
|
, null
|
|
|
|
, "_gst_reserved"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("_gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
|
|
|
|
, "create_ringbuffer"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _class_abi;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_audio_base_src_get_type();
|
|
|
|
|
|
|
|
public static new GLib.GType GType {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_audio_base_src_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_audio_base_src_create_ringbuffer(IntPtr raw);
|
|
|
|
|
|
|
|
public Gst.Audio.AudioRingBuffer CreateRingbuffer() {
|
|
|
|
IntPtr raw_ret = gst_audio_base_src_create_ringbuffer(Handle);
|
|
|
|
Gst.Audio.AudioRingBuffer ret = GLib.Object.GetObject(raw_ret) as Gst.Audio.AudioRingBuffer;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static AudioBaseSrc ()
|
|
|
|
{
|
|
|
|
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("ringbuffer"
|
|
|
|
, Gst.Base.PushSrc.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(GstAudioBaseSrc_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(GstAudioBaseSrc_latency_timeAlign), "latency_time")
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("next_sample"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(ulong)) // next_sample
|
|
|
|
, "latency_time"
|
|
|
|
, "clock"
|
|
|
|
, (long) Marshal.OffsetOf(typeof(GstAudioBaseSrc_next_sampleAlign), "next_sample")
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("clock"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // clock
|
|
|
|
, "next_sample"
|
|
|
|
, "priv"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("priv"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
|
|
|
|
, "clock"
|
|
|
|
, "_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 GstAudioBaseSrc_buffer_timeAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private ulong buffer_time;
|
|
|
|
}
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
public struct GstAudioBaseSrc_latency_timeAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private ulong latency_time;
|
|
|
|
}
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
public struct GstAudioBaseSrc_next_sampleAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private ulong next_sample;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|