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 {
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
#region Autogenerated code
|
|
|
|
public partial class PadTemplate : Gst.Object {
|
|
|
|
|
|
|
|
public PadTemplate (IntPtr raw) : base(raw) {}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_pad_template_new(IntPtr name_template, int direction, int presence, IntPtr caps);
|
|
|
|
|
|
|
|
public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps) : base (IntPtr.Zero)
|
|
|
|
{
|
|
|
|
if (GetType () != typeof (PadTemplate)) {
|
|
|
|
var vals = new List<GLib.Value> ();
|
|
|
|
var names = new List<string> ();
|
|
|
|
names.Add ("name_template");
|
|
|
|
vals.Add (new GLib.Value (name_template));
|
|
|
|
names.Add ("direction");
|
|
|
|
vals.Add (new GLib.Value (direction));
|
|
|
|
names.Add ("presence");
|
|
|
|
vals.Add (new GLib.Value (presence));
|
|
|
|
if (caps != null) {
|
|
|
|
names.Add ("caps");
|
|
|
|
vals.Add (new GLib.Value (caps));
|
|
|
|
}
|
|
|
|
CreateNativeObject (names.ToArray (), vals.ToArray ());
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup (name_template);
|
|
|
|
Raw = gst_pad_template_new(native_name_template, (int) direction, (int) presence, caps == null ? IntPtr.Zero : caps.Handle);
|
|
|
|
GLib.Marshaller.Free (native_name_template);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_pad_template_new_from_static_pad_template_with_gtype(IntPtr pad_template, IntPtr pad_type);
|
|
|
|
|
|
|
|
public PadTemplate (Gst.StaticPadTemplate pad_template, GLib.GType pad_type) : base (IntPtr.Zero)
|
|
|
|
{
|
|
|
|
if (GetType () != typeof (PadTemplate)) {
|
|
|
|
var vals = new List<GLib.Value> ();
|
|
|
|
var names = new List<string> ();
|
|
|
|
CreateNativeObject (names.ToArray (), vals.ToArray ());
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
IntPtr native_pad_template = GLib.Marshaller.StructureToPtrAlloc (pad_template);
|
|
|
|
Raw = gst_pad_template_new_from_static_pad_template_with_gtype(native_pad_template, pad_type.Val);
|
|
|
|
Marshal.FreeHGlobal (native_pad_template);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_pad_template_new_with_gtype(IntPtr name_template, int direction, int presence, IntPtr caps, IntPtr pad_type);
|
|
|
|
|
|
|
|
public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps, GLib.GType pad_type) : base (IntPtr.Zero)
|
|
|
|
{
|
|
|
|
if (GetType () != typeof (PadTemplate)) {
|
|
|
|
var vals = new List<GLib.Value> ();
|
|
|
|
var names = new List<string> ();
|
|
|
|
names.Add ("name_template");
|
|
|
|
vals.Add (new GLib.Value (name_template));
|
|
|
|
names.Add ("direction");
|
|
|
|
vals.Add (new GLib.Value (direction));
|
|
|
|
names.Add ("presence");
|
|
|
|
vals.Add (new GLib.Value (presence));
|
|
|
|
if (caps != null) {
|
|
|
|
names.Add ("caps");
|
|
|
|
vals.Add (new GLib.Value (caps));
|
|
|
|
}
|
|
|
|
CreateNativeObject (names.ToArray (), vals.ToArray ());
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup (name_template);
|
|
|
|
Raw = gst_pad_template_new_with_gtype(native_name_template, (int) direction, (int) presence, caps == null ? IntPtr.Zero : caps.Handle, pad_type.Val);
|
|
|
|
GLib.Marshaller.Free (native_name_template);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_pad_template_get_caps(IntPtr raw);
|
|
|
|
|
|
|
|
[GLib.Property ("caps")]
|
|
|
|
public Gst.Caps Caps {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_pad_template_get_caps(Handle);
|
|
|
|
Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("direction")]
|
|
|
|
public Gst.PadDirection Direction {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("direction");
|
|
|
|
Gst.PadDirection ret = (Gst.PadDirection) (Enum) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("gtype")]
|
|
|
|
public GLib.GType Gtype {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("gtype");
|
|
|
|
GLib.GType ret = (GLib.GType) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("name-template")]
|
|
|
|
public string NameTemplate {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("name-template");
|
|
|
|
string ret = (string) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("presence")]
|
|
|
|
public Gst.PadPresence Presence {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("presence");
|
|
|
|
Gst.PadPresence ret = (Gst.PadPresence) (Enum) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public string NameTemplateField {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("name_template"));
|
|
|
|
return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Gst.PadDirection DirectionField {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction"));
|
|
|
|
return (Gst.PadDirection) (*raw_ptr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Gst.PadPresence PresenceField {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("presence"));
|
|
|
|
return (Gst.PadPresence) (*raw_ptr);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public Gst.Caps CapsField {
|
|
|
|
get {
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("caps"));
|
|
|
|
return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Caps), false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Signal("pad-created")]
|
|
|
|
public event Gst.PadCreatedEventHandler PadCreatedEvent {
|
|
|
|
add {
|
|
|
|
this.AddSignalHandler ("pad-created", value, typeof (Gst.PadCreatedEventArgs));
|
|
|
|
}
|
|
|
|
remove {
|
|
|
|
this.RemoveSignalHandler ("pad-created", value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static PadCreatedEventNativeDelegate PadCreatedEvent_cb_delegate;
|
|
|
|
static PadCreatedEventNativeDelegate PadCreatedEventVMCallback {
|
|
|
|
get {
|
|
|
|
if (PadCreatedEvent_cb_delegate == null)
|
|
|
|
PadCreatedEvent_cb_delegate = new PadCreatedEventNativeDelegate (PadCreatedEvent_cb);
|
|
|
|
return PadCreatedEvent_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePadCreatedEvent (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePadCreatedEvent (gtype, PadCreatedEventVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePadCreatedEvent (GLib.GType gtype, PadCreatedEventNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_created"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void PadCreatedEventNativeDelegate (IntPtr inst, IntPtr pad);
|
|
|
|
|
|
|
|
static void PadCreatedEvent_cb (IntPtr inst, IntPtr pad)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
PadTemplate __obj = GLib.Object.GetObject (inst, false) as PadTemplate;
|
|
|
|
__obj.OnPadCreatedEvent (GLib.Object.GetObject(pad) as Gst.Pad);
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.PadTemplate), ConnectionMethod="OverridePadCreatedEvent")]
|
|
|
|
protected virtual void OnPadCreatedEvent (Gst.Pad pad)
|
|
|
|
{
|
|
|
|
InternalPadCreatedEvent (pad);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalPadCreatedEvent (Gst.Pad pad)
|
|
|
|
{
|
|
|
|
PadCreatedEventNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pad_created"));
|
|
|
|
unmanaged = (PadCreatedEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PadCreatedEventNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle, pad == null ? IntPtr.Zero : pad.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 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("pad_created"
|
|
|
|
, Gst.Object.class_abi.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // pad_created
|
|
|
|
, null
|
|
|
|
, "_gst_reserved"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("_gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
|
|
|
|
, "pad_created"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _class_abi;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_pad_template_get_type();
|
|
|
|
|
|
|
|
public static new GLib.GType GType {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_pad_template_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-06-17 18:36:28 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern IntPtr gst_pad_template_get_documentation_caps(IntPtr raw);
|
|
|
|
|
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern void gst_pad_template_set_documentation_caps(IntPtr raw, IntPtr caps);
|
|
|
|
|
|
|
|
public Gst.Caps DocumentationCaps {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_pad_template_get_documentation_caps(Handle);
|
|
|
|
Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
2020-10-16 20:12:36 +00:00
|
|
|
value.Owned = false;
|
2020-06-17 18:36:28 +00:00
|
|
|
gst_pad_template_set_documentation_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_pad_template_pad_created(IntPtr raw, IntPtr pad);
|
|
|
|
|
|
|
|
public void PadCreated(Gst.Pad pad) {
|
|
|
|
gst_pad_template_pad_created(Handle, pad == null ? IntPtr.Zero : pad.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 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("name_template"
|
|
|
|
, Gst.Object.abi_info.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // name_template
|
|
|
|
, null
|
|
|
|
, "direction"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("direction"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadDirection))) // direction
|
|
|
|
, "name_template"
|
|
|
|
, "presence"
|
|
|
|
, (long) Marshal.OffsetOf(typeof(GstPadTemplate_directionAlign), "direction")
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("presence"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.PadPresence))) // presence
|
|
|
|
, "direction"
|
|
|
|
, "caps"
|
|
|
|
, (long) Marshal.OffsetOf(typeof(GstPadTemplate_presenceAlign), "presence")
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("caps"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // caps
|
|
|
|
, "presence"
|
|
|
|
, "ABI"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
// union struct ABI
|
|
|
|
new GLib.AbiField("ABI._gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // ABI._gst_reserved
|
|
|
|
, "caps"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
// End ABI
|
|
|
|
|
|
|
|
// union struct ABI.abi
|
|
|
|
new GLib.AbiField("ABI.abi.gtype"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(GLib.GType)) // ABI.abi.gtype
|
|
|
|
, "caps"
|
2020-06-17 18:36:28 +00:00
|
|
|
, "ABI.abi.documentation_caps"
|
2018-01-29 18:56:49 +00:00
|
|
|
, (long) Marshal.OffsetOf(typeof(GstPadTemplate_ABI_abi_gtypeAlign), "ABI_abi_gtype")
|
|
|
|
, 0
|
|
|
|
),
|
2020-06-17 18:36:28 +00:00
|
|
|
new GLib.AbiField("ABI.abi.documentation_caps"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // ABI.abi.documentation_caps
|
|
|
|
, "ABI.abi.gtype"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
2018-01-29 18:56:49 +00:00
|
|
|
// End ABI.abi
|
|
|
|
|
|
|
|
new GLib.AbiField("ABI"
|
|
|
|
, -1
|
|
|
|
, new List<List<string>>() { // union ABI
|
|
|
|
new List<string>() {"ABI._gst_reserved"},
|
2020-06-17 18:36:28 +00:00
|
|
|
new List<string>() {"ABI.abi.gtype","ABI.abi.documentation_caps"}
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
, "caps"
|
|
|
|
, null
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _abi_info;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
public struct GstPadTemplate_directionAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private Gst.PadDirection direction;
|
|
|
|
}
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
public struct GstPadTemplate_presenceAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private Gst.PadPresence presence;
|
|
|
|
}
|
|
|
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
public struct GstPadTemplate_ABI_abi_gtypeAlign
|
|
|
|
{
|
|
|
|
sbyte f1;
|
|
|
|
private GLib.GType ABI_abi_gtype;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|