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 AudioSink : Gst.Audio.AudioBaseSink {
|
|
|
|
|
|
|
|
public AudioSink (IntPtr raw) : base(raw) {}
|
|
|
|
|
|
|
|
protected AudioSink() : base(IntPtr.Zero)
|
|
|
|
{
|
|
|
|
CreateNativeObject (new string [0], new GLib.Value [0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
static OpenNativeDelegate Open_cb_delegate;
|
|
|
|
static OpenNativeDelegate OpenVMCallback {
|
|
|
|
get {
|
|
|
|
if (Open_cb_delegate == null)
|
|
|
|
Open_cb_delegate = new OpenNativeDelegate (Open_cb);
|
|
|
|
return Open_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideOpen (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideOpen (gtype, OpenVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideOpen (GLib.GType gtype, OpenNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate bool OpenNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static bool Open_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
bool __result;
|
|
|
|
__result = __obj.OnOpen ();
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideOpen")]
|
|
|
|
protected virtual bool OnOpen ()
|
|
|
|
{
|
|
|
|
return InternalOpen ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private bool InternalOpen ()
|
|
|
|
{
|
|
|
|
OpenNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("open"));
|
|
|
|
unmanaged = (OpenNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OpenNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
|
|
|
bool __result = unmanaged (this.Handle);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static PrepareNativeDelegate Prepare_cb_delegate;
|
|
|
|
static PrepareNativeDelegate PrepareVMCallback {
|
|
|
|
get {
|
|
|
|
if (Prepare_cb_delegate == null)
|
|
|
|
Prepare_cb_delegate = new PrepareNativeDelegate (Prepare_cb);
|
|
|
|
return Prepare_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePrepare (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePrepare (gtype, PrepareVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePrepare (GLib.GType gtype, PrepareNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate bool PrepareNativeDelegate (IntPtr inst, IntPtr spec);
|
|
|
|
|
|
|
|
static bool Prepare_cb (IntPtr inst, IntPtr spec)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
bool __result;
|
|
|
|
__result = __obj.OnPrepare (spec == IntPtr.Zero ? null : (Gst.Audio.AudioRingBufferSpec) GLib.Opaque.GetOpaque (spec, typeof (Gst.Audio.AudioRingBufferSpec), false));
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverridePrepare")]
|
|
|
|
protected virtual bool OnPrepare (Gst.Audio.AudioRingBufferSpec spec)
|
|
|
|
{
|
|
|
|
return InternalPrepare (spec);
|
|
|
|
}
|
|
|
|
|
|
|
|
private bool InternalPrepare (Gst.Audio.AudioRingBufferSpec spec)
|
|
|
|
{
|
|
|
|
PrepareNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare"));
|
|
|
|
unmanaged = (PrepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
|
|
|
bool __result = unmanaged (this.Handle, spec == null ? IntPtr.Zero : spec.Handle);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static UnprepareNativeDelegate Unprepare_cb_delegate;
|
|
|
|
static UnprepareNativeDelegate UnprepareVMCallback {
|
|
|
|
get {
|
|
|
|
if (Unprepare_cb_delegate == null)
|
|
|
|
Unprepare_cb_delegate = new UnprepareNativeDelegate (Unprepare_cb);
|
|
|
|
return Unprepare_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideUnprepare (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideUnprepare (gtype, UnprepareVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideUnprepare (GLib.GType gtype, UnprepareNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate bool UnprepareNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static bool Unprepare_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
bool __result;
|
|
|
|
__result = __obj.OnUnprepare ();
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideUnprepare")]
|
|
|
|
protected virtual bool OnUnprepare ()
|
|
|
|
{
|
|
|
|
return InternalUnprepare ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private bool InternalUnprepare ()
|
|
|
|
{
|
|
|
|
UnprepareNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepare"));
|
|
|
|
unmanaged = (UnprepareNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnprepareNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
|
|
|
bool __result = unmanaged (this.Handle);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static CloseNativeDelegate Close_cb_delegate;
|
|
|
|
static CloseNativeDelegate CloseVMCallback {
|
|
|
|
get {
|
|
|
|
if (Close_cb_delegate == null)
|
|
|
|
Close_cb_delegate = new CloseNativeDelegate (Close_cb);
|
|
|
|
return Close_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideClose (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideClose (gtype, CloseVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideClose (GLib.GType gtype, CloseNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate bool CloseNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static bool Close_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
bool __result;
|
|
|
|
__result = __obj.OnClose ();
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideClose")]
|
|
|
|
protected virtual bool OnClose ()
|
|
|
|
{
|
|
|
|
return InternalClose ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private bool InternalClose ()
|
|
|
|
{
|
|
|
|
CloseNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
|
|
|
|
unmanaged = (CloseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
|
|
|
bool __result = unmanaged (this.Handle);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static WriteNativeDelegate Write_cb_delegate;
|
|
|
|
static WriteNativeDelegate WriteVMCallback {
|
|
|
|
get {
|
|
|
|
if (Write_cb_delegate == null)
|
|
|
|
Write_cb_delegate = new WriteNativeDelegate (Write_cb);
|
|
|
|
return Write_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideWrite (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideWrite (gtype, WriteVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideWrite (GLib.GType gtype, WriteNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("write"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate int WriteNativeDelegate (IntPtr inst, IntPtr data, uint length);
|
|
|
|
|
|
|
|
static int Write_cb (IntPtr inst, IntPtr data, uint length)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
int __result;
|
|
|
|
__result = __obj.OnWrite (data, length);
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideWrite")]
|
|
|
|
protected virtual int OnWrite (IntPtr data, uint length)
|
|
|
|
{
|
|
|
|
return InternalWrite (data, length);
|
|
|
|
}
|
|
|
|
|
|
|
|
private int InternalWrite (IntPtr data, uint length)
|
|
|
|
{
|
|
|
|
WriteNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("write"));
|
|
|
|
unmanaged = (WriteNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(WriteNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return 0;
|
|
|
|
|
|
|
|
int __result = unmanaged (this.Handle, data, length);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static DelayNativeDelegate Delay_cb_delegate;
|
|
|
|
static DelayNativeDelegate DelayVMCallback {
|
|
|
|
get {
|
|
|
|
if (Delay_cb_delegate == null)
|
|
|
|
Delay_cb_delegate = new DelayNativeDelegate (Delay_cb);
|
|
|
|
return Delay_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideDelay (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideDelay (gtype, DelayVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideDelay (GLib.GType gtype, DelayNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate uint DelayNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static uint Delay_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
uint __result;
|
|
|
|
__result = __obj.OnDelay ();
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideDelay")]
|
|
|
|
protected virtual uint OnDelay ()
|
|
|
|
{
|
|
|
|
return InternalDelay ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private uint InternalDelay ()
|
|
|
|
{
|
|
|
|
DelayNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("delay"));
|
|
|
|
unmanaged = (DelayNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DelayNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return 0;
|
|
|
|
|
|
|
|
uint __result = unmanaged (this.Handle);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static ResetNativeDelegate Reset_cb_delegate;
|
|
|
|
static ResetNativeDelegate ResetVMCallback {
|
|
|
|
get {
|
|
|
|
if (Reset_cb_delegate == null)
|
|
|
|
Reset_cb_delegate = new ResetNativeDelegate (Reset_cb);
|
|
|
|
return Reset_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideReset (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideReset (gtype, ResetVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideReset (GLib.GType gtype, ResetNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void ResetNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void Reset_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
__obj.OnReset ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideReset")]
|
|
|
|
protected virtual void OnReset ()
|
|
|
|
{
|
|
|
|
InternalReset ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalReset ()
|
|
|
|
{
|
|
|
|
ResetNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("reset"));
|
|
|
|
unmanaged = (ResetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResetNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
2020-06-17 18:36:28 +00:00
|
|
|
static PauseNativeDelegate Pause_cb_delegate;
|
|
|
|
static PauseNativeDelegate PauseVMCallback {
|
|
|
|
get {
|
|
|
|
if (Pause_cb_delegate == null)
|
|
|
|
Pause_cb_delegate = new PauseNativeDelegate (Pause_cb);
|
|
|
|
return Pause_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePause (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePause (gtype, PauseVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePause (GLib.GType gtype, PauseNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pause"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void PauseNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void Pause_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
__obj.OnPause ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverridePause")]
|
|
|
|
protected virtual void OnPause ()
|
|
|
|
{
|
|
|
|
InternalPause ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalPause ()
|
|
|
|
{
|
|
|
|
PauseNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pause"));
|
|
|
|
unmanaged = (PauseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PauseNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
static ResumeNativeDelegate Resume_cb_delegate;
|
|
|
|
static ResumeNativeDelegate ResumeVMCallback {
|
|
|
|
get {
|
|
|
|
if (Resume_cb_delegate == null)
|
|
|
|
Resume_cb_delegate = new ResumeNativeDelegate (Resume_cb);
|
|
|
|
return Resume_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideResume (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideResume (gtype, ResumeVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideResume (GLib.GType gtype, ResumeNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("resume"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void ResumeNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void Resume_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
__obj.OnResume ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideResume")]
|
|
|
|
protected virtual void OnResume ()
|
|
|
|
{
|
|
|
|
InternalResume ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalResume ()
|
|
|
|
{
|
|
|
|
ResumeNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("resume"));
|
|
|
|
unmanaged = (ResumeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResumeNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
static StopNativeDelegate Stop_cb_delegate;
|
|
|
|
static StopNativeDelegate StopVMCallback {
|
|
|
|
get {
|
|
|
|
if (Stop_cb_delegate == null)
|
|
|
|
Stop_cb_delegate = new StopNativeDelegate (Stop_cb);
|
|
|
|
return Stop_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideStop (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideStop (gtype, StopVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void StopNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void Stop_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
|
|
|
|
__obj.OnStop ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideStop")]
|
|
|
|
protected virtual void OnStop ()
|
|
|
|
{
|
|
|
|
InternalStop ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalStop ()
|
|
|
|
{
|
|
|
|
StopNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop"));
|
|
|
|
unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
2018-01-29 18:56:49 +00:00
|
|
|
|
|
|
|
// 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("open"
|
|
|
|
, Gst.Audio.AudioBaseSink.class_abi.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // open
|
|
|
|
, null
|
|
|
|
, "prepare"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("prepare"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
|
|
|
|
, "open"
|
|
|
|
, "unprepare"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("unprepare"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // unprepare
|
|
|
|
, "prepare"
|
|
|
|
, "close"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("close"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // close
|
|
|
|
, "unprepare"
|
|
|
|
, "write"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("write"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // write
|
|
|
|
, "close"
|
|
|
|
, "delay"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("delay"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // delay
|
|
|
|
, "write"
|
|
|
|
, "reset"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("reset"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // reset
|
|
|
|
, "delay"
|
2020-06-17 18:36:28 +00:00
|
|
|
, "pause"
|
2018-01-29 18:56:49 +00:00
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
2020-06-17 18:36:28 +00:00
|
|
|
new GLib.AbiField("pause"
|
2018-01-29 18:56:49 +00:00
|
|
|
, -1
|
2020-06-17 18:36:28 +00:00
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // pause
|
2018-01-29 18:56:49 +00:00
|
|
|
, "reset"
|
2020-06-17 18:36:28 +00:00
|
|
|
, "resume"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("resume"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // resume
|
|
|
|
, "pause"
|
|
|
|
, "stop"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("stop"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // stop
|
|
|
|
, "resume"
|
|
|
|
, "extension"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("extension"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // extension
|
|
|
|
, "stop"
|
2018-01-29 18:56:49 +00:00
|
|
|
, 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_sink_get_type();
|
|
|
|
|
|
|
|
public static new GLib.GType GType {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_audio_sink_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static AudioSink ()
|
|
|
|
{
|
|
|
|
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("thread"
|
|
|
|
, Gst.Audio.AudioBaseSink.abi_info.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // thread
|
|
|
|
, null
|
|
|
|
, "_gst_reserved"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("_gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
|
|
|
|
, "thread"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _abi_info;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|