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.App {
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
#region Autogenerated code
|
|
|
|
public partial class AppSrc : Gst.Base.BaseSrc, Gst.IURIHandler {
|
|
|
|
|
|
|
|
public AppSrc (IntPtr raw) : base(raw) {}
|
|
|
|
|
|
|
|
protected AppSrc() : base(IntPtr.Zero)
|
|
|
|
{
|
|
|
|
CreateNativeObject (new string [0], new GLib.Value [0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("block")]
|
|
|
|
public bool Block {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("block");
|
|
|
|
bool ret = (bool) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("block", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_app_src_get_caps(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_caps(IntPtr raw, IntPtr caps);
|
|
|
|
|
|
|
|
[GLib.Property ("caps")]
|
|
|
|
public Gst.Caps Caps {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_app_src_get_caps(Handle);
|
|
|
|
Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern ulong gst_app_src_get_current_level_buffers(IntPtr raw);
|
|
|
|
|
|
|
|
[GLib.Property ("current-level-buffers")]
|
|
|
|
public ulong CurrentLevelBuffers {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_current_level_buffers(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern ulong gst_app_src_get_current_level_bytes(IntPtr raw);
|
|
|
|
|
|
|
|
[GLib.Property ("current-level-bytes")]
|
|
|
|
public ulong CurrentLevelBytes {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_current_level_bytes(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern ulong gst_app_src_get_current_level_time(IntPtr raw);
|
|
|
|
|
|
|
|
[GLib.Property ("current-level-time")]
|
|
|
|
public ulong CurrentLevelTime {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_current_level_time(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern ulong gst_app_src_get_duration(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_duration(IntPtr raw, ulong duration);
|
|
|
|
|
|
|
|
[GLib.Property ("duration")]
|
|
|
|
public ulong Duration {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_duration(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_duration(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern bool gst_app_src_get_emit_signals(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_emit_signals(IntPtr raw, bool emit);
|
|
|
|
|
|
|
|
[GLib.Property ("emit-signals")]
|
|
|
|
public bool EmitSignals {
|
|
|
|
get {
|
|
|
|
bool raw_ret = gst_app_src_get_emit_signals(Handle);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_emit_signals(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("format")]
|
|
|
|
public Gst.Format Format {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("format");
|
|
|
|
Gst.Format ret = (Gst.Format) (Enum) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value((Enum) value);
|
|
|
|
SetProperty("format", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-10-16 20:12:36 +00:00
|
|
|
[GLib.Property ("handle-segment-change")]
|
|
|
|
public bool HandleSegmentChange {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("handle-segment-change");
|
|
|
|
bool ret = (bool) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("handle-segment-change", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-29 18:56:49 +00:00
|
|
|
[GLib.Property ("is-live")]
|
|
|
|
public bool IsLive {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("is-live");
|
|
|
|
bool ret = (bool) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("is-live", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern int gst_app_src_get_leaky_type(IntPtr raw);
|
|
|
|
|
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern void gst_app_src_set_leaky_type(IntPtr raw, int leaky);
|
|
|
|
|
|
|
|
[GLib.Property ("leaky-type")]
|
|
|
|
public Gst.App.AppLeakyType LeakyType {
|
|
|
|
get {
|
|
|
|
int raw_ret = gst_app_src_get_leaky_type(Handle);
|
|
|
|
Gst.App.AppLeakyType ret = (Gst.App.AppLeakyType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_leaky_type(Handle, (int) value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern ulong gst_app_src_get_max_buffers(IntPtr raw);
|
|
|
|
|
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern void gst_app_src_set_max_buffers(IntPtr raw, ulong max);
|
|
|
|
|
|
|
|
[GLib.Property ("max-buffers")]
|
|
|
|
public ulong MaxBuffers {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_max_buffers(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_max_buffers(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern ulong gst_app_src_get_max_bytes(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_max_bytes(IntPtr raw, ulong max);
|
|
|
|
|
|
|
|
[GLib.Property ("max-bytes")]
|
|
|
|
public ulong MaxBytes {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_max_bytes(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_max_bytes(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("max-latency")]
|
|
|
|
public long MaxLatency {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("max-latency");
|
|
|
|
long ret = (long) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("max-latency", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern ulong gst_app_src_get_max_time(IntPtr raw);
|
|
|
|
|
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
|
|
static extern void gst_app_src_set_max_time(IntPtr raw, ulong max);
|
|
|
|
|
|
|
|
[GLib.Property ("max-time")]
|
|
|
|
public ulong MaxTime {
|
|
|
|
get {
|
|
|
|
ulong raw_ret = gst_app_src_get_max_time(Handle);
|
|
|
|
ulong ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_max_time(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-29 18:56:49 +00:00
|
|
|
[GLib.Property ("min-latency")]
|
|
|
|
public long MinLatency {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("min-latency");
|
|
|
|
long ret = (long) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("min-latency", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Property ("min-percent")]
|
|
|
|
public uint MinPercent {
|
|
|
|
get {
|
|
|
|
GLib.Value val = GetProperty ("min-percent");
|
|
|
|
uint ret = (uint) val;
|
|
|
|
val.Dispose ();
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
GLib.Value val = new GLib.Value(value);
|
|
|
|
SetProperty("min-percent", val);
|
|
|
|
val.Dispose ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern long gst_app_src_get_size(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_size(IntPtr raw, long size);
|
|
|
|
|
|
|
|
[GLib.Property ("size")]
|
|
|
|
public long Size {
|
|
|
|
get {
|
|
|
|
long raw_ret = gst_app_src_get_size(Handle);
|
|
|
|
long ret = raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_size(Handle, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_app_src_get_stream_type(IntPtr raw);
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_stream_type(IntPtr raw, int type);
|
|
|
|
|
|
|
|
[GLib.Property ("stream-type")]
|
|
|
|
public Gst.App.AppStreamType StreamType {
|
|
|
|
get {
|
|
|
|
int raw_ret = gst_app_src_get_stream_type(Handle);
|
|
|
|
Gst.App.AppStreamType ret = (Gst.App.AppStreamType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
set {
|
|
|
|
gst_app_src_set_stream_type(Handle, (int) value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-25 14:33:39 +00:00
|
|
|
[GLib.Signal("seek-data")]
|
|
|
|
public event Gst.App.SeekDataHandler SeekData {
|
2018-01-29 18:56:49 +00:00
|
|
|
add {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.AddSignalHandler ("seek-data", value, typeof (Gst.App.SeekDataArgs));
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
remove {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.RemoveSignalHandler ("seek-data", value);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Signal("push-sample")]
|
|
|
|
public event Gst.App.PushSampleEventHandler PushSampleEvent {
|
|
|
|
add {
|
|
|
|
this.AddSignalHandler ("push-sample", value, typeof (Gst.App.PushSampleEventArgs));
|
|
|
|
}
|
|
|
|
remove {
|
|
|
|
this.RemoveSignalHandler ("push-sample", value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Signal("enough-data")]
|
|
|
|
public event System.EventHandler EnoughData {
|
|
|
|
add {
|
|
|
|
this.AddSignalHandler ("enough-data", value);
|
|
|
|
}
|
|
|
|
remove {
|
|
|
|
this.RemoveSignalHandler ("enough-data", value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Signal("need-data")]
|
|
|
|
public event Gst.App.NeedDataHandler NeedData {
|
|
|
|
add {
|
|
|
|
this.AddSignalHandler ("need-data", value, typeof (Gst.App.NeedDataArgs));
|
|
|
|
}
|
|
|
|
remove {
|
|
|
|
this.RemoveSignalHandler ("need-data", value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-25 14:33:39 +00:00
|
|
|
[GLib.Signal("end-of-stream")]
|
|
|
|
public event Gst.App.EndOfStreamEventHandler EndOfStreamEvent {
|
2018-01-29 18:56:49 +00:00
|
|
|
add {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.AddSignalHandler ("end-of-stream", value, typeof (Gst.App.EndOfStreamEventArgs));
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
remove {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.RemoveSignalHandler ("end-of-stream", value);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-25 14:33:39 +00:00
|
|
|
[GLib.Signal("push-buffer")]
|
|
|
|
public event Gst.App.PushBufferEventHandler PushBufferEvent {
|
2018-01-29 18:56:49 +00:00
|
|
|
add {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.AddSignalHandler ("push-buffer", value, typeof (Gst.App.PushBufferEventArgs));
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
remove {
|
2019-02-25 14:33:39 +00:00
|
|
|
this.RemoveSignalHandler ("push-buffer", value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.Signal("push-buffer-list")]
|
|
|
|
public event Gst.App.PushBufferListEventHandler PushBufferListEvent {
|
|
|
|
add {
|
|
|
|
this.AddSignalHandler ("push-buffer-list", value, typeof (Gst.App.PushBufferListEventArgs));
|
|
|
|
}
|
|
|
|
remove {
|
|
|
|
this.RemoveSignalHandler ("push-buffer-list", value);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static NeedDataNativeDelegate NeedData_cb_delegate;
|
|
|
|
static NeedDataNativeDelegate NeedDataVMCallback {
|
|
|
|
get {
|
|
|
|
if (NeedData_cb_delegate == null)
|
|
|
|
NeedData_cb_delegate = new NeedDataNativeDelegate (NeedData_cb);
|
|
|
|
return NeedData_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideNeedData (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideNeedData (gtype, NeedDataVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideNeedData (GLib.GType gtype, NeedDataNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("need_data"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
2023-03-01 09:55:38 +00:00
|
|
|
delegate void NeedDataNativeDelegate (IntPtr inst, uint length);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
static void NeedData_cb (IntPtr inst, uint length)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
2023-03-01 09:55:38 +00:00
|
|
|
__obj.OnNeedData (length);
|
2018-01-29 18:56:49 +00:00
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideNeedData")]
|
2023-03-01 09:55:38 +00:00
|
|
|
protected virtual void OnNeedData (uint length)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
2023-03-01 09:55:38 +00:00
|
|
|
InternalNeedData (length);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
private void InternalNeedData (uint length)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
NeedDataNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("need_data"));
|
|
|
|
unmanaged = (NeedDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NeedDataNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
unmanaged (this.Handle, length);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static EnoughDataNativeDelegate EnoughData_cb_delegate;
|
|
|
|
static EnoughDataNativeDelegate EnoughDataVMCallback {
|
|
|
|
get {
|
|
|
|
if (EnoughData_cb_delegate == null)
|
|
|
|
EnoughData_cb_delegate = new EnoughDataNativeDelegate (EnoughData_cb);
|
|
|
|
return EnoughData_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideEnoughData (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideEnoughData (gtype, EnoughDataVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideEnoughData (GLib.GType gtype, EnoughDataNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("enough_data"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate void EnoughDataNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static void EnoughData_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
__obj.OnEnoughData ();
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideEnoughData")]
|
|
|
|
protected virtual void OnEnoughData ()
|
|
|
|
{
|
|
|
|
InternalEnoughData ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void InternalEnoughData ()
|
|
|
|
{
|
|
|
|
EnoughDataNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("enough_data"));
|
|
|
|
unmanaged = (EnoughDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EnoughDataNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return;
|
|
|
|
|
|
|
|
unmanaged (this.Handle);
|
|
|
|
}
|
|
|
|
|
|
|
|
static SeekDataNativeDelegate SeekData_cb_delegate;
|
|
|
|
static SeekDataNativeDelegate SeekDataVMCallback {
|
|
|
|
get {
|
|
|
|
if (SeekData_cb_delegate == null)
|
|
|
|
SeekData_cb_delegate = new SeekDataNativeDelegate (SeekData_cb);
|
|
|
|
return SeekData_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideSeekData (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideSeekData (gtype, SeekDataVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideSeekData (GLib.GType gtype, SeekDataNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("seek_data"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
2023-03-01 09:55:38 +00:00
|
|
|
delegate bool SeekDataNativeDelegate (IntPtr inst, ulong offset);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
static bool SeekData_cb (IntPtr inst, ulong offset)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
bool __result;
|
2023-03-01 09:55:38 +00:00
|
|
|
__result = __obj.OnSeekData (offset);
|
2018-01-29 18:56:49 +00:00
|
|
|
return __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideSeekData")]
|
2023-03-01 09:55:38 +00:00
|
|
|
protected virtual bool OnSeekData (ulong offset)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
2023-03-01 09:55:38 +00:00
|
|
|
return InternalSeekData (offset);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
private bool InternalSeekData (ulong offset)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
SeekDataNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("seek_data"));
|
|
|
|
unmanaged = (SeekDataNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SeekDataNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return false;
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
bool __result = unmanaged (this.Handle, offset);
|
2018-01-29 18:56:49 +00:00
|
|
|
return __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static PushBufferEventNativeDelegate PushBufferEvent_cb_delegate;
|
|
|
|
static PushBufferEventNativeDelegate PushBufferEventVMCallback {
|
|
|
|
get {
|
|
|
|
if (PushBufferEvent_cb_delegate == null)
|
|
|
|
PushBufferEvent_cb_delegate = new PushBufferEventNativeDelegate (PushBufferEvent_cb);
|
|
|
|
return PushBufferEvent_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushBufferEvent (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePushBufferEvent (gtype, PushBufferEventVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushBufferEvent (GLib.GType gtype, PushBufferEventNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
2023-03-01 09:55:38 +00:00
|
|
|
delegate int PushBufferEventNativeDelegate (IntPtr inst, IntPtr buffer);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
static int PushBufferEvent_cb (IntPtr inst, IntPtr buffer)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
Gst.FlowReturn __result;
|
2023-03-01 09:55:38 +00:00
|
|
|
__result = __obj.OnPushBufferEvent (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false));
|
2018-01-29 18:56:49 +00:00
|
|
|
return (int) __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushBufferEvent")]
|
2023-03-01 09:55:38 +00:00
|
|
|
protected virtual Gst.FlowReturn OnPushBufferEvent (Gst.Buffer buffer)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
2023-03-01 09:55:38 +00:00
|
|
|
return InternalPushBufferEvent (buffer);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
private Gst.FlowReturn InternalPushBufferEvent (Gst.Buffer buffer)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
PushBufferEventNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer"));
|
|
|
|
unmanaged = (PushBufferEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushBufferEventNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return (Gst.FlowReturn) 0;
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
int __result = unmanaged (this.Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
|
2018-01-29 18:56:49 +00:00
|
|
|
return (Gst.FlowReturn) __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static EndOfStreamEventNativeDelegate EndOfStreamEvent_cb_delegate;
|
|
|
|
static EndOfStreamEventNativeDelegate EndOfStreamEventVMCallback {
|
|
|
|
get {
|
|
|
|
if (EndOfStreamEvent_cb_delegate == null)
|
|
|
|
EndOfStreamEvent_cb_delegate = new EndOfStreamEventNativeDelegate (EndOfStreamEvent_cb);
|
|
|
|
return EndOfStreamEvent_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideEndOfStreamEvent (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverrideEndOfStreamEvent (gtype, EndOfStreamEventVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverrideEndOfStreamEvent (GLib.GType gtype, EndOfStreamEventNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("end_of_stream"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
|
|
delegate int EndOfStreamEventNativeDelegate (IntPtr inst);
|
|
|
|
|
|
|
|
static int EndOfStreamEvent_cb (IntPtr inst)
|
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
Gst.FlowReturn __result;
|
|
|
|
__result = __obj.OnEndOfStreamEvent ();
|
|
|
|
return (int) __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideEndOfStreamEvent")]
|
|
|
|
protected virtual Gst.FlowReturn OnEndOfStreamEvent ()
|
|
|
|
{
|
|
|
|
return InternalEndOfStreamEvent ();
|
|
|
|
}
|
|
|
|
|
|
|
|
private Gst.FlowReturn InternalEndOfStreamEvent ()
|
|
|
|
{
|
|
|
|
EndOfStreamEventNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("end_of_stream"));
|
|
|
|
unmanaged = (EndOfStreamEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EndOfStreamEventNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return (Gst.FlowReturn) 0;
|
|
|
|
|
|
|
|
int __result = unmanaged (this.Handle);
|
|
|
|
return (Gst.FlowReturn) __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static PushSampleEventNativeDelegate PushSampleEvent_cb_delegate;
|
|
|
|
static PushSampleEventNativeDelegate PushSampleEventVMCallback {
|
|
|
|
get {
|
|
|
|
if (PushSampleEvent_cb_delegate == null)
|
|
|
|
PushSampleEvent_cb_delegate = new PushSampleEventNativeDelegate (PushSampleEvent_cb);
|
|
|
|
return PushSampleEvent_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushSampleEvent (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePushSampleEvent (gtype, PushSampleEventVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushSampleEvent (GLib.GType gtype, PushSampleEventNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_sample"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
2023-03-01 09:55:38 +00:00
|
|
|
delegate int PushSampleEventNativeDelegate (IntPtr inst, IntPtr sample);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
static int PushSampleEvent_cb (IntPtr inst, IntPtr sample)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
Gst.FlowReturn __result;
|
2023-03-01 09:55:38 +00:00
|
|
|
__result = __obj.OnPushSampleEvent (sample == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (sample, typeof (Gst.Sample), false));
|
2018-01-29 18:56:49 +00:00
|
|
|
return (int) __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushSampleEvent")]
|
2023-03-01 09:55:38 +00:00
|
|
|
protected virtual Gst.FlowReturn OnPushSampleEvent (Gst.Sample sample)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
2023-03-01 09:55:38 +00:00
|
|
|
return InternalPushSampleEvent (sample);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
private Gst.FlowReturn InternalPushSampleEvent (Gst.Sample sample)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
PushSampleEventNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_sample"));
|
|
|
|
unmanaged = (PushSampleEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushSampleEventNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return (Gst.FlowReturn) 0;
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
int __result = unmanaged (this.Handle, sample == null ? IntPtr.Zero : sample.Handle);
|
2018-01-29 18:56:49 +00:00
|
|
|
return (Gst.FlowReturn) __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
static PushBufferListEventNativeDelegate PushBufferListEvent_cb_delegate;
|
|
|
|
static PushBufferListEventNativeDelegate PushBufferListEventVMCallback {
|
|
|
|
get {
|
|
|
|
if (PushBufferListEvent_cb_delegate == null)
|
|
|
|
PushBufferListEvent_cb_delegate = new PushBufferListEventNativeDelegate (PushBufferListEvent_cb);
|
|
|
|
return PushBufferListEvent_cb_delegate;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushBufferListEvent (GLib.GType gtype)
|
|
|
|
{
|
|
|
|
OverridePushBufferListEvent (gtype, PushBufferListEventVMCallback);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void OverridePushBufferListEvent (GLib.GType gtype, PushBufferListEventNativeDelegate callback)
|
|
|
|
{
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer_list"));
|
|
|
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
2023-03-01 09:55:38 +00:00
|
|
|
delegate int PushBufferListEventNativeDelegate (IntPtr inst, IntPtr buffer_list);
|
2018-01-29 18:56:49 +00:00
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
static int PushBufferListEvent_cb (IntPtr inst, IntPtr buffer_list)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
try {
|
|
|
|
AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
|
|
|
|
Gst.FlowReturn __result;
|
2023-03-01 09:55:38 +00:00
|
|
|
__result = __obj.OnPushBufferListEvent (buffer_list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (buffer_list, typeof (Gst.BufferList), false));
|
2018-01-29 18:56:49 +00:00
|
|
|
return (int) __result;
|
|
|
|
} catch (Exception e) {
|
|
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
|
|
// NOTREACHED: above call does not return.
|
|
|
|
throw e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverridePushBufferListEvent")]
|
2023-03-01 09:55:38 +00:00
|
|
|
protected virtual Gst.FlowReturn OnPushBufferListEvent (Gst.BufferList buffer_list)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
2023-03-01 09:55:38 +00:00
|
|
|
return InternalPushBufferListEvent (buffer_list);
|
2018-01-29 18:56:49 +00:00
|
|
|
}
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
private Gst.FlowReturn InternalPushBufferListEvent (Gst.BufferList buffer_list)
|
2018-01-29 18:56:49 +00:00
|
|
|
{
|
|
|
|
PushBufferListEventNativeDelegate unmanaged = null;
|
|
|
|
unsafe {
|
|
|
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("push_buffer_list"));
|
|
|
|
unmanaged = (PushBufferListEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PushBufferListEventNativeDelegate));
|
|
|
|
}
|
|
|
|
if (unmanaged == null) return (Gst.FlowReturn) 0;
|
|
|
|
|
2023-03-01 09:55:38 +00:00
|
|
|
int __result = unmanaged (this.Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
|
2018-01-29 18:56:49 +00:00
|
|
|
return (Gst.FlowReturn) __result;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 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("need_data"
|
|
|
|
, Gst.Base.BaseSrc.class_abi.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // need_data
|
|
|
|
, null
|
|
|
|
, "enough_data"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("enough_data"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // enough_data
|
|
|
|
, "need_data"
|
|
|
|
, "seek_data"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("seek_data"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // seek_data
|
|
|
|
, "enough_data"
|
|
|
|
, "push_buffer"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("push_buffer"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // push_buffer
|
|
|
|
, "seek_data"
|
|
|
|
, "end_of_stream"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("end_of_stream"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // end_of_stream
|
|
|
|
, "push_buffer"
|
|
|
|
, "push_sample"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("push_sample"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // push_sample
|
|
|
|
, "end_of_stream"
|
|
|
|
, "push_buffer_list"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("push_buffer_list"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // push_buffer_list
|
|
|
|
, "push_sample"
|
|
|
|
, "_gst_reserved"
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
new GLib.AbiField("_gst_reserved"
|
|
|
|
, -1
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 2 // _gst_reserved
|
|
|
|
, "push_buffer_list"
|
|
|
|
, null
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
|
|
|
, 0
|
|
|
|
),
|
|
|
|
});
|
|
|
|
|
|
|
|
return _class_abi;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// End of the ABI representation.
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern IntPtr gst_app_src_get_type();
|
|
|
|
|
|
|
|
public static new GLib.GType GType {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_app_src_get_type();
|
|
|
|
GLib.GType ret = new GLib.GType(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_app_src_end_of_stream(IntPtr raw);
|
|
|
|
|
|
|
|
public Gst.FlowReturn EndOfStream() {
|
|
|
|
int raw_ret = gst_app_src_end_of_stream(Handle);
|
|
|
|
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_get_latency(IntPtr raw, out ulong min, out ulong max);
|
|
|
|
|
|
|
|
public void GetLatency(out ulong min, out ulong max) {
|
|
|
|
gst_app_src_get_latency(Handle, out min, out max);
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_app_src_push_buffer(IntPtr raw, IntPtr buffer);
|
|
|
|
|
|
|
|
public Gst.FlowReturn PushBuffer(Gst.Buffer buffer) {
|
|
|
|
buffer.Owned = false;
|
|
|
|
int raw_ret = gst_app_src_push_buffer(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
|
|
|
|
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_app_src_push_buffer_list(IntPtr raw, IntPtr buffer_list);
|
|
|
|
|
|
|
|
public Gst.FlowReturn PushBufferList(Gst.BufferList buffer_list) {
|
|
|
|
buffer_list.Owned = false;
|
|
|
|
int raw_ret = gst_app_src_push_buffer_list(Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
|
|
|
|
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern int gst_app_src_push_sample(IntPtr raw, IntPtr sample);
|
|
|
|
|
|
|
|
public Gst.FlowReturn PushSample(Gst.Sample sample) {
|
|
|
|
int raw_ret = gst_app_src_push_sample(Handle, sample == null ? IntPtr.Zero : sample.Handle);
|
|
|
|
Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2019-10-24 14:00:17 +00:00
|
|
|
[DllImport("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
2018-01-29 18:56:49 +00:00
|
|
|
static extern void gst_app_src_set_latency(IntPtr raw, ulong min, ulong max);
|
|
|
|
|
|
|
|
public void SetLatency(ulong min, ulong max) {
|
|
|
|
gst_app_src_set_latency(Handle, min, max);
|
|
|
|
}
|
|
|
|
|
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_uri_handler_get_uri(IntPtr raw);
|
|
|
|
|
|
|
|
public string Uri {
|
|
|
|
get {
|
|
|
|
IntPtr raw_ret = gst_uri_handler_get_uri(Handle);
|
|
|
|
string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 int gst_uri_handler_get_uri_type(IntPtr raw);
|
|
|
|
|
|
|
|
public Gst.URIType UriType {
|
|
|
|
get {
|
|
|
|
int raw_ret = gst_uri_handler_get_uri_type(Handle);
|
|
|
|
Gst.URIType ret = (Gst.URIType) raw_ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
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 bool gst_uri_handler_set_uri(IntPtr raw, IntPtr uri, out IntPtr error);
|
|
|
|
|
|
|
|
public bool SetUri(string uri) {
|
|
|
|
IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
|
|
|
|
IntPtr error = IntPtr.Zero;
|
|
|
|
bool raw_ret = gst_uri_handler_set_uri(Handle, native_uri, out error);
|
|
|
|
bool ret = raw_ret;
|
|
|
|
GLib.Marshaller.Free (native_uri);
|
|
|
|
if (error != IntPtr.Zero) throw new GLib.GException (error);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static AppSrc ()
|
|
|
|
{
|
|
|
|
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("priv"
|
|
|
|
, Gst.Base.BaseSrc.abi_info.Fields
|
|
|
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
|
|
|
|
, null
|
|
|
|
, "_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
|
|
|
|
}
|
|
|
|
}
|