mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-28 19:20:35 +00:00
413 lines
15 KiB
C#
413 lines
15 KiB
C#
// This file was generated by the Gtk# code generator.
|
|
// Any changes made will be lost if regenerated.
|
|
|
|
namespace Gst.Rtsp {
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
#region Autogenerated code
|
|
public partial class RTSPExtensionAdapter : GLib.GInterfaceAdapter, Gst.Rtsp.IRTSPExtension {
|
|
|
|
[StructLayout (LayoutKind.Sequential)]
|
|
struct GstRTSPExtensionInterface {
|
|
public DetectServerNativeDelegate DetectServer;
|
|
public BeforeSendNativeDelegate BeforeSend;
|
|
public AfterSendNativeDelegate AfterSend;
|
|
public ParseSdpNativeDelegate ParseSdp;
|
|
public SetupMediaNativeDelegate SetupMedia;
|
|
public ConfigureStreamNativeDelegate ConfigureStream;
|
|
public GetTransportsNativeDelegate GetTransports;
|
|
public StreamSelectNativeDelegate StreamSelect;
|
|
IntPtr SendEvent;
|
|
public ReceiveRequestNativeDelegate ReceiveRequest;
|
|
[MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
|
|
private IntPtr[] _gstGstReserved;
|
|
}
|
|
|
|
static GstRTSPExtensionInterface iface;
|
|
|
|
static RTSPExtensionAdapter ()
|
|
{
|
|
GLib.GType.Register (_gtype, typeof (RTSPExtensionAdapter));
|
|
iface.DetectServer = new DetectServerNativeDelegate (DetectServer_cb);
|
|
iface.BeforeSend = new BeforeSendNativeDelegate (BeforeSend_cb);
|
|
iface.AfterSend = new AfterSendNativeDelegate (AfterSend_cb);
|
|
iface.ParseSdp = new ParseSdpNativeDelegate (ParseSdp_cb);
|
|
iface.SetupMedia = new SetupMediaNativeDelegate (SetupMedia_cb);
|
|
iface.ConfigureStream = new ConfigureStreamNativeDelegate (ConfigureStream_cb);
|
|
iface.GetTransports = new GetTransportsNativeDelegate (GetTransports_cb);
|
|
iface.StreamSelect = new StreamSelectNativeDelegate (StreamSelect_cb);
|
|
iface.ReceiveRequest = new ReceiveRequestNativeDelegate (ReceiveRequest_cb);
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate bool DetectServerNativeDelegate (IntPtr inst, IntPtr resp);
|
|
|
|
static bool DetectServer_cb (IntPtr inst, IntPtr resp)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
bool __result;
|
|
__result = __obj.DetectServer (Gst.Rtsp.RTSPMessage.New (resp));
|
|
return __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int BeforeSendNativeDelegate (IntPtr inst, IntPtr req);
|
|
|
|
static int BeforeSend_cb (IntPtr inst, IntPtr req)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.BeforeSend (Gst.Rtsp.RTSPMessage.New (req));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int AfterSendNativeDelegate (IntPtr inst, IntPtr req, IntPtr resp);
|
|
|
|
static int AfterSend_cb (IntPtr inst, IntPtr req, IntPtr resp)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.AfterSend (Gst.Rtsp.RTSPMessage.New (req), Gst.Rtsp.RTSPMessage.New (resp));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int ParseSdpNativeDelegate (IntPtr inst, IntPtr sdp, IntPtr s);
|
|
|
|
static int ParseSdp_cb (IntPtr inst, IntPtr sdp, IntPtr s)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.ParseSdp (sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (sdp, typeof (Gst.Sdp.SDPMessage), false), s == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (s, typeof (Gst.Structure), false));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int SetupMediaNativeDelegate (IntPtr inst, IntPtr media);
|
|
|
|
static int SetupMedia_cb (IntPtr inst, IntPtr media)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.SetupMedia (Gst.Sdp.SDPMedia.New (media));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate bool ConfigureStreamNativeDelegate (IntPtr inst, IntPtr caps);
|
|
|
|
static bool ConfigureStream_cb (IntPtr inst, IntPtr caps)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
bool __result;
|
|
__result = __obj.ConfigureStream (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false));
|
|
return __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int GetTransportsNativeDelegate (IntPtr inst, int protocols, IntPtr transport);
|
|
|
|
static int GetTransports_cb (IntPtr inst, int protocols, IntPtr transport)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.GetTransports ((Gst.Rtsp.RTSPLowerTrans) protocols, GLib.Marshaller.Utf8PtrToString (transport));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int StreamSelectNativeDelegate (IntPtr inst, IntPtr url);
|
|
|
|
static int StreamSelect_cb (IntPtr inst, IntPtr url)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.StreamSelect (Gst.Rtsp.RTSPUrl.New (url));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
|
delegate int ReceiveRequestNativeDelegate (IntPtr inst, IntPtr req);
|
|
|
|
static int ReceiveRequest_cb (IntPtr inst, IntPtr req)
|
|
{
|
|
try {
|
|
IRTSPExtensionImplementor __obj = GLib.Object.GetObject (inst, false) as IRTSPExtensionImplementor;
|
|
Gst.Rtsp.RTSPResult __result;
|
|
__result = __obj.ReceiveRequest (Gst.Rtsp.RTSPMessage.New (req));
|
|
return (int) __result;
|
|
} catch (Exception e) {
|
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
|
// NOTREACHED: above call does not return.
|
|
throw e;
|
|
}
|
|
}
|
|
|
|
static int class_offset = 2 * IntPtr.Size;
|
|
|
|
static void Initialize (IntPtr ptr, IntPtr data)
|
|
{
|
|
IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset);
|
|
GstRTSPExtensionInterface native_iface = (GstRTSPExtensionInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstRTSPExtensionInterface));
|
|
native_iface.DetectServer = iface.DetectServer;
|
|
native_iface.BeforeSend = iface.BeforeSend;
|
|
native_iface.AfterSend = iface.AfterSend;
|
|
native_iface.ParseSdp = iface.ParseSdp;
|
|
native_iface.SetupMedia = iface.SetupMedia;
|
|
native_iface.ConfigureStream = iface.ConfigureStream;
|
|
native_iface.GetTransports = iface.GetTransports;
|
|
native_iface.StreamSelect = iface.StreamSelect;
|
|
native_iface.ReceiveRequest = iface.ReceiveRequest;
|
|
Marshal.StructureToPtr (native_iface, ifaceptr, false);
|
|
}
|
|
|
|
GLib.Object implementor;
|
|
|
|
public RTSPExtensionAdapter ()
|
|
{
|
|
InitHandler = new GLib.GInterfaceInitHandler (Initialize);
|
|
}
|
|
|
|
public RTSPExtensionAdapter (IRTSPExtensionImplementor implementor)
|
|
{
|
|
if (implementor == null)
|
|
throw new ArgumentNullException ("implementor");
|
|
else if (!(implementor is GLib.Object))
|
|
throw new ArgumentException ("implementor must be a subclass of GLib.Object");
|
|
this.implementor = implementor as GLib.Object;
|
|
}
|
|
|
|
public RTSPExtensionAdapter (IntPtr handle)
|
|
{
|
|
if (!_gtype.IsInstance (handle))
|
|
throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle");
|
|
implementor = GLib.Object.GetObject (handle);
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern IntPtr gst_rtsp_extension_get_type();
|
|
|
|
private static GLib.GType _gtype = new GLib.GType (gst_rtsp_extension_get_type ());
|
|
|
|
public static GLib.GType GType {
|
|
get {
|
|
return _gtype;
|
|
}
|
|
}
|
|
|
|
public override GLib.GType GInterfaceGType {
|
|
get {
|
|
return _gtype;
|
|
}
|
|
}
|
|
|
|
public override IntPtr Handle {
|
|
get {
|
|
return implementor.Handle;
|
|
}
|
|
}
|
|
|
|
public IntPtr OwnedHandle {
|
|
get {
|
|
return implementor.OwnedHandle;
|
|
}
|
|
}
|
|
|
|
public static IRTSPExtension GetObject (IntPtr handle, bool owned)
|
|
{
|
|
GLib.Object obj = GLib.Object.GetObject (handle, owned);
|
|
return GetObject (obj);
|
|
}
|
|
|
|
public static IRTSPExtension GetObject (GLib.Object obj)
|
|
{
|
|
if (obj == null)
|
|
return null;
|
|
else if (obj is IRTSPExtensionImplementor)
|
|
return new RTSPExtensionAdapter (obj as IRTSPExtensionImplementor);
|
|
else if (obj as IRTSPExtension == null)
|
|
return new RTSPExtensionAdapter (obj.Handle);
|
|
else
|
|
return obj as IRTSPExtension;
|
|
}
|
|
|
|
public IRTSPExtensionImplementor Implementor {
|
|
get {
|
|
return implementor as IRTSPExtensionImplementor;
|
|
}
|
|
}
|
|
|
|
[GLib.Signal("send")]
|
|
public event Gst.Rtsp.SendEventHandler SendEvent {
|
|
add {
|
|
GLib.Object.GetObject (Handle).AddSignalHandler ("send", value, typeof (Gst.Rtsp.SendEventArgs));
|
|
}
|
|
remove {
|
|
GLib.Object.GetObject (Handle).RemoveSignalHandler ("send", value);
|
|
}
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_after_send(IntPtr raw, IntPtr req, IntPtr resp);
|
|
|
|
public Gst.Rtsp.RTSPResult AfterSend(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp) {
|
|
IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
|
|
IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
|
|
int raw_ret = gst_rtsp_extension_after_send(Handle, native_req, native_resp);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_req);
|
|
Marshal.FreeHGlobal (native_resp);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_before_send(IntPtr raw, IntPtr req);
|
|
|
|
public Gst.Rtsp.RTSPResult BeforeSend(Gst.Rtsp.RTSPMessage req) {
|
|
IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
|
|
int raw_ret = gst_rtsp_extension_before_send(Handle, native_req);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_req);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern bool gst_rtsp_extension_configure_stream(IntPtr raw, IntPtr caps);
|
|
|
|
public bool ConfigureStream(Gst.Caps caps) {
|
|
bool raw_ret = gst_rtsp_extension_configure_stream(Handle, caps == null ? IntPtr.Zero : caps.Handle);
|
|
bool ret = raw_ret;
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern bool gst_rtsp_extension_detect_server(IntPtr raw, IntPtr resp);
|
|
|
|
public bool DetectServer(Gst.Rtsp.RTSPMessage resp) {
|
|
IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
|
|
bool raw_ret = gst_rtsp_extension_detect_server(Handle, native_resp);
|
|
bool ret = raw_ret;
|
|
Marshal.FreeHGlobal (native_resp);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_get_transports(IntPtr raw, int protocols, IntPtr transport);
|
|
|
|
public Gst.Rtsp.RTSPResult GetTransports(Gst.Rtsp.RTSPLowerTrans protocols, string transport) {
|
|
IntPtr native_transport = GLib.Marshaller.StringToPtrGStrdup (transport);
|
|
int raw_ret = gst_rtsp_extension_get_transports(Handle, (int) protocols, native_transport);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
GLib.Marshaller.Free (native_transport);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_parse_sdp(IntPtr raw, IntPtr sdp, IntPtr s);
|
|
|
|
public Gst.Rtsp.RTSPResult ParseSdp(Gst.Sdp.SDPMessage sdp, Gst.Structure s) {
|
|
int raw_ret = gst_rtsp_extension_parse_sdp(Handle, sdp == null ? IntPtr.Zero : sdp.Handle, s == null ? IntPtr.Zero : s.Handle);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_receive_request(IntPtr raw, IntPtr req);
|
|
|
|
public Gst.Rtsp.RTSPResult ReceiveRequest(Gst.Rtsp.RTSPMessage req) {
|
|
IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
|
|
int raw_ret = gst_rtsp_extension_receive_request(Handle, native_req);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_req);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_send(IntPtr raw, IntPtr req, IntPtr resp);
|
|
|
|
public Gst.Rtsp.RTSPResult Send(Gst.Rtsp.RTSPMessage req, Gst.Rtsp.RTSPMessage resp) {
|
|
IntPtr native_req = GLib.Marshaller.StructureToPtrAlloc (req);
|
|
IntPtr native_resp = GLib.Marshaller.StructureToPtrAlloc (resp);
|
|
int raw_ret = gst_rtsp_extension_send(Handle, native_req, native_resp);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_req);
|
|
Marshal.FreeHGlobal (native_resp);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_setup_media(IntPtr raw, IntPtr media);
|
|
|
|
public Gst.Rtsp.RTSPResult SetupMedia(Gst.Sdp.SDPMedia media) {
|
|
IntPtr native_media = GLib.Marshaller.StructureToPtrAlloc (media);
|
|
int raw_ret = gst_rtsp_extension_setup_media(Handle, native_media);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_media);
|
|
return ret;
|
|
}
|
|
|
|
[DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
static extern int gst_rtsp_extension_stream_select(IntPtr raw, IntPtr url);
|
|
|
|
public Gst.Rtsp.RTSPResult StreamSelect(Gst.Rtsp.RTSPUrl url) {
|
|
IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
|
|
int raw_ret = gst_rtsp_extension_stream_select(Handle, native_url);
|
|
Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
|
|
Marshal.FreeHGlobal (native_url);
|
|
return ret;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|