mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 18:50:48 +00:00
527 lines
16 KiB
C#
527 lines
16 KiB
C#
// 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<GLib.AbiField>{
|
|
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<GLib.AbiField>{
|
|
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
|
|
}
|
|
}
|