2019-02-25 14:33:39 +00:00
|
|
|
// This file was generated by the Gtk# code generator.
|
|
|
|
// Any changes made will be lost if regenerated.
|
|
|
|
|
|
|
|
namespace Gst.Video {
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
#region Autogenerated code
|
|
|
|
public partial class VideoAggregatorPad : Gst.Base.AggregatorPad {
|
|
|
|
|
|
|
|
public VideoAggregatorPad (IntPtr raw) : base(raw) {}
|
|
|
|
|
|
|
|
protected VideoAggregatorPad() : base(IntPtr.Zero)
|
|
|
|
{
|
|
|
|
CreateNativeObject (new string [0], new GLib.Value [0]);
|
|
|
|
}
|
|
|
|
|
2020-06-17 18:36:28 +00:00
|
|
|
[GLib.Property ("max-last-buffer-repeat")]
|
|
|
|
public ulong MaxLastBufferRepeat {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("max-last-buffer-repeat");
|
|
|
|
ulong ret = (ulong) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("max-last-buffer-repeat", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-25 14:33:39 +00:00
|
|
|
[GLib.Property ("repeat-after-eos")]
|
|
|
|
public bool RepeatAfterEos {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("repeat-after-eos");
|
|
|
|
bool ret = (bool) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("repeat-after-eos", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("zorder")]
|
|
|
|
public uint Zorder {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("zorder");
|
|
|
|
uint ret = (uint) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("zorder", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Gst.Video.VideoInfo Info {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
|
|
|
|
return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static UpdateConversionInfoNativeDelegate UpdateConversionInfo_cb_delegate;
|
|
|
|
static UpdateConversionInfoNativeDelegate UpdateConversionInfoVMCallback {
|
|
|
|
get {
|
|
|
|
if (UpdateConversionInfo_cb_delegate == null)
|
|
|
|
UpdateConversionInfo_cb_delegate = new UpdateConversionInfoNativeDelegate (UpdateConversionInfo_cb);
|
|
|
|
return UpdateConversionInfo_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideUpdateConversionInfo (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideUpdateConversionInfo (gtype, UpdateConversionInfoVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideUpdateConversionInfo (GLib.GType gtype, UpdateConversionInfoNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("update_conversion_info"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void UpdateConversionInfoNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void UpdateConversionInfo_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
|
|
|
|
__obj.OnUpdateConversionInfo ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverrideUpdateConversionInfo")]
|
|
|
|
protected virtual void OnUpdateConversionInfo ()
|
|
|
|
{
|
|
|
|
InternalUpdateConversionInfo ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalUpdateConversionInfo ()
|
|
|
|
{
|
|
|
|
UpdateConversionInfoNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("update_conversion_info"));
|
|
|
|
unmanaged = (UpdateConversionInfoNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UpdateConversionInfoNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
static PrepareFrameNativeDelegate PrepareFrame_cb_delegate;
|
|
|
|
static PrepareFrameNativeDelegate PrepareFrameVMCallback {
|
|
|
|
get {
|
|
|
|
if (PrepareFrame_cb_delegate == null)
|
|
|
|
PrepareFrame_cb_delegate = new PrepareFrameNativeDelegate (PrepareFrame_cb);
|
|
|
|
return PrepareFrame_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePrepareFrame (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePrepareFrame (gtype, PrepareFrameVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePrepareFrame (GLib.GType gtype, PrepareFrameNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_frame"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate bool PrepareFrameNativeDelegate (IntPtr inst, IntPtr videoaggregator, IntPtr buffer, IntPtr prepared_frame);
|
|
|
|
|
|
|
|
static bool PrepareFrame_cb (IntPtr inst, IntPtr videoaggregator, IntPtr buffer, IntPtr prepared_frame)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
|
|
|
|
bool __result;
|
|
|
|
__result = __obj.OnPrepareFrame (GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), Gst.Video.VideoFrame.New (prepared_frame));
|
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverridePrepareFrame")]
|
|
|
|
protected virtual bool OnPrepareFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Buffer buffer, Gst.Video.VideoFrame prepared_frame)
|
|
|
|
{
|
|
|
|
return InternalPrepareFrame (videoaggregator, buffer, prepared_frame);
|
|
|
|
}
|
|
|
|
|
|
|
|
private bool InternalPrepareFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Buffer buffer, Gst.Video.VideoFrame prepared_frame)
|
|
|
|
{
|
|
|
|
PrepareFrameNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_frame"));
|
|
|
|
unmanaged = (PrepareFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareFrameNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
|
|
|
IntPtr native_prepared_frame = GLib.Marshaller.StructureToPtrAlloc (prepared_frame);
|
|
|
|
bool __result = unmanaged (this.Handle, videoaggregator == null ? IntPtr.Zero : videoaggregator.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, native_prepared_frame);
|
|
|
|
Marshal.FreeHGlobal (native_prepared_frame);
|
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static CleanFrameNativeDelegate CleanFrame_cb_delegate;
|
|
|
|
static CleanFrameNativeDelegate CleanFrameVMCallback {
|
|
|
|
get {
|
|
|
|
if (CleanFrame_cb_delegate == null)
|
|
|
|
CleanFrame_cb_delegate = new CleanFrameNativeDelegate (CleanFrame_cb);
|
|
|
|
return CleanFrame_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideCleanFrame (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideCleanFrame (gtype, CleanFrameVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideCleanFrame (GLib.GType gtype, CleanFrameNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("clean_frame"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void CleanFrameNativeDelegate (IntPtr inst, IntPtr videoaggregator, IntPtr prepared_frame);
|
|
|
|
|
|
|
|
static void CleanFrame_cb (IntPtr inst, IntPtr videoaggregator, IntPtr prepared_frame)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
|
|
|
|
__obj.OnCleanFrame (GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, Gst.Video.VideoFrame.New (prepared_frame));
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverrideCleanFrame")]
|
|
|
|
protected virtual void OnCleanFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Video.VideoFrame prepared_frame)
|
|
|
|
{
|
|
|
|
InternalCleanFrame (videoaggregator, prepared_frame);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalCleanFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Video.VideoFrame prepared_frame)
|
|
|
|
{
|
|
|
|
CleanFrameNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("clean_frame"));
|
|
|
|
unmanaged = (CleanFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CleanFrameNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
IntPtr native_prepared_frame = GLib.Marshaller.StructureToPtrAlloc (prepared_frame);
|
|
|
|
unmanaged (this.Handle, videoaggregator == null ? IntPtr.Zero : videoaggregator.Handle, native_prepared_frame);
|
|
|
|
Marshal.FreeHGlobal (native_prepared_frame);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 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("update_conversion_info"
|
|
|
|
, Gst.Base.AggregatorPad.class_abi.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // update_conversion_info
|
|
|
|
, null
|
|
|
|
, "prepare_frame"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("prepare_frame"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare_frame
|
|
|
|
, "update_conversion_info"
|
|
|
|
, "clean_frame"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("clean_frame"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // clean_frame
|
|
|
|
, "prepare_frame"
|
|
|
|
, "_gst_reserved"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("_gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
|
|
|
|
, "clean_frame"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _class_abi;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_aggregator_pad_get_type();
|
|
|
|
|
|
|
|
public static new GLib.GType GType {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_video_aggregator_pad_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_aggregator_pad_get_current_buffer(IntPtr raw);
|
|
|
|
|
|
|
|
public Gst.Buffer CurrentBuffer {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_video_aggregator_pad_get_current_buffer(Handle);
|
|
|
|
Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern IntPtr gst_video_aggregator_pad_get_prepared_frame(IntPtr raw);
|
|
|
|
|
|
|
|
public Gst.Video.VideoFrame PreparedFrame {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_video_aggregator_pad_get_prepared_frame(Handle);
|
|
|
|
Gst.Video.VideoFrame ret = Gst.Video.VideoFrame.New (raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern bool gst_video_aggregator_pad_has_current_buffer(IntPtr raw);
|
|
|
|
|
|
|
|
public bool HasCurrentBuffer {
|
|
|
|
get {
|
|
|
|
bool raw_ret = gst_video_aggregator_pad_has_current_buffer(Handle);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2019-02-25 14:33:39 +00:00
|
|
|
static extern void gst_video_aggregator_pad_set_needs_alpha(IntPtr raw, bool needs_alpha);
|
|
|
|
|
|
|
|
public bool NeedsAlpha {
|
|
|
|
set {
|
|
|
|
gst_video_aggregator_pad_set_needs_alpha(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static VideoAggregatorPad ()
|
|
|
|
{
|
|
|
|
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("info"
|
|
|
|
, Gst.Base.AggregatorPad.abi_info.Fields
|
|
|
|
, Gst.Video.VideoInfo.abi_info.Size // info
|
|
|
|
, null
|
|
|
|
, "priv"
|
|
|
|
, Gst.Video.VideoInfo.abi_info.Align
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("priv"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
|
|
|
|
, "info"
|
|
|
|
, "_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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|