csharp: Add GstRtspServer bindings
authorPiotr Brzeziński <piotr@centricular.com>
Mon, 22 Jan 2024 20:07:40 +0000 (21:07 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 21 Feb 2024 19:00:50 +0000 (19:00 +0000)
With a few unnecessary gst_rtsp_stream_transport_* methods manually disabled to avoid compilation errors.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961>

106 files changed:
subprojects/gstreamer-sharp/meson.build
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AcceptCertificateHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AnnounceRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/ClientConnectedHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Constants.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/DescribeRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/GetParameterRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Global.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendMessagesFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSessionFilterFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPKeepAliveFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncFullNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendListFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPServerClientFilterFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionFilterFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPStreamTransportFilterFuncNative.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleMessageHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleResponseHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConfigureHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConstructedHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtcpEncoderHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpEncoderHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpRtcpDecoderHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewSessionHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStateHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStreamHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/OptionsRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PauseRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PlayRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreAnnounceRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreDescribeRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreGetParameterRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreOptionsRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePauseRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePlayRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreRecordRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetParameterRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetupRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreTeardownRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddress.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressFlags.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPool.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPoolResult.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAuth.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClient.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendMessagesFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSessionFilterFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPContext.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPFilterResult.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPKeepAliveFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMedia.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactory.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactoryURI.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaStatus.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFuncFull.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMountPoints.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifClient.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMedia.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMediaFactory.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifServer.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPermissions.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPublishClockMode.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendListFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServer.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServerClientFilterFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSession.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionFilterFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionMedia.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPool.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFilterFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStream.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransport.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransportFilterFunc.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSuspendMode.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThread.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadPool.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadType.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPToken.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPTransportMode.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RecordRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RemovedStreamHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SDPInfo.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SendMessageEventHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SessionRemovedHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetParameterRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetupRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TargetStateHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TeardownRequestHandler.cs [new file with mode: 0644]
subprojects/gstreamer-sharp/sources/generated/GtkSharp/ObjectManager.cs
subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.c
subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.cs
subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml
subprojects/gstreamer-sharp/sources/generated/meson.build
subprojects/gstreamer-sharp/sources/gstreamer-sharp-api.raw
subprojects/gstreamer-sharp/sources/gstreamer-sharp.dll.config
subprojects/gstreamer-sharp/sources/gstreamer-sharp.metadata
subprojects/gstreamer-sharp/sources/meson.build

index 5dc3c72be1d114897f47b5c7ec5cf92784fe9cdf..c930ae373ac460e25af53a1ffe3444463469daed 100644 (file)
@@ -77,6 +77,7 @@ gst_deps_defs = [
   ['gstreamer-tag', ['gst-plugins-base', 'tag_dep'], 'gsttag'],
   ['gstreamer-video', ['gst-plugins-base', 'video_dep'], 'gstvideo'],
   ['gstreamer-webrtc', ['gst-plugins-bad', 'gstwebrtc_dep'], 'gstwebrtc'],
+  ['gstreamer-rtsp-server', ['gst-rtsp-server', 'gst_rtsp_server_dep'], 'gst_rtsp_server'],
 ]
 
 foreach dep: gst_deps_defs
@@ -177,7 +178,7 @@ endif
 if codegen_enabled
     env = environment()
     env.set('GI_TYPELIB_PATH', girs_dir)
-    merge_with = '--merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstNet-1.0,GstPbutils-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0,GstWebRTC-1.0'
+    merge_with = '--merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstNet-1.0,GstPbutils-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0,GstWebRTC-1.0,GstRtspServer-1.0'
     run_target('bindinate_gstreamer',
         command: ['sh', '-c',
             '''@0@ --name=gstreamer --regenerate=true @3@ --gir=Gst-1.0 --out=@1@ && mv @1@/sources/gstreamer-sharp-api.raw @2@/sources/gstreamer-sharp-api.raw '''.format(
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AcceptCertificateHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AcceptCertificateHandler.cs
new file mode 100644 (file)
index 0000000..1813c37
--- /dev/null
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void AcceptCertificateHandler(object o, AcceptCertificateArgs args);
+
+       public class AcceptCertificateArgs : GLib.SignalArgs {
+               public GLib.TlsConnection Connection{
+                       get {
+                               return (GLib.TlsConnection) Args [0];
+                       }
+               }
+
+               public GLib.TlsCertificate PeerCert{
+                       get {
+                               return (GLib.TlsCertificate) Args [1];
+                       }
+               }
+
+               public GLib.TlsCertificateFlags Errors{
+                       get {
+                               return (GLib.TlsCertificateFlags) Args [2];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AnnounceRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/AnnounceRequestHandler.cs
new file mode 100644 (file)
index 0000000..206c450
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void AnnounceRequestHandler(object o, AnnounceRequestArgs args);
+
+       public class AnnounceRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/ClientConnectedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/ClientConnectedHandler.cs
new file mode 100644 (file)
index 0000000..519f897
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void ClientConnectedHandler(object o, ClientConnectedArgs args);
+
+       public class ClientConnectedArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPClient Object{
+                       get {
+                               return (Gst.RtspServer.RTSPClient) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Constants.cs
new file mode 100644 (file)
index 0000000..7cbd5cc
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Constants {
+
+               public const string RTSP_ADDRESS_POOL_ANY_IPV4 = @"0.0.0.0";
+               public const string RTSP_ADDRESS_POOL_ANY_IPV6 = @"::";
+               public const string RTSP_AUTH_CHECK_CONNECT = @"auth.check.connect";
+               public const string RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS = @"auth.check.media.factory.access";
+               public const string RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT = @"auth.check.media.factory.construct";
+               public const string RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS = @"auth.check.transport.client-settings";
+               public const string RTSP_AUTH_CHECK_URL = @"auth.check.url";
+               public const string RTSP_ONVIF_BACKCHANNEL_REQUIREMENT = @"www.onvif.org/ver20/backchannel";
+               public const string RTSP_ONVIF_REPLAY_REQUIREMENT = @"onvif-replay";
+               public const string RTSP_PERM_MEDIA_FACTORY_ACCESS = @"media.factory.access";
+               public const string RTSP_PERM_MEDIA_FACTORY_CONSTRUCT = @"media.factory.construct";
+               public const string RTSP_TOKEN_MEDIA_FACTORY_ROLE = @"media.factory.role";
+               public const string RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS = @"transport.client-settings";
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/DescribeRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/DescribeRequestHandler.cs
new file mode 100644 (file)
index 0000000..aa32f22
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void DescribeRequestHandler(object o, DescribeRequestArgs args);
+
+       public class DescribeRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/GetParameterRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/GetParameterRequestHandler.cs
new file mode 100644 (file)
index 0000000..c60cb0e
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void GetParameterRequestHandler(object o, GetParameterRequestArgs args);
+
+       public class GetParameterRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Global.cs
new file mode 100644 (file)
index 0000000..dc473bc
--- /dev/null
@@ -0,0 +1,80 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class Global {
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_context_get_type();
+
+               public static GLib.GType RtspContextGetType() {
+                       IntPtr raw_ret = gst_rtsp_context_get_type();
+                       GLib.GType ret = new GLib.GType(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_params_get(IntPtr client, IntPtr ctx);
+
+               public static Gst.Rtsp.RTSPResult RtspParamsGet(Gst.RtspServer.RTSPClient client, Gst.RtspServer.RTSPContext ctx) {
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int raw_ret = gst_rtsp_params_get(client == null ? IntPtr.Zero : client.Handle, native_ctx);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_params_set(IntPtr client, IntPtr ctx);
+
+               public static Gst.Rtsp.RTSPResult RtspParamsSet(Gst.RtspServer.RTSPClient client, Gst.RtspServer.RTSPContext ctx) {
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int raw_ret = gst_rtsp_params_set(client == null ? IntPtr.Zero : client.Handle, native_ctx);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_sdp_from_media(IntPtr sdp, IntPtr info, IntPtr media);
+
+               public static bool RtspSdpFromMedia(Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info, Gst.RtspServer.RTSPMedia media) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_rtsp_sdp_from_media(sdp == null ? IntPtr.Zero : sdp.Handle, native_info, media == null ? IntPtr.Zero : media.Handle);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_sdp_from_stream(IntPtr sdp, IntPtr info, IntPtr stream);
+
+               public static bool RtspSdpFromStream(Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info, Gst.RtspServer.RTSPStream stream) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_rtsp_sdp_from_stream(sdp == null ? IntPtr.Zero : sdp.Handle, native_info, stream == null ? IntPtr.Zero : stream.Handle);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_sdp_make_media(IntPtr sdp, IntPtr info, IntPtr stream, IntPtr caps, int profile);
+
+               public static bool RtspSdpMakeMedia(Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info, Gst.RtspServer.RTSPStream stream, Gst.Caps caps, Gst.Rtsp.RTSPProfile profile) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_rtsp_sdp_make_media(sdp == null ? IntPtr.Zero : sdp.Handle, native_info, stream == null ? IntPtr.Zero : stream.Handle, caps == null ? IntPtr.Zero : caps.Handle, (int) profile);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendFuncNative.cs
new file mode 100644 (file)
index 0000000..391ed7d
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPClientSendFuncNative(IntPtr client, IntPtr message, bool close, IntPtr user_data);
+
+       internal class RTSPClientSendFuncInvoker {
+
+               RTSPClientSendFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPClientSendFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPClientSendFuncInvoker (RTSPClientSendFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPClientSendFuncInvoker (RTSPClientSendFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPClientSendFuncInvoker (RTSPClientSendFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPClientSendFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPClientSendFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.RtspServer.RTSPClient client, Gst.Rtsp.RTSPMessage message, bool close)
+               {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       bool __result = native_cb (client == null ? IntPtr.Zero : client.Handle, native_message, close, __data);
+                       Marshal.FreeHGlobal (native_message);
+                       return __result;
+               }
+       }
+
+       internal class RTSPClientSendFuncWrapper {
+
+               public bool NativeCallback (IntPtr client, IntPtr message, bool close, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(client) as Gst.RtspServer.RTSPClient, Gst.Rtsp.RTSPMessage.New (message), close);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPClientSendFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPClientSendFunc managed;
+
+               public RTSPClientSendFuncWrapper (Gst.RtspServer.RTSPClientSendFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPClientSendFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPClientSendFunc GetManagedDelegate (RTSPClientSendFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPClientSendFuncWrapper wrapper = (RTSPClientSendFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendMessagesFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendMessagesFuncNative.cs
new file mode 100644 (file)
index 0000000..db0d12e
--- /dev/null
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPClientSendMessagesFuncNative(IntPtr client, IntPtr messages, uint n_messages, bool close, IntPtr user_data);
+
+       internal class RTSPClientSendMessagesFuncInvoker {
+
+               RTSPClientSendMessagesFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPClientSendMessagesFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPClientSendMessagesFuncInvoker (RTSPClientSendMessagesFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPClientSendMessagesFuncInvoker (RTSPClientSendMessagesFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPClientSendMessagesFuncInvoker (RTSPClientSendMessagesFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPClientSendMessagesFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPClientSendMessagesFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.RtspServer.RTSPClient client, Gst.Rtsp.RTSPMessage messages, uint n_messages, bool close)
+               {
+                       IntPtr native_messages = GLib.Marshaller.StructureToPtrAlloc (messages);
+                       bool __result = native_cb (client == null ? IntPtr.Zero : client.Handle, native_messages, n_messages, close, __data);
+                       Marshal.FreeHGlobal (native_messages);
+                       return __result;
+               }
+       }
+
+       internal class RTSPClientSendMessagesFuncWrapper {
+
+               public bool NativeCallback (IntPtr client, IntPtr messages, uint n_messages, bool close, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(client) as Gst.RtspServer.RTSPClient, Gst.Rtsp.RTSPMessage.New (messages), n_messages, close);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPClientSendMessagesFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPClientSendMessagesFunc managed;
+
+               public RTSPClientSendMessagesFuncWrapper (Gst.RtspServer.RTSPClientSendMessagesFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPClientSendMessagesFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPClientSendMessagesFunc GetManagedDelegate (RTSPClientSendMessagesFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPClientSendMessagesFuncWrapper wrapper = (RTSPClientSendMessagesFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSessionFilterFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSessionFilterFuncNative.cs
new file mode 100644 (file)
index 0000000..50b3775
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int RTSPClientSessionFilterFuncNative(IntPtr client, IntPtr sess, IntPtr user_data);
+
+       internal class RTSPClientSessionFilterFuncInvoker {
+
+               RTSPClientSessionFilterFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPClientSessionFilterFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPClientSessionFilterFuncInvoker (RTSPClientSessionFilterFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPClientSessionFilterFuncInvoker (RTSPClientSessionFilterFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPClientSessionFilterFuncInvoker (RTSPClientSessionFilterFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPClientSessionFilterFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPClientSessionFilterFunc(InvokeNative);
+                       }
+               }
+
+               Gst.RtspServer.RTSPFilterResult InvokeNative (Gst.RtspServer.RTSPClient client, Gst.RtspServer.RTSPSession sess)
+               {
+                       Gst.RtspServer.RTSPFilterResult __result = (Gst.RtspServer.RTSPFilterResult) native_cb (client == null ? IntPtr.Zero : client.Handle, sess == null ? IntPtr.Zero : sess.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPClientSessionFilterFuncWrapper {
+
+               public int NativeCallback (IntPtr client, IntPtr sess, IntPtr user_data)
+               {
+                       try {
+                               Gst.RtspServer.RTSPFilterResult __ret = managed (GLib.Object.GetObject(client) as Gst.RtspServer.RTSPClient, GLib.Object.GetObject(sess) as Gst.RtspServer.RTSPSession);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPClientSessionFilterFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPClientSessionFilterFunc managed;
+
+               public RTSPClientSessionFilterFuncWrapper (Gst.RtspServer.RTSPClientSessionFilterFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPClientSessionFilterFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPClientSessionFilterFunc GetManagedDelegate (RTSPClientSessionFilterFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPClientSessionFilterFuncWrapper wrapper = (RTSPClientSessionFilterFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPKeepAliveFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPKeepAliveFuncNative.cs
new file mode 100644 (file)
index 0000000..4685d7a
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void RTSPKeepAliveFuncNative(IntPtr user_data);
+
+       internal class RTSPKeepAliveFuncInvoker {
+
+               RTSPKeepAliveFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPKeepAliveFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPKeepAliveFuncInvoker (RTSPKeepAliveFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPKeepAliveFuncInvoker (RTSPKeepAliveFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPKeepAliveFuncInvoker (RTSPKeepAliveFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPKeepAliveFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPKeepAliveFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative ()
+               {
+                       native_cb (__data);
+               }
+       }
+
+       internal class RTSPKeepAliveFuncWrapper {
+
+               public void NativeCallback (IntPtr user_data)
+               {
+                       try {
+                               managed ();
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPKeepAliveFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPKeepAliveFunc managed;
+
+               public RTSPKeepAliveFuncWrapper (Gst.RtspServer.RTSPKeepAliveFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPKeepAliveFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPKeepAliveFunc GetManagedDelegate (RTSPKeepAliveFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPKeepAliveFuncWrapper wrapper = (RTSPKeepAliveFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncFullNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncFullNative.cs
new file mode 100644 (file)
index 0000000..ce24abe
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void RTSPMessageSentFuncFullNative(IntPtr trans, IntPtr user_data);
+
+       internal class RTSPMessageSentFuncFullInvoker {
+
+               RTSPMessageSentFuncFullNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPMessageSentFuncFullInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPMessageSentFuncFullInvoker (RTSPMessageSentFuncFullNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPMessageSentFuncFullInvoker (RTSPMessageSentFuncFullNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPMessageSentFuncFullInvoker (RTSPMessageSentFuncFullNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPMessageSentFuncFull Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPMessageSentFuncFull(InvokeNative);
+                       }
+               }
+
+               void InvokeNative (Gst.RtspServer.RTSPStreamTransport trans)
+               {
+                       native_cb (trans == null ? IntPtr.Zero : trans.Handle, __data);
+               }
+       }
+
+       internal class RTSPMessageSentFuncFullWrapper {
+
+               public void NativeCallback (IntPtr trans, IntPtr user_data)
+               {
+                       try {
+                               managed (GLib.Object.GetObject(trans) as Gst.RtspServer.RTSPStreamTransport);
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPMessageSentFuncFullNative NativeDelegate;
+               Gst.RtspServer.RTSPMessageSentFuncFull managed;
+
+               public RTSPMessageSentFuncFullWrapper (Gst.RtspServer.RTSPMessageSentFuncFull managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPMessageSentFuncFullNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPMessageSentFuncFull GetManagedDelegate (RTSPMessageSentFuncFullNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPMessageSentFuncFullWrapper wrapper = (RTSPMessageSentFuncFullWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncNative.cs
new file mode 100644 (file)
index 0000000..5396f29
--- /dev/null
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate void RTSPMessageSentFuncNative(IntPtr user_data);
+
+       internal class RTSPMessageSentFuncInvoker {
+
+               RTSPMessageSentFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPMessageSentFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPMessageSentFuncInvoker (RTSPMessageSentFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPMessageSentFuncInvoker (RTSPMessageSentFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPMessageSentFuncInvoker (RTSPMessageSentFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPMessageSentFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPMessageSentFunc(InvokeNative);
+                       }
+               }
+
+               void InvokeNative ()
+               {
+                       native_cb (__data);
+               }
+       }
+
+       internal class RTSPMessageSentFuncWrapper {
+
+               public void NativeCallback (IntPtr user_data)
+               {
+                       try {
+                               managed ();
+                               if (release_on_call)
+                                       gch.Free ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPMessageSentFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPMessageSentFunc managed;
+
+               public RTSPMessageSentFuncWrapper (Gst.RtspServer.RTSPMessageSentFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPMessageSentFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPMessageSentFunc GetManagedDelegate (RTSPMessageSentFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPMessageSentFuncWrapper wrapper = (RTSPMessageSentFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendFuncNative.cs
new file mode 100644 (file)
index 0000000..3e04b0b
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPSendFuncNative(IntPtr buffer, byte channel, IntPtr user_data);
+
+       internal class RTSPSendFuncInvoker {
+
+               RTSPSendFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPSendFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPSendFuncInvoker (RTSPSendFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPSendFuncInvoker (RTSPSendFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPSendFuncInvoker (RTSPSendFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPSendFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPSendFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.Buffer buffer, byte channel)
+               {
+                       bool __result = native_cb (buffer == null ? IntPtr.Zero : buffer.Handle, channel, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPSendFuncWrapper {
+
+               public bool NativeCallback (IntPtr buffer, byte channel, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), channel);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPSendFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPSendFunc managed;
+
+               public RTSPSendFuncWrapper (Gst.RtspServer.RTSPSendFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPSendFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPSendFunc GetManagedDelegate (RTSPSendFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPSendFuncWrapper wrapper = (RTSPSendFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendListFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSendListFuncNative.cs
new file mode 100644 (file)
index 0000000..95930e3
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPSendListFuncNative(IntPtr buffer_list, byte channel, IntPtr user_data);
+
+       internal class RTSPSendListFuncInvoker {
+
+               RTSPSendListFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPSendListFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPSendListFuncInvoker (RTSPSendListFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPSendListFuncInvoker (RTSPSendListFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPSendListFuncInvoker (RTSPSendListFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPSendListFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPSendListFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.BufferList buffer_list, byte channel)
+               {
+                       bool __result = native_cb (buffer_list == null ? IntPtr.Zero : buffer_list.Handle, channel, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPSendListFuncWrapper {
+
+               public bool NativeCallback (IntPtr buffer_list, byte channel, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (buffer_list == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (buffer_list, typeof (Gst.BufferList), false), channel);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPSendListFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPSendListFunc managed;
+
+               public RTSPSendListFuncWrapper (Gst.RtspServer.RTSPSendListFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPSendListFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPSendListFunc GetManagedDelegate (RTSPSendListFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPSendListFuncWrapper wrapper = (RTSPSendListFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPServerClientFilterFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPServerClientFilterFuncNative.cs
new file mode 100644 (file)
index 0000000..0e7f917
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int RTSPServerClientFilterFuncNative(IntPtr server, IntPtr client, IntPtr user_data);
+
+       internal class RTSPServerClientFilterFuncInvoker {
+
+               RTSPServerClientFilterFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPServerClientFilterFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPServerClientFilterFuncInvoker (RTSPServerClientFilterFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPServerClientFilterFuncInvoker (RTSPServerClientFilterFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPServerClientFilterFuncInvoker (RTSPServerClientFilterFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPServerClientFilterFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPServerClientFilterFunc(InvokeNative);
+                       }
+               }
+
+               Gst.RtspServer.RTSPFilterResult InvokeNative (Gst.RtspServer.RTSPServer server, Gst.RtspServer.RTSPClient client)
+               {
+                       Gst.RtspServer.RTSPFilterResult __result = (Gst.RtspServer.RTSPFilterResult) native_cb (server == null ? IntPtr.Zero : server.Handle, client == null ? IntPtr.Zero : client.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPServerClientFilterFuncWrapper {
+
+               public int NativeCallback (IntPtr server, IntPtr client, IntPtr user_data)
+               {
+                       try {
+                               Gst.RtspServer.RTSPFilterResult __ret = managed (GLib.Object.GetObject(server) as Gst.RtspServer.RTSPServer, GLib.Object.GetObject(client) as Gst.RtspServer.RTSPClient);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPServerClientFilterFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPServerClientFilterFunc managed;
+
+               public RTSPServerClientFilterFuncWrapper (Gst.RtspServer.RTSPServerClientFilterFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPServerClientFilterFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPServerClientFilterFunc GetManagedDelegate (RTSPServerClientFilterFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPServerClientFilterFuncWrapper wrapper = (RTSPServerClientFilterFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionFilterFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionFilterFuncNative.cs
new file mode 100644 (file)
index 0000000..56db906
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int RTSPSessionFilterFuncNative(IntPtr sess, IntPtr media, IntPtr user_data);
+
+       internal class RTSPSessionFilterFuncInvoker {
+
+               RTSPSessionFilterFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPSessionFilterFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPSessionFilterFuncInvoker (RTSPSessionFilterFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPSessionFilterFuncInvoker (RTSPSessionFilterFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPSessionFilterFuncInvoker (RTSPSessionFilterFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPSessionFilterFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPSessionFilterFunc(InvokeNative);
+                       }
+               }
+
+               Gst.RtspServer.RTSPFilterResult InvokeNative (Gst.RtspServer.RTSPSession sess, Gst.RtspServer.RTSPSessionMedia media)
+               {
+                       Gst.RtspServer.RTSPFilterResult __result = (Gst.RtspServer.RTSPFilterResult) native_cb (sess == null ? IntPtr.Zero : sess.Handle, media == null ? IntPtr.Zero : media.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPSessionFilterFuncWrapper {
+
+               public int NativeCallback (IntPtr sess, IntPtr media, IntPtr user_data)
+               {
+                       try {
+                               Gst.RtspServer.RTSPFilterResult __ret = managed (GLib.Object.GetObject(sess) as Gst.RtspServer.RTSPSession, GLib.Object.GetObject(media) as Gst.RtspServer.RTSPSessionMedia);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPSessionFilterFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPSessionFilterFunc managed;
+
+               public RTSPSessionFilterFuncWrapper (Gst.RtspServer.RTSPSessionFilterFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPSessionFilterFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPSessionFilterFunc GetManagedDelegate (RTSPSessionFilterFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPSessionFilterFuncWrapper wrapper = (RTSPSessionFilterFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative.cs
new file mode 100644 (file)
index 0000000..4158e30
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int RTSPSessionPoolFilterFuncNative(IntPtr pool, IntPtr session, IntPtr user_data);
+
+       internal class RTSPSessionPoolFilterFuncInvoker {
+
+               RTSPSessionPoolFilterFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPSessionPoolFilterFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPSessionPoolFilterFuncInvoker (RTSPSessionPoolFilterFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPSessionPoolFilterFuncInvoker (RTSPSessionPoolFilterFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPSessionPoolFilterFuncInvoker (RTSPSessionPoolFilterFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPSessionPoolFilterFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPSessionPoolFilterFunc(InvokeNative);
+                       }
+               }
+
+               Gst.RtspServer.RTSPFilterResult InvokeNative (Gst.RtspServer.RTSPSessionPool pool, Gst.RtspServer.RTSPSession session)
+               {
+                       Gst.RtspServer.RTSPFilterResult __result = (Gst.RtspServer.RTSPFilterResult) native_cb (pool == null ? IntPtr.Zero : pool.Handle, session == null ? IntPtr.Zero : session.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPSessionPoolFilterFuncWrapper {
+
+               public int NativeCallback (IntPtr pool, IntPtr session, IntPtr user_data)
+               {
+                       try {
+                               Gst.RtspServer.RTSPFilterResult __ret = managed (GLib.Object.GetObject(pool) as Gst.RtspServer.RTSPSessionPool, GLib.Object.GetObject(session) as Gst.RtspServer.RTSPSession);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPSessionPoolFilterFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPSessionPoolFilterFunc managed;
+
+               public RTSPSessionPoolFilterFuncWrapper (Gst.RtspServer.RTSPSessionPoolFilterFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPSessionPoolFilterFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPSessionPoolFilterFunc GetManagedDelegate (RTSPSessionPoolFilterFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPSessionPoolFilterFuncWrapper wrapper = (RTSPSessionPoolFilterFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFuncNative.cs
new file mode 100644 (file)
index 0000000..b413c70
--- /dev/null
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate bool RTSPSessionPoolFuncNative(IntPtr pool, IntPtr user_data);
+
+       internal class RTSPSessionPoolFuncInvoker {
+
+               RTSPSessionPoolFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPSessionPoolFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPSessionPoolFuncInvoker (RTSPSessionPoolFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPSessionPoolFuncInvoker (RTSPSessionPoolFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPSessionPoolFuncInvoker (RTSPSessionPoolFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPSessionPoolFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPSessionPoolFunc(InvokeNative);
+                       }
+               }
+
+               bool InvokeNative (Gst.RtspServer.RTSPSessionPool pool)
+               {
+                       bool __result = native_cb (pool == null ? IntPtr.Zero : pool.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPSessionPoolFuncWrapper {
+
+               public bool NativeCallback (IntPtr pool, IntPtr user_data)
+               {
+                       try {
+                               bool __ret = managed (GLib.Object.GetObject(pool) as Gst.RtspServer.RTSPSessionPool);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                               return false;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPSessionPoolFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPSessionPoolFunc managed;
+
+               public RTSPSessionPoolFuncWrapper (Gst.RtspServer.RTSPSessionPoolFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPSessionPoolFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPSessionPoolFunc GetManagedDelegate (RTSPSessionPoolFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPSessionPoolFuncWrapper wrapper = (RTSPSessionPoolFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPStreamTransportFilterFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/Gst.RtspServerSharp.RTSPStreamTransportFilterFuncNative.cs
new file mode 100644 (file)
index 0000000..dc552f3
--- /dev/null
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServerSharp {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+       internal delegate int RTSPStreamTransportFilterFuncNative(IntPtr stream, IntPtr trans, IntPtr user_data);
+
+       internal class RTSPStreamTransportFilterFuncInvoker {
+
+               RTSPStreamTransportFilterFuncNative native_cb;
+               IntPtr __data;
+               GLib.DestroyNotify __notify;
+
+               ~RTSPStreamTransportFilterFuncInvoker ()
+               {
+                       if (__notify == null)
+                               return;
+                       __notify (__data);
+               }
+
+               internal RTSPStreamTransportFilterFuncInvoker (RTSPStreamTransportFilterFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+               internal RTSPStreamTransportFilterFuncInvoker (RTSPStreamTransportFilterFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+               internal RTSPStreamTransportFilterFuncInvoker (RTSPStreamTransportFilterFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+               {
+                       this.native_cb = native_cb;
+                       __data = data;
+                       __notify = notify;
+               }
+
+               internal Gst.RtspServer.RTSPStreamTransportFilterFunc Handler {
+                       get {
+                               return new Gst.RtspServer.RTSPStreamTransportFilterFunc(InvokeNative);
+                       }
+               }
+
+               Gst.RtspServer.RTSPFilterResult InvokeNative (Gst.RtspServer.RTSPStream stream, Gst.RtspServer.RTSPStreamTransport trans)
+               {
+                       Gst.RtspServer.RTSPFilterResult __result = (Gst.RtspServer.RTSPFilterResult) native_cb (stream == null ? IntPtr.Zero : stream.Handle, trans == null ? IntPtr.Zero : trans.Handle, __data);
+                       return __result;
+               }
+       }
+
+       internal class RTSPStreamTransportFilterFuncWrapper {
+
+               public int NativeCallback (IntPtr stream, IntPtr trans, IntPtr user_data)
+               {
+                       try {
+                               Gst.RtspServer.RTSPFilterResult __ret = managed (GLib.Object.GetObject(stream) as Gst.RtspServer.RTSPStream, GLib.Object.GetObject(trans) as Gst.RtspServer.RTSPStreamTransport);
+                               if (release_on_call)
+                                       gch.Free ();
+                               return (int) __ret;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: Above call does not return.
+                               throw e;
+                       }
+               }
+
+               bool release_on_call = false;
+               GCHandle gch;
+
+               public void PersistUntilCalled ()
+               {
+                       release_on_call = true;
+                       gch = GCHandle.Alloc (this);
+               }
+
+               internal RTSPStreamTransportFilterFuncNative NativeDelegate;
+               Gst.RtspServer.RTSPStreamTransportFilterFunc managed;
+
+               public RTSPStreamTransportFilterFuncWrapper (Gst.RtspServer.RTSPStreamTransportFilterFunc managed)
+               {
+                       this.managed = managed;
+                       if (managed != null)
+                               NativeDelegate = new RTSPStreamTransportFilterFuncNative (NativeCallback);
+               }
+
+               public static Gst.RtspServer.RTSPStreamTransportFilterFunc GetManagedDelegate (RTSPStreamTransportFilterFuncNative native)
+               {
+                       if (native == null)
+                               return null;
+                       RTSPStreamTransportFilterFuncWrapper wrapper = (RTSPStreamTransportFilterFuncWrapper) native.Target;
+                       if (wrapper == null)
+                               return null;
+                       return wrapper.managed;
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleMessageHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleMessageHandler.cs
new file mode 100644 (file)
index 0000000..bbc391e
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void HandleMessageHandler(object o, HandleMessageArgs args);
+
+       public class HandleMessageArgs : GLib.SignalArgs {
+               public Gst.Message Message{
+                       get {
+                               return (Gst.Message) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleResponseHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/HandleResponseHandler.cs
new file mode 100644 (file)
index 0000000..6eea1df
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void HandleResponseHandler(object o, HandleResponseArgs args);
+
+       public class HandleResponseArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConfigureHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConfigureHandler.cs
new file mode 100644 (file)
index 0000000..10859c8
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void MediaConfigureHandler(object o, MediaConfigureArgs args);
+
+       public class MediaConfigureArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPMedia Object{
+                       get {
+                               return (Gst.RtspServer.RTSPMedia) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConstructedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/MediaConstructedHandler.cs
new file mode 100644 (file)
index 0000000..46eb3de
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void MediaConstructedHandler(object o, MediaConstructedArgs args);
+
+       public class MediaConstructedArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPMedia Object{
+                       get {
+                               return (Gst.RtspServer.RTSPMedia) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtcpEncoderHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtcpEncoderHandler.cs
new file mode 100644 (file)
index 0000000..f47cd33
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewRtcpEncoderHandler(object o, NewRtcpEncoderArgs args);
+
+       public class NewRtcpEncoderArgs : GLib.SignalArgs {
+               public Gst.Element Object{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpEncoderHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpEncoderHandler.cs
new file mode 100644 (file)
index 0000000..563cd3f
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewRtpEncoderHandler(object o, NewRtpEncoderArgs args);
+
+       public class NewRtpEncoderArgs : GLib.SignalArgs {
+               public Gst.Element Object{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpRtcpDecoderHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewRtpRtcpDecoderHandler.cs
new file mode 100644 (file)
index 0000000..d09c577
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewRtpRtcpDecoderHandler(object o, NewRtpRtcpDecoderArgs args);
+
+       public class NewRtpRtcpDecoderArgs : GLib.SignalArgs {
+               public Gst.Element Object{
+                       get {
+                               return (Gst.Element) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewSessionHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewSessionHandler.cs
new file mode 100644 (file)
index 0000000..41ec157
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewSessionHandler(object o, NewSessionArgs args);
+
+       public class NewSessionArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPSession Object{
+                       get {
+                               return (Gst.RtspServer.RTSPSession) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStateHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStateHandler.cs
new file mode 100644 (file)
index 0000000..a4fe0fd
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewStateHandler(object o, NewStateArgs args);
+
+       public class NewStateArgs : GLib.SignalArgs {
+               public int Object{
+                       get {
+                               return (int) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStreamHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/NewStreamHandler.cs
new file mode 100644 (file)
index 0000000..3569986
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void NewStreamHandler(object o, NewStreamArgs args);
+
+       public class NewStreamArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPStream Object{
+                       get {
+                               return (Gst.RtspServer.RTSPStream) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/OptionsRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/OptionsRequestHandler.cs
new file mode 100644 (file)
index 0000000..2b3a28b
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void OptionsRequestHandler(object o, OptionsRequestArgs args);
+
+       public class OptionsRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PauseRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PauseRequestHandler.cs
new file mode 100644 (file)
index 0000000..f9243d2
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PauseRequestHandler(object o, PauseRequestArgs args);
+
+       public class PauseRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PlayRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PlayRequestHandler.cs
new file mode 100644 (file)
index 0000000..2f80390
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PlayRequestHandler(object o, PlayRequestArgs args);
+
+       public class PlayRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreAnnounceRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreAnnounceRequestHandler.cs
new file mode 100644 (file)
index 0000000..c3fa589
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreAnnounceRequestHandler(object o, PreAnnounceRequestArgs args);
+
+       public class PreAnnounceRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreDescribeRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreDescribeRequestHandler.cs
new file mode 100644 (file)
index 0000000..2c6fb91
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreDescribeRequestHandler(object o, PreDescribeRequestArgs args);
+
+       public class PreDescribeRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreGetParameterRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreGetParameterRequestHandler.cs
new file mode 100644 (file)
index 0000000..83f2684
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreGetParameterRequestHandler(object o, PreGetParameterRequestArgs args);
+
+       public class PreGetParameterRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreOptionsRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreOptionsRequestHandler.cs
new file mode 100644 (file)
index 0000000..2130e23
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreOptionsRequestHandler(object o, PreOptionsRequestArgs args);
+
+       public class PreOptionsRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePauseRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePauseRequestHandler.cs
new file mode 100644 (file)
index 0000000..9e02a43
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PrePauseRequestHandler(object o, PrePauseRequestArgs args);
+
+       public class PrePauseRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePlayRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PrePlayRequestHandler.cs
new file mode 100644 (file)
index 0000000..da43532
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PrePlayRequestHandler(object o, PrePlayRequestArgs args);
+
+       public class PrePlayRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreRecordRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreRecordRequestHandler.cs
new file mode 100644 (file)
index 0000000..e832327
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreRecordRequestHandler(object o, PreRecordRequestArgs args);
+
+       public class PreRecordRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetParameterRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetParameterRequestHandler.cs
new file mode 100644 (file)
index 0000000..d3cbfd0
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreSetParameterRequestHandler(object o, PreSetParameterRequestArgs args);
+
+       public class PreSetParameterRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetupRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreSetupRequestHandler.cs
new file mode 100644 (file)
index 0000000..92ef299
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreSetupRequestHandler(object o, PreSetupRequestArgs args);
+
+       public class PreSetupRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreTeardownRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/PreTeardownRequestHandler.cs
new file mode 100644 (file)
index 0000000..56f7307
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void PreTeardownRequestHandler(object o, PreTeardownRequestArgs args);
+
+       public class PreTeardownRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddress.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddress.cs
new file mode 100644 (file)
index 0000000..23e10a2
--- /dev/null
@@ -0,0 +1,78 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPAddress : IEquatable<RTSPAddress> {
+
+               private IntPtr _pool;
+               public Gst.RtspServer.RTSPAddressPool Pool {
+                       get {
+                               return GLib.Object.GetObject(_pool) as Gst.RtspServer.RTSPAddressPool;
+                       }
+                       set {
+                               _pool = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               public string Address;
+               public ushort Port;
+               public int NPorts;
+               public byte Ttl;
+               private IntPtr _priv;
+
+               public static Gst.RtspServer.RTSPAddress Zero = new Gst.RtspServer.RTSPAddress ();
+
+               public static Gst.RtspServer.RTSPAddress New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.RtspServer.RTSPAddress.Zero;
+                       return (Gst.RtspServer.RTSPAddress) Marshal.PtrToStructure (raw, typeof (Gst.RtspServer.RTSPAddress));
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_address_get_type();
+
+               public static GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_address_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               public bool Equals (RTSPAddress other)
+               {
+                       return true && Pool.Equals (other.Pool) && Address.Equals (other.Address) && Port.Equals (other.Port) && NPorts.Equals (other.NPorts) && Ttl.Equals (other.Ttl) && _priv.Equals (other._priv);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPAddress && Equals ((RTSPAddress) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Pool.GetHashCode () ^ Address.GetHashCode () ^ Port.GetHashCode () ^ NPorts.GetHashCode () ^ Ttl.GetHashCode () ^ _priv.GetHashCode ();
+               }
+
+               public static explicit operator GLib.Value (Gst.RtspServer.RTSPAddress boxed)
+               {
+                       GLib.Value val = GLib.Value.Empty;
+                       val.Init (Gst.RtspServer.RTSPAddress.GType);
+                       val.Val = boxed;
+                       return val;
+               }
+
+               public static explicit operator Gst.RtspServer.RTSPAddress (GLib.Value val)
+               {
+                       return (Gst.RtspServer.RTSPAddress) val.Val;
+               }
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressFlags.cs
new file mode 100644 (file)
index 0000000..b3f58f0
--- /dev/null
@@ -0,0 +1,21 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       public enum RTSPAddressFlags : uint {
+
+               None = 0,
+               Ipv4 = 1,
+               Ipv6 = 2,
+               EvenPort = 4,
+               Multicast = 8,
+               Unicast = 16,
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPool.cs
new file mode 100644 (file)
index 0000000..01e2d0f
--- /dev/null
@@ -0,0 +1,163 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPAddressPool : GLib.Object {
+
+               public RTSPAddressPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_address_pool_new();
+
+               public RTSPAddressPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPAddressPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_address_pool_new();
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_address_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_address_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_address_pool_acquire_address(IntPtr raw, int flags, int n_ports);
+
+               public Gst.RtspServer.RTSPAddress AcquireAddress(Gst.RtspServer.RTSPAddressFlags flags, int n_ports) {
+                       IntPtr raw_ret = gst_rtsp_address_pool_acquire_address(Handle, (int) flags, n_ports);
+                       Gst.RtspServer.RTSPAddress ret = Gst.RtspServer.RTSPAddress.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_address_pool_add_range(IntPtr raw, IntPtr min_address, IntPtr max_address, ushort min_port, ushort max_port, byte ttl);
+
+               public bool AddRange(string min_address, string max_address, ushort min_port, ushort max_port, byte ttl) {
+                       IntPtr native_min_address = GLib.Marshaller.StringToPtrGStrdup (min_address);
+                       IntPtr native_max_address = GLib.Marshaller.StringToPtrGStrdup (max_address);
+                       bool raw_ret = gst_rtsp_address_pool_add_range(Handle, native_min_address, native_max_address, min_port, max_port, ttl);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_min_address);
+                       GLib.Marshaller.Free (native_max_address);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_address_pool_clear(IntPtr raw);
+
+               public void Clear() {
+                       gst_rtsp_address_pool_clear(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_address_pool_dump(IntPtr raw);
+
+               public void Dump() {
+                       gst_rtsp_address_pool_dump(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_address_pool_has_unicast_addresses(IntPtr raw);
+
+               public bool HasUnicastAddresses { 
+                       get {
+                               bool raw_ret = gst_rtsp_address_pool_has_unicast_addresses(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_address_pool_reserve_address(IntPtr raw, IntPtr ip_address, uint port, uint n_ports, uint ttl, IntPtr address);
+
+               public Gst.RtspServer.RTSPAddressPoolResult ReserveAddress(string ip_address, uint port, uint n_ports, uint ttl, out Gst.RtspServer.RTSPAddress address) {
+                       IntPtr native_ip_address = GLib.Marshaller.StringToPtrGStrdup (ip_address);
+                       IntPtr native_address = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.RtspServer.RTSPAddress)));
+                       int raw_ret = gst_rtsp_address_pool_reserve_address(Handle, native_ip_address, port, n_ports, ttl, native_address);
+                       Gst.RtspServer.RTSPAddressPoolResult ret = (Gst.RtspServer.RTSPAddressPoolResult) raw_ret;
+                       GLib.Marshaller.Free (native_ip_address);
+                       address = Gst.RtspServer.RTSPAddress.New (native_address);
+                       Marshal.FreeHGlobal (native_address);
+                       return ret;
+               }
+
+
+               static RTSPAddressPool ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPoolResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAddressPoolResult.cs
new file mode 100644 (file)
index 0000000..a7cdfb5
--- /dev/null
@@ -0,0 +1,19 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum RTSPAddressPoolResult {
+
+               Elast = -4,
+               Erange = -3,
+               Ereserved = -2,
+               Einval = -1,
+               Ok = 0,
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAuth.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPAuth.cs
new file mode 100644 (file)
index 0000000..3770a95
--- /dev/null
@@ -0,0 +1,556 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPAuth : GLib.Object {
+
+               public RTSPAuth (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_new();
+
+               public RTSPAuth () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPAuth)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_auth_new();
+               }
+
+               [GLib.Signal("accept-certificate")]
+               public event Gst.RtspServer.AcceptCertificateHandler AcceptCertificate {
+                       add {
+                               this.AddSignalHandler ("accept-certificate", value, typeof (Gst.RtspServer.AcceptCertificateArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("accept-certificate", value);
+                       }
+               }
+
+               static AuthenticateNativeDelegate Authenticate_cb_delegate;
+               static AuthenticateNativeDelegate AuthenticateVMCallback {
+                       get {
+                               if (Authenticate_cb_delegate == null)
+                                       Authenticate_cb_delegate = new AuthenticateNativeDelegate (Authenticate_cb);
+                               return Authenticate_cb_delegate;
+                       }
+               }
+
+               static void OverrideAuthenticate (GLib.GType gtype)
+               {
+                       OverrideAuthenticate (gtype, AuthenticateVMCallback);
+               }
+
+               static void OverrideAuthenticate (GLib.GType gtype, AuthenticateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("authenticate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AuthenticateNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static bool Authenticate_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPAuth __obj = GLib.Object.GetObject (inst, false) as RTSPAuth;
+                               bool __result;
+                               __result = __obj.OnAuthenticate (Gst.RtspServer.RTSPContext.New (ctx));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPAuth), ConnectionMethod="OverrideAuthenticate")]
+               protected virtual bool OnAuthenticate (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalAuthenticate (ctx);
+               }
+
+               private bool InternalAuthenticate (Gst.RtspServer.RTSPContext ctx)
+               {
+                       AuthenticateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("authenticate"));
+                               unmanaged = (AuthenticateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AuthenticateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       bool __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return __result;
+               }
+
+               static CheckNativeDelegate Check_cb_delegate;
+               static CheckNativeDelegate CheckVMCallback {
+                       get {
+                               if (Check_cb_delegate == null)
+                                       Check_cb_delegate = new CheckNativeDelegate (Check_cb);
+                               return Check_cb_delegate;
+                       }
+               }
+
+               static void OverrideCheck (GLib.GType gtype)
+               {
+                       OverrideCheck (gtype, CheckVMCallback);
+               }
+
+               static void OverrideCheck (GLib.GType gtype, CheckNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("check"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool CheckNativeDelegate (IntPtr inst, IntPtr ctx, IntPtr check);
+
+               static bool Check_cb (IntPtr inst, IntPtr ctx, IntPtr check)
+               {
+                       try {
+                               RTSPAuth __obj = GLib.Object.GetObject (inst, false) as RTSPAuth;
+                               bool __result;
+                               __result = __obj.OnCheck (Gst.RtspServer.RTSPContext.New (ctx), GLib.Marshaller.Utf8PtrToString (check));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPAuth), ConnectionMethod="OverrideCheck")]
+               protected virtual bool OnCheck (Gst.RtspServer.RTSPContext ctx, string check)
+               {
+                       return InternalCheck (ctx, check);
+               }
+
+               private bool InternalCheck (Gst.RtspServer.RTSPContext ctx, string check)
+               {
+                       CheckNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("check"));
+                               unmanaged = (CheckNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CheckNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       IntPtr native_check = GLib.Marshaller.StringToPtrGStrdup (check);
+                       bool __result = unmanaged (this.Handle, native_ctx, native_check);
+                       Marshal.FreeHGlobal (native_ctx);
+                       GLib.Marshaller.Free (native_check);
+                       return __result;
+               }
+
+               static GenerateAuthenticateHeaderNativeDelegate GenerateAuthenticateHeader_cb_delegate;
+               static GenerateAuthenticateHeaderNativeDelegate GenerateAuthenticateHeaderVMCallback {
+                       get {
+                               if (GenerateAuthenticateHeader_cb_delegate == null)
+                                       GenerateAuthenticateHeader_cb_delegate = new GenerateAuthenticateHeaderNativeDelegate (GenerateAuthenticateHeader_cb);
+                               return GenerateAuthenticateHeader_cb_delegate;
+                       }
+               }
+
+               static void OverrideGenerateAuthenticateHeader (GLib.GType gtype)
+               {
+                       OverrideGenerateAuthenticateHeader (gtype, GenerateAuthenticateHeaderVMCallback);
+               }
+
+               static void OverrideGenerateAuthenticateHeader (GLib.GType gtype, GenerateAuthenticateHeaderNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("generate_authenticate_header"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void GenerateAuthenticateHeaderNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void GenerateAuthenticateHeader_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPAuth __obj = GLib.Object.GetObject (inst, false) as RTSPAuth;
+                               __obj.OnGenerateAuthenticateHeader (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPAuth), ConnectionMethod="OverrideGenerateAuthenticateHeader")]
+               protected virtual void OnGenerateAuthenticateHeader (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalGenerateAuthenticateHeader (ctx);
+               }
+
+               private void InternalGenerateAuthenticateHeader (Gst.RtspServer.RTSPContext ctx)
+               {
+                       GenerateAuthenticateHeaderNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("generate_authenticate_header"));
+                               unmanaged = (GenerateAuthenticateHeaderNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GenerateAuthenticateHeaderNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static AcceptCertificateNativeDelegate AcceptCertificate_cb_delegate;
+               static AcceptCertificateNativeDelegate AcceptCertificateVMCallback {
+                       get {
+                               if (AcceptCertificate_cb_delegate == null)
+                                       AcceptCertificate_cb_delegate = new AcceptCertificateNativeDelegate (AcceptCertificate_cb);
+                               return AcceptCertificate_cb_delegate;
+                       }
+               }
+
+               static void OverrideAcceptCertificate (GLib.GType gtype)
+               {
+                       OverrideAcceptCertificate (gtype, AcceptCertificateVMCallback);
+               }
+
+               static void OverrideAcceptCertificate (GLib.GType gtype, AcceptCertificateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("accept_certificate"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool AcceptCertificateNativeDelegate (IntPtr inst, IntPtr connection, IntPtr peer_cert, int errors);
+
+               static bool AcceptCertificate_cb (IntPtr inst, IntPtr connection, IntPtr peer_cert, int errors)
+               {
+                       try {
+                               RTSPAuth __obj = GLib.Object.GetObject (inst, false) as RTSPAuth;
+                               bool __result;
+                               __result = __obj.OnAcceptCertificate (GLib.Object.GetObject(connection) as GLib.TlsConnection, GLib.Object.GetObject(peer_cert) as GLib.TlsCertificate, (GLib.TlsCertificateFlags) errors);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPAuth), ConnectionMethod="OverrideAcceptCertificate")]
+               protected virtual bool OnAcceptCertificate (GLib.TlsConnection connection, GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors)
+               {
+                       return InternalAcceptCertificate (connection, peer_cert, errors);
+               }
+
+               private bool InternalAcceptCertificate (GLib.TlsConnection connection, GLib.TlsCertificate peer_cert, GLib.TlsCertificateFlags errors)
+               {
+                       AcceptCertificateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("accept_certificate"));
+                               unmanaged = (AcceptCertificateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AcceptCertificateNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, connection == null ? IntPtr.Zero : connection.Handle, peer_cert == null ? IntPtr.Zero : peer_cert.Handle, (int) errors);
+                       return __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("authenticate"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // authenticate
+                                                       , null
+                                                       , "check"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("check"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // check
+                                                       , "authenticate"
+                                                       , "generate_authenticate_header"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("generate_authenticate_header"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // generate_authenticate_header
+                                                       , "check"
+                                                       , "accept_certificate"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("accept_certificate"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // accept_certificate
+                                                       , "generate_authenticate_header"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+                                                       , "accept_certificate"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_auth_check(IntPtr check);
+
+               public static bool Check(string check) {
+                       IntPtr native_check = GLib.Marshaller.StringToPtrGStrdup (check);
+                       bool raw_ret = gst_rtsp_auth_check(native_check);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_check);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_make_basic(IntPtr user, IntPtr pass);
+
+               public static string MakeBasic(string user, string pass) {
+                       IntPtr native_user = GLib.Marshaller.StringToPtrGStrdup (user);
+                       IntPtr native_pass = GLib.Marshaller.StringToPtrGStrdup (pass);
+                       IntPtr raw_ret = gst_rtsp_auth_make_basic(native_user, native_pass);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       GLib.Marshaller.Free (native_user);
+                       GLib.Marshaller.Free (native_pass);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_add_basic(IntPtr raw, IntPtr basic, IntPtr token);
+
+               public void AddBasic(string basic, Gst.RtspServer.RTSPToken token) {
+                       IntPtr native_basic = GLib.Marshaller.StringToPtrGStrdup (basic);
+                       gst_rtsp_auth_add_basic(Handle, native_basic, token == null ? IntPtr.Zero : token.Handle);
+                       GLib.Marshaller.Free (native_basic);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_add_digest(IntPtr raw, IntPtr user, IntPtr pass, IntPtr token);
+
+               public void AddDigest(string user, string pass, Gst.RtspServer.RTSPToken token) {
+                       IntPtr native_user = GLib.Marshaller.StringToPtrGStrdup (user);
+                       IntPtr native_pass = GLib.Marshaller.StringToPtrGStrdup (pass);
+                       gst_rtsp_auth_add_digest(Handle, native_user, native_pass, token == null ? IntPtr.Zero : token.Handle);
+                       GLib.Marshaller.Free (native_user);
+                       GLib.Marshaller.Free (native_pass);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_get_default_token(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_default_token(IntPtr raw, IntPtr token);
+
+               public Gst.RtspServer.RTSPToken DefaultToken { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_get_default_token(Handle);
+                               Gst.RtspServer.RTSPToken ret = raw_ret == IntPtr.Zero ? null : (Gst.RtspServer.RTSPToken) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.RtspServer.RTSPToken), true);
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_auth_set_default_token(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_get_realm(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_realm(IntPtr raw, IntPtr realm);
+
+               public string Realm { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_get_realm(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_auth_set_realm(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_auth_get_supported_methods(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_supported_methods(IntPtr raw, int methods);
+
+               public Gst.Rtsp.RTSPAuthMethod SupportedMethods { 
+                       get {
+                               int raw_ret = gst_rtsp_auth_get_supported_methods(Handle);
+                               Gst.Rtsp.RTSPAuthMethod ret = (Gst.Rtsp.RTSPAuthMethod) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_auth_set_supported_methods(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_auth_get_tls_authentication_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_tls_authentication_mode(IntPtr raw, int mode);
+
+               public GLib.TlsAuthenticationMode TlsAuthenticationMode { 
+                       get {
+                               int raw_ret = gst_rtsp_auth_get_tls_authentication_mode(Handle);
+                               GLib.TlsAuthenticationMode ret = (GLib.TlsAuthenticationMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_auth_set_tls_authentication_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_get_tls_certificate(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_tls_certificate(IntPtr raw, IntPtr cert);
+
+               public GLib.TlsCertificate TlsCertificate { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_get_tls_certificate(Handle);
+                               GLib.TlsCertificate ret = GLib.Object.GetObject(raw_ret, true) as GLib.TlsCertificate;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_auth_set_tls_certificate(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_auth_get_tls_database(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_set_tls_database(IntPtr raw, IntPtr database);
+
+               public GLib.TlsDatabase TlsDatabase { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_auth_get_tls_database(Handle);
+                               GLib.TlsDatabase ret = GLib.Object.GetObject(raw_ret, true) as GLib.TlsDatabase;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_auth_set_tls_database(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_auth_parse_htdigest(IntPtr raw, IntPtr path, IntPtr token);
+
+               public bool ParseHtdigest(string path, Gst.RtspServer.RTSPToken token) {
+                       IntPtr native_path = GLib.Marshaller.StringToFilenamePtr (path);
+                       bool raw_ret = gst_rtsp_auth_parse_htdigest(Handle, native_path, token == null ? IntPtr.Zero : token.Handle);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_remove_basic(IntPtr raw, IntPtr basic);
+
+               public void RemoveBasic(string basic) {
+                       IntPtr native_basic = GLib.Marshaller.StringToPtrGStrdup (basic);
+                       gst_rtsp_auth_remove_basic(Handle, native_basic);
+                       GLib.Marshaller.Free (native_basic);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_auth_remove_digest(IntPtr raw, IntPtr user);
+
+               public void RemoveDigest(string user) {
+                       IntPtr native_user = GLib.Marshaller.StringToPtrGStrdup (user);
+                       gst_rtsp_auth_remove_digest(Handle, native_user);
+                       GLib.Marshaller.Free (native_user);
+               }
+
+
+               static RTSPAuth ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClient.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClient.cs
new file mode 100644 (file)
index 0000000..45a8f7b
--- /dev/null
@@ -0,0 +1,2898 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPClient : GLib.Object {
+
+               public RTSPClient (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_new();
+
+               public RTSPClient () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPClient)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_client_new();
+               }
+
+               [GLib.Property ("drop-backlog")]
+               public bool DropBacklog {
+                       get {
+                               GLib.Value val = GetProperty ("drop-backlog");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("drop-backlog", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_mount_points(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_mount_points(IntPtr raw, IntPtr mounts);
+
+               [GLib.Property ("mount-points")]
+               public Gst.RtspServer.RTSPMountPoints MountPoints {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_client_get_mount_points(Handle);
+                               Gst.RtspServer.RTSPMountPoints ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPMountPoints;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_client_set_mount_points(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [GLib.Property ("post-session-timeout")]
+               public int PostSessionTimeout {
+                       get {
+                               GLib.Value val = GetProperty ("post-session-timeout");
+                               int ret = (int) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("post-session-timeout", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_session_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_session_pool(IntPtr raw, IntPtr pool);
+
+               [GLib.Property ("session-pool")]
+               public Gst.RtspServer.RTSPSessionPool SessionPool {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_client_get_session_pool(Handle);
+                               Gst.RtspServer.RTSPSessionPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSessionPool;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_client_set_session_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [GLib.Signal("play-request")]
+               public event Gst.RtspServer.PlayRequestHandler PlayRequest {
+                       add {
+                               this.AddSignalHandler ("play-request", value, typeof (Gst.RtspServer.PlayRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("play-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-setup-request")]
+               public event Gst.RtspServer.PreSetupRequestHandler PreSetupRequest {
+                       add {
+                               this.AddSignalHandler ("pre-setup-request", value, typeof (Gst.RtspServer.PreSetupRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-setup-request", value);
+                       }
+               }
+
+               [GLib.Signal("pause-request")]
+               public event Gst.RtspServer.PauseRequestHandler PauseRequest {
+                       add {
+                               this.AddSignalHandler ("pause-request", value, typeof (Gst.RtspServer.PauseRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pause-request", value);
+                       }
+               }
+
+               [GLib.Signal("describe-request")]
+               public event Gst.RtspServer.DescribeRequestHandler DescribeRequest {
+                       add {
+                               this.AddSignalHandler ("describe-request", value, typeof (Gst.RtspServer.DescribeRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("describe-request", value);
+                       }
+               }
+
+               [GLib.Signal("teardown-request")]
+               public event Gst.RtspServer.TeardownRequestHandler TeardownRequest {
+                       add {
+                               this.AddSignalHandler ("teardown-request", value, typeof (Gst.RtspServer.TeardownRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("teardown-request", value);
+                       }
+               }
+
+               [GLib.Signal("setup-request")]
+               public event Gst.RtspServer.SetupRequestHandler SetupRequest {
+                       add {
+                               this.AddSignalHandler ("setup-request", value, typeof (Gst.RtspServer.SetupRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("setup-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-get-parameter-request")]
+               public event Gst.RtspServer.PreGetParameterRequestHandler PreGetParameterRequest {
+                       add {
+                               this.AddSignalHandler ("pre-get-parameter-request", value, typeof (Gst.RtspServer.PreGetParameterRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-get-parameter-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-record-request")]
+               public event Gst.RtspServer.PreRecordRequestHandler PreRecordRequest {
+                       add {
+                               this.AddSignalHandler ("pre-record-request", value, typeof (Gst.RtspServer.PreRecordRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-record-request", value);
+                       }
+               }
+
+               [GLib.Signal("new-session")]
+               public event Gst.RtspServer.NewSessionHandler NewSession {
+                       add {
+                               this.AddSignalHandler ("new-session", value, typeof (Gst.RtspServer.NewSessionArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-session", value);
+                       }
+               }
+
+               [GLib.Signal("handle-response")]
+               public event Gst.RtspServer.HandleResponseHandler HandleResponse {
+                       add {
+                               this.AddSignalHandler ("handle-response", value, typeof (Gst.RtspServer.HandleResponseArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("handle-response", value);
+                       }
+               }
+
+               [GLib.Signal("announce-request")]
+               public event Gst.RtspServer.AnnounceRequestHandler AnnounceRequest {
+                       add {
+                               this.AddSignalHandler ("announce-request", value, typeof (Gst.RtspServer.AnnounceRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("announce-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-teardown-request")]
+               public event Gst.RtspServer.PreTeardownRequestHandler PreTeardownRequest {
+                       add {
+                               this.AddSignalHandler ("pre-teardown-request", value, typeof (Gst.RtspServer.PreTeardownRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-teardown-request", value);
+                       }
+               }
+
+               [GLib.Signal("set-parameter-request")]
+               public event Gst.RtspServer.SetParameterRequestHandler SetParameterRequest {
+                       add {
+                               this.AddSignalHandler ("set-parameter-request", value, typeof (Gst.RtspServer.SetParameterRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("set-parameter-request", value);
+                       }
+               }
+
+               [GLib.Signal("send-message")]
+               public event Gst.RtspServer.SendMessageEventHandler SendMessageEvent {
+                       add {
+                               this.AddSignalHandler ("send-message", value, typeof (Gst.RtspServer.SendMessageEventArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("send-message", value);
+                       }
+               }
+
+               [GLib.Signal("pre-pause-request")]
+               public event Gst.RtspServer.PrePauseRequestHandler PrePauseRequest {
+                       add {
+                               this.AddSignalHandler ("pre-pause-request", value, typeof (Gst.RtspServer.PrePauseRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-pause-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-set-parameter-request")]
+               public event Gst.RtspServer.PreSetParameterRequestHandler PreSetParameterRequest {
+                       add {
+                               this.AddSignalHandler ("pre-set-parameter-request", value, typeof (Gst.RtspServer.PreSetParameterRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-set-parameter-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-describe-request")]
+               public event Gst.RtspServer.PreDescribeRequestHandler PreDescribeRequest {
+                       add {
+                               this.AddSignalHandler ("pre-describe-request", value, typeof (Gst.RtspServer.PreDescribeRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-describe-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-play-request")]
+               public event Gst.RtspServer.PrePlayRequestHandler PrePlayRequest {
+                       add {
+                               this.AddSignalHandler ("pre-play-request", value, typeof (Gst.RtspServer.PrePlayRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-play-request", value);
+                       }
+               }
+
+               [GLib.Signal("pre-announce-request")]
+               public event Gst.RtspServer.PreAnnounceRequestHandler PreAnnounceRequest {
+                       add {
+                               this.AddSignalHandler ("pre-announce-request", value, typeof (Gst.RtspServer.PreAnnounceRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-announce-request", value);
+                       }
+               }
+
+               [GLib.Signal("get-parameter-request")]
+               public event Gst.RtspServer.GetParameterRequestHandler GetParameterRequest {
+                       add {
+                               this.AddSignalHandler ("get-parameter-request", value, typeof (Gst.RtspServer.GetParameterRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("get-parameter-request", value);
+                       }
+               }
+
+               [GLib.Signal("record-request")]
+               public event Gst.RtspServer.RecordRequestHandler RecordRequest {
+                       add {
+                               this.AddSignalHandler ("record-request", value, typeof (Gst.RtspServer.RecordRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("record-request", value);
+                       }
+               }
+
+               [GLib.Signal("closed")]
+               public event System.EventHandler Closed {
+                       add {
+                               this.AddSignalHandler ("closed", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("closed", value);
+                       }
+               }
+
+               [GLib.Signal("pre-options-request")]
+               public event Gst.RtspServer.PreOptionsRequestHandler PreOptionsRequest {
+                       add {
+                               this.AddSignalHandler ("pre-options-request", value, typeof (Gst.RtspServer.PreOptionsRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("pre-options-request", value);
+                       }
+               }
+
+               [GLib.Signal("options-request")]
+               public event Gst.RtspServer.OptionsRequestHandler OptionsRequest {
+                       add {
+                               this.AddSignalHandler ("options-request", value, typeof (Gst.RtspServer.OptionsRequestArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("options-request", value);
+                       }
+               }
+
+               static CreateSdpNativeDelegate CreateSdp_cb_delegate;
+               static CreateSdpNativeDelegate CreateSdpVMCallback {
+                       get {
+                               if (CreateSdp_cb_delegate == null)
+                                       CreateSdp_cb_delegate = new CreateSdpNativeDelegate (CreateSdp_cb);
+                               return CreateSdp_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateSdp (GLib.GType gtype)
+               {
+                       OverrideCreateSdp (gtype, CreateSdpVMCallback);
+               }
+
+               static void OverrideCreateSdp (GLib.GType gtype, CreateSdpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_sdp"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateSdpNativeDelegate (IntPtr inst, IntPtr media);
+
+               static IntPtr CreateSdp_cb (IntPtr inst, IntPtr media)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Sdp.SDPMessage __result;
+                               __result = __obj.OnCreateSdp (GLib.Object.GetObject(media) as Gst.RtspServer.RTSPMedia);
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideCreateSdp")]
+               protected virtual Gst.Sdp.SDPMessage OnCreateSdp (Gst.RtspServer.RTSPMedia media)
+               {
+                       return InternalCreateSdp (media);
+               }
+
+               private Gst.Sdp.SDPMessage InternalCreateSdp (Gst.RtspServer.RTSPMedia media)
+               {
+                       CreateSdpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_sdp"));
+                               unmanaged = (CreateSdpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateSdpNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle, media == null ? IntPtr.Zero : media.Handle);
+                       return __result == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (__result, typeof (Gst.Sdp.SDPMessage), true);
+               }
+
+               static ConfigureClientMediaNativeDelegate ConfigureClientMedia_cb_delegate;
+               static ConfigureClientMediaNativeDelegate ConfigureClientMediaVMCallback {
+                       get {
+                               if (ConfigureClientMedia_cb_delegate == null)
+                                       ConfigureClientMedia_cb_delegate = new ConfigureClientMediaNativeDelegate (ConfigureClientMedia_cb);
+                               return ConfigureClientMedia_cb_delegate;
+                       }
+               }
+
+               static void OverrideConfigureClientMedia (GLib.GType gtype)
+               {
+                       OverrideConfigureClientMedia (gtype, ConfigureClientMediaVMCallback);
+               }
+
+               static void OverrideConfigureClientMedia (GLib.GType gtype, ConfigureClientMediaNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_client_media"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ConfigureClientMediaNativeDelegate (IntPtr inst, IntPtr media, IntPtr stream, IntPtr ctx);
+
+               static bool ConfigureClientMedia_cb (IntPtr inst, IntPtr media, IntPtr stream, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               bool __result;
+                               __result = __obj.OnConfigureClientMedia (GLib.Object.GetObject(media) as Gst.RtspServer.RTSPMedia, GLib.Object.GetObject(stream) as Gst.RtspServer.RTSPStream, Gst.RtspServer.RTSPContext.New (ctx));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideConfigureClientMedia")]
+               protected virtual bool OnConfigureClientMedia (Gst.RtspServer.RTSPMedia media, Gst.RtspServer.RTSPStream stream, Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalConfigureClientMedia (media, stream, ctx);
+               }
+
+               private bool InternalConfigureClientMedia (Gst.RtspServer.RTSPMedia media, Gst.RtspServer.RTSPStream stream, Gst.RtspServer.RTSPContext ctx)
+               {
+                       ConfigureClientMediaNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_client_media"));
+                               unmanaged = (ConfigureClientMediaNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConfigureClientMediaNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       bool __result = unmanaged (this.Handle, media == null ? IntPtr.Zero : media.Handle, stream == null ? IntPtr.Zero : stream.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return __result;
+               }
+
+               static ConfigureClientTransportNativeDelegate ConfigureClientTransport_cb_delegate;
+               static ConfigureClientTransportNativeDelegate ConfigureClientTransportVMCallback {
+                       get {
+                               if (ConfigureClientTransport_cb_delegate == null)
+                                       ConfigureClientTransport_cb_delegate = new ConfigureClientTransportNativeDelegate (ConfigureClientTransport_cb);
+                               return ConfigureClientTransport_cb_delegate;
+                       }
+               }
+
+               static void OverrideConfigureClientTransport (GLib.GType gtype)
+               {
+                       OverrideConfigureClientTransport (gtype, ConfigureClientTransportVMCallback);
+               }
+
+               static void OverrideConfigureClientTransport (GLib.GType gtype, ConfigureClientTransportNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_client_transport"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ConfigureClientTransportNativeDelegate (IntPtr inst, IntPtr ctx, IntPtr ct);
+
+               static bool ConfigureClientTransport_cb (IntPtr inst, IntPtr ctx, IntPtr ct)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               bool __result;
+                               __result = __obj.OnConfigureClientTransport (Gst.RtspServer.RTSPContext.New (ctx), Gst.Rtsp.RTSPTransport.New (ct));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideConfigureClientTransport")]
+               protected virtual bool OnConfigureClientTransport (Gst.RtspServer.RTSPContext ctx, Gst.Rtsp.RTSPTransport ct)
+               {
+                       return InternalConfigureClientTransport (ctx, ct);
+               }
+
+               private bool InternalConfigureClientTransport (Gst.RtspServer.RTSPContext ctx, Gst.Rtsp.RTSPTransport ct)
+               {
+                       ConfigureClientTransportNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_client_transport"));
+                               unmanaged = (ConfigureClientTransportNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConfigureClientTransportNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       IntPtr native_ct = GLib.Marshaller.StructureToPtrAlloc (ct);
+                       bool __result = unmanaged (this.Handle, native_ctx, native_ct);
+                       Marshal.FreeHGlobal (native_ctx);
+                       Marshal.FreeHGlobal (native_ct);
+                       return __result;
+               }
+
+               static ParamsSetNativeDelegate ParamsSet_cb_delegate;
+               static ParamsSetNativeDelegate ParamsSetVMCallback {
+                       get {
+                               if (ParamsSet_cb_delegate == null)
+                                       ParamsSet_cb_delegate = new ParamsSetNativeDelegate (ParamsSet_cb);
+                               return ParamsSet_cb_delegate;
+                       }
+               }
+
+               static void OverrideParamsSet (GLib.GType gtype)
+               {
+                       OverrideParamsSet (gtype, ParamsSetVMCallback);
+               }
+
+               static void OverrideParamsSet (GLib.GType gtype, ParamsSetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("params_set"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParamsSetNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int ParamsSet_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.OnParamsSet (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideParamsSet")]
+               protected virtual Gst.Rtsp.RTSPResult OnParamsSet (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalParamsSet (ctx);
+               }
+
+               private Gst.Rtsp.RTSPResult InternalParamsSet (Gst.RtspServer.RTSPContext ctx)
+               {
+                       ParamsSetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("params_set"));
+                               unmanaged = (ParamsSetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ParamsSetNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPResult) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPResult) __result;
+               }
+
+               static ParamsGetNativeDelegate ParamsGet_cb_delegate;
+               static ParamsGetNativeDelegate ParamsGetVMCallback {
+                       get {
+                               if (ParamsGet_cb_delegate == null)
+                                       ParamsGet_cb_delegate = new ParamsGetNativeDelegate (ParamsGet_cb);
+                               return ParamsGet_cb_delegate;
+                       }
+               }
+
+               static void OverrideParamsGet (GLib.GType gtype)
+               {
+                       OverrideParamsGet (gtype, ParamsGetVMCallback);
+               }
+
+               static void OverrideParamsGet (GLib.GType gtype, ParamsGetNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("params_get"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int ParamsGetNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int ParamsGet_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPResult __result;
+                               __result = __obj.OnParamsGet (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideParamsGet")]
+               protected virtual Gst.Rtsp.RTSPResult OnParamsGet (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalParamsGet (ctx);
+               }
+
+               private Gst.Rtsp.RTSPResult InternalParamsGet (Gst.RtspServer.RTSPContext ctx)
+               {
+                       ParamsGetNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("params_get"));
+                               unmanaged = (ParamsGetNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ParamsGetNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPResult) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPResult) __result;
+               }
+
+               static MakePathFromUriNativeDelegate MakePathFromUri_cb_delegate;
+               static MakePathFromUriNativeDelegate MakePathFromUriVMCallback {
+                       get {
+                               if (MakePathFromUri_cb_delegate == null)
+                                       MakePathFromUri_cb_delegate = new MakePathFromUriNativeDelegate (MakePathFromUri_cb);
+                               return MakePathFromUri_cb_delegate;
+                       }
+               }
+
+               static void OverrideMakePathFromUri (GLib.GType gtype)
+               {
+                       OverrideMakePathFromUri (gtype, MakePathFromUriVMCallback);
+               }
+
+               static void OverrideMakePathFromUri (GLib.GType gtype, MakePathFromUriNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("make_path_from_uri"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr MakePathFromUriNativeDelegate (IntPtr inst, IntPtr uri);
+
+               static IntPtr MakePathFromUri_cb (IntPtr inst, IntPtr uri)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               string __result;
+                               __result = __obj.OnMakePathFromUri (Gst.Rtsp.RTSPUrl.New (uri));
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideMakePathFromUri")]
+               protected virtual string OnMakePathFromUri (Gst.Rtsp.RTSPUrl uri)
+               {
+                       return InternalMakePathFromUri (uri);
+               }
+
+               private string InternalMakePathFromUri (Gst.Rtsp.RTSPUrl uri)
+               {
+                       MakePathFromUriNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("make_path_from_uri"));
+                               unmanaged = (MakePathFromUriNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MakePathFromUriNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_uri = GLib.Marshaller.StructureToPtrAlloc (uri);
+                       IntPtr __result = unmanaged (this.Handle, native_uri);
+                       Marshal.FreeHGlobal (native_uri);
+                       return GLib.Marshaller.PtrToStringGFree(__result);
+               }
+
+               static AdjustPlayModeNativeDelegate AdjustPlayMode_cb_delegate;
+               static AdjustPlayModeNativeDelegate AdjustPlayModeVMCallback {
+                       get {
+                               if (AdjustPlayMode_cb_delegate == null)
+                                       AdjustPlayMode_cb_delegate = new AdjustPlayModeNativeDelegate (AdjustPlayMode_cb);
+                               return AdjustPlayMode_cb_delegate;
+                       }
+               }
+
+               static void OverrideAdjustPlayMode (GLib.GType gtype)
+               {
+                       OverrideAdjustPlayMode (gtype, AdjustPlayModeVMCallback);
+               }
+
+               static void OverrideAdjustPlayMode (GLib.GType gtype, AdjustPlayModeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_play_mode"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AdjustPlayModeNativeDelegate (IntPtr inst, IntPtr context, IntPtr range, int flags, double rate, ulong trickmode_interval, bool enable_rate_control);
+
+               static int AdjustPlayMode_cb (IntPtr inst, IntPtr context, IntPtr range, int flags, double rate, ulong trickmode_interval, bool enable_rate_control)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnAdjustPlayMode (Gst.RtspServer.RTSPContext.New (context), Gst.Rtsp.RTSPTimeRange.New (range), (Gst.SeekFlags) flags, rate, trickmode_interval, enable_rate_control);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideAdjustPlayMode")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnAdjustPlayMode (Gst.RtspServer.RTSPContext context, Gst.Rtsp.RTSPTimeRange range, Gst.SeekFlags flags, double rate, ulong trickmode_interval, bool enable_rate_control)
+               {
+                       return InternalAdjustPlayMode (context, range, flags, rate, trickmode_interval, enable_rate_control);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalAdjustPlayMode (Gst.RtspServer.RTSPContext context, Gst.Rtsp.RTSPTimeRange range, Gst.SeekFlags flags, double rate, ulong trickmode_interval, bool enable_rate_control)
+               {
+                       AdjustPlayModeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_play_mode"));
+                               unmanaged = (AdjustPlayModeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AdjustPlayModeNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_context = GLib.Marshaller.StructureToPtrAlloc (context);
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       int __result = unmanaged (this.Handle, native_context, native_range, (int) flags, rate, trickmode_interval, enable_rate_control);
+                       Marshal.FreeHGlobal (native_context);
+                       Marshal.FreeHGlobal (native_range);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static AdjustPlayResponseNativeDelegate AdjustPlayResponse_cb_delegate;
+               static AdjustPlayResponseNativeDelegate AdjustPlayResponseVMCallback {
+                       get {
+                               if (AdjustPlayResponse_cb_delegate == null)
+                                       AdjustPlayResponse_cb_delegate = new AdjustPlayResponseNativeDelegate (AdjustPlayResponse_cb);
+                               return AdjustPlayResponse_cb_delegate;
+                       }
+               }
+
+               static void OverrideAdjustPlayResponse (GLib.GType gtype)
+               {
+                       OverrideAdjustPlayResponse (gtype, AdjustPlayResponseVMCallback);
+               }
+
+               static void OverrideAdjustPlayResponse (GLib.GType gtype, AdjustPlayResponseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_play_response"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AdjustPlayResponseNativeDelegate (IntPtr inst, IntPtr context);
+
+               static int AdjustPlayResponse_cb (IntPtr inst, IntPtr context)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnAdjustPlayResponse (Gst.RtspServer.RTSPContext.New (context));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideAdjustPlayResponse")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnAdjustPlayResponse (Gst.RtspServer.RTSPContext context)
+               {
+                       return InternalAdjustPlayResponse (context);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalAdjustPlayResponse (Gst.RtspServer.RTSPContext context)
+               {
+                       AdjustPlayResponseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_play_response"));
+                               unmanaged = (AdjustPlayResponseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AdjustPlayResponseNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_context = GLib.Marshaller.StructureToPtrAlloc (context);
+                       int __result = unmanaged (this.Handle, native_context);
+                       Marshal.FreeHGlobal (native_context);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static ClosedNativeDelegate Closed_cb_delegate;
+               static ClosedNativeDelegate ClosedVMCallback {
+                       get {
+                               if (Closed_cb_delegate == null)
+                                       Closed_cb_delegate = new ClosedNativeDelegate (Closed_cb);
+                               return Closed_cb_delegate;
+                       }
+               }
+
+               static void OverrideClosed (GLib.GType gtype)
+               {
+                       OverrideClosed (gtype, ClosedVMCallback);
+               }
+
+               static void OverrideClosed (GLib.GType gtype, ClosedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("closed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ClosedNativeDelegate (IntPtr inst);
+
+               static void Closed_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnClosed ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideClosed")]
+               protected virtual void OnClosed ()
+               {
+                       InternalClosed ();
+               }
+
+               private void InternalClosed ()
+               {
+                       ClosedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("closed"));
+                               unmanaged = (ClosedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ClosedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static NewSessionNativeDelegate NewSession_cb_delegate;
+               static NewSessionNativeDelegate NewSessionVMCallback {
+                       get {
+                               if (NewSession_cb_delegate == null)
+                                       NewSession_cb_delegate = new NewSessionNativeDelegate (NewSession_cb);
+                               return NewSession_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewSession (GLib.GType gtype)
+               {
+                       OverrideNewSession (gtype, NewSessionVMCallback);
+               }
+
+               static void OverrideNewSession (GLib.GType gtype, NewSessionNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("new_session"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewSessionNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void NewSession_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnNewSession (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPSession);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideNewSession")]
+               protected virtual void OnNewSession (Gst.RtspServer.RTSPSession _object)
+               {
+                       InternalNewSession (_object);
+               }
+
+               private void InternalNewSession (Gst.RtspServer.RTSPSession _object)
+               {
+                       NewSessionNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("new_session"));
+                               unmanaged = (NewSessionNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NewSessionNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+               static OptionsRequestNativeDelegate OptionsRequest_cb_delegate;
+               static OptionsRequestNativeDelegate OptionsRequestVMCallback {
+                       get {
+                               if (OptionsRequest_cb_delegate == null)
+                                       OptionsRequest_cb_delegate = new OptionsRequestNativeDelegate (OptionsRequest_cb);
+                               return OptionsRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideOptionsRequest (GLib.GType gtype)
+               {
+                       OverrideOptionsRequest (gtype, OptionsRequestVMCallback);
+               }
+
+               static void OverrideOptionsRequest (GLib.GType gtype, OptionsRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("options_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void OptionsRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void OptionsRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnOptionsRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideOptionsRequest")]
+               protected virtual void OnOptionsRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalOptionsRequest (ctx);
+               }
+
+               private void InternalOptionsRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       OptionsRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("options_request"));
+                               unmanaged = (OptionsRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(OptionsRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static DescribeRequestNativeDelegate DescribeRequest_cb_delegate;
+               static DescribeRequestNativeDelegate DescribeRequestVMCallback {
+                       get {
+                               if (DescribeRequest_cb_delegate == null)
+                                       DescribeRequest_cb_delegate = new DescribeRequestNativeDelegate (DescribeRequest_cb);
+                               return DescribeRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideDescribeRequest (GLib.GType gtype)
+               {
+                       OverrideDescribeRequest (gtype, DescribeRequestVMCallback);
+               }
+
+               static void OverrideDescribeRequest (GLib.GType gtype, DescribeRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("describe_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void DescribeRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void DescribeRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnDescribeRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideDescribeRequest")]
+               protected virtual void OnDescribeRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalDescribeRequest (ctx);
+               }
+
+               private void InternalDescribeRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       DescribeRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("describe_request"));
+                               unmanaged = (DescribeRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DescribeRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static SetupRequestNativeDelegate SetupRequest_cb_delegate;
+               static SetupRequestNativeDelegate SetupRequestVMCallback {
+                       get {
+                               if (SetupRequest_cb_delegate == null)
+                                       SetupRequest_cb_delegate = new SetupRequestNativeDelegate (SetupRequest_cb);
+                               return SetupRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetupRequest (GLib.GType gtype)
+               {
+                       OverrideSetupRequest (gtype, SetupRequestVMCallback);
+               }
+
+               static void OverrideSetupRequest (GLib.GType gtype, SetupRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetupRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void SetupRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnSetupRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideSetupRequest")]
+               protected virtual void OnSetupRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalSetupRequest (ctx);
+               }
+
+               private void InternalSetupRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       SetupRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_request"));
+                               unmanaged = (SetupRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetupRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static PlayRequestNativeDelegate PlayRequest_cb_delegate;
+               static PlayRequestNativeDelegate PlayRequestVMCallback {
+                       get {
+                               if (PlayRequest_cb_delegate == null)
+                                       PlayRequest_cb_delegate = new PlayRequestNativeDelegate (PlayRequest_cb);
+                               return PlayRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePlayRequest (GLib.GType gtype)
+               {
+                       OverridePlayRequest (gtype, PlayRequestVMCallback);
+               }
+
+               static void OverridePlayRequest (GLib.GType gtype, PlayRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("play_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PlayRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void PlayRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnPlayRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePlayRequest")]
+               protected virtual void OnPlayRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalPlayRequest (ctx);
+               }
+
+               private void InternalPlayRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PlayRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("play_request"));
+                               unmanaged = (PlayRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PlayRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static PauseRequestNativeDelegate PauseRequest_cb_delegate;
+               static PauseRequestNativeDelegate PauseRequestVMCallback {
+                       get {
+                               if (PauseRequest_cb_delegate == null)
+                                       PauseRequest_cb_delegate = new PauseRequestNativeDelegate (PauseRequest_cb);
+                               return PauseRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePauseRequest (GLib.GType gtype)
+               {
+                       OverridePauseRequest (gtype, PauseRequestVMCallback);
+               }
+
+               static void OverridePauseRequest (GLib.GType gtype, PauseRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pause_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PauseRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void PauseRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnPauseRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePauseRequest")]
+               protected virtual void OnPauseRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalPauseRequest (ctx);
+               }
+
+               private void InternalPauseRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PauseRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pause_request"));
+                               unmanaged = (PauseRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PauseRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static TeardownRequestNativeDelegate TeardownRequest_cb_delegate;
+               static TeardownRequestNativeDelegate TeardownRequestVMCallback {
+                       get {
+                               if (TeardownRequest_cb_delegate == null)
+                                       TeardownRequest_cb_delegate = new TeardownRequestNativeDelegate (TeardownRequest_cb);
+                               return TeardownRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideTeardownRequest (GLib.GType gtype)
+               {
+                       OverrideTeardownRequest (gtype, TeardownRequestVMCallback);
+               }
+
+               static void OverrideTeardownRequest (GLib.GType gtype, TeardownRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("teardown_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TeardownRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void TeardownRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnTeardownRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideTeardownRequest")]
+               protected virtual void OnTeardownRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalTeardownRequest (ctx);
+               }
+
+               private void InternalTeardownRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       TeardownRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("teardown_request"));
+                               unmanaged = (TeardownRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TeardownRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static SetParameterRequestNativeDelegate SetParameterRequest_cb_delegate;
+               static SetParameterRequestNativeDelegate SetParameterRequestVMCallback {
+                       get {
+                               if (SetParameterRequest_cb_delegate == null)
+                                       SetParameterRequest_cb_delegate = new SetParameterRequestNativeDelegate (SetParameterRequest_cb);
+                               return SetParameterRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetParameterRequest (GLib.GType gtype)
+               {
+                       OverrideSetParameterRequest (gtype, SetParameterRequestVMCallback);
+               }
+
+               static void OverrideSetParameterRequest (GLib.GType gtype, SetParameterRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_parameter_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SetParameterRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void SetParameterRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnSetParameterRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideSetParameterRequest")]
+               protected virtual void OnSetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalSetParameterRequest (ctx);
+               }
+
+               private void InternalSetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       SetParameterRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_parameter_request"));
+                               unmanaged = (SetParameterRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetParameterRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static GetParameterRequestNativeDelegate GetParameterRequest_cb_delegate;
+               static GetParameterRequestNativeDelegate GetParameterRequestVMCallback {
+                       get {
+                               if (GetParameterRequest_cb_delegate == null)
+                                       GetParameterRequest_cb_delegate = new GetParameterRequestNativeDelegate (GetParameterRequest_cb);
+                               return GetParameterRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetParameterRequest (GLib.GType gtype)
+               {
+                       OverrideGetParameterRequest (gtype, GetParameterRequestVMCallback);
+               }
+
+               static void OverrideGetParameterRequest (GLib.GType gtype, GetParameterRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_parameter_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void GetParameterRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void GetParameterRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnGetParameterRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideGetParameterRequest")]
+               protected virtual void OnGetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalGetParameterRequest (ctx);
+               }
+
+               private void InternalGetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       GetParameterRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_parameter_request"));
+                               unmanaged = (GetParameterRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetParameterRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static HandleResponseNativeDelegate HandleResponse_cb_delegate;
+               static HandleResponseNativeDelegate HandleResponseVMCallback {
+                       get {
+                               if (HandleResponse_cb_delegate == null)
+                                       HandleResponse_cb_delegate = new HandleResponseNativeDelegate (HandleResponse_cb);
+                               return HandleResponse_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleResponse (GLib.GType gtype)
+               {
+                       OverrideHandleResponse (gtype, HandleResponseVMCallback);
+               }
+
+               static void OverrideHandleResponse (GLib.GType gtype, HandleResponseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_response"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void HandleResponseNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void HandleResponse_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnHandleResponse (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideHandleResponse")]
+               protected virtual void OnHandleResponse (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalHandleResponse (ctx);
+               }
+
+               private void InternalHandleResponse (Gst.RtspServer.RTSPContext ctx)
+               {
+                       HandleResponseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_response"));
+                               unmanaged = (HandleResponseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleResponseNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static TunnelHttpResponseNativeDelegate TunnelHttpResponse_cb_delegate;
+               static TunnelHttpResponseNativeDelegate TunnelHttpResponseVMCallback {
+                       get {
+                               if (TunnelHttpResponse_cb_delegate == null)
+                                       TunnelHttpResponse_cb_delegate = new TunnelHttpResponseNativeDelegate (TunnelHttpResponse_cb);
+                               return TunnelHttpResponse_cb_delegate;
+                       }
+               }
+
+               static void OverrideTunnelHttpResponse (GLib.GType gtype)
+               {
+                       OverrideTunnelHttpResponse (gtype, TunnelHttpResponseVMCallback);
+               }
+
+               static void OverrideTunnelHttpResponse (GLib.GType gtype, TunnelHttpResponseNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("tunnel_http_response"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TunnelHttpResponseNativeDelegate (IntPtr inst, IntPtr request, IntPtr response);
+
+               static void TunnelHttpResponse_cb (IntPtr inst, IntPtr request, IntPtr response)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnTunnelHttpResponse (Gst.Rtsp.RTSPMessage.New (request), Gst.Rtsp.RTSPMessage.New (response));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideTunnelHttpResponse")]
+               protected virtual void OnTunnelHttpResponse (Gst.Rtsp.RTSPMessage request, Gst.Rtsp.RTSPMessage response)
+               {
+                       InternalTunnelHttpResponse (request, response);
+               }
+
+               private void InternalTunnelHttpResponse (Gst.Rtsp.RTSPMessage request, Gst.Rtsp.RTSPMessage response)
+               {
+                       TunnelHttpResponseNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("tunnel_http_response"));
+                               unmanaged = (TunnelHttpResponseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TunnelHttpResponseNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_request = GLib.Marshaller.StructureToPtrAlloc (request);
+                       IntPtr native_response = GLib.Marshaller.StructureToPtrAlloc (response);
+                       unmanaged (this.Handle, native_request, native_response);
+                       Marshal.FreeHGlobal (native_request);
+                       Marshal.FreeHGlobal (native_response);
+               }
+
+               static SendMessageEventNativeDelegate SendMessageEvent_cb_delegate;
+               static SendMessageEventNativeDelegate SendMessageEventVMCallback {
+                       get {
+                               if (SendMessageEvent_cb_delegate == null)
+                                       SendMessageEvent_cb_delegate = new SendMessageEventNativeDelegate (SendMessageEvent_cb);
+                               return SendMessageEvent_cb_delegate;
+                       }
+               }
+
+               static void OverrideSendMessageEvent (GLib.GType gtype)
+               {
+                       OverrideSendMessageEvent (gtype, SendMessageEventVMCallback);
+               }
+
+               static void OverrideSendMessageEvent (GLib.GType gtype, SendMessageEventNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SendMessageEventNativeDelegate (IntPtr inst, IntPtr session, IntPtr message);
+
+               static void SendMessageEvent_cb (IntPtr inst, IntPtr session, IntPtr message)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnSendMessageEvent (GLib.Object.GetObject(session) as Gst.RtspServer.RTSPSession, message);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideSendMessageEvent")]
+               protected virtual void OnSendMessageEvent (Gst.RtspServer.RTSPSession session, IntPtr message)
+               {
+                       InternalSendMessageEvent (session, message);
+               }
+
+               private void InternalSendMessageEvent (Gst.RtspServer.RTSPSession session, IntPtr message)
+               {
+                       SendMessageEventNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_message"));
+                               unmanaged = (SendMessageEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendMessageEventNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, session == null ? IntPtr.Zero : session.Handle, message);
+               }
+
+               static HandleSdpNativeDelegate HandleSdp_cb_delegate;
+               static HandleSdpNativeDelegate HandleSdpVMCallback {
+                       get {
+                               if (HandleSdp_cb_delegate == null)
+                                       HandleSdp_cb_delegate = new HandleSdpNativeDelegate (HandleSdp_cb);
+                               return HandleSdp_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleSdp (GLib.GType gtype)
+               {
+                       OverrideHandleSdp (gtype, HandleSdpVMCallback);
+               }
+
+               static void OverrideHandleSdp (GLib.GType gtype, HandleSdpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_sdp"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool HandleSdpNativeDelegate (IntPtr inst, IntPtr ctx, IntPtr media, IntPtr sdp);
+
+               static bool HandleSdp_cb (IntPtr inst, IntPtr ctx, IntPtr media, IntPtr sdp)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               bool __result;
+                               __result = __obj.OnHandleSdp (Gst.RtspServer.RTSPContext.New (ctx), GLib.Object.GetObject(media) as Gst.RtspServer.RTSPMedia, sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (sdp, typeof (Gst.Sdp.SDPMessage), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideHandleSdp")]
+               protected virtual bool OnHandleSdp (Gst.RtspServer.RTSPContext ctx, Gst.RtspServer.RTSPMedia media, Gst.Sdp.SDPMessage sdp)
+               {
+                       return InternalHandleSdp (ctx, media, sdp);
+               }
+
+               private bool InternalHandleSdp (Gst.RtspServer.RTSPContext ctx, Gst.RtspServer.RTSPMedia media, Gst.Sdp.SDPMessage sdp)
+               {
+                       HandleSdpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_sdp"));
+                               unmanaged = (HandleSdpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleSdpNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       bool __result = unmanaged (this.Handle, native_ctx, media == null ? IntPtr.Zero : media.Handle, sdp == null ? IntPtr.Zero : sdp.Handle);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return __result;
+               }
+
+               static AnnounceRequestNativeDelegate AnnounceRequest_cb_delegate;
+               static AnnounceRequestNativeDelegate AnnounceRequestVMCallback {
+                       get {
+                               if (AnnounceRequest_cb_delegate == null)
+                                       AnnounceRequest_cb_delegate = new AnnounceRequestNativeDelegate (AnnounceRequest_cb);
+                               return AnnounceRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideAnnounceRequest (GLib.GType gtype)
+               {
+                       OverrideAnnounceRequest (gtype, AnnounceRequestVMCallback);
+               }
+
+               static void OverrideAnnounceRequest (GLib.GType gtype, AnnounceRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("announce_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void AnnounceRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void AnnounceRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnAnnounceRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideAnnounceRequest")]
+               protected virtual void OnAnnounceRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalAnnounceRequest (ctx);
+               }
+
+               private void InternalAnnounceRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       AnnounceRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("announce_request"));
+                               unmanaged = (AnnounceRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AnnounceRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static RecordRequestNativeDelegate RecordRequest_cb_delegate;
+               static RecordRequestNativeDelegate RecordRequestVMCallback {
+                       get {
+                               if (RecordRequest_cb_delegate == null)
+                                       RecordRequest_cb_delegate = new RecordRequestNativeDelegate (RecordRequest_cb);
+                               return RecordRequest_cb_delegate;
+                       }
+               }
+
+               static void OverrideRecordRequest (GLib.GType gtype)
+               {
+                       OverrideRecordRequest (gtype, RecordRequestVMCallback);
+               }
+
+               static void OverrideRecordRequest (GLib.GType gtype, RecordRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("record_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void RecordRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static void RecordRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               __obj.OnRecordRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideRecordRequest")]
+               protected virtual void OnRecordRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalRecordRequest (ctx);
+               }
+
+               private void InternalRecordRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       RecordRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("record_request"));
+                               unmanaged = (RecordRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RecordRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static PreOptionsRequestNativeDelegate PreOptionsRequest_cb_delegate;
+               static PreOptionsRequestNativeDelegate PreOptionsRequestVMCallback {
+                       get {
+                               if (PreOptionsRequest_cb_delegate == null)
+                                       PreOptionsRequest_cb_delegate = new PreOptionsRequestNativeDelegate (PreOptionsRequest_cb);
+                               return PreOptionsRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreOptionsRequest (GLib.GType gtype)
+               {
+                       OverridePreOptionsRequest (gtype, PreOptionsRequestVMCallback);
+               }
+
+               static void OverridePreOptionsRequest (GLib.GType gtype, PreOptionsRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_options_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreOptionsRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreOptionsRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreOptionsRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreOptionsRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreOptionsRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreOptionsRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreOptionsRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreOptionsRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_options_request"));
+                               unmanaged = (PreOptionsRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreOptionsRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreDescribeRequestNativeDelegate PreDescribeRequest_cb_delegate;
+               static PreDescribeRequestNativeDelegate PreDescribeRequestVMCallback {
+                       get {
+                               if (PreDescribeRequest_cb_delegate == null)
+                                       PreDescribeRequest_cb_delegate = new PreDescribeRequestNativeDelegate (PreDescribeRequest_cb);
+                               return PreDescribeRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreDescribeRequest (GLib.GType gtype)
+               {
+                       OverridePreDescribeRequest (gtype, PreDescribeRequestVMCallback);
+               }
+
+               static void OverridePreDescribeRequest (GLib.GType gtype, PreDescribeRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_describe_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreDescribeRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreDescribeRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreDescribeRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreDescribeRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreDescribeRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreDescribeRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreDescribeRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreDescribeRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_describe_request"));
+                               unmanaged = (PreDescribeRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreDescribeRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreSetupRequestNativeDelegate PreSetupRequest_cb_delegate;
+               static PreSetupRequestNativeDelegate PreSetupRequestVMCallback {
+                       get {
+                               if (PreSetupRequest_cb_delegate == null)
+                                       PreSetupRequest_cb_delegate = new PreSetupRequestNativeDelegate (PreSetupRequest_cb);
+                               return PreSetupRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreSetupRequest (GLib.GType gtype)
+               {
+                       OverridePreSetupRequest (gtype, PreSetupRequestVMCallback);
+               }
+
+               static void OverridePreSetupRequest (GLib.GType gtype, PreSetupRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_setup_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreSetupRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreSetupRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreSetupRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreSetupRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreSetupRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreSetupRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreSetupRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreSetupRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_setup_request"));
+                               unmanaged = (PreSetupRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreSetupRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PrePlayRequestNativeDelegate PrePlayRequest_cb_delegate;
+               static PrePlayRequestNativeDelegate PrePlayRequestVMCallback {
+                       get {
+                               if (PrePlayRequest_cb_delegate == null)
+                                       PrePlayRequest_cb_delegate = new PrePlayRequestNativeDelegate (PrePlayRequest_cb);
+                               return PrePlayRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePlayRequest (GLib.GType gtype)
+               {
+                       OverridePrePlayRequest (gtype, PrePlayRequestVMCallback);
+               }
+
+               static void OverridePrePlayRequest (GLib.GType gtype, PrePlayRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_play_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePlayRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PrePlayRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPrePlayRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePrePlayRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPrePlayRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPrePlayRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPrePlayRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PrePlayRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_play_request"));
+                               unmanaged = (PrePlayRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePlayRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PrePauseRequestNativeDelegate PrePauseRequest_cb_delegate;
+               static PrePauseRequestNativeDelegate PrePauseRequestVMCallback {
+                       get {
+                               if (PrePauseRequest_cb_delegate == null)
+                                       PrePauseRequest_cb_delegate = new PrePauseRequestNativeDelegate (PrePauseRequest_cb);
+                               return PrePauseRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePrePauseRequest (GLib.GType gtype)
+               {
+                       OverridePrePauseRequest (gtype, PrePauseRequestVMCallback);
+               }
+
+               static void OverridePrePauseRequest (GLib.GType gtype, PrePauseRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_pause_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PrePauseRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PrePauseRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPrePauseRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePrePauseRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPrePauseRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPrePauseRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPrePauseRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PrePauseRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_pause_request"));
+                               unmanaged = (PrePauseRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrePauseRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreTeardownRequestNativeDelegate PreTeardownRequest_cb_delegate;
+               static PreTeardownRequestNativeDelegate PreTeardownRequestVMCallback {
+                       get {
+                               if (PreTeardownRequest_cb_delegate == null)
+                                       PreTeardownRequest_cb_delegate = new PreTeardownRequestNativeDelegate (PreTeardownRequest_cb);
+                               return PreTeardownRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreTeardownRequest (GLib.GType gtype)
+               {
+                       OverridePreTeardownRequest (gtype, PreTeardownRequestVMCallback);
+               }
+
+               static void OverridePreTeardownRequest (GLib.GType gtype, PreTeardownRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_teardown_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreTeardownRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreTeardownRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreTeardownRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreTeardownRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreTeardownRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreTeardownRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreTeardownRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreTeardownRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_teardown_request"));
+                               unmanaged = (PreTeardownRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreTeardownRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreSetParameterRequestNativeDelegate PreSetParameterRequest_cb_delegate;
+               static PreSetParameterRequestNativeDelegate PreSetParameterRequestVMCallback {
+                       get {
+                               if (PreSetParameterRequest_cb_delegate == null)
+                                       PreSetParameterRequest_cb_delegate = new PreSetParameterRequestNativeDelegate (PreSetParameterRequest_cb);
+                               return PreSetParameterRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreSetParameterRequest (GLib.GType gtype)
+               {
+                       OverridePreSetParameterRequest (gtype, PreSetParameterRequestVMCallback);
+               }
+
+               static void OverridePreSetParameterRequest (GLib.GType gtype, PreSetParameterRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_set_parameter_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreSetParameterRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreSetParameterRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreSetParameterRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreSetParameterRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreSetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreSetParameterRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreSetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreSetParameterRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_set_parameter_request"));
+                               unmanaged = (PreSetParameterRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreSetParameterRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreGetParameterRequestNativeDelegate PreGetParameterRequest_cb_delegate;
+               static PreGetParameterRequestNativeDelegate PreGetParameterRequestVMCallback {
+                       get {
+                               if (PreGetParameterRequest_cb_delegate == null)
+                                       PreGetParameterRequest_cb_delegate = new PreGetParameterRequestNativeDelegate (PreGetParameterRequest_cb);
+                               return PreGetParameterRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreGetParameterRequest (GLib.GType gtype)
+               {
+                       OverridePreGetParameterRequest (gtype, PreGetParameterRequestVMCallback);
+               }
+
+               static void OverridePreGetParameterRequest (GLib.GType gtype, PreGetParameterRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_get_parameter_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreGetParameterRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreGetParameterRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreGetParameterRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreGetParameterRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreGetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreGetParameterRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreGetParameterRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreGetParameterRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_get_parameter_request"));
+                               unmanaged = (PreGetParameterRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreGetParameterRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreAnnounceRequestNativeDelegate PreAnnounceRequest_cb_delegate;
+               static PreAnnounceRequestNativeDelegate PreAnnounceRequestVMCallback {
+                       get {
+                               if (PreAnnounceRequest_cb_delegate == null)
+                                       PreAnnounceRequest_cb_delegate = new PreAnnounceRequestNativeDelegate (PreAnnounceRequest_cb);
+                               return PreAnnounceRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreAnnounceRequest (GLib.GType gtype)
+               {
+                       OverridePreAnnounceRequest (gtype, PreAnnounceRequestVMCallback);
+               }
+
+               static void OverridePreAnnounceRequest (GLib.GType gtype, PreAnnounceRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_announce_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreAnnounceRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreAnnounceRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreAnnounceRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreAnnounceRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreAnnounceRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreAnnounceRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreAnnounceRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreAnnounceRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_announce_request"));
+                               unmanaged = (PreAnnounceRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreAnnounceRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static PreRecordRequestNativeDelegate PreRecordRequest_cb_delegate;
+               static PreRecordRequestNativeDelegate PreRecordRequestVMCallback {
+                       get {
+                               if (PreRecordRequest_cb_delegate == null)
+                                       PreRecordRequest_cb_delegate = new PreRecordRequestNativeDelegate (PreRecordRequest_cb);
+                               return PreRecordRequest_cb_delegate;
+                       }
+               }
+
+               static void OverridePreRecordRequest (GLib.GType gtype)
+               {
+                       OverridePreRecordRequest (gtype, PreRecordRequestVMCallback);
+               }
+
+               static void OverridePreRecordRequest (GLib.GType gtype, PreRecordRequestNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_record_request"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int PreRecordRequestNativeDelegate (IntPtr inst, IntPtr ctx);
+
+               static int PreRecordRequest_cb (IntPtr inst, IntPtr ctx)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnPreRecordRequest (Gst.RtspServer.RTSPContext.New (ctx));
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverridePreRecordRequest")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnPreRecordRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalPreRecordRequest (ctx);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalPreRecordRequest (Gst.RtspServer.RTSPContext ctx)
+               {
+                       PreRecordRequestNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pre_record_request"));
+                               unmanaged = (PreRecordRequestNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreRecordRequestNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __result;
+               }
+
+               static AdjustErrorCodeNativeDelegate AdjustErrorCode_cb_delegate;
+               static AdjustErrorCodeNativeDelegate AdjustErrorCodeVMCallback {
+                       get {
+                               if (AdjustErrorCode_cb_delegate == null)
+                                       AdjustErrorCode_cb_delegate = new AdjustErrorCodeNativeDelegate (AdjustErrorCode_cb);
+                               return AdjustErrorCode_cb_delegate;
+                       }
+               }
+
+               static void OverrideAdjustErrorCode (GLib.GType gtype)
+               {
+                       OverrideAdjustErrorCode (gtype, AdjustErrorCodeVMCallback);
+               }
+
+               static void OverrideAdjustErrorCode (GLib.GType gtype, AdjustErrorCodeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_error_code"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate int AdjustErrorCodeNativeDelegate (IntPtr inst, IntPtr ctx, int code);
+
+               static int AdjustErrorCode_cb (IntPtr inst, IntPtr ctx, int code)
+               {
+                       try {
+                               RTSPClient __obj = GLib.Object.GetObject (inst, false) as RTSPClient;
+                               Gst.Rtsp.RTSPStatusCode __result;
+                               __result = __obj.OnAdjustErrorCode (Gst.RtspServer.RTSPContext.New (ctx), (Gst.Rtsp.RTSPStatusCode) code);
+                               return (int) __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPClient), ConnectionMethod="OverrideAdjustErrorCode")]
+               protected virtual Gst.Rtsp.RTSPStatusCode OnAdjustErrorCode (Gst.RtspServer.RTSPContext ctx, Gst.Rtsp.RTSPStatusCode code)
+               {
+                       return InternalAdjustErrorCode (ctx, code);
+               }
+
+               private Gst.Rtsp.RTSPStatusCode InternalAdjustErrorCode (Gst.RtspServer.RTSPContext ctx, Gst.Rtsp.RTSPStatusCode code)
+               {
+                       AdjustErrorCodeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("adjust_error_code"));
+                               unmanaged = (AdjustErrorCodeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AdjustErrorCodeNativeDelegate));
+                       }
+                       if (unmanaged == null) return (Gst.Rtsp.RTSPStatusCode) 0;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       int __result = unmanaged (this.Handle, native_ctx, (int) code);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return (Gst.Rtsp.RTSPStatusCode) __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("create_sdp"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_sdp
+                                                       , null
+                                                       , "configure_client_media"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("configure_client_media"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // configure_client_media
+                                                       , "create_sdp"
+                                                       , "configure_client_transport"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("configure_client_transport"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // configure_client_transport
+                                                       , "configure_client_media"
+                                                       , "params_set"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("params_set"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // params_set
+                                                       , "configure_client_transport"
+                                                       , "params_get"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("params_get"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // params_get
+                                                       , "params_set"
+                                                       , "make_path_from_uri"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("make_path_from_uri"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // make_path_from_uri
+                                                       , "params_get"
+                                                       , "adjust_play_mode"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("adjust_play_mode"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // adjust_play_mode
+                                                       , "make_path_from_uri"
+                                                       , "adjust_play_response"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("adjust_play_response"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // adjust_play_response
+                                                       , "adjust_play_mode"
+                                                       , "closed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("closed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // closed
+                                                       , "adjust_play_response"
+                                                       , "new_session"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("new_session"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // new_session
+                                                       , "closed"
+                                                       , "options_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("options_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // options_request
+                                                       , "new_session"
+                                                       , "describe_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("describe_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // describe_request
+                                                       , "options_request"
+                                                       , "setup_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("setup_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // setup_request
+                                                       , "describe_request"
+                                                       , "play_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("play_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // play_request
+                                                       , "setup_request"
+                                                       , "pause_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pause_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pause_request
+                                                       , "play_request"
+                                                       , "teardown_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("teardown_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // teardown_request
+                                                       , "pause_request"
+                                                       , "set_parameter_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("set_parameter_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_parameter_request
+                                                       , "teardown_request"
+                                                       , "get_parameter_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_parameter_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_parameter_request
+                                                       , "set_parameter_request"
+                                                       , "handle_response"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_response"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_response
+                                                       , "get_parameter_request"
+                                                       , "tunnel_http_response"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("tunnel_http_response"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // tunnel_http_response
+                                                       , "handle_response"
+                                                       , "send_message"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("send_message"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_message
+                                                       , "tunnel_http_response"
+                                                       , "handle_sdp"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_sdp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_sdp
+                                                       , "send_message"
+                                                       , "announce_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("announce_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // announce_request
+                                                       , "handle_sdp"
+                                                       , "record_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("record_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // record_request
+                                                       , "announce_request"
+                                                       , "check_requirements"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("check_requirements"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // check_requirements
+                                                       , "record_request"
+                                                       , "pre_options_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_options_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_options_request
+                                                       , "check_requirements"
+                                                       , "pre_describe_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_describe_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_describe_request
+                                                       , "pre_options_request"
+                                                       , "pre_setup_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_setup_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_setup_request
+                                                       , "pre_describe_request"
+                                                       , "pre_play_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_play_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_play_request
+                                                       , "pre_setup_request"
+                                                       , "pre_pause_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_pause_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_pause_request
+                                                       , "pre_play_request"
+                                                       , "pre_teardown_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_teardown_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_teardown_request
+                                                       , "pre_pause_request"
+                                                       , "pre_set_parameter_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_set_parameter_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_set_parameter_request
+                                                       , "pre_teardown_request"
+                                                       , "pre_get_parameter_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_get_parameter_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_get_parameter_request
+                                                       , "pre_set_parameter_request"
+                                                       , "pre_announce_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_announce_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_announce_request
+                                                       , "pre_get_parameter_request"
+                                                       , "pre_record_request"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("pre_record_request"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pre_record_request
+                                                       , "pre_announce_request"
+                                                       , "adjust_error_code"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("adjust_error_code"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // adjust_error_code
+                                                       , "pre_record_request"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 1 // _gst_reserved
+                                                       , "adjust_error_code"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_client_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_client_attach(IntPtr raw, IntPtr context);
+
+               public uint Attach(GLib.MainContext context) {
+                       uint raw_ret = gst_rtsp_client_attach(Handle, context == null ? IntPtr.Zero : context.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               public uint Attach() {
+                       return Attach (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_close(IntPtr raw);
+
+               public void Close() {
+                       gst_rtsp_client_close(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_auth(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_auth(IntPtr raw, IntPtr auth);
+
+               public Gst.RtspServer.RTSPAuth Auth { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_client_get_auth(Handle);
+                               Gst.RtspServer.RTSPAuth ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPAuth;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_client_set_auth(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_connection(IntPtr raw);
+
+               public Gst.Rtsp.RTSPConnection Connection { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_client_get_connection(Handle);
+                               Gst.Rtsp.RTSPConnection ret = raw_ret == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Rtsp.RTSPConnection), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_client_get_content_length_limit(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_content_length_limit(IntPtr raw, uint limit);
+
+               public uint ContentLengthLimit { 
+                       get {
+                               uint raw_ret = gst_rtsp_client_get_content_length_limit(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_client_set_content_length_limit(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_stream_transport(IntPtr raw, byte channel);
+
+               public Gst.RtspServer.RTSPStreamTransport GetStreamTransport(byte channel) {
+                       IntPtr raw_ret = gst_rtsp_client_get_stream_transport(Handle, channel);
+                       Gst.RtspServer.RTSPStreamTransport ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStreamTransport;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_get_thread_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_thread_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.RtspServer.RTSPThreadPool ThreadPool { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_client_get_thread_pool(Handle);
+                               Gst.RtspServer.RTSPThreadPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPThreadPool;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_client_set_thread_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_client_handle_message(IntPtr raw, IntPtr message);
+
+               public Gst.Rtsp.RTSPResult HandleMessage(Gst.Rtsp.RTSPMessage message) {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       int raw_ret = gst_rtsp_client_handle_message(Handle, native_message);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_message);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_client_send_message(IntPtr raw, IntPtr session, IntPtr message);
+
+               public Gst.Rtsp.RTSPResult SendMessage(Gst.RtspServer.RTSPSession session, Gst.Rtsp.RTSPMessage message) {
+                       IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+                       int raw_ret = gst_rtsp_client_send_message(Handle, session == null ? IntPtr.Zero : session.Handle, native_message);
+                       Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+                       Marshal.FreeHGlobal (native_message);
+                       return ret;
+               }
+
+               public Gst.Rtsp.RTSPResult SendMessage(Gst.Rtsp.RTSPMessage message) {
+                       return SendMessage (null, message);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_client_session_filter(IntPtr raw, Gst.RtspServerSharp.RTSPClientSessionFilterFuncNative func, IntPtr user_data);
+
+               public Gst.RtspServer.RTSPSession[] SessionFilter(Gst.RtspServer.RTSPClientSessionFilterFunc func) {
+                       Gst.RtspServerSharp.RTSPClientSessionFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPClientSessionFilterFuncWrapper (func);
+                       IntPtr raw_ret = gst_rtsp_client_session_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.RtspServer.RTSPSession[] ret = (Gst.RtspServer.RTSPSession[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPSession));
+                       return ret;
+               }
+
+               public Gst.RtspServer.RTSPSession[] SessionFilter() {
+                       return SessionFilter (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_client_set_connection(IntPtr raw, IntPtr conn);
+
+               public bool SetConnection(Gst.Rtsp.RTSPConnection conn) {
+                       conn.Owned = false;
+                       bool raw_ret = gst_rtsp_client_set_connection(Handle, conn == null ? IntPtr.Zero : conn.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_send_func(IntPtr raw, Gst.RtspServerSharp.RTSPClientSendFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.RtspServer.RTSPClientSendFunc SendFunc { 
+                       set {
+                               Gst.RtspServerSharp.RTSPClientSendFuncWrapper value_wrapper = new Gst.RtspServerSharp.RTSPClientSendFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_client_set_send_func(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_client_set_send_messages_func(IntPtr raw, Gst.RtspServerSharp.RTSPClientSendMessagesFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.RtspServer.RTSPClientSendMessagesFunc SendMessagesFunc { 
+                       set {
+                               Gst.RtspServerSharp.RTSPClientSendMessagesFuncWrapper value_wrapper = new Gst.RtspServerSharp.RTSPClientSendMessagesFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_client_set_send_messages_func(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+
+               static RTSPClient ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendFunc.cs
new file mode 100644 (file)
index 0000000..c084cd0
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate bool RTSPClientSendFunc(Gst.RtspServer.RTSPClient client, Gst.Rtsp.RTSPMessage message, bool close);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendMessagesFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSendMessagesFunc.cs
new file mode 100644 (file)
index 0000000..0e7b559
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate bool RTSPClientSendMessagesFunc(Gst.RtspServer.RTSPClient client, Gst.Rtsp.RTSPMessage messages, uint n_messages, bool close);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSessionFilterFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPClientSessionFilterFunc.cs
new file mode 100644 (file)
index 0000000..775a723
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate Gst.RtspServer.RTSPFilterResult RTSPClientSessionFilterFunc(Gst.RtspServer.RTSPClient client, Gst.RtspServer.RTSPSession sess);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPContext.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPContext.cs
new file mode 100644 (file)
index 0000000..5602420
--- /dev/null
@@ -0,0 +1,188 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct RTSPContext : IEquatable<RTSPContext> {
+
+               private IntPtr _server;
+               public Gst.RtspServer.RTSPServer Server {
+                       get {
+                               return GLib.Object.GetObject(_server) as Gst.RtspServer.RTSPServer;
+                       }
+                       set {
+                               _server = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _conn;
+               public Gst.Rtsp.RTSPConnection Conn {
+                       get {
+                               return _conn == IntPtr.Zero ? null : (Gst.Rtsp.RTSPConnection) GLib.Opaque.GetOpaque (_conn, typeof (Gst.Rtsp.RTSPConnection), false);
+                       }
+                       set {
+                               _conn = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _client;
+               public Gst.RtspServer.RTSPClient Client {
+                       get {
+                               return GLib.Object.GetObject(_client) as Gst.RtspServer.RTSPClient;
+                       }
+                       set {
+                               _client = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _request;
+
+               public Gst.Rtsp.RTSPMessage request {
+                       get { return Gst.Rtsp.RTSPMessage.New (_request); }
+               }
+               private IntPtr _uri;
+
+               public Gst.Rtsp.RTSPUrl uri {
+                       get { return Gst.Rtsp.RTSPUrl.New (_uri); }
+               }
+               public Gst.Rtsp.RTSPMethod Method;
+               private IntPtr _auth;
+               public Gst.RtspServer.RTSPAuth Auth {
+                       get {
+                               return GLib.Object.GetObject(_auth) as Gst.RtspServer.RTSPAuth;
+                       }
+                       set {
+                               _auth = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _token;
+               public Gst.RtspServer.RTSPToken Token {
+                       get {
+                               return _token == IntPtr.Zero ? null : (Gst.RtspServer.RTSPToken) GLib.Opaque.GetOpaque (_token, typeof (Gst.RtspServer.RTSPToken), false);
+                       }
+                       set {
+                               _token = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _session;
+               public Gst.RtspServer.RTSPSession Session {
+                       get {
+                               return GLib.Object.GetObject(_session) as Gst.RtspServer.RTSPSession;
+                       }
+                       set {
+                               _session = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _sessmedia;
+               public Gst.RtspServer.RTSPSessionMedia Sessmedia {
+                       get {
+                               return GLib.Object.GetObject(_sessmedia) as Gst.RtspServer.RTSPSessionMedia;
+                       }
+                       set {
+                               _sessmedia = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _factory;
+               public Gst.RtspServer.RTSPMediaFactory Factory {
+                       get {
+                               return GLib.Object.GetObject(_factory) as Gst.RtspServer.RTSPMediaFactory;
+                       }
+                       set {
+                               _factory = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _media;
+               public Gst.RtspServer.RTSPMedia Media {
+                       get {
+                               return GLib.Object.GetObject(_media) as Gst.RtspServer.RTSPMedia;
+                       }
+                       set {
+                               _media = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _stream;
+               public Gst.RtspServer.RTSPStream Stream {
+                       get {
+                               return GLib.Object.GetObject(_stream) as Gst.RtspServer.RTSPStream;
+                       }
+                       set {
+                               _stream = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               private IntPtr _response;
+
+               public Gst.Rtsp.RTSPMessage response {
+                       get { return Gst.Rtsp.RTSPMessage.New (_response); }
+               }
+               private IntPtr _trans;
+               public Gst.RtspServer.RTSPStreamTransport Trans {
+                       get {
+                               return GLib.Object.GetObject(_trans) as Gst.RtspServer.RTSPStreamTransport;
+                       }
+                       set {
+                               _trans = value == null ? IntPtr.Zero : value.Handle;
+                       }
+               }
+               [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)]
+               private IntPtr[] _gstGstReserved;
+
+               public static Gst.RtspServer.RTSPContext Zero = new Gst.RtspServer.RTSPContext ();
+
+               public static Gst.RtspServer.RTSPContext New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.RtspServer.RTSPContext.Zero;
+                       return (Gst.RtspServer.RTSPContext) Marshal.PtrToStructure (raw, typeof (Gst.RtspServer.RTSPContext));
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_context_pop_current(IntPtr raw);
+
+               public void PopCurrent() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtsp_context_pop_current(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_context_push_current(IntPtr raw);
+
+               public void PushCurrent() {
+                       IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+                       System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+                       gst_rtsp_context_push_current(this_as_native);
+                       ReadNative (this_as_native, ref this);
+                       System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+               }
+
+               static void ReadNative (IntPtr native, ref Gst.RtspServer.RTSPContext target)
+               {
+                       target = New (native);
+               }
+
+               public bool Equals (RTSPContext other)
+               {
+                       return true && Server.Equals (other.Server) && Conn.Equals (other.Conn) && Client.Equals (other.Client) && request.Equals (other.request) && uri.Equals (other.uri) && Method.Equals (other.Method) && Auth.Equals (other.Auth) && Token.Equals (other.Token) && Session.Equals (other.Session) && Sessmedia.Equals (other.Sessmedia) && Factory.Equals (other.Factory) && Media.Equals (other.Media) && Stream.Equals (other.Stream) && response.Equals (other.response) && Trans.Equals (other.Trans);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is RTSPContext && Equals ((RTSPContext) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ Server.GetHashCode () ^ Conn.GetHashCode () ^ Client.GetHashCode () ^ request.GetHashCode () ^ uri.GetHashCode () ^ Method.GetHashCode () ^ Auth.GetHashCode () ^ Token.GetHashCode () ^ Session.GetHashCode () ^ Sessmedia.GetHashCode () ^ Factory.GetHashCode () ^ Media.GetHashCode () ^ Stream.GetHashCode () ^ response.GetHashCode () ^ Trans.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPFilterResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPFilterResult.cs
new file mode 100644 (file)
index 0000000..f897f13
--- /dev/null
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum RTSPFilterResult {
+
+               Remove = 0,
+               Keep = 1,
+               Ref = 2,
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPKeepAliveFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPKeepAliveFunc.cs
new file mode 100644 (file)
index 0000000..639367a
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void RTSPKeepAliveFunc();
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMedia.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMedia.cs
new file mode 100644 (file)
index 0000000..d038082
--- /dev/null
@@ -0,0 +1,2082 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPMedia : GLib.Object {
+
+               public RTSPMedia (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_new(IntPtr element);
+
+               public RTSPMedia (Gst.Element element) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPMedia)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               if (element != null) {
+                                       names.Add ("element");
+                                       vals.Add (new GLib.Value (element));
+                               }
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       Raw = gst_rtsp_media_new(element == null ? IntPtr.Zero : element.OwnedHandle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_bind_mcast_address(IntPtr raw, bool bind_mcast_addr);
+
+               [GLib.Property ("bind-mcast-address")]
+               public bool BindMcastAddress {
+                       get {
+                               GLib.Value val = GetProperty ("bind-mcast-address");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_bind_mcast_address(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_get_buffer_size(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_buffer_size(IntPtr raw, uint size);
+
+               [GLib.Property ("buffer-size")]
+               public uint BufferSize {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_get_buffer_size(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_buffer_size(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_clock(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_clock(IntPtr raw, IntPtr clock);
+
+               [GLib.Property ("clock")]
+               public Gst.Clock Clock {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_media_get_clock(Handle);
+                               Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_clock(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_dscp_qos(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_dscp_qos(IntPtr raw, int dscp_qos);
+
+               [GLib.Property ("dscp-qos")]
+               public int DscpQos {
+                       get  {
+                               int raw_ret = gst_rtsp_media_get_dscp_qos(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_dscp_qos(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_element(IntPtr raw);
+
+               [GLib.Property ("element")]
+               public Gst.Element Element {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_media_get_element(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_get_ensure_keyunit_on_start(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_ensure_keyunit_on_start(IntPtr raw, bool ensure_keyunit_on_start);
+
+               [GLib.Property ("ensure-keyunit-on-start")]
+               public bool EnsureKeyunitOnStart {
+                       get  {
+                               bool raw_ret = gst_rtsp_media_get_ensure_keyunit_on_start(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_ensure_keyunit_on_start(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_get_ensure_keyunit_on_start_timeout(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_ensure_keyunit_on_start_timeout(IntPtr raw, uint timeout);
+
+               [GLib.Property ("ensure-keyunit-on-start-timeout")]
+               public uint EnsureKeyunitOnStartTimeout {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_get_ensure_keyunit_on_start_timeout(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_ensure_keyunit_on_start_timeout(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_eos_shutdown(IntPtr raw, bool eos_shutdown);
+
+               [GLib.Property ("eos-shutdown")]
+               public bool EosShutdown {
+                       get {
+                               GLib.Value val = GetProperty ("eos-shutdown");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_eos_shutdown(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_get_latency(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_latency(IntPtr raw, uint latency);
+
+               [GLib.Property ("latency")]
+               public uint Latency {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_get_latency(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_latency(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_get_max_mcast_ttl(IntPtr raw);
+
+               [GLib.Property ("max-mcast-ttl")]
+               public uint MaxMcastTtl {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_get_max_mcast_ttl(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("max-mcast-ttl", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_profiles(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_profiles(IntPtr raw, int profiles);
+
+               [GLib.Property ("profiles")]
+               public Gst.Rtsp.RTSPProfile Profiles {
+                       get  {
+                               int raw_ret = gst_rtsp_media_get_profiles(Handle);
+                               Gst.Rtsp.RTSPProfile ret = (Gst.Rtsp.RTSPProfile) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_profiles(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_protocols(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_protocols(IntPtr raw, int protocols);
+
+               [GLib.Property ("protocols")]
+               public Gst.Rtsp.RTSPLowerTrans Protocols {
+                       get  {
+                               int raw_ret = gst_rtsp_media_get_protocols(Handle);
+                               Gst.Rtsp.RTSPLowerTrans ret = (Gst.Rtsp.RTSPLowerTrans) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_protocols(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_reusable(IntPtr raw, bool reusable);
+
+               [GLib.Property ("reusable")]
+               public bool Reusable {
+                       get {
+                               GLib.Value val = GetProperty ("reusable");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_reusable(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_shared(IntPtr raw, bool shared);
+
+               [GLib.Property ("shared")]
+               public bool Shared {
+                       get {
+                               GLib.Value val = GetProperty ("shared");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_shared(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_stop_on_disconnect(IntPtr raw, bool stop_on_disconnect);
+
+               [GLib.Property ("stop-on-disconnect")]
+               public bool StopOnDisconnect {
+                       get {
+                               GLib.Value val = GetProperty ("stop-on-disconnect");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_stop_on_disconnect(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_suspend_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_suspend_mode(IntPtr raw, int mode);
+
+               [GLib.Property ("suspend-mode")]
+               public Gst.RtspServer.RTSPSuspendMode SuspendMode {
+                       get  {
+                               int raw_ret = gst_rtsp_media_get_suspend_mode(Handle);
+                               Gst.RtspServer.RTSPSuspendMode ret = (Gst.RtspServer.RTSPSuspendMode) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_suspend_mode(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Property ("time-provider")]
+               public bool TimeProvider {
+                       get {
+                               GLib.Value val = GetProperty ("time-provider");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("time-provider", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_transport_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_transport_mode(IntPtr raw, int mode);
+
+               [GLib.Property ("transport-mode")]
+               public Gst.RtspServer.RTSPTransportMode TransportMode {
+                       get  {
+                               int raw_ret = gst_rtsp_media_get_transport_mode(Handle);
+                               Gst.RtspServer.RTSPTransportMode ret = (Gst.RtspServer.RTSPTransportMode) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_set_transport_mode(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Signal("new-state")]
+               public event Gst.RtspServer.NewStateHandler NewState {
+                       add {
+                               this.AddSignalHandler ("new-state", value, typeof (Gst.RtspServer.NewStateArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-state", value);
+                       }
+               }
+
+               [GLib.Signal("unprepared")]
+               public event System.EventHandler Unprepared {
+                       add {
+                               this.AddSignalHandler ("unprepared", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("unprepared", value);
+                       }
+               }
+
+               [GLib.Signal("removed-stream")]
+               public event Gst.RtspServer.RemovedStreamHandler RemovedStream {
+                       add {
+                               this.AddSignalHandler ("removed-stream", value, typeof (Gst.RtspServer.RemovedStreamArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("removed-stream", value);
+                       }
+               }
+
+               [GLib.Signal("new-stream")]
+               public event Gst.RtspServer.NewStreamHandler NewStream {
+                       add {
+                               this.AddSignalHandler ("new-stream", value, typeof (Gst.RtspServer.NewStreamArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-stream", value);
+                       }
+               }
+
+               [GLib.Signal("prepared")]
+               public event System.EventHandler Prepared {
+                       add {
+                               this.AddSignalHandler ("prepared", value);
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("prepared", value);
+                       }
+               }
+
+               [GLib.Signal("handle-message")]
+               public event Gst.RtspServer.HandleMessageHandler HandleMessage {
+                       add {
+                               this.AddSignalHandler ("handle-message", value, typeof (Gst.RtspServer.HandleMessageArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("handle-message", value);
+                       }
+               }
+
+               [GLib.Signal("target-state")]
+               public event Gst.RtspServer.TargetStateHandler TargetState {
+                       add {
+                               this.AddSignalHandler ("target-state", value, typeof (Gst.RtspServer.TargetStateArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("target-state", value);
+                       }
+               }
+
+               static HandleMessageNativeDelegate HandleMessage_cb_delegate;
+               static HandleMessageNativeDelegate HandleMessageVMCallback {
+                       get {
+                               if (HandleMessage_cb_delegate == null)
+                                       HandleMessage_cb_delegate = new HandleMessageNativeDelegate (HandleMessage_cb);
+                               return HandleMessage_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleMessage (GLib.GType gtype)
+               {
+                       OverrideHandleMessage (gtype, HandleMessageVMCallback);
+               }
+
+               static void OverrideHandleMessage (GLib.GType gtype, HandleMessageNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_message"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool HandleMessageNativeDelegate (IntPtr inst, IntPtr message);
+
+               static bool HandleMessage_cb (IntPtr inst, IntPtr message)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnHandleMessage (message == IntPtr.Zero ? null : (Gst.Message) GLib.Opaque.GetOpaque (message, typeof (Gst.Message), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideHandleMessage")]
+               protected virtual bool OnHandleMessage (Gst.Message message)
+               {
+                       return InternalHandleMessage (message);
+               }
+
+               private bool InternalHandleMessage (Gst.Message message)
+               {
+                       HandleMessageNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_message"));
+                               unmanaged = (HandleMessageNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleMessageNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, message == null ? IntPtr.Zero : message.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 thread);
+
+               static bool Prepare_cb (IntPtr inst, IntPtr thread)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnPrepare (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), true));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverridePrepare")]
+               protected virtual bool OnPrepare (Gst.RtspServer.RTSPThread thread)
+               {
+                       return InternalPrepare (thread);
+               }
+
+               private bool InternalPrepare (Gst.RtspServer.RTSPThread thread)
+               {
+                       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;
+
+                       thread.Owned = false;
+                       bool __result = unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.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 {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               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.RtspServer.RTSPMedia), 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 SuspendNativeDelegate Suspend_cb_delegate;
+               static SuspendNativeDelegate SuspendVMCallback {
+                       get {
+                               if (Suspend_cb_delegate == null)
+                                       Suspend_cb_delegate = new SuspendNativeDelegate (Suspend_cb);
+                               return Suspend_cb_delegate;
+                       }
+               }
+
+               static void OverrideSuspend (GLib.GType gtype)
+               {
+                       OverrideSuspend (gtype, SuspendVMCallback);
+               }
+
+               static void OverrideSuspend (GLib.GType gtype, SuspendNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("suspend"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SuspendNativeDelegate (IntPtr inst);
+
+               static bool Suspend_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnSuspend ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideSuspend")]
+               protected virtual bool OnSuspend ()
+               {
+                       return InternalSuspend ();
+               }
+
+               private bool InternalSuspend ()
+               {
+                       SuspendNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("suspend"));
+                               unmanaged = (SuspendNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SuspendNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static UnsuspendNativeDelegate Unsuspend_cb_delegate;
+               static UnsuspendNativeDelegate UnsuspendVMCallback {
+                       get {
+                               if (Unsuspend_cb_delegate == null)
+                                       Unsuspend_cb_delegate = new UnsuspendNativeDelegate (Unsuspend_cb);
+                               return Unsuspend_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnsuspend (GLib.GType gtype)
+               {
+                       OverrideUnsuspend (gtype, UnsuspendVMCallback);
+               }
+
+               static void OverrideUnsuspend (GLib.GType gtype, UnsuspendNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unsuspend"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool UnsuspendNativeDelegate (IntPtr inst);
+
+               static bool Unsuspend_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnUnsuspend ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideUnsuspend")]
+               protected virtual bool OnUnsuspend ()
+               {
+                       return InternalUnsuspend ();
+               }
+
+               private bool InternalUnsuspend ()
+               {
+                       UnsuspendNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unsuspend"));
+                               unmanaged = (UnsuspendNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnsuspendNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __result;
+               }
+
+               static ConvertRangeNativeDelegate ConvertRange_cb_delegate;
+               static ConvertRangeNativeDelegate ConvertRangeVMCallback {
+                       get {
+                               if (ConvertRange_cb_delegate == null)
+                                       ConvertRange_cb_delegate = new ConvertRangeNativeDelegate (ConvertRange_cb);
+                               return ConvertRange_cb_delegate;
+                       }
+               }
+
+               static void OverrideConvertRange (GLib.GType gtype)
+               {
+                       OverrideConvertRange (gtype, ConvertRangeVMCallback);
+               }
+
+               static void OverrideConvertRange (GLib.GType gtype, ConvertRangeNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("convert_range"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool ConvertRangeNativeDelegate (IntPtr inst, IntPtr range, int unit);
+
+               static bool ConvertRange_cb (IntPtr inst, IntPtr range, int unit)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnConvertRange (Gst.Rtsp.RTSPTimeRange.New (range), (Gst.Rtsp.RTSPRangeUnit) unit);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideConvertRange")]
+               protected virtual bool OnConvertRange (Gst.Rtsp.RTSPTimeRange range, Gst.Rtsp.RTSPRangeUnit unit)
+               {
+                       return InternalConvertRange (range, unit);
+               }
+
+               private bool InternalConvertRange (Gst.Rtsp.RTSPTimeRange range, Gst.Rtsp.RTSPRangeUnit unit)
+               {
+                       ConvertRangeNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("convert_range"));
+                               unmanaged = (ConvertRangeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConvertRangeNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool __result = unmanaged (this.Handle, native_range, (int) unit);
+                       Marshal.FreeHGlobal (native_range);
+                       return __result;
+               }
+
+               static QueryPositionNativeDelegate QueryPosition_cb_delegate;
+               static QueryPositionNativeDelegate QueryPositionVMCallback {
+                       get {
+                               if (QueryPosition_cb_delegate == null)
+                                       QueryPosition_cb_delegate = new QueryPositionNativeDelegate (QueryPosition_cb);
+                               return QueryPosition_cb_delegate;
+                       }
+               }
+
+               static void OverrideQueryPosition (GLib.GType gtype)
+               {
+                       OverrideQueryPosition (gtype, QueryPositionVMCallback);
+               }
+
+               static void OverrideQueryPosition (GLib.GType gtype, QueryPositionNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query_position"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryPositionNativeDelegate (IntPtr inst, long position);
+
+               static bool QueryPosition_cb (IntPtr inst, long position)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnQueryPosition (position);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideQueryPosition")]
+               protected virtual bool OnQueryPosition (long position)
+               {
+                       return InternalQueryPosition (position);
+               }
+
+               private bool InternalQueryPosition (long position)
+               {
+                       QueryPositionNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query_position"));
+                               unmanaged = (QueryPositionNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryPositionNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, position);
+                       return __result;
+               }
+
+               static QueryStopNativeDelegate QueryStop_cb_delegate;
+               static QueryStopNativeDelegate QueryStopVMCallback {
+                       get {
+                               if (QueryStop_cb_delegate == null)
+                                       QueryStop_cb_delegate = new QueryStopNativeDelegate (QueryStop_cb);
+                               return QueryStop_cb_delegate;
+                       }
+               }
+
+               static void OverrideQueryStop (GLib.GType gtype)
+               {
+                       OverrideQueryStop (gtype, QueryStopVMCallback);
+               }
+
+               static void OverrideQueryStop (GLib.GType gtype, QueryStopNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("query_stop"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool QueryStopNativeDelegate (IntPtr inst, long stop);
+
+               static bool QueryStop_cb (IntPtr inst, long stop)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnQueryStop (stop);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideQueryStop")]
+               protected virtual bool OnQueryStop (long stop)
+               {
+                       return InternalQueryStop (stop);
+               }
+
+               private bool InternalQueryStop (long stop)
+               {
+                       QueryStopNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("query_stop"));
+                               unmanaged = (QueryStopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(QueryStopNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, stop);
+                       return __result;
+               }
+
+               static SetupRtpbinNativeDelegate SetupRtpbin_cb_delegate;
+               static SetupRtpbinNativeDelegate SetupRtpbinVMCallback {
+                       get {
+                               if (SetupRtpbin_cb_delegate == null)
+                                       SetupRtpbin_cb_delegate = new SetupRtpbinNativeDelegate (SetupRtpbin_cb);
+                               return SetupRtpbin_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetupRtpbin (GLib.GType gtype)
+               {
+                       OverrideSetupRtpbin (gtype, SetupRtpbinVMCallback);
+               }
+
+               static void OverrideSetupRtpbin (GLib.GType gtype, SetupRtpbinNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_rtpbin"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetupRtpbinNativeDelegate (IntPtr inst, IntPtr rtpbin);
+
+               static bool SetupRtpbin_cb (IntPtr inst, IntPtr rtpbin)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnSetupRtpbin (GLib.Object.GetObject(rtpbin) as Gst.Element);
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideSetupRtpbin")]
+               protected virtual bool OnSetupRtpbin (Gst.Element rtpbin)
+               {
+                       return InternalSetupRtpbin (rtpbin);
+               }
+
+               private bool InternalSetupRtpbin (Gst.Element rtpbin)
+               {
+                       SetupRtpbinNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_rtpbin"));
+                               unmanaged = (SetupRtpbinNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetupRtpbinNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, rtpbin == null ? IntPtr.Zero : rtpbin.Handle);
+                       return __result;
+               }
+
+               static SetupSdpNativeDelegate SetupSdp_cb_delegate;
+               static SetupSdpNativeDelegate SetupSdpVMCallback {
+                       get {
+                               if (SetupSdp_cb_delegate == null)
+                                       SetupSdp_cb_delegate = new SetupSdpNativeDelegate (SetupSdp_cb);
+                               return SetupSdp_cb_delegate;
+                       }
+               }
+
+               static void OverrideSetupSdp (GLib.GType gtype)
+               {
+                       OverrideSetupSdp (gtype, SetupSdpVMCallback);
+               }
+
+               static void OverrideSetupSdp (GLib.GType gtype, SetupSdpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_sdp"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool SetupSdpNativeDelegate (IntPtr inst, IntPtr sdp, IntPtr info);
+
+               static bool SetupSdp_cb (IntPtr inst, IntPtr sdp, IntPtr info)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnSetupSdp (sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (sdp, typeof (Gst.Sdp.SDPMessage), false), Gst.RtspServer.SDPInfo.New (info));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideSetupSdp")]
+               protected virtual bool OnSetupSdp (Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info)
+               {
+                       return InternalSetupSdp (sdp, info);
+               }
+
+               private bool InternalSetupSdp (Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info)
+               {
+                       SetupSdpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("setup_sdp"));
+                               unmanaged = (SetupSdpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetupSdpNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool __result = unmanaged (this.Handle, sdp == null ? IntPtr.Zero : sdp.Handle, native_info);
+                       Marshal.FreeHGlobal (native_info);
+                       return __result;
+               }
+
+               static NewStreamNativeDelegate NewStream_cb_delegate;
+               static NewStreamNativeDelegate NewStreamVMCallback {
+                       get {
+                               if (NewStream_cb_delegate == null)
+                                       NewStream_cb_delegate = new NewStreamNativeDelegate (NewStream_cb);
+                               return NewStream_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewStream (GLib.GType gtype)
+               {
+                       OverrideNewStream (gtype, NewStreamVMCallback);
+               }
+
+               static void OverrideNewStream (GLib.GType gtype, NewStreamNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("new_stream"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewStreamNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void NewStream_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnNewStream (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPStream);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideNewStream")]
+               protected virtual void OnNewStream (Gst.RtspServer.RTSPStream _object)
+               {
+                       InternalNewStream (_object);
+               }
+
+               private void InternalNewStream (Gst.RtspServer.RTSPStream _object)
+               {
+                       NewStreamNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("new_stream"));
+                               unmanaged = (NewStreamNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NewStreamNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+               static RemovedStreamNativeDelegate RemovedStream_cb_delegate;
+               static RemovedStreamNativeDelegate RemovedStreamVMCallback {
+                       get {
+                               if (RemovedStream_cb_delegate == null)
+                                       RemovedStream_cb_delegate = new RemovedStreamNativeDelegate (RemovedStream_cb);
+                               return RemovedStream_cb_delegate;
+                       }
+               }
+
+               static void OverrideRemovedStream (GLib.GType gtype)
+               {
+                       OverrideRemovedStream (gtype, RemovedStreamVMCallback);
+               }
+
+               static void OverrideRemovedStream (GLib.GType gtype, RemovedStreamNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("removed_stream"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void RemovedStreamNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void RemovedStream_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnRemovedStream (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPStream);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideRemovedStream")]
+               protected virtual void OnRemovedStream (Gst.RtspServer.RTSPStream _object)
+               {
+                       InternalRemovedStream (_object);
+               }
+
+               private void InternalRemovedStream (Gst.RtspServer.RTSPStream _object)
+               {
+                       RemovedStreamNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("removed_stream"));
+                               unmanaged = (RemovedStreamNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(RemovedStreamNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+               static PreparedNativeDelegate Prepared_cb_delegate;
+               static PreparedNativeDelegate PreparedVMCallback {
+                       get {
+                               if (Prepared_cb_delegate == null)
+                                       Prepared_cb_delegate = new PreparedNativeDelegate (Prepared_cb);
+                               return Prepared_cb_delegate;
+                       }
+               }
+
+               static void OverridePrepared (GLib.GType gtype)
+               {
+                       OverridePrepared (gtype, PreparedVMCallback);
+               }
+
+               static void OverridePrepared (GLib.GType gtype, PreparedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepared"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void PreparedNativeDelegate (IntPtr inst);
+
+               static void Prepared_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnPrepared ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverridePrepared")]
+               protected virtual void OnPrepared ()
+               {
+                       InternalPrepared ();
+               }
+
+               private void InternalPrepared ()
+               {
+                       PreparedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepared"));
+                               unmanaged = (PreparedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PreparedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static UnpreparedNativeDelegate Unprepared_cb_delegate;
+               static UnpreparedNativeDelegate UnpreparedVMCallback {
+                       get {
+                               if (Unprepared_cb_delegate == null)
+                                       Unprepared_cb_delegate = new UnpreparedNativeDelegate (Unprepared_cb);
+                               return Unprepared_cb_delegate;
+                       }
+               }
+
+               static void OverrideUnprepared (GLib.GType gtype)
+               {
+                       OverrideUnprepared (gtype, UnpreparedVMCallback);
+               }
+
+               static void OverrideUnprepared (GLib.GType gtype, UnpreparedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepared"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void UnpreparedNativeDelegate (IntPtr inst);
+
+               static void Unprepared_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnUnprepared ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideUnprepared")]
+               protected virtual void OnUnprepared ()
+               {
+                       InternalUnprepared ();
+               }
+
+               private void InternalUnprepared ()
+               {
+                       UnpreparedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("unprepared"));
+                               unmanaged = (UnpreparedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UnpreparedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle);
+               }
+
+               static TargetStateNativeDelegate TargetState_cb_delegate;
+               static TargetStateNativeDelegate TargetStateVMCallback {
+                       get {
+                               if (TargetState_cb_delegate == null)
+                                       TargetState_cb_delegate = new TargetStateNativeDelegate (TargetState_cb);
+                               return TargetState_cb_delegate;
+                       }
+               }
+
+               static void OverrideTargetState (GLib.GType gtype)
+               {
+                       OverrideTargetState (gtype, TargetStateVMCallback);
+               }
+
+               static void OverrideTargetState (GLib.GType gtype, TargetStateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("target_state"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void TargetStateNativeDelegate (IntPtr inst, int _object);
+
+               static void TargetState_cb (IntPtr inst, int _object)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnTargetState (_object);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideTargetState")]
+               protected virtual void OnTargetState (int _object)
+               {
+                       InternalTargetState (_object);
+               }
+
+               private void InternalTargetState (int _object)
+               {
+                       TargetStateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("target_state"));
+                               unmanaged = (TargetStateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(TargetStateNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object);
+               }
+
+               static NewStateNativeDelegate NewState_cb_delegate;
+               static NewStateNativeDelegate NewStateVMCallback {
+                       get {
+                               if (NewState_cb_delegate == null)
+                                       NewState_cb_delegate = new NewStateNativeDelegate (NewState_cb);
+                               return NewState_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewState (GLib.GType gtype)
+               {
+                       OverrideNewState (gtype, NewStateVMCallback);
+               }
+
+               static void OverrideNewState (GLib.GType gtype, NewStateNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("new_state"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewStateNativeDelegate (IntPtr inst, int _object);
+
+               static void NewState_cb (IntPtr inst, int _object)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               __obj.OnNewState (_object);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideNewState")]
+               protected virtual void OnNewState (int _object)
+               {
+                       InternalNewState (_object);
+               }
+
+               private void InternalNewState (int _object)
+               {
+                       NewStateNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("new_state"));
+                               unmanaged = (NewStateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NewStateNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object);
+               }
+
+               static HandleSdpNativeDelegate HandleSdp_cb_delegate;
+               static HandleSdpNativeDelegate HandleSdpVMCallback {
+                       get {
+                               if (HandleSdp_cb_delegate == null)
+                                       HandleSdp_cb_delegate = new HandleSdpNativeDelegate (HandleSdp_cb);
+                               return HandleSdp_cb_delegate;
+                       }
+               }
+
+               static void OverrideHandleSdp (GLib.GType gtype)
+               {
+                       OverrideHandleSdp (gtype, HandleSdpVMCallback);
+               }
+
+               static void OverrideHandleSdp (GLib.GType gtype, HandleSdpNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_sdp"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool HandleSdpNativeDelegate (IntPtr inst, IntPtr sdp);
+
+               static bool HandleSdp_cb (IntPtr inst, IntPtr sdp)
+               {
+                       try {
+                               RTSPMedia __obj = GLib.Object.GetObject (inst, false) as RTSPMedia;
+                               bool __result;
+                               __result = __obj.OnHandleSdp (sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (sdp, typeof (Gst.Sdp.SDPMessage), false));
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMedia), ConnectionMethod="OverrideHandleSdp")]
+               protected virtual bool OnHandleSdp (Gst.Sdp.SDPMessage sdp)
+               {
+                       return InternalHandleSdp (sdp);
+               }
+
+               private bool InternalHandleSdp (Gst.Sdp.SDPMessage sdp)
+               {
+                       HandleSdpNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("handle_sdp"));
+                               unmanaged = (HandleSdpNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HandleSdpNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle, sdp == null ? IntPtr.Zero : sdp.Handle);
+                       return __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("handle_message"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_message
+                                                       , null
+                                                       , "prepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare
+                                                       , "handle_message"
+                                                       , "unprepare"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unprepare"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unprepare
+                                                       , "prepare"
+                                                       , "suspend"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("suspend"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // suspend
+                                                       , "unprepare"
+                                                       , "unsuspend"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unsuspend"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unsuspend
+                                                       , "suspend"
+                                                       , "convert_range"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("convert_range"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // convert_range
+                                                       , "unsuspend"
+                                                       , "query_position"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query_position"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query_position
+                                                       , "convert_range"
+                                                       , "query_stop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("query_stop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // query_stop
+                                                       , "query_position"
+                                                       , "create_rtpbin"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_rtpbin"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_rtpbin
+                                                       , "query_stop"
+                                                       , "setup_rtpbin"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("setup_rtpbin"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // setup_rtpbin
+                                                       , "create_rtpbin"
+                                                       , "setup_sdp"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("setup_sdp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // setup_sdp
+                                                       , "setup_rtpbin"
+                                                       , "new_stream"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("new_stream"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // new_stream
+                                                       , "setup_sdp"
+                                                       , "removed_stream"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("removed_stream"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // removed_stream
+                                                       , "new_stream"
+                                                       , "prepared"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("prepared"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepared
+                                                       , "removed_stream"
+                                                       , "unprepared"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("unprepared"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // unprepared
+                                                       , "prepared"
+                                                       , "target_state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("target_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // target_state
+                                                       , "unprepared"
+                                                       , "new_state"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("new_state"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // new_state
+                                                       , "target_state"
+                                                       , "handle_sdp"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("handle_sdp"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // handle_sdp
+                                                       , "new_state"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 19 // _gst_reserved
+                                                       , "handle_sdp"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_can_be_shared(IntPtr raw);
+
+               public bool CanBeShared() {
+                       bool raw_ret = gst_rtsp_media_can_be_shared(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_collect_streams(IntPtr raw);
+
+               public void CollectStreams() {
+                       gst_rtsp_media_collect_streams(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_complete_pipeline(IntPtr raw, IntPtr[] transports);
+
+               public bool CompletePipeline(GLib.PtrArray[] transports) {
+                       int cnt_transports = transports == null ? 0 : transports.Length;
+                       IntPtr[] native_transports = new IntPtr [cnt_transports + 1];
+                       for (int i = 0; i < cnt_transports; i++)
+                               native_transports [i] = transports[i] == null ? IntPtr.Zero : transports[i].Handle;
+                       native_transports [cnt_transports] = IntPtr.Zero;
+                       bool raw_ret = gst_rtsp_media_complete_pipeline(Handle, native_transports);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_create_stream(IntPtr raw, IntPtr payloader, IntPtr pad);
+
+               public Gst.RtspServer.RTSPStream CreateStream(Gst.Element payloader, Gst.Pad pad) {
+                       IntPtr raw_ret = gst_rtsp_media_create_stream(Handle, payloader == null ? IntPtr.Zero : payloader.Handle, pad == null ? IntPtr.Zero : pad.Handle);
+                       Gst.RtspServer.RTSPStream ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStream;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_find_stream(IntPtr raw, IntPtr control);
+
+               public Gst.RtspServer.RTSPStream FindStream(string control) {
+                       IntPtr native_control = GLib.Marshaller.StringToPtrGStrdup (control);
+                       IntPtr raw_ret = gst_rtsp_media_find_stream(Handle, native_control);
+                       Gst.RtspServer.RTSPStream ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStream;
+                       GLib.Marshaller.Free (native_control);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_address_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_address_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.RtspServer.RTSPAddressPool AddressPool { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_get_address_pool(Handle);
+                               Gst.RtspServer.RTSPAddressPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPAddressPool;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_address_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtsp_media_get_base_time(IntPtr raw);
+
+               public ulong BaseTime { 
+                       get {
+                               ulong raw_ret = gst_rtsp_media_get_base_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_get_do_retransmission(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_do_retransmission(IntPtr raw, bool do_retransmission);
+
+               public bool DoRetransmission { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_get_do_retransmission(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_do_retransmission(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_multicast_iface(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_multicast_iface(IntPtr raw, IntPtr multicast_iface);
+
+               public string MulticastIface { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_get_multicast_iface(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_media_set_multicast_iface(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_permissions(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_permissions(IntPtr raw, IntPtr permissions);
+
+               public Gst.RtspServer.RTSPPermissions Permissions { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_get_permissions(Handle);
+                               Gst.RtspServer.RTSPPermissions ret = raw_ret == IntPtr.Zero ? null : (Gst.RtspServer.RTSPPermissions) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.RtspServer.RTSPPermissions), true);
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_permissions(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_publish_clock_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_publish_clock_mode(IntPtr raw, int mode);
+
+               public Gst.RtspServer.RTSPPublishClockMode PublishClockMode { 
+                       get {
+                               int raw_ret = gst_rtsp_media_get_publish_clock_mode(Handle);
+                               Gst.RtspServer.RTSPPublishClockMode ret = (Gst.RtspServer.RTSPPublishClockMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_publish_clock_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_range_string(IntPtr raw, bool play, int unit);
+
+               public string GetRangeString(bool play, Gst.Rtsp.RTSPRangeUnit unit) {
+                       IntPtr raw_ret = gst_rtsp_media_get_range_string(Handle, play, (int) unit);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_get_rate_control(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_rate_control(IntPtr raw, bool enabled);
+
+               public bool RateControl { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_get_rate_control(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_rate_control(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_get_rates(IntPtr raw, out double rate, out double applied_rate);
+
+               public bool GetRates(out double rate, out double applied_rate) {
+                       bool raw_ret = gst_rtsp_media_get_rates(Handle, out rate, out applied_rate);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtsp_media_get_retransmission_time(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_retransmission_time(IntPtr raw, ulong time);
+
+               public ulong RetransmissionTime { 
+                       get {
+                               ulong raw_ret = gst_rtsp_media_get_retransmission_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_set_retransmission_time(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_get_status(IntPtr raw);
+
+               public Gst.RtspServer.RTSPMediaStatus Status { 
+                       get {
+                               int raw_ret = gst_rtsp_media_get_status(Handle);
+                               Gst.RtspServer.RTSPMediaStatus ret = (Gst.RtspServer.RTSPMediaStatus) raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_stream(IntPtr raw, uint idx);
+
+               public Gst.RtspServer.RTSPStream GetStream(uint idx) {
+                       IntPtr raw_ret = gst_rtsp_media_get_stream(Handle, idx);
+                       Gst.RtspServer.RTSPStream ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStream;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_get_time_provider(IntPtr raw, IntPtr address, ushort port);
+
+               public Gst.Net.NetTimeProvider GetTimeProvider(string address, ushort port) {
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       IntPtr raw_ret = gst_rtsp_media_get_time_provider(Handle, native_address, port);
+                       Gst.Net.NetTimeProvider ret = GLib.Object.GetObject(raw_ret, true) as Gst.Net.NetTimeProvider;
+                       GLib.Marshaller.Free (native_address);
+                       return ret;
+               }
+
+               public Gst.Net.NetTimeProvider GetTimeProvider(ushort port) {
+                       return GetTimeProvider (null, port);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_handle_sdp(IntPtr raw, IntPtr sdp);
+
+               public bool HandleSdp(Gst.Sdp.SDPMessage sdp) {
+                       bool raw_ret = gst_rtsp_media_handle_sdp(Handle, sdp == null ? IntPtr.Zero : sdp.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_has_completed_sender(IntPtr raw);
+
+               public bool HasCompletedSender { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_has_completed_sender(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_bind_mcast_address(IntPtr raw);
+
+               public bool IsBindMcastAddress { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_bind_mcast_address(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_eos_shutdown(IntPtr raw);
+
+               public bool IsEosShutdown { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_eos_shutdown(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_receive_only(IntPtr raw);
+
+               public bool IsReceiveOnly { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_receive_only(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_reusable(IntPtr raw);
+
+               public bool IsReusable { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_reusable(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_shared(IntPtr raw);
+
+               public bool IsShared { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_shared(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_stop_on_disconnect(IntPtr raw);
+
+               public bool IsStopOnDisconnect { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_stop_on_disconnect(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_is_time_provider(IntPtr raw);
+
+               public bool IsTimeProvider { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_is_time_provider(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_lock(IntPtr raw);
+
+               public void Lock() {
+                       gst_rtsp_media_lock(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_n_streams(IntPtr raw);
+
+               public uint NStreams() {
+                       uint raw_ret = gst_rtsp_media_n_streams(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_prepare(IntPtr raw, IntPtr thread);
+
+               public bool Prepare(Gst.RtspServer.RTSPThread thread) {
+                       thread.Owned = false;
+                       bool raw_ret = gst_rtsp_media_prepare(Handle, thread == null ? IntPtr.Zero : thread.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool Prepare() {
+                       return Prepare (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_seek(IntPtr raw, IntPtr range);
+
+               public bool Seek(Gst.Rtsp.RTSPTimeRange range) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_media_seek(Handle, native_range);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_seek_full(IntPtr raw, IntPtr range, int flags);
+
+               public bool SeekFull(Gst.Rtsp.RTSPTimeRange range, Gst.SeekFlags flags) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_media_seek_full(Handle, native_range, (int) flags);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_seek_trickmode(IntPtr raw, IntPtr range, int flags, double rate, ulong trickmode_interval);
+
+               public bool SeekTrickmode(Gst.Rtsp.RTSPTimeRange range, Gst.SeekFlags flags, double rate, ulong trickmode_interval) {
+                       IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+                       bool raw_ret = gst_rtsp_media_seek_trickmode(Handle, native_range, (int) flags, rate, trickmode_interval);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern long gst_rtsp_media_seekable(IntPtr raw);
+
+               public long Seekable() {
+                       long raw_ret = gst_rtsp_media_seekable(Handle);
+                       long ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_set_max_mcast_ttl(IntPtr raw, uint ttl);
+
+               public bool SetMaxMcastTtl(uint ttl) {
+                       bool raw_ret = gst_rtsp_media_set_max_mcast_ttl(Handle, ttl);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_set_pipeline_state(IntPtr raw, int state);
+
+               public Gst.State PipelineState { 
+                       set {
+                               gst_rtsp_media_set_pipeline_state(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_set_state(IntPtr raw, int state, IntPtr[] transports);
+
+               public bool SetState(Gst.State state, GLib.PtrArray[] transports) {
+                       int cnt_transports = transports == null ? 0 : transports.Length;
+                       IntPtr[] native_transports = new IntPtr [cnt_transports + 1];
+                       for (int i = 0; i < cnt_transports; i++)
+                               native_transports [i] = transports[i] == null ? IntPtr.Zero : transports[i].Handle;
+                       native_transports [cnt_transports] = IntPtr.Zero;
+                       bool raw_ret = gst_rtsp_media_set_state(Handle, (int) state, native_transports);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_setup_sdp(IntPtr raw, IntPtr sdp, IntPtr info);
+
+               public bool SetupSdp(Gst.Sdp.SDPMessage sdp, Gst.RtspServer.SDPInfo info) {
+                       IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc (info);
+                       bool raw_ret = gst_rtsp_media_setup_sdp(Handle, sdp == null ? IntPtr.Zero : sdp.Handle, native_info);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_info);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_suspend(IntPtr raw);
+
+               public bool Suspend() {
+                       bool raw_ret = gst_rtsp_media_suspend(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_take_pipeline(IntPtr raw, IntPtr pipeline);
+
+               public void TakePipeline(Gst.Pipeline pipeline) {
+                       gst_rtsp_media_take_pipeline(Handle, pipeline == null ? IntPtr.Zero : pipeline.Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_unlock(IntPtr raw);
+
+               public void Unlock() {
+                       gst_rtsp_media_unlock(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_unprepare(IntPtr raw);
+
+               public bool Unprepare() {
+                       bool raw_ret = gst_rtsp_media_unprepare(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_unsuspend(IntPtr raw);
+
+               public bool Unsuspend() {
+                       bool raw_ret = gst_rtsp_media_unsuspend(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_use_time_provider(IntPtr raw, bool time_provider);
+
+               public void UseTimeProvider(bool time_provider) {
+                       gst_rtsp_media_use_time_provider(Handle, time_provider);
+               }
+
+
+               static RTSPMedia ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactory.cs
new file mode 100644 (file)
index 0000000..826f52a
--- /dev/null
@@ -0,0 +1,1028 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPMediaFactory : GLib.Object {
+
+               public RTSPMediaFactory (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_new();
+
+               public RTSPMediaFactory () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPMediaFactory)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_media_factory_new();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_bind_mcast_address(IntPtr raw, bool bind_mcast_addr);
+
+               [GLib.Property ("bind-mcast-address")]
+               public bool BindMcastAddress {
+                       get {
+                               GLib.Value val = GetProperty ("bind-mcast-address");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_bind_mcast_address(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_factory_get_buffer_size(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_buffer_size(IntPtr raw, uint size);
+
+               [GLib.Property ("buffer-size")]
+               public uint BufferSize {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_factory_get_buffer_size(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_buffer_size(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_clock(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_clock(IntPtr raw, IntPtr clock);
+
+               [GLib.Property ("clock")]
+               public Gst.Clock Clock {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_clock(Handle);
+                               Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_clock(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_dscp_qos(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_dscp_qos(IntPtr raw, int dscp_qos);
+
+               [GLib.Property ("dscp-qos")]
+               public int DscpQos {
+                       get  {
+                               int raw_ret = gst_rtsp_media_factory_get_dscp_qos(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_dscp_qos(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_enable_rtcp(IntPtr raw, bool enable);
+
+               [GLib.Property ("enable-rtcp")]
+               public bool EnableRtcp {
+                       get {
+                               GLib.Value val = GetProperty ("enable-rtcp");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_enable_rtcp(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_get_ensure_keyunit_on_start(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_ensure_keyunit_on_start(IntPtr raw, bool ensure_keyunit_on_start);
+
+               [GLib.Property ("ensure-keyunit-on-start")]
+               public bool EnsureKeyunitOnStart {
+                       get  {
+                               bool raw_ret = gst_rtsp_media_factory_get_ensure_keyunit_on_start(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_ensure_keyunit_on_start(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout(IntPtr raw, uint timeout);
+
+               [GLib.Property ("ensure-keyunit-on-start-timeout")]
+               public uint EnsureKeyunitOnStartTimeout {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_eos_shutdown(IntPtr raw, bool eos_shutdown);
+
+               [GLib.Property ("eos-shutdown")]
+               public bool EosShutdown {
+                       get {
+                               GLib.Value val = GetProperty ("eos-shutdown");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_eos_shutdown(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_factory_get_latency(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_latency(IntPtr raw, uint latency);
+
+               [GLib.Property ("latency")]
+               public uint Latency {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_factory_get_latency(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_latency(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_launch(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_launch(IntPtr raw, IntPtr launch);
+
+               [GLib.Property ("launch")]
+               public string Launch {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_launch(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_media_factory_set_launch(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_media_factory_get_max_mcast_ttl(IntPtr raw);
+
+               [GLib.Property ("max-mcast-ttl")]
+               public uint MaxMcastTtl {
+                       get  {
+                               uint raw_ret = gst_rtsp_media_factory_get_max_mcast_ttl(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("max-mcast-ttl", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_profiles(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_profiles(IntPtr raw, int profiles);
+
+               [GLib.Property ("profiles")]
+               public Gst.Rtsp.RTSPProfile Profiles {
+                       get  {
+                               int raw_ret = gst_rtsp_media_factory_get_profiles(Handle);
+                               Gst.Rtsp.RTSPProfile ret = (Gst.Rtsp.RTSPProfile) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_profiles(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_protocols(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_protocols(IntPtr raw, int protocols);
+
+               [GLib.Property ("protocols")]
+               public Gst.Rtsp.RTSPLowerTrans Protocols {
+                       get  {
+                               int raw_ret = gst_rtsp_media_factory_get_protocols(Handle);
+                               Gst.Rtsp.RTSPLowerTrans ret = (Gst.Rtsp.RTSPLowerTrans) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_protocols(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_shared(IntPtr raw, bool shared);
+
+               [GLib.Property ("shared")]
+               public bool Shared {
+                       get {
+                               GLib.Value val = GetProperty ("shared");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_shared(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_stop_on_disconnect(IntPtr raw, bool stop_on_disconnect);
+
+               [GLib.Property ("stop-on-disconnect")]
+               public bool StopOnDisconnect {
+                       get {
+                               GLib.Value val = GetProperty ("stop-on-disconnect");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_stop_on_disconnect(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_suspend_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_suspend_mode(IntPtr raw, int mode);
+
+               [GLib.Property ("suspend-mode")]
+               public Gst.RtspServer.RTSPSuspendMode SuspendMode {
+                       get  {
+                               int raw_ret = gst_rtsp_media_factory_get_suspend_mode(Handle);
+                               Gst.RtspServer.RTSPSuspendMode ret = (Gst.RtspServer.RTSPSuspendMode) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_suspend_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_transport_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_transport_mode(IntPtr raw, int mode);
+
+               [GLib.Property ("transport-mode")]
+               public Gst.RtspServer.RTSPTransportMode TransportMode {
+                       get  {
+                               int raw_ret = gst_rtsp_media_factory_get_transport_mode(Handle);
+                               Gst.RtspServer.RTSPTransportMode ret = (Gst.RtspServer.RTSPTransportMode) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_media_factory_set_transport_mode(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Signal("media-constructed")]
+               public event Gst.RtspServer.MediaConstructedHandler MediaConstructed {
+                       add {
+                               this.AddSignalHandler ("media-constructed", value, typeof (Gst.RtspServer.MediaConstructedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("media-constructed", value);
+                       }
+               }
+
+               [GLib.Signal("media-configure")]
+               public event Gst.RtspServer.MediaConfigureHandler MediaConfigure {
+                       add {
+                               this.AddSignalHandler ("media-configure", value, typeof (Gst.RtspServer.MediaConfigureArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("media-configure", value);
+                       }
+               }
+
+               static GenKeyNativeDelegate GenKey_cb_delegate;
+               static GenKeyNativeDelegate GenKeyVMCallback {
+                       get {
+                               if (GenKey_cb_delegate == null)
+                                       GenKey_cb_delegate = new GenKeyNativeDelegate (GenKey_cb);
+                               return GenKey_cb_delegate;
+                       }
+               }
+
+               static void OverrideGenKey (GLib.GType gtype)
+               {
+                       OverrideGenKey (gtype, GenKeyVMCallback);
+               }
+
+               static void OverrideGenKey (GLib.GType gtype, GenKeyNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("gen_key"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GenKeyNativeDelegate (IntPtr inst, IntPtr url);
+
+               static IntPtr GenKey_cb (IntPtr inst, IntPtr url)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               string __result;
+                               __result = __obj.OnGenKey (Gst.Rtsp.RTSPUrl.New (url));
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideGenKey")]
+               protected virtual string OnGenKey (Gst.Rtsp.RTSPUrl url)
+               {
+                       return InternalGenKey (url);
+               }
+
+               private string InternalGenKey (Gst.Rtsp.RTSPUrl url)
+               {
+                       GenKeyNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("gen_key"));
+                               unmanaged = (GenKeyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GenKeyNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr __result = unmanaged (this.Handle, native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return GLib.Marshaller.PtrToStringGFree(__result);
+               }
+
+               static CreateElementNativeDelegate CreateElement_cb_delegate;
+               static CreateElementNativeDelegate CreateElementVMCallback {
+                       get {
+                               if (CreateElement_cb_delegate == null)
+                                       CreateElement_cb_delegate = new CreateElementNativeDelegate (CreateElement_cb);
+                               return CreateElement_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateElement (GLib.GType gtype)
+               {
+                       OverrideCreateElement (gtype, CreateElementVMCallback);
+               }
+
+               static void OverrideCreateElement (GLib.GType gtype, CreateElementNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_element"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateElementNativeDelegate (IntPtr inst, IntPtr url);
+
+               static IntPtr CreateElement_cb (IntPtr inst, IntPtr url)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               Gst.Element __result;
+                               __result = __obj.OnCreateElement (Gst.Rtsp.RTSPUrl.New (url));
+                               return __result == null ? IntPtr.Zero : __result.Handle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideCreateElement")]
+               protected virtual Gst.Element OnCreateElement (Gst.Rtsp.RTSPUrl url)
+               {
+                       return InternalCreateElement (url);
+               }
+
+               private Gst.Element InternalCreateElement (Gst.Rtsp.RTSPUrl url)
+               {
+                       CreateElementNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_element"));
+                               unmanaged = (CreateElementNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateElementNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr __result = unmanaged (this.Handle, native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return GLib.Object.GetObject(__result) as Gst.Element;
+               }
+
+               static ConstructNativeDelegate Construct_cb_delegate;
+               static ConstructNativeDelegate ConstructVMCallback {
+                       get {
+                               if (Construct_cb_delegate == null)
+                                       Construct_cb_delegate = new ConstructNativeDelegate (Construct_cb);
+                               return Construct_cb_delegate;
+                       }
+               }
+
+               static void OverrideConstruct (GLib.GType gtype)
+               {
+                       OverrideConstruct (gtype, ConstructVMCallback);
+               }
+
+               static void OverrideConstruct (GLib.GType gtype, ConstructNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("construct"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr ConstructNativeDelegate (IntPtr inst, IntPtr url);
+
+               static IntPtr Construct_cb (IntPtr inst, IntPtr url)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               Gst.RtspServer.RTSPMedia __result;
+                               __result = __obj.OnConstruct (Gst.Rtsp.RTSPUrl.New (url));
+                               return __result == null ? IntPtr.Zero : __result.OwnedHandle;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideConstruct")]
+               protected virtual Gst.RtspServer.RTSPMedia OnConstruct (Gst.Rtsp.RTSPUrl url)
+               {
+                       return InternalConstruct (url);
+               }
+
+               private Gst.RtspServer.RTSPMedia InternalConstruct (Gst.Rtsp.RTSPUrl url)
+               {
+                       ConstructNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("construct"));
+                               unmanaged = (ConstructNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConstructNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr __result = unmanaged (this.Handle, native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return GLib.Object.GetObject(__result, true) as Gst.RtspServer.RTSPMedia;
+               }
+
+               static ConfigureNativeDelegate Configure_cb_delegate;
+               static ConfigureNativeDelegate ConfigureVMCallback {
+                       get {
+                               if (Configure_cb_delegate == null)
+                                       Configure_cb_delegate = new ConfigureNativeDelegate (Configure_cb);
+                               return Configure_cb_delegate;
+                       }
+               }
+
+               static void OverrideConfigure (GLib.GType gtype)
+               {
+                       OverrideConfigure (gtype, ConfigureVMCallback);
+               }
+
+               static void OverrideConfigure (GLib.GType gtype, ConfigureNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("configure"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ConfigureNativeDelegate (IntPtr inst, IntPtr media);
+
+               static void Configure_cb (IntPtr inst, IntPtr media)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               __obj.OnConfigure (GLib.Object.GetObject(media) as Gst.RtspServer.RTSPMedia);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideConfigure")]
+               protected virtual void OnConfigure (Gst.RtspServer.RTSPMedia media)
+               {
+                       InternalConfigure (media);
+               }
+
+               private void InternalConfigure (Gst.RtspServer.RTSPMedia media)
+               {
+                       ConfigureNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("configure"));
+                               unmanaged = (ConfigureNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConfigureNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, media == null ? IntPtr.Zero : media.Handle);
+               }
+
+               static MediaConstructedNativeDelegate MediaConstructed_cb_delegate;
+               static MediaConstructedNativeDelegate MediaConstructedVMCallback {
+                       get {
+                               if (MediaConstructed_cb_delegate == null)
+                                       MediaConstructed_cb_delegate = new MediaConstructedNativeDelegate (MediaConstructed_cb);
+                               return MediaConstructed_cb_delegate;
+                       }
+               }
+
+               static void OverrideMediaConstructed (GLib.GType gtype)
+               {
+                       OverrideMediaConstructed (gtype, MediaConstructedVMCallback);
+               }
+
+               static void OverrideMediaConstructed (GLib.GType gtype, MediaConstructedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("media_constructed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void MediaConstructedNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void MediaConstructed_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               __obj.OnMediaConstructed (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPMedia);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideMediaConstructed")]
+               protected virtual void OnMediaConstructed (Gst.RtspServer.RTSPMedia _object)
+               {
+                       InternalMediaConstructed (_object);
+               }
+
+               private void InternalMediaConstructed (Gst.RtspServer.RTSPMedia _object)
+               {
+                       MediaConstructedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("media_constructed"));
+                               unmanaged = (MediaConstructedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MediaConstructedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
+               }
+
+               static MediaConfigureNativeDelegate MediaConfigure_cb_delegate;
+               static MediaConfigureNativeDelegate MediaConfigureVMCallback {
+                       get {
+                               if (MediaConfigure_cb_delegate == null)
+                                       MediaConfigure_cb_delegate = new MediaConfigureNativeDelegate (MediaConfigure_cb);
+                               return MediaConfigure_cb_delegate;
+                       }
+               }
+
+               static void OverrideMediaConfigure (GLib.GType gtype)
+               {
+                       OverrideMediaConfigure (gtype, MediaConfigureVMCallback);
+               }
+
+               static void OverrideMediaConfigure (GLib.GType gtype, MediaConfigureNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("media_configure"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void MediaConfigureNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void MediaConfigure_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPMediaFactory;
+                               __obj.OnMediaConfigure (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPMedia);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMediaFactory), ConnectionMethod="OverrideMediaConfigure")]
+               protected virtual void OnMediaConfigure (Gst.RtspServer.RTSPMedia _object)
+               {
+                       InternalMediaConfigure (_object);
+               }
+
+               private void InternalMediaConfigure (Gst.RtspServer.RTSPMedia _object)
+               {
+                       MediaConfigureNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("media_configure"));
+                               unmanaged = (MediaConfigureNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MediaConfigureNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.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("gen_key"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // gen_key
+                                                       , null
+                                                       , "create_element"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_element"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_element
+                                                       , "gen_key"
+                                                       , "construct"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("construct"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // construct
+                                                       , "create_element"
+                                                       , "create_pipeline"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_pipeline"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_pipeline
+                                                       , "construct"
+                                                       , "configure"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("configure"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // configure
+                                                       , "create_pipeline"
+                                                       , "media_constructed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("media_constructed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // media_constructed
+                                                       , "configure"
+                                                       , "media_configure"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("media_configure"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // media_configure
+                                                       , "media_constructed"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "media_configure"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_add_role_from_structure(IntPtr raw, IntPtr structure);
+
+               public void AddRoleFromStructure(Gst.Structure structure) {
+                       gst_rtsp_media_factory_add_role_from_structure(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_construct(IntPtr raw, IntPtr url);
+
+               public Gst.RtspServer.RTSPMedia Construct(Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr raw_ret = gst_rtsp_media_factory_construct(Handle, native_url);
+                       Gst.RtspServer.RTSPMedia ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPMedia;
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_create_element(IntPtr raw, IntPtr url);
+
+               public Gst.Element CreateElement(Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr raw_ret = gst_rtsp_media_factory_create_element(Handle, native_url);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_address_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_address_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.RtspServer.RTSPAddressPool AddressPool { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_address_pool(Handle);
+                               Gst.RtspServer.RTSPAddressPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPAddressPool;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_address_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_get_do_retransmission(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_do_retransmission(IntPtr raw, bool do_retransmission);
+
+               public bool DoRetransmission { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_get_do_retransmission(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_do_retransmission(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_media_gtype(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_media_gtype(IntPtr raw, IntPtr media_gtype);
+
+               public GLib.GType MediaGtype { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_media_gtype(Handle);
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_media_gtype(Handle, value.Val);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_multicast_iface(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_multicast_iface(IntPtr raw, IntPtr multicast_iface);
+
+               public string MulticastIface { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_multicast_iface(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_media_factory_set_multicast_iface(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_get_permissions(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_permissions(IntPtr raw, IntPtr permissions);
+
+               public Gst.RtspServer.RTSPPermissions Permissions { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_get_permissions(Handle);
+                               Gst.RtspServer.RTSPPermissions ret = raw_ret == IntPtr.Zero ? null : (Gst.RtspServer.RTSPPermissions) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.RtspServer.RTSPPermissions), true);
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_permissions(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_media_factory_get_publish_clock_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_publish_clock_mode(IntPtr raw, int mode);
+
+               public Gst.RtspServer.RTSPPublishClockMode PublishClockMode { 
+                       get {
+                               int raw_ret = gst_rtsp_media_factory_get_publish_clock_mode(Handle);
+                               Gst.RtspServer.RTSPPublishClockMode ret = (Gst.RtspServer.RTSPPublishClockMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_publish_clock_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtsp_media_factory_get_retransmission_time(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_set_retransmission_time(IntPtr raw, ulong time);
+
+               public ulong RetransmissionTime { 
+                       get {
+                               ulong raw_ret = gst_rtsp_media_factory_get_retransmission_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_media_factory_set_retransmission_time(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_is_bind_mcast_address(IntPtr raw);
+
+               public bool IsBindMcastAddress { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_is_bind_mcast_address(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_is_enable_rtcp(IntPtr raw);
+
+               public bool IsEnableRtcp { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_is_enable_rtcp(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_is_eos_shutdown(IntPtr raw);
+
+               public bool IsEosShutdown { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_is_eos_shutdown(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_is_shared(IntPtr raw);
+
+               public bool IsShared { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_is_shared(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_is_stop_on_disonnect(IntPtr raw);
+
+               public bool IsStopOnDisonnect { 
+                       get {
+                               bool raw_ret = gst_rtsp_media_factory_is_stop_on_disonnect(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_media_factory_set_max_mcast_ttl(IntPtr raw, uint ttl);
+
+               public bool SetMaxMcastTtl(uint ttl) {
+                       bool raw_ret = gst_rtsp_media_factory_set_max_mcast_ttl(Handle, ttl);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static RTSPMediaFactory ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactoryURI.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaFactoryURI.cs
new file mode 100644 (file)
index 0000000..3a2f3bb
--- /dev/null
@@ -0,0 +1,137 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPMediaFactoryURI : Gst.RtspServer.RTSPMediaFactory {
+
+               public RTSPMediaFactoryURI (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_uri_new();
+
+               public RTSPMediaFactoryURI () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPMediaFactoryURI)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_media_factory_uri_new();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_uri_get_uri(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_media_factory_uri_set_uri(IntPtr raw, IntPtr uri);
+
+               [GLib.Property ("uri")]
+               public string Uri {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_media_factory_uri_get_uri(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_media_factory_uri_set_uri(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [GLib.Property ("use-gstpay")]
+               public bool UseGstpay {
+                       get {
+                               GLib.Value val = GetProperty ("use-gstpay");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("use-gstpay", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPMediaFactory.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_media_factory_uri_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_media_factory_uri_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static RTSPMediaFactoryURI ()
+               {
+                       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.RtspServer.RTSPMediaFactory.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaStatus.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMediaStatus.cs
new file mode 100644 (file)
index 0000000..c885465
--- /dev/null
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum RTSPMediaStatus {
+
+               Unprepared = 0,
+               Unpreparing = 1,
+               Preparing = 2,
+               Prepared = 3,
+               Suspended = 4,
+               Error = 5,
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFunc.cs
new file mode 100644 (file)
index 0000000..7265d45
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void RTSPMessageSentFunc();
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFuncFull.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMessageSentFuncFull.cs
new file mode 100644 (file)
index 0000000..19a1ba6
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void RTSPMessageSentFuncFull(Gst.RtspServer.RTSPStreamTransport trans);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMountPoints.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPMountPoints.cs
new file mode 100644 (file)
index 0000000..074db89
--- /dev/null
@@ -0,0 +1,210 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPMountPoints : GLib.Object {
+
+               public RTSPMountPoints (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_mount_points_new();
+
+               public RTSPMountPoints () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPMountPoints)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_mount_points_new();
+               }
+
+               static MakePathNativeDelegate MakePath_cb_delegate;
+               static MakePathNativeDelegate MakePathVMCallback {
+                       get {
+                               if (MakePath_cb_delegate == null)
+                                       MakePath_cb_delegate = new MakePathNativeDelegate (MakePath_cb);
+                               return MakePath_cb_delegate;
+                       }
+               }
+
+               static void OverrideMakePath (GLib.GType gtype)
+               {
+                       OverrideMakePath (gtype, MakePathVMCallback);
+               }
+
+               static void OverrideMakePath (GLib.GType gtype, MakePathNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("make_path"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr MakePathNativeDelegate (IntPtr inst, IntPtr url);
+
+               static IntPtr MakePath_cb (IntPtr inst, IntPtr url)
+               {
+                       try {
+                               RTSPMountPoints __obj = GLib.Object.GetObject (inst, false) as RTSPMountPoints;
+                               string __result;
+                               __result = __obj.OnMakePath (Gst.Rtsp.RTSPUrl.New (url));
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPMountPoints), ConnectionMethod="OverrideMakePath")]
+               protected virtual string OnMakePath (Gst.Rtsp.RTSPUrl url)
+               {
+                       return InternalMakePath (url);
+               }
+
+               private string InternalMakePath (Gst.Rtsp.RTSPUrl url)
+               {
+                       MakePathNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("make_path"));
+                               unmanaged = (MakePathNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(MakePathNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr __result = unmanaged (this.Handle, native_url);
+                       Marshal.FreeHGlobal (native_url);
+                       return GLib.Marshaller.PtrToStringGFree(__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("make_path"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // make_path
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "make_path"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_mount_points_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_mount_points_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_mount_points_add_factory(IntPtr raw, IntPtr path, IntPtr factory);
+
+               public void AddFactory(string path, Gst.RtspServer.RTSPMediaFactory factory) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       gst_rtsp_mount_points_add_factory(Handle, native_path, factory == null ? IntPtr.Zero : factory.OwnedHandle);
+                       GLib.Marshaller.Free (native_path);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_mount_points_make_path(IntPtr raw, IntPtr url);
+
+               public string MakePath(Gst.Rtsp.RTSPUrl url) {
+                       IntPtr native_url = GLib.Marshaller.StructureToPtrAlloc (url);
+                       IntPtr raw_ret = gst_rtsp_mount_points_make_path(Handle, native_url);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       Marshal.FreeHGlobal (native_url);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_mount_points_match(IntPtr raw, IntPtr path, out int matched);
+
+               public Gst.RtspServer.RTSPMediaFactory Match(string path, out int matched) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr raw_ret = gst_rtsp_mount_points_match(Handle, native_path, out matched);
+                       Gst.RtspServer.RTSPMediaFactory ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPMediaFactory;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_mount_points_remove_factory(IntPtr raw, IntPtr path);
+
+               public void RemoveFactory(string path) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       gst_rtsp_mount_points_remove_factory(Handle, native_path);
+                       GLib.Marshaller.Free (native_path);
+               }
+
+
+               static RTSPMountPoints ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifClient.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifClient.cs
new file mode 100644 (file)
index 0000000..9dcb24e
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPOnvifClient : Gst.RtspServer.RTSPClient {
+
+               public RTSPOnvifClient (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_client_new();
+
+               public RTSPOnvifClient () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPOnvifClient)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_onvif_client_new();
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPClient.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_client_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_onvif_client_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static RTSPOnvifClient ()
+               {
+                       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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPClient.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMedia.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMedia.cs
new file mode 100644 (file)
index 0000000..c57281d
--- /dev/null
@@ -0,0 +1,121 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPOnvifMedia : Gst.RtspServer.RTSPMedia {
+
+               public RTSPOnvifMedia (IntPtr raw) : base(raw) {}
+
+               protected RTSPOnvifMedia() : base(IntPtr.Zero)
+               {
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPMedia.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_media_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_onvif_media_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_onvif_media_collect_backchannel(IntPtr raw);
+
+               public bool CollectBackchannel() {
+                       bool raw_ret = gst_rtsp_onvif_media_collect_backchannel(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_onvif_media_get_backchannel_bandwidth(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_onvif_media_set_backchannel_bandwidth(IntPtr raw, uint bandwidth);
+
+               public uint BackchannelBandwidth { 
+                       get {
+                               uint raw_ret = gst_rtsp_onvif_media_get_backchannel_bandwidth(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_onvif_media_set_backchannel_bandwidth(Handle, value);
+                       }
+               }
+
+
+               static RTSPOnvifMedia ()
+               {
+                       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.RtspServer.RTSPMedia.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMediaFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifMediaFactory.cs
new file mode 100644 (file)
index 0000000..a38c9c8
--- /dev/null
@@ -0,0 +1,246 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPOnvifMediaFactory : Gst.RtspServer.RTSPMediaFactory {
+
+               public RTSPOnvifMediaFactory (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_media_factory_new();
+
+               public RTSPOnvifMediaFactory () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPOnvifMediaFactory)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_onvif_media_factory_new();
+               }
+
+               static HasBackchannelSupportNativeDelegate HasBackchannelSupport_cb_delegate;
+               static HasBackchannelSupportNativeDelegate HasBackchannelSupportVMCallback {
+                       get {
+                               if (HasBackchannelSupport_cb_delegate == null)
+                                       HasBackchannelSupport_cb_delegate = new HasBackchannelSupportNativeDelegate (HasBackchannelSupport_cb);
+                               return HasBackchannelSupport_cb_delegate;
+                       }
+               }
+
+               static void OverrideHasBackchannelSupport (GLib.GType gtype)
+               {
+                       OverrideHasBackchannelSupport (gtype, HasBackchannelSupportVMCallback);
+               }
+
+               static void OverrideHasBackchannelSupport (GLib.GType gtype, HasBackchannelSupportNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("has_backchannel_support"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate bool HasBackchannelSupportNativeDelegate (IntPtr inst);
+
+               static bool HasBackchannelSupport_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPOnvifMediaFactory __obj = GLib.Object.GetObject (inst, false) as RTSPOnvifMediaFactory;
+                               bool __result;
+                               __result = __obj.OnHasBackchannelSupport ();
+                               return __result;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPOnvifMediaFactory), ConnectionMethod="OverrideHasBackchannelSupport")]
+               protected virtual bool OnHasBackchannelSupport ()
+               {
+                       return InternalHasBackchannelSupport ();
+               }
+
+               private bool InternalHasBackchannelSupport ()
+               {
+                       HasBackchannelSupportNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("has_backchannel_support"));
+                               unmanaged = (HasBackchannelSupportNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(HasBackchannelSupportNativeDelegate));
+                       }
+                       if (unmanaged == null) return false;
+
+                       bool __result = unmanaged (this.Handle);
+                       return __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("has_backchannel_support"
+                                                       , Gst.RtspServer.RTSPMediaFactory.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // has_backchannel_support
+                                                       , null
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "has_backchannel_support"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_media_factory_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_onvif_media_factory_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_onvif_media_factory_requires_backchannel(IntPtr factory, IntPtr ctx);
+
+               public static bool RequiresBackchannel(Gst.RtspServer.RTSPMediaFactory factory, Gst.RtspServer.RTSPContext ctx) {
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       bool raw_ret = gst_rtsp_onvif_media_factory_requires_backchannel(factory == null ? IntPtr.Zero : factory.Handle, native_ctx);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_onvif_media_factory_get_backchannel_bandwidth(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_onvif_media_factory_set_backchannel_bandwidth(IntPtr raw, uint bandwidth);
+
+               public uint BackchannelBandwidth { 
+                       get {
+                               uint raw_ret = gst_rtsp_onvif_media_factory_get_backchannel_bandwidth(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_onvif_media_factory_set_backchannel_bandwidth(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_media_factory_get_backchannel_launch(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_onvif_media_factory_set_backchannel_launch(IntPtr raw, IntPtr launch);
+
+               public string BackchannelLaunch { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_onvif_media_factory_get_backchannel_launch(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_onvif_media_factory_set_backchannel_launch(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_onvif_media_factory_has_backchannel_support(IntPtr raw);
+
+               public bool HasBackchannelSupport { 
+                       get {
+                               bool raw_ret = gst_rtsp_onvif_media_factory_has_backchannel_support(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_onvif_media_factory_has_replay_support(IntPtr raw);
+
+               public bool HasReplaySupport { 
+                       get {
+                               bool raw_ret = gst_rtsp_onvif_media_factory_has_replay_support(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_onvif_media_factory_set_replay_support(IntPtr raw, bool has_replay_support);
+
+               public bool ReplaySupport { 
+                       set {
+                               gst_rtsp_onvif_media_factory_set_replay_support(Handle, value);
+                       }
+               }
+
+
+               static RTSPOnvifMediaFactory ()
+               {
+                       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.RtspServer.RTSPMediaFactory.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifServer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPOnvifServer.cs
new file mode 100644 (file)
index 0000000..1cd9e2a
--- /dev/null
@@ -0,0 +1,94 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPOnvifServer : Gst.RtspServer.RTSPServer {
+
+               public RTSPOnvifServer (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_server_new();
+
+               public RTSPOnvifServer () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPOnvifServer)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_onvif_server_new();
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPServer.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_onvif_server_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_onvif_server_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+
+               static RTSPOnvifServer ()
+               {
+                       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("_gst_reserved"
+                                                       , Gst.RtspServer.RTSPServer.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPermissions.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPermissions.cs
new file mode 100644 (file)
index 0000000..f050392
--- /dev/null
@@ -0,0 +1,112 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPPermissions : Gst.MiniObject {
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_permissions_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_permissions_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_permissions_add_permission_for_role(IntPtr raw, IntPtr role, IntPtr permission, bool allowed);
+
+               public void AddPermissionForRole(string role, string permission, bool allowed) {
+                       IntPtr native_role = GLib.Marshaller.StringToPtrGStrdup (role);
+                       IntPtr native_permission = GLib.Marshaller.StringToPtrGStrdup (permission);
+                       gst_rtsp_permissions_add_permission_for_role(Handle, native_role, native_permission, allowed);
+                       GLib.Marshaller.Free (native_role);
+                       GLib.Marshaller.Free (native_permission);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_permissions_add_role_empty(IntPtr raw, IntPtr role);
+
+               public void AddRoleEmpty(string role) {
+                       IntPtr native_role = GLib.Marshaller.StringToPtrGStrdup (role);
+                       gst_rtsp_permissions_add_role_empty(Handle, native_role);
+                       GLib.Marshaller.Free (native_role);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_permissions_add_role_from_structure(IntPtr raw, IntPtr structure);
+
+               public void AddRoleFromStructure(Gst.Structure structure) {
+                       gst_rtsp_permissions_add_role_from_structure(Handle, structure == null ? IntPtr.Zero : structure.Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_permissions_get_role(IntPtr raw, IntPtr role);
+
+               public Gst.Structure GetRole(string role) {
+                       IntPtr native_role = GLib.Marshaller.StringToPtrGStrdup (role);
+                       IntPtr raw_ret = gst_rtsp_permissions_get_role(Handle, native_role);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       GLib.Marshaller.Free (native_role);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_permissions_is_allowed(IntPtr raw, IntPtr role, IntPtr permission);
+
+               public bool IsAllowed(string role, string permission) {
+                       IntPtr native_role = GLib.Marshaller.StringToPtrGStrdup (role);
+                       IntPtr native_permission = GLib.Marshaller.StringToPtrGStrdup (permission);
+                       bool raw_ret = gst_rtsp_permissions_is_allowed(Handle, native_role, native_permission);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_role);
+                       GLib.Marshaller.Free (native_permission);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_permissions_remove_role(IntPtr raw, IntPtr role);
+
+               public void RemoveRole(string role) {
+                       IntPtr native_role = GLib.Marshaller.StringToPtrGStrdup (role);
+                       gst_rtsp_permissions_remove_role(Handle, native_role);
+                       GLib.Marshaller.Free (native_role);
+               }
+
+               public RTSPPermissions(IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_permissions_new();
+
+               public RTSPPermissions () : base (IntPtr.Zero)
+               {
+                       Raw = gst_rtsp_permissions_new();
+               }
+
+
+               // 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 (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPublishClockMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPPublishClockMode.cs
new file mode 100644 (file)
index 0000000..05868c3
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.RtspServer.RTSPPublishClockModeGType))]
+       public enum RTSPPublishClockMode {
+
+               None = 0,
+               Clock = 1,
+               ClockAndOffset = 2,
+       }
+
+       internal class RTSPPublishClockModeGType {
+               [DllImport ("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_publish_clock_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_publish_clock_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendFunc.cs
new file mode 100644 (file)
index 0000000..a198ebd
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate bool RTSPSendFunc(Gst.Buffer buffer, byte channel);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendListFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSendListFunc.cs
new file mode 100644 (file)
index 0000000..2c1a200
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate bool RTSPSendListFunc(Gst.BufferList buffer_list, byte channel);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServer.cs
new file mode 100644 (file)
index 0000000..b505fba
--- /dev/null
@@ -0,0 +1,423 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPServer : GLib.Object {
+
+               public RTSPServer (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_new();
+
+               public RTSPServer () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPServer)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_server_new();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_address(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_address(IntPtr raw, IntPtr address);
+
+               [GLib.Property ("address")]
+               public string Address {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_server_get_address(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_server_set_address(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_server_get_backlog(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_backlog(IntPtr raw, int backlog);
+
+               [GLib.Property ("backlog")]
+               public int Backlog {
+                       get  {
+                               int raw_ret = gst_rtsp_server_get_backlog(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_server_set_backlog(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_server_get_bound_port(IntPtr raw);
+
+               [GLib.Property ("bound-port")]
+               public int BoundPort {
+                       get  {
+                               int raw_ret = gst_rtsp_server_get_bound_port(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_server_get_content_length_limit(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_content_length_limit(IntPtr raw, uint limit);
+
+               [GLib.Property ("content-length-limit")]
+               public uint ContentLengthLimit {
+                       get  {
+                               uint raw_ret = gst_rtsp_server_get_content_length_limit(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_server_set_content_length_limit(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_mount_points(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_mount_points(IntPtr raw, IntPtr mounts);
+
+               [GLib.Property ("mount-points")]
+               public Gst.RtspServer.RTSPMountPoints MountPoints {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_server_get_mount_points(Handle);
+                               Gst.RtspServer.RTSPMountPoints ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPMountPoints;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_server_set_mount_points(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_service(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_service(IntPtr raw, IntPtr service);
+
+               [GLib.Property ("service")]
+               public string Service {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_server_get_service(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_server_set_service(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_session_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_session_pool(IntPtr raw, IntPtr pool);
+
+               [GLib.Property ("session-pool")]
+               public Gst.RtspServer.RTSPSessionPool SessionPool {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_server_get_session_pool(Handle);
+                               Gst.RtspServer.RTSPSessionPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSessionPool;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_server_set_session_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [GLib.Signal("client-connected")]
+               public event Gst.RtspServer.ClientConnectedHandler ClientConnected {
+                       add {
+                               this.AddSignalHandler ("client-connected", value, typeof (Gst.RtspServer.ClientConnectedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("client-connected", value);
+                       }
+               }
+
+               static ClientConnectedNativeDelegate ClientConnected_cb_delegate;
+               static ClientConnectedNativeDelegate ClientConnectedVMCallback {
+                       get {
+                               if (ClientConnected_cb_delegate == null)
+                                       ClientConnected_cb_delegate = new ClientConnectedNativeDelegate (ClientConnected_cb);
+                               return ClientConnected_cb_delegate;
+                       }
+               }
+
+               static void OverrideClientConnected (GLib.GType gtype)
+               {
+                       OverrideClientConnected (gtype, ClientConnectedVMCallback);
+               }
+
+               static void OverrideClientConnected (GLib.GType gtype, ClientConnectedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("client_connected"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ClientConnectedNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void ClientConnected_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPServer __obj = GLib.Object.GetObject (inst, false) as RTSPServer;
+                               __obj.OnClientConnected (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPClient);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPServer), ConnectionMethod="OverrideClientConnected")]
+               protected virtual void OnClientConnected (Gst.RtspServer.RTSPClient _object)
+               {
+                       InternalClientConnected (_object);
+               }
+
+               private void InternalClientConnected (Gst.RtspServer.RTSPClient _object)
+               {
+                       ClientConnectedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("client_connected"));
+                               unmanaged = (ClientConnectedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ClientConnectedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.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("create_client"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_client
+                                                       , null
+                                                       , "client_connected"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("client_connected"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // client_connected
+                                                       , "create_client"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+                                                       , "client_connected"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_server_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_server_io_func(IntPtr socket, int condition, IntPtr server);
+
+               public static bool IoFunc(GLib.Socket socket, GLib.IOCondition condition, Gst.RtspServer.RTSPServer server) {
+                       bool raw_ret = gst_rtsp_server_io_func(socket == null ? IntPtr.Zero : socket.Handle, (int) condition, server == null ? IntPtr.Zero : server.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_server_attach(IntPtr raw, IntPtr context);
+
+               public uint Attach(GLib.MainContext context) {
+                       uint raw_ret = gst_rtsp_server_attach(Handle, context == null ? IntPtr.Zero : context.Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               public uint Attach() {
+                       return Attach (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_client_filter(IntPtr raw, Gst.RtspServerSharp.RTSPServerClientFilterFuncNative func, IntPtr user_data);
+
+               public Gst.RtspServer.RTSPClient[] ClientFilter(Gst.RtspServer.RTSPServerClientFilterFunc func) {
+                       Gst.RtspServerSharp.RTSPServerClientFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPServerClientFilterFuncWrapper (func);
+                       IntPtr raw_ret = gst_rtsp_server_client_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.RtspServer.RTSPClient[] ret = (Gst.RtspServer.RTSPClient[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPClient));
+                       return ret;
+               }
+
+               public Gst.RtspServer.RTSPClient[] ClientFilter() {
+                       return ClientFilter (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_rtsp_server_create_socket(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+               public unsafe GLib.Socket CreateSocket(GLib.Cancellable cancellable) {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_rtsp_server_create_socket(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+                       GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), true);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public GLib.Socket CreateSocket() {
+                       return CreateSocket (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern unsafe IntPtr gst_rtsp_server_create_source(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+               public unsafe GLib.Source CreateSource(GLib.Cancellable cancellable) {
+                       IntPtr error = IntPtr.Zero;
+                       IntPtr raw_ret = gst_rtsp_server_create_source(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+                       GLib.Source ret = new GLib.Source(raw_ret);
+                       if (error != IntPtr.Zero) throw new GLib.GException (error);
+                       return ret;
+               }
+
+               public GLib.Source CreateSource() {
+                       return CreateSource (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_auth(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_auth(IntPtr raw, IntPtr auth);
+
+               public Gst.RtspServer.RTSPAuth Auth { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_server_get_auth(Handle);
+                               Gst.RtspServer.RTSPAuth ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPAuth;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_server_set_auth(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_server_get_thread_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_server_set_thread_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.RtspServer.RTSPThreadPool ThreadPool { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_server_get_thread_pool(Handle);
+                               Gst.RtspServer.RTSPThreadPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPThreadPool;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_server_set_thread_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_server_transfer_connection(IntPtr raw, IntPtr socket, IntPtr ip, int port, IntPtr initial_buffer);
+
+               public bool TransferConnection(GLib.Socket socket, string ip, int port, string initial_buffer) {
+                       socket.Owned = false;
+                       IntPtr native_ip = GLib.Marshaller.StringToPtrGStrdup (ip);
+                       IntPtr native_initial_buffer = GLib.Marshaller.StringToPtrGStrdup (initial_buffer);
+                       bool raw_ret = gst_rtsp_server_transfer_connection(Handle, socket == null ? IntPtr.Zero : socket.Handle, native_ip, port, native_initial_buffer);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_ip);
+                       GLib.Marshaller.Free (native_initial_buffer);
+                       return ret;
+               }
+
+               public bool TransferConnection(GLib.Socket socket, string ip, int port) {
+                       return TransferConnection (socket, ip, port, null);
+               }
+
+
+               static RTSPServer ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServerClientFilterFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPServerClientFilterFunc.cs
new file mode 100644 (file)
index 0000000..fd62d35
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate Gst.RtspServer.RTSPFilterResult RTSPServerClientFilterFunc(Gst.RtspServer.RTSPServer server, Gst.RtspServer.RTSPClient client);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSession.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSession.cs
new file mode 100644 (file)
index 0000000..72819fc
--- /dev/null
@@ -0,0 +1,294 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPSession : GLib.Object {
+
+               public RTSPSession (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_new(IntPtr sessionid);
+
+               public RTSPSession (string sessionid) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPSession)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               names.Add ("sessionid");
+                               vals.Add (new GLib.Value (sessionid));
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_sessionid = GLib.Marshaller.StringToPtrGStrdup (sessionid);
+                       Raw = gst_rtsp_session_new(native_sessionid);
+                       GLib.Marshaller.Free (native_sessionid);
+               }
+
+               [GLib.Property ("extra-timeout")]
+               public uint ExtraTimeout {
+                       get {
+                               GLib.Value val = GetProperty ("extra-timeout");
+                               uint ret = (uint) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("extra-timeout", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_get_sessionid(IntPtr raw);
+
+               [GLib.Property ("sessionid")]
+               public string Sessionid {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_session_get_sessionid(Handle);
+                               string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_session_get_timeout(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_set_timeout(IntPtr raw, uint timeout);
+
+               [GLib.Property ("timeout")]
+               public uint Timeout {
+                       get  {
+                               uint raw_ret = gst_rtsp_session_get_timeout(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_session_set_timeout(Handle, value);
+                       }
+               }
+
+               [GLib.Property ("timeout-always-visible")]
+               public bool TimeoutAlwaysVisible {
+                       get {
+                               GLib.Value val = GetProperty ("timeout-always-visible");
+                               bool ret = (bool) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value);
+                               SetProperty("timeout-always-visible", val);
+                               val.Dispose ();
+                       }
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_allow_expire(IntPtr raw);
+
+               public void AllowExpire() {
+                       gst_rtsp_session_allow_expire(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_dup_media(IntPtr raw, IntPtr path, out int matched);
+
+               public Gst.RtspServer.RTSPSessionMedia DupMedia(string path, out int matched) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr raw_ret = gst_rtsp_session_dup_media(Handle, native_path, out matched);
+                       Gst.RtspServer.RTSPSessionMedia ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSessionMedia;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_filter(IntPtr raw, Gst.RtspServerSharp.RTSPSessionFilterFuncNative func, IntPtr user_data);
+
+               public Gst.RtspServer.RTSPSessionMedia[] Filter(Gst.RtspServer.RTSPSessionFilterFunc func) {
+                       Gst.RtspServerSharp.RTSPSessionFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPSessionFilterFuncWrapper (func);
+                       IntPtr raw_ret = gst_rtsp_session_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.RtspServer.RTSPSessionMedia[] ret = (Gst.RtspServer.RTSPSessionMedia[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPSessionMedia));
+                       return ret;
+               }
+
+               public Gst.RtspServer.RTSPSessionMedia[] Filter() {
+                       return Filter (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_get_header(IntPtr raw);
+
+               public string Header { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_get_header(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_get_media(IntPtr raw, IntPtr path, out int matched);
+
+               public Gst.RtspServer.RTSPSessionMedia GetMedia(string path, out int matched) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr raw_ret = gst_rtsp_session_get_media(Handle, native_path, out matched);
+                       Gst.RtspServer.RTSPSessionMedia ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPSessionMedia;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_is_expired(IntPtr raw, IntPtr now);
+
+               [Obsolete]
+               public bool IsExpired(IntPtr now) {
+                       bool raw_ret = gst_rtsp_session_is_expired(Handle, now);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_is_expired_usec(IntPtr raw, long now);
+
+               public bool IsExpiredUsec(long now) {
+                       bool raw_ret = gst_rtsp_session_is_expired_usec(Handle, now);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_manage_media(IntPtr raw, IntPtr path, IntPtr media);
+
+               public Gst.RtspServer.RTSPSessionMedia ManageMedia(string path, Gst.RtspServer.RTSPMedia media) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       IntPtr raw_ret = gst_rtsp_session_manage_media(Handle, native_path, media == null ? IntPtr.Zero : media.OwnedHandle);
+                       Gst.RtspServer.RTSPSessionMedia ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPSessionMedia;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_session_next_timeout(IntPtr raw, IntPtr now);
+
+               [Obsolete]
+               public int NextTimeout(IntPtr now) {
+                       int raw_ret = gst_rtsp_session_next_timeout(Handle, now);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_session_next_timeout_usec(IntPtr raw, long now);
+
+               public int NextTimeoutUsec(long now) {
+                       int raw_ret = gst_rtsp_session_next_timeout_usec(Handle, now);
+                       int ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_prevent_expire(IntPtr raw);
+
+               public void PreventExpire() {
+                       gst_rtsp_session_prevent_expire(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_release_media(IntPtr raw, IntPtr media);
+
+               public bool ReleaseMedia(Gst.RtspServer.RTSPSessionMedia media) {
+                       bool raw_ret = gst_rtsp_session_release_media(Handle, media == null ? IntPtr.Zero : media.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_touch(IntPtr raw);
+
+               public void Touch() {
+                       gst_rtsp_session_touch(Handle);
+               }
+
+
+               static RTSPSession ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionFilterFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionFilterFunc.cs
new file mode 100644 (file)
index 0000000..9799a88
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate Gst.RtspServer.RTSPFilterResult RTSPSessionFilterFunc(Gst.RtspServer.RTSPSession sess, Gst.RtspServer.RTSPSessionMedia media);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionMedia.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionMedia.cs
new file mode 100644 (file)
index 0000000..0945d67
--- /dev/null
@@ -0,0 +1,208 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPSessionMedia : GLib.Object {
+
+               public RTSPSessionMedia (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_new(IntPtr path, IntPtr media);
+
+               public RTSPSessionMedia (string path, Gst.RtspServer.RTSPMedia media) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPSessionMedia)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       Raw = gst_rtsp_session_media_new(native_path, media == null ? IntPtr.Zero : media.OwnedHandle);
+                       GLib.Marshaller.Free (native_path);
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_media_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_media_alloc_channels(IntPtr raw, IntPtr range);
+
+               public bool AllocChannels(out Gst.Rtsp.RTSPRange range) {
+                       IntPtr native_range = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPRange)));
+                       bool raw_ret = gst_rtsp_session_media_alloc_channels(Handle, native_range);
+                       bool ret = raw_ret;
+                       range = Gst.Rtsp.RTSPRange.New (native_range);
+                       Marshal.FreeHGlobal (native_range);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtsp_session_media_get_base_time(IntPtr raw);
+
+               public ulong BaseTime { 
+                       get {
+                               ulong raw_ret = gst_rtsp_session_media_get_base_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_get_media(IntPtr raw);
+
+               public Gst.RtspServer.RTSPMedia Media { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_media_get_media(Handle);
+                               Gst.RtspServer.RTSPMedia ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPMedia;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_get_rtpinfo(IntPtr raw);
+
+               public string Rtpinfo { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_media_get_rtpinfo(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_session_media_get_rtsp_state(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_media_set_rtsp_state(IntPtr raw, int state);
+
+               public Gst.Rtsp.RTSPState RtspState { 
+                       get {
+                               int raw_ret = gst_rtsp_session_media_get_rtsp_state(Handle);
+                               Gst.Rtsp.RTSPState ret = (Gst.Rtsp.RTSPState) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_session_media_set_rtsp_state(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_get_transport(IntPtr raw, uint idx);
+
+               public Gst.RtspServer.RTSPStreamTransport GetTransport(uint idx) {
+                       IntPtr raw_ret = gst_rtsp_session_media_get_transport(Handle, idx);
+                       Gst.RtspServer.RTSPStreamTransport ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStreamTransport;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_media_matches(IntPtr raw, IntPtr path, out int matched);
+
+               public bool Matches(string path, out int matched) {
+                       IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+                       bool raw_ret = gst_rtsp_session_media_matches(Handle, native_path, out matched);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_path);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_media_set_state(IntPtr raw, int state);
+
+               public bool SetState(Gst.State state) {
+                       bool raw_ret = gst_rtsp_session_media_set_state(Handle, (int) state);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_media_set_transport(IntPtr raw, IntPtr stream, IntPtr tr);
+
+               public Gst.RtspServer.RTSPStreamTransport SetTransport(Gst.RtspServer.RTSPStream stream, Gst.Rtsp.RTSPTransport tr) {
+                       IntPtr native_tr = GLib.Marshaller.StructureToPtrAlloc (tr);
+                       IntPtr raw_ret = gst_rtsp_session_media_set_transport(Handle, stream == null ? IntPtr.Zero : stream.Handle, native_tr);
+                       Gst.RtspServer.RTSPStreamTransport ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStreamTransport;
+                       Marshal.FreeHGlobal (native_tr);
+                       return ret;
+               }
+
+
+               static RTSPSessionMedia ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPool.cs
new file mode 100644 (file)
index 0000000..cd5b6fe
--- /dev/null
@@ -0,0 +1,337 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPSessionPool : GLib.Object {
+
+               public RTSPSessionPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_new();
+
+               public RTSPSessionPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPSessionPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_session_pool_new();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_session_pool_get_max_sessions(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_session_pool_set_max_sessions(IntPtr raw, uint max);
+
+               [GLib.Property ("max-sessions")]
+               public uint MaxSessions {
+                       get  {
+                               uint raw_ret = gst_rtsp_session_pool_get_max_sessions(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_session_pool_set_max_sessions(Handle, value);
+                       }
+               }
+
+               [GLib.Signal("session-removed")]
+               public event Gst.RtspServer.SessionRemovedHandler SessionRemoved {
+                       add {
+                               this.AddSignalHandler ("session-removed", value, typeof (Gst.RtspServer.SessionRemovedArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("session-removed", value);
+                       }
+               }
+
+               static CreateSessionIdNativeDelegate CreateSessionId_cb_delegate;
+               static CreateSessionIdNativeDelegate CreateSessionIdVMCallback {
+                       get {
+                               if (CreateSessionId_cb_delegate == null)
+                                       CreateSessionId_cb_delegate = new CreateSessionIdNativeDelegate (CreateSessionId_cb);
+                               return CreateSessionId_cb_delegate;
+                       }
+               }
+
+               static void OverrideCreateSessionId (GLib.GType gtype)
+               {
+                       OverrideCreateSessionId (gtype, CreateSessionIdVMCallback);
+               }
+
+               static void OverrideCreateSessionId (GLib.GType gtype, CreateSessionIdNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_session_id"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr CreateSessionIdNativeDelegate (IntPtr inst);
+
+               static IntPtr CreateSessionId_cb (IntPtr inst)
+               {
+                       try {
+                               RTSPSessionPool __obj = GLib.Object.GetObject (inst, false) as RTSPSessionPool;
+                               string __result;
+                               __result = __obj.OnCreateSessionId ();
+                               return GLib.Marshaller.StringToPtrGStrdup(__result);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPSessionPool), ConnectionMethod="OverrideCreateSessionId")]
+               protected virtual string OnCreateSessionId ()
+               {
+                       return InternalCreateSessionId ();
+               }
+
+               private string InternalCreateSessionId ()
+               {
+                       CreateSessionIdNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_session_id"));
+                               unmanaged = (CreateSessionIdNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateSessionIdNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr __result = unmanaged (this.Handle);
+                       return GLib.Marshaller.PtrToStringGFree(__result);
+               }
+
+               static SessionRemovedNativeDelegate SessionRemoved_cb_delegate;
+               static SessionRemovedNativeDelegate SessionRemovedVMCallback {
+                       get {
+                               if (SessionRemoved_cb_delegate == null)
+                                       SessionRemoved_cb_delegate = new SessionRemovedNativeDelegate (SessionRemoved_cb);
+                               return SessionRemoved_cb_delegate;
+                       }
+               }
+
+               static void OverrideSessionRemoved (GLib.GType gtype)
+               {
+                       OverrideSessionRemoved (gtype, SessionRemovedVMCallback);
+               }
+
+               static void OverrideSessionRemoved (GLib.GType gtype, SessionRemovedNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("session_removed"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void SessionRemovedNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void SessionRemoved_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPSessionPool __obj = GLib.Object.GetObject (inst, false) as RTSPSessionPool;
+                               __obj.OnSessionRemoved (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPSession);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPSessionPool), ConnectionMethod="OverrideSessionRemoved")]
+               protected virtual void OnSessionRemoved (Gst.RtspServer.RTSPSession _object)
+               {
+                       InternalSessionRemoved (_object);
+               }
+
+               private void InternalSessionRemoved (Gst.RtspServer.RTSPSession _object)
+               {
+                       SessionRemovedNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("session_removed"));
+                               unmanaged = (SessionRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SessionRemovedNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.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("create_session_id"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_session_id
+                                                       , null
+                                                       , "create_session"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("create_session"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_session
+                                                       , "create_session_id"
+                                                       , "session_removed"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("session_removed"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // session_removed
+                                                       , "create_session"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 19 // _gst_reserved
+                                                       , "session_removed"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_session_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_session_pool_cleanup(IntPtr raw);
+
+               public uint Cleanup() {
+                       uint raw_ret = gst_rtsp_session_pool_cleanup(Handle);
+                       uint ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_create(IntPtr raw);
+
+               public Gst.RtspServer.RTSPSession Create() {
+                       IntPtr raw_ret = gst_rtsp_session_pool_create(Handle);
+                       Gst.RtspServer.RTSPSession ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSession;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_create_watch(IntPtr raw);
+
+               public GLib.Source CreateWatch() {
+                       IntPtr raw_ret = gst_rtsp_session_pool_create_watch(Handle);
+                       GLib.Source ret = new GLib.Source(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_filter(IntPtr raw, Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative func, IntPtr user_data);
+
+               public Gst.RtspServer.RTSPSession[] Filter(Gst.RtspServer.RTSPSessionPoolFilterFunc func) {
+                       Gst.RtspServerSharp.RTSPSessionPoolFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPSessionPoolFilterFuncWrapper (func);
+                       IntPtr raw_ret = gst_rtsp_session_pool_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.RtspServer.RTSPSession[] ret = (Gst.RtspServer.RTSPSession[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPSession));
+                       return ret;
+               }
+
+               public Gst.RtspServer.RTSPSession[] Filter() {
+                       return Filter (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_session_pool_find(IntPtr raw, IntPtr sessionid);
+
+               public Gst.RtspServer.RTSPSession Find(string sessionid) {
+                       IntPtr native_sessionid = GLib.Marshaller.StringToPtrGStrdup (sessionid);
+                       IntPtr raw_ret = gst_rtsp_session_pool_find(Handle, native_sessionid);
+                       Gst.RtspServer.RTSPSession ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSession;
+                       GLib.Marshaller.Free (native_sessionid);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_session_pool_get_n_sessions(IntPtr raw);
+
+               public uint NSessions { 
+                       get {
+                               uint raw_ret = gst_rtsp_session_pool_get_n_sessions(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_session_pool_remove(IntPtr raw, IntPtr sess);
+
+               public bool Remove(Gst.RtspServer.RTSPSession sess) {
+                       bool raw_ret = gst_rtsp_session_pool_remove(Handle, sess == null ? IntPtr.Zero : sess.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static RTSPSessionPool ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFilterFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFilterFunc.cs
new file mode 100644 (file)
index 0000000..98511c9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate Gst.RtspServer.RTSPFilterResult RTSPSessionPoolFilterFunc(Gst.RtspServer.RTSPSessionPool pool, Gst.RtspServer.RTSPSession session);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSessionPoolFunc.cs
new file mode 100644 (file)
index 0000000..79bffe8
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate bool RTSPSessionPoolFunc(Gst.RtspServer.RTSPSessionPool pool);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStream.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStream.cs
new file mode 100644 (file)
index 0000000..09d24b8
--- /dev/null
@@ -0,0 +1,1120 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPStream : GLib.Object {
+
+               public RTSPStream (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_new(uint idx, IntPtr payloader, IntPtr pad);
+
+               public RTSPStream (uint idx, Gst.Element payloader, Gst.Pad pad) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPStream)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       Raw = gst_rtsp_stream_new(idx, payloader == null ? IntPtr.Zero : payloader.Handle, pad == null ? IntPtr.Zero : pad.Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_control(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_control(IntPtr raw, IntPtr control);
+
+               [GLib.Property ("control")]
+               public string Control {
+                       get  {
+                               IntPtr raw_ret = gst_rtsp_stream_get_control(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set  {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_stream_set_control(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_get_profiles(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_profiles(IntPtr raw, int profiles);
+
+               [GLib.Property ("profiles")]
+               public Gst.Rtsp.RTSPProfile Profiles {
+                       get  {
+                               int raw_ret = gst_rtsp_stream_get_profiles(Handle);
+                               Gst.Rtsp.RTSPProfile ret = (Gst.Rtsp.RTSPProfile) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_stream_set_profiles(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_get_protocols(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_protocols(IntPtr raw, int protocols);
+
+               [GLib.Property ("protocols")]
+               public Gst.Rtsp.RTSPLowerTrans Protocols {
+                       get  {
+                               int raw_ret = gst_rtsp_stream_get_protocols(Handle);
+                               Gst.Rtsp.RTSPLowerTrans ret = (Gst.Rtsp.RTSPLowerTrans) raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_stream_set_protocols(Handle, (int) value);
+                       }
+               }
+
+               [GLib.Signal("new-rtp-encoder")]
+               public event Gst.RtspServer.NewRtpEncoderHandler NewRtpEncoder {
+                       add {
+                               this.AddSignalHandler ("new-rtp-encoder", value, typeof (Gst.RtspServer.NewRtpEncoderArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-rtp-encoder", value);
+                       }
+               }
+
+               [GLib.Signal("new-rtcp-encoder")]
+               public event Gst.RtspServer.NewRtcpEncoderHandler NewRtcpEncoder {
+                       add {
+                               this.AddSignalHandler ("new-rtcp-encoder", value, typeof (Gst.RtspServer.NewRtcpEncoderArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-rtcp-encoder", value);
+                       }
+               }
+
+               [GLib.Signal("new-rtp-rtcp-decoder")]
+               public event Gst.RtspServer.NewRtpRtcpDecoderHandler NewRtpRtcpDecoder {
+                       add {
+                               this.AddSignalHandler ("new-rtp-rtcp-decoder", value, typeof (Gst.RtspServer.NewRtpRtcpDecoderArgs));
+                       }
+                       remove {
+                               this.RemoveSignalHandler ("new-rtp-rtcp-decoder", value);
+                       }
+               }
+
+               static NewRtcpEncoderNativeDelegate NewRtcpEncoder_cb_delegate;
+               static NewRtcpEncoderNativeDelegate NewRtcpEncoderVMCallback {
+                       get {
+                               if (NewRtcpEncoder_cb_delegate == null)
+                                       NewRtcpEncoder_cb_delegate = new NewRtcpEncoderNativeDelegate (NewRtcpEncoder_cb);
+                               return NewRtcpEncoder_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewRtcpEncoder (GLib.GType gtype)
+               {
+                       OverrideNewRtcpEncoder (gtype, NewRtcpEncoderVMCallback);
+               }
+
+               static void OverrideNewRtcpEncoder (GLib.GType gtype, NewRtcpEncoderNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "new-rtcp-encoder", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewRtcpEncoderNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void NewRtcpEncoder_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPStream __obj = GLib.Object.GetObject (inst, false) as RTSPStream;
+                               __obj.OnNewRtcpEncoder (GLib.Object.GetObject(_object) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPStream), ConnectionMethod="OverrideNewRtcpEncoder")]
+               protected virtual void OnNewRtcpEncoder (Gst.Element _object)
+               {
+                       InternalNewRtcpEncoder (_object);
+               }
+
+               private void InternalNewRtcpEncoder (Gst.Element _object)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static NewRtpEncoderNativeDelegate NewRtpEncoder_cb_delegate;
+               static NewRtpEncoderNativeDelegate NewRtpEncoderVMCallback {
+                       get {
+                               if (NewRtpEncoder_cb_delegate == null)
+                                       NewRtpEncoder_cb_delegate = new NewRtpEncoderNativeDelegate (NewRtpEncoder_cb);
+                               return NewRtpEncoder_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewRtpEncoder (GLib.GType gtype)
+               {
+                       OverrideNewRtpEncoder (gtype, NewRtpEncoderVMCallback);
+               }
+
+               static void OverrideNewRtpEncoder (GLib.GType gtype, NewRtpEncoderNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "new-rtp-encoder", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewRtpEncoderNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void NewRtpEncoder_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPStream __obj = GLib.Object.GetObject (inst, false) as RTSPStream;
+                               __obj.OnNewRtpEncoder (GLib.Object.GetObject(_object) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPStream), ConnectionMethod="OverrideNewRtpEncoder")]
+               protected virtual void OnNewRtpEncoder (Gst.Element _object)
+               {
+                       InternalNewRtpEncoder (_object);
+               }
+
+               private void InternalNewRtpEncoder (Gst.Element _object)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+               static NewRtpRtcpDecoderNativeDelegate NewRtpRtcpDecoder_cb_delegate;
+               static NewRtpRtcpDecoderNativeDelegate NewRtpRtcpDecoderVMCallback {
+                       get {
+                               if (NewRtpRtcpDecoder_cb_delegate == null)
+                                       NewRtpRtcpDecoder_cb_delegate = new NewRtpRtcpDecoderNativeDelegate (NewRtpRtcpDecoder_cb);
+                               return NewRtpRtcpDecoder_cb_delegate;
+                       }
+               }
+
+               static void OverrideNewRtpRtcpDecoder (GLib.GType gtype)
+               {
+                       OverrideNewRtpRtcpDecoder (gtype, NewRtpRtcpDecoderVMCallback);
+               }
+
+               static void OverrideNewRtpRtcpDecoder (GLib.GType gtype, NewRtpRtcpDecoderNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "new-rtp-rtcp-decoder", callback);
+               }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void NewRtpRtcpDecoderNativeDelegate (IntPtr inst, IntPtr _object);
+
+               static void NewRtpRtcpDecoder_cb (IntPtr inst, IntPtr _object)
+               {
+                       try {
+                               RTSPStream __obj = GLib.Object.GetObject (inst, false) as RTSPStream;
+                               __obj.OnNewRtpRtcpDecoder (GLib.Object.GetObject(_object) as Gst.Element);
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPStream), ConnectionMethod="OverrideNewRtpRtcpDecoder")]
+               protected virtual void OnNewRtpRtcpDecoder (Gst.Element _object)
+               {
+                       InternalNewRtpRtcpDecoder (_object);
+               }
+
+               private void InternalNewRtpRtcpDecoder (Gst.Element _object)
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+                       GLib.Value[] vals = new GLib.Value [2];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       vals [1] = new GLib.Value (_object);
+                       inst_and_params.Append (vals [1]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_add_multicast_client_address(IntPtr raw, IntPtr destination, uint rtp_port, uint rtcp_port, int family);
+
+               public bool AddMulticastClientAddress(string destination, uint rtp_port, uint rtcp_port, GLib.SocketFamily family) {
+                       IntPtr native_destination = GLib.Marshaller.StringToPtrGStrdup (destination);
+                       bool raw_ret = gst_rtsp_stream_add_multicast_client_address(Handle, native_destination, rtp_port, rtcp_port, (int) family);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_destination);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_add_transport(IntPtr raw, IntPtr trans);
+
+               public bool AddTransport(Gst.RtspServer.RTSPStreamTransport trans) {
+                       bool raw_ret = gst_rtsp_stream_add_transport(Handle, trans == null ? IntPtr.Zero : trans.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_allocate_udp_sockets(IntPtr raw, int family, IntPtr transport, bool use_client_settings);
+
+               public bool AllocateUdpSockets(GLib.SocketFamily family, Gst.Rtsp.RTSPTransport transport, bool use_client_settings) {
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       bool raw_ret = gst_rtsp_stream_allocate_udp_sockets(Handle, (int) family, native_transport, use_client_settings);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_complete_stream(IntPtr raw, IntPtr transport);
+
+               public bool CompleteStream(Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       bool raw_ret = gst_rtsp_stream_complete_stream(Handle, native_transport);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_address_pool(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_address_pool(IntPtr raw, IntPtr pool);
+
+               public Gst.RtspServer.RTSPAddressPool AddressPool { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_address_pool(Handle);
+                               Gst.RtspServer.RTSPAddressPool ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPAddressPool;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_address_pool(Handle, value == null ? IntPtr.Zero : value.Handle);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_buffer_size(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_buffer_size(IntPtr raw, uint size);
+
+               public uint BufferSize { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_buffer_size(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_buffer_size(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_caps(IntPtr raw);
+
+               public Gst.Caps Caps { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_caps(Handle);
+                               Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ushort gst_rtsp_stream_get_current_seqnum(IntPtr raw);
+
+               public ushort CurrentSeqnum { 
+                       get {
+                               ushort raw_ret = gst_rtsp_stream_get_current_seqnum(Handle);
+                               ushort ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_get_dscp_qos(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_dscp_qos(IntPtr raw, int dscp_qos);
+
+               public int DscpQos { 
+                       get {
+                               int raw_ret = gst_rtsp_stream_get_dscp_qos(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_dscp_qos(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_index(IntPtr raw);
+
+               public uint Index { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_index(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_joined_bin(IntPtr raw);
+
+               public Gst.Bin JoinedBin { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_joined_bin(Handle);
+                               Gst.Bin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Bin;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_max_mcast_ttl(IntPtr raw);
+
+               public uint MaxMcastTtl { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_max_mcast_ttl(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_mtu(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_mtu(IntPtr raw, uint mtu);
+
+               public uint Mtu { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_mtu(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_mtu(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_multicast_address(IntPtr raw, int family);
+
+               public Gst.RtspServer.RTSPAddress GetMulticastAddress(GLib.SocketFamily family) {
+                       IntPtr raw_ret = gst_rtsp_stream_get_multicast_address(Handle, (int) family);
+                       Gst.RtspServer.RTSPAddress ret = Gst.RtspServer.RTSPAddress.New (raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_multicast_client_addresses(IntPtr raw);
+
+               public string MulticastClientAddresses { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_multicast_client_addresses(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_multicast_iface(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_multicast_iface(IntPtr raw, IntPtr multicast_iface);
+
+               public string MulticastIface { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_multicast_iface(Handle);
+                               string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+                               gst_rtsp_stream_set_multicast_iface(Handle, native_value);
+                               GLib.Marshaller.Free (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_pt(IntPtr raw);
+
+               public uint Pt { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_pt(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_get_publish_clock_mode(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_publish_clock_mode(IntPtr raw, int mode);
+
+               public Gst.RtspServer.RTSPPublishClockMode PublishClockMode { 
+                       get {
+                               int raw_ret = gst_rtsp_stream_get_publish_clock_mode(Handle);
+                               Gst.RtspServer.RTSPPublishClockMode ret = (Gst.RtspServer.RTSPPublishClockMode) raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_publish_clock_mode(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_get_rate_control(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_rate_control(IntPtr raw, bool enabled);
+
+               public bool RateControl { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_get_rate_control(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_rate_control(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_get_rates(IntPtr raw, out double rate, out double applied_rate);
+
+               public bool GetRates(out double rate, out double applied_rate) {
+                       bool raw_ret = gst_rtsp_stream_get_rates(Handle, out rate, out applied_rate);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_retransmission_pt(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_retransmission_pt(IntPtr raw, uint rtx_pt);
+
+               public uint RetransmissionPt { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_retransmission_pt(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_retransmission_pt(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern ulong gst_rtsp_stream_get_retransmission_time(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_retransmission_time(IntPtr raw, ulong time);
+
+               public ulong RetransmissionTime { 
+                       get {
+                               ulong raw_ret = gst_rtsp_stream_get_retransmission_time(Handle);
+                               ulong ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_retransmission_time(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_rtcp_multicast_socket(IntPtr raw, int family);
+
+               public GLib.Socket GetRtcpMulticastSocket(GLib.SocketFamily family) {
+                       IntPtr raw_ret = gst_rtsp_stream_get_rtcp_multicast_socket(Handle, (int) family);
+                       GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), true);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_rtcp_socket(IntPtr raw, int family);
+
+               public GLib.Socket GetRtcpSocket(GLib.SocketFamily family) {
+                       IntPtr raw_ret = gst_rtsp_stream_get_rtcp_socket(Handle, (int) family);
+                       GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), true);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_rtp_multicast_socket(IntPtr raw, int family);
+
+               public GLib.Socket GetRtpMulticastSocket(GLib.SocketFamily family) {
+                       IntPtr raw_ret = gst_rtsp_stream_get_rtp_multicast_socket(Handle, (int) family);
+                       GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), true);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_rtp_socket(IntPtr raw, int family);
+
+               public GLib.Socket GetRtpSocket(GLib.SocketFamily family) {
+                       IntPtr raw_ret = gst_rtsp_stream_get_rtp_socket(Handle, (int) family);
+                       GLib.Socket ret = raw_ret == IntPtr.Zero ? null : (GLib.Socket) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.Socket), true);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_get_rtpinfo(IntPtr raw, out uint rtptime, out uint seq, out uint clock_rate, out ulong running_time);
+
+               public bool GetRtpinfo(out uint rtptime, out uint seq, out uint clock_rate, out ulong running_time) {
+                       bool raw_ret = gst_rtsp_stream_get_rtpinfo(Handle, out rtptime, out seq, out clock_rate, out running_time);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_rtpsession(IntPtr raw);
+
+               public GLib.Object Rtpsession { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_rtpsession(Handle);
+                               GLib.Object ret = GLib.Object.GetObject (raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_get_server_port(IntPtr raw, IntPtr server_port, int family);
+
+               public Gst.Rtsp.RTSPRange GetServerPort(GLib.SocketFamily family) {
+                       Gst.Rtsp.RTSPRange server_port;
+                       IntPtr native_server_port = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPRange)));
+                       gst_rtsp_stream_get_server_port(Handle, native_server_port, (int) family);
+                       server_port = Gst.Rtsp.RTSPRange.New (native_server_port);
+                       Marshal.FreeHGlobal (native_server_port);
+                       return server_port;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_sinkpad(IntPtr raw);
+
+               public Gst.Pad Sinkpad { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_sinkpad(Handle);
+                               Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_srcpad(IntPtr raw);
+
+               public Gst.Pad Srcpad { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_srcpad(Handle);
+                               Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_get_srtp_encoder(IntPtr raw);
+
+               public Gst.Element SrtpEncoder { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_get_srtp_encoder(Handle);
+                               Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_get_ssrc(IntPtr raw, out uint ssrc);
+
+               public uint Ssrc { 
+                       get {
+                               uint ssrc;
+                               gst_rtsp_stream_get_ssrc(Handle, out ssrc);
+                               return ssrc;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_get_ulpfec_enabled(IntPtr raw);
+
+               public bool UlpfecEnabled { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_get_ulpfec_enabled(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_ulpfec_percentage(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_ulpfec_percentage(IntPtr raw, uint percentage);
+
+               public uint UlpfecPercentage { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_ulpfec_percentage(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_ulpfec_percentage(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern uint gst_rtsp_stream_get_ulpfec_pt(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_ulpfec_pt(IntPtr raw, uint pt);
+
+               public uint UlpfecPt { 
+                       get {
+                               uint raw_ret = gst_rtsp_stream_get_ulpfec_pt(Handle);
+                               uint ret = raw_ret;
+                               return ret;
+                       }
+                       set {
+                               gst_rtsp_stream_set_ulpfec_pt(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_handle_keymgmt(IntPtr raw, IntPtr keymgmt);
+
+               public bool HandleKeymgmt(string keymgmt) {
+                       IntPtr native_keymgmt = GLib.Marshaller.StringToPtrGStrdup (keymgmt);
+                       bool raw_ret = gst_rtsp_stream_handle_keymgmt(Handle, native_keymgmt);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_keymgmt);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_has_control(IntPtr raw, IntPtr control);
+
+               public bool HasControl(string control) {
+                       IntPtr native_control = GLib.Marshaller.StringToPtrGStrdup (control);
+                       bool raw_ret = gst_rtsp_stream_has_control(Handle, native_control);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_control);
+                       return ret;
+               }
+
+               public bool HasControl() {
+                       return HasControl (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_bind_mcast_address(IntPtr raw);
+
+               public bool IsBindMcastAddress { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_bind_mcast_address(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_blocking(IntPtr raw);
+
+               public bool IsBlocking { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_blocking(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_client_side(IntPtr raw);
+
+               public bool IsClientSide { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_client_side(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_complete(IntPtr raw);
+
+               public bool IsComplete { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_complete(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_receiver(IntPtr raw);
+
+               public bool IsReceiver { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_receiver(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_sender(IntPtr raw);
+
+               public bool IsSender { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_is_sender(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_is_transport_supported(IntPtr raw, IntPtr transport);
+
+               public bool IsTransportSupported(Gst.Rtsp.RTSPTransport transport) {
+                       IntPtr native_transport = GLib.Marshaller.StructureToPtrAlloc (transport);
+                       bool raw_ret = gst_rtsp_stream_is_transport_supported(Handle, native_transport);
+                       bool ret = raw_ret;
+                       Marshal.FreeHGlobal (native_transport);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_join_bin(IntPtr raw, IntPtr bin, IntPtr rtpbin, int state);
+
+               public bool JoinBin(Gst.Bin bin, Gst.Element rtpbin, Gst.State state) {
+                       bool raw_ret = gst_rtsp_stream_join_bin(Handle, bin == null ? IntPtr.Zero : bin.Handle, rtpbin == null ? IntPtr.Zero : rtpbin.Handle, (int) state);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_leave_bin(IntPtr raw, IntPtr bin, IntPtr rtpbin);
+
+               public bool LeaveBin(Gst.Bin bin, Gst.Element rtpbin) {
+                       bool raw_ret = gst_rtsp_stream_leave_bin(Handle, bin == null ? IntPtr.Zero : bin.Handle, rtpbin == null ? IntPtr.Zero : rtpbin.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_query_position(IntPtr raw, out long position);
+
+               public bool QueryPosition(out long position) {
+                       bool raw_ret = gst_rtsp_stream_query_position(Handle, out position);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_query_stop(IntPtr raw, out long stop);
+
+               public bool QueryStop(out long stop) {
+                       bool raw_ret = gst_rtsp_stream_query_stop(Handle, out stop);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_recv_rtcp(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn RecvRtcp(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_rtsp_stream_recv_rtcp(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_recv_rtp(IntPtr raw, IntPtr buffer);
+
+               public Gst.FlowReturn RecvRtp(Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_rtsp_stream_recv_rtp(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_remove_transport(IntPtr raw, IntPtr trans);
+
+               public bool RemoveTransport(Gst.RtspServer.RTSPStreamTransport trans) {
+                       bool raw_ret = gst_rtsp_stream_remove_transport(Handle, trans == null ? IntPtr.Zero : trans.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_request_aux_receiver(IntPtr raw, uint sessid);
+
+               public Gst.Element RequestAuxReceiver(uint sessid) {
+                       IntPtr raw_ret = gst_rtsp_stream_request_aux_receiver(Handle, sessid);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_request_aux_sender(IntPtr raw, uint sessid);
+
+               public Gst.Element RequestAuxSender(uint sessid) {
+                       IntPtr raw_ret = gst_rtsp_stream_request_aux_sender(Handle, sessid);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_request_ulpfec_decoder(IntPtr raw, IntPtr rtpbin, uint sessid);
+
+               public Gst.Element RequestUlpfecDecoder(Gst.Element rtpbin, uint sessid) {
+                       IntPtr raw_ret = gst_rtsp_stream_request_ulpfec_decoder(Handle, rtpbin == null ? IntPtr.Zero : rtpbin.Handle, sessid);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_request_ulpfec_encoder(IntPtr raw, uint sessid);
+
+               public Gst.Element RequestUlpfecEncoder(uint sessid) {
+                       IntPtr raw_ret = gst_rtsp_stream_request_ulpfec_encoder(Handle, sessid);
+                       Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_reserve_address(IntPtr raw, IntPtr address, uint port, uint n_ports, uint ttl);
+
+               public Gst.RtspServer.RTSPAddress ReserveAddress(string address, uint port, uint n_ports, uint ttl) {
+                       IntPtr native_address = GLib.Marshaller.StringToPtrGStrdup (address);
+                       IntPtr raw_ret = gst_rtsp_stream_reserve_address(Handle, native_address, port, n_ports, ttl);
+                       Gst.RtspServer.RTSPAddress ret = Gst.RtspServer.RTSPAddress.New (raw_ret);
+                       GLib.Marshaller.Free (native_address);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_seekable(IntPtr raw);
+
+               public bool Seekable() {
+                       bool raw_ret = gst_rtsp_stream_seekable(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_bind_mcast_address(IntPtr raw, bool bind_mcast_addr);
+
+               public bool BindMcastAddress { 
+                       set {
+                               gst_rtsp_stream_set_bind_mcast_address(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_set_blocked(IntPtr raw, bool blocked);
+
+               public bool SetBlocked(bool blocked) {
+                       bool raw_ret = gst_rtsp_stream_set_blocked(Handle, blocked);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_client_side(IntPtr raw, bool client_side);
+
+               public bool ClientSide { 
+                       set {
+                               gst_rtsp_stream_set_client_side(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_set_max_mcast_ttl(IntPtr raw, uint ttl);
+
+               public bool SetMaxMcastTtl(uint ttl) {
+                       bool raw_ret = gst_rtsp_stream_set_max_mcast_ttl(Handle, ttl);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_pt_map(IntPtr raw, uint pt, IntPtr caps);
+
+               public void SetPtMap(uint pt, Gst.Caps caps) {
+                       gst_rtsp_stream_set_pt_map(Handle, pt, caps == null ? IntPtr.Zero : caps.Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_set_seqnum_offset(IntPtr raw, ushort seqnum);
+
+               public ushort SeqnumOffset { 
+                       set {
+                               gst_rtsp_stream_set_seqnum_offset(Handle, value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_filter(IntPtr raw, Gst.RtspServerSharp.RTSPStreamTransportFilterFuncNative func, IntPtr user_data);
+
+               public Gst.RtspServer.RTSPStreamTransport[] TransportFilter(Gst.RtspServer.RTSPStreamTransportFilterFunc func) {
+                       Gst.RtspServerSharp.RTSPStreamTransportFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPStreamTransportFilterFuncWrapper (func);
+                       IntPtr raw_ret = gst_rtsp_stream_transport_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero);
+                       Gst.RtspServer.RTSPStreamTransport[] ret = (Gst.RtspServer.RTSPStreamTransport[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPStreamTransport));
+                       return ret;
+               }
+
+               public Gst.RtspServer.RTSPStreamTransport[] TransportFilter() {
+                       return TransportFilter (null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_unblock_linked(IntPtr raw);
+
+               public bool UnblockLinked() {
+                       bool raw_ret = gst_rtsp_stream_unblock_linked(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_unblock_rtcp(IntPtr raw);
+
+               public void UnblockRtcp() {
+                       gst_rtsp_stream_unblock_rtcp(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_update_crypto(IntPtr raw, uint ssrc, IntPtr crypto);
+
+               public bool UpdateCrypto(uint ssrc, Gst.Caps crypto) {
+                       bool raw_ret = gst_rtsp_stream_update_crypto(Handle, ssrc, crypto == null ? IntPtr.Zero : crypto.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               public bool UpdateCrypto(uint ssrc) {
+                       return UpdateCrypto (ssrc, null);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_verify_mcast_ttl(IntPtr raw, uint ttl);
+
+               public bool VerifyMcastTtl(uint ttl) {
+                       bool raw_ret = gst_rtsp_stream_verify_mcast_ttl(Handle, ttl);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+
+               static RTSPStream ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransport.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransport.cs
new file mode 100644 (file)
index 0000000..e27f54d
--- /dev/null
@@ -0,0 +1,303 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPStreamTransport : GLib.Object {
+
+               public RTSPStreamTransport (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_new(IntPtr stream, IntPtr tr);
+
+               public RTSPStreamTransport (Gst.RtspServer.RTSPStream stream, Gst.Rtsp.RTSPTransport tr) : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPStreamTransport)) {
+                               var vals = new List<GLib.Value> ();
+                               var names = new List<string> ();
+                               CreateNativeObject (names.ToArray (), vals.ToArray ());
+                               return;
+                       }
+                       IntPtr native_tr = GLib.Marshaller.StructureToPtrAlloc (tr);
+                       Raw = gst_rtsp_stream_transport_new(stream == null ? IntPtr.Zero : stream.Handle, native_tr);
+                       Marshal.FreeHGlobal (native_tr);
+               }
+
+
+               // 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("_gst_reserved"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , null
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_transport_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_get_rtpinfo(IntPtr raw, ulong start_time);
+
+               public string GetRtpinfo(ulong start_time) {
+                       IntPtr raw_ret = gst_rtsp_stream_transport_get_rtpinfo(Handle, start_time);
+                       string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_get_stream(IntPtr raw);
+
+               public Gst.RtspServer.RTSPStream Stream { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_transport_get_stream(Handle);
+                               Gst.RtspServer.RTSPStream ret = GLib.Object.GetObject(raw_ret) as Gst.RtspServer.RTSPStream;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_get_transport(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_transport(IntPtr raw, IntPtr value);
+
+               public Gst.Rtsp.RTSPTransport Transport { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_transport_get_transport(Handle);
+                               Gst.Rtsp.RTSPTransport ret = Gst.Rtsp.RTSPTransport.New (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                               gst_rtsp_stream_transport_set_transport(Handle, native_value);
+                               Marshal.FreeHGlobal (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_stream_transport_get_url(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_url(IntPtr raw, IntPtr value);
+
+               public Gst.Rtsp.RTSPUrl Url { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_stream_transport_get_url(Handle);
+                               Gst.Rtsp.RTSPUrl ret = Gst.Rtsp.RTSPUrl.New (raw_ret);
+                               return ret;
+                       }
+                       set {
+                               IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+                               gst_rtsp_stream_transport_set_url(Handle, native_value);
+                               Marshal.FreeHGlobal (native_value);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_is_timed_out(IntPtr raw);
+
+               public bool IsTimedOut { 
+                       get {
+                               bool raw_ret = gst_rtsp_stream_transport_is_timed_out(Handle);
+                               bool ret = raw_ret;
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_keep_alive(IntPtr raw);
+
+               public void KeepAlive() {
+                       gst_rtsp_stream_transport_keep_alive(Handle);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_stream_transport_recv_data(IntPtr raw, uint channel, IntPtr buffer);
+
+               public Gst.FlowReturn RecvData(uint channel, Gst.Buffer buffer) {
+                       buffer.Owned = false;
+                       int raw_ret = gst_rtsp_stream_transport_recv_data(Handle, channel, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_send_rtcp(IntPtr raw, IntPtr buffer);
+
+               public bool SendRtcp(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtsp_stream_transport_send_rtcp(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_send_rtcp_list(IntPtr raw, IntPtr buffer_list);
+
+               public bool SendRtcpList(Gst.BufferList buffer_list) {
+                       bool raw_ret = gst_rtsp_stream_transport_send_rtcp_list(Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_send_rtp(IntPtr raw, IntPtr buffer);
+
+               public bool SendRtp(Gst.Buffer buffer) {
+                       bool raw_ret = gst_rtsp_stream_transport_send_rtp(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_send_rtp_list(IntPtr raw, IntPtr buffer_list);
+
+               public bool SendRtpList(Gst.BufferList buffer_list) {
+                       bool raw_ret = gst_rtsp_stream_transport_send_rtp_list(Handle, buffer_list == null ? IntPtr.Zero : buffer_list.Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_stream_transport_set_active(IntPtr raw, bool active);
+
+               public bool SetActive(bool active) {
+                       bool raw_ret = gst_rtsp_stream_transport_set_active(Handle, active);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_keepalive(IntPtr raw, Gst.RtspServerSharp.RTSPKeepAliveFuncNative keep_alive, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.RtspServer.RTSPKeepAliveFunc Keepalive { 
+                       set {
+                               Gst.RtspServerSharp.RTSPKeepAliveFuncWrapper value_wrapper = new Gst.RtspServerSharp.RTSPKeepAliveFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_stream_transport_set_keepalive(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_message_sent(IntPtr raw, Gst.RtspServerSharp.RTSPMessageSentFuncNative message_sent, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.RtspServer.RTSPMessageSentFunc MessageSent { 
+                       set {
+                               Gst.RtspServerSharp.RTSPMessageSentFuncWrapper value_wrapper = new Gst.RtspServerSharp.RTSPMessageSentFuncWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_stream_transport_set_message_sent(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_message_sent_full(IntPtr raw, Gst.RtspServerSharp.RTSPMessageSentFuncFullNative message_sent, IntPtr user_data, GLib.DestroyNotify notify);
+
+               public Gst.RtspServer.RTSPMessageSentFuncFull MessageSentFull { 
+                       set {
+                               Gst.RtspServerSharp.RTSPMessageSentFuncFullWrapper value_wrapper = new Gst.RtspServerSharp.RTSPMessageSentFuncFullWrapper (value);
+                               IntPtr user_data;
+                               GLib.DestroyNotify notify;
+                               if (value == null) {
+                                       user_data = IntPtr.Zero;
+                                       notify = null;
+                               } else {
+                                       user_data = (IntPtr) GCHandle.Alloc (value_wrapper);
+                                       notify = GLib.DestroyHelper.NotifyHandler;
+                               }
+                               gst_rtsp_stream_transport_set_message_sent_full(Handle, value_wrapper.NativeDelegate, user_data, notify);
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_stream_transport_set_timed_out(IntPtr raw, bool timedout);
+
+               public bool TimedOut { 
+                       set {
+                               gst_rtsp_stream_transport_set_timed_out(Handle, value);
+                       }
+               }
+
+
+               static RTSPStreamTransport ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransportFilterFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPStreamTransportFilterFunc.cs
new file mode 100644 (file)
index 0000000..4bb29a9
--- /dev/null
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate Gst.RtspServer.RTSPFilterResult RTSPStreamTransportFilterFunc(Gst.RtspServer.RTSPStream stream, Gst.RtspServer.RTSPStreamTransport trans);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSuspendMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPSuspendMode.cs
new file mode 100644 (file)
index 0000000..8c9f9f8
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.RtspServer.RTSPSuspendModeGType))]
+       public enum RTSPSuspendMode {
+
+               None = 0,
+               Pause = 1,
+               Reset = 2,
+       }
+
+       internal class RTSPSuspendModeGType {
+               [DllImport ("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_suspend_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_suspend_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThread.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThread.cs
new file mode 100644 (file)
index 0000000..4fd3800
--- /dev/null
@@ -0,0 +1,130 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPThread : Gst.MiniObject {
+
+               public Gst.RtspServer.RTSPThreadType Type {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       return (Gst.RtspServer.RTSPThreadType) (*raw_ptr);
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("type"));
+                                       *raw_ptr = (int) value;
+                               }
+                       }
+               }
+
+               public GLib.MainContext Context {
+                       get {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("context"));
+                                       return new GLib.MainContext((*raw_ptr));
+                               }
+                       }
+                       set {
+                               unsafe {
+                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("context"));
+                                       *raw_ptr = value == null ? IntPtr.Zero : value.Handle;
+                               }
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_thread_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_thread_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_thread_reuse(IntPtr raw);
+
+               public bool Reuse() {
+                       bool raw_ret = gst_rtsp_thread_reuse(Handle);
+                       bool ret = raw_ret;
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_thread_stop(IntPtr raw);
+
+               public void Stop() {
+                       gst_rtsp_thread_stop(Handle);
+               }
+
+               public RTSPThread(IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_thread_new(int type);
+
+               public RTSPThread (Gst.RtspServer.RTSPThreadType type) : base (IntPtr.Zero)
+               {
+                       Raw = gst_rtsp_thread_new((int) type);
+               }
+
+
+               // 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("type"
+                                                       , Gst.MiniObject.abi_info.Fields
+                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.RtspServer.RTSPThreadType))) // type
+                                                       , null
+                                                       , "context"
+                                                       , (long) Marshal.OffsetOf(typeof(GstRTSPThread_typeAlign), "type")
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("context"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // context
+                                                       , "type"
+                                                       , "loop"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("loop"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // loop
+                                                       , "context"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _abi_info;
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstRTSPThread_typeAlign
+               {
+                       sbyte f1;
+                       private Gst.RtspServer.RTSPThreadType type;
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadPool.cs
new file mode 100644 (file)
index 0000000..d99726e
--- /dev/null
@@ -0,0 +1,399 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPThreadPool : GLib.Object {
+
+               public RTSPThreadPool (IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_thread_pool_new();
+
+               public RTSPThreadPool () : base (IntPtr.Zero)
+               {
+                       if (GetType () != typeof (RTSPThreadPool)) {
+                               CreateNativeObject (new string [0], new GLib.Value[0]);
+                               return;
+                       }
+                       Raw = gst_rtsp_thread_pool_new();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern int gst_rtsp_thread_pool_get_max_threads(IntPtr raw);
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_thread_pool_set_max_threads(IntPtr raw, int max_threads);
+
+               [GLib.Property ("max-threads")]
+               public int MaxThreads {
+                       get  {
+                               int raw_ret = gst_rtsp_thread_pool_get_max_threads(Handle);
+                               int ret = raw_ret;
+                               return ret;
+                       }
+                       set  {
+                               gst_rtsp_thread_pool_set_max_threads(Handle, value);
+                       }
+               }
+
+               static GetThreadNativeDelegate GetThread_cb_delegate;
+               static GetThreadNativeDelegate GetThreadVMCallback {
+                       get {
+                               if (GetThread_cb_delegate == null)
+                                       GetThread_cb_delegate = new GetThreadNativeDelegate (GetThread_cb);
+                               return GetThread_cb_delegate;
+                       }
+               }
+
+               static void OverrideGetThread (GLib.GType gtype)
+               {
+                       OverrideGetThread (gtype, GetThreadVMCallback);
+               }
+
+               static void OverrideGetThread (GLib.GType gtype, GetThreadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_thread"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate IntPtr GetThreadNativeDelegate (IntPtr inst, int type, IntPtr ctx);
+
+               static IntPtr GetThread_cb (IntPtr inst, int type, IntPtr ctx)
+               {
+                       try {
+                               RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
+                               Gst.RtspServer.RTSPThread __result;
+                               __result = __obj.OnGetThread ((Gst.RtspServer.RTSPThreadType) type, Gst.RtspServer.RTSPContext.New (ctx));
+                               return __result == null ? IntPtr.Zero : __result.OwnedCopy;
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
+                               // NOTREACHED: above call does not return.
+                               throw e;
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideGetThread")]
+               protected virtual Gst.RtspServer.RTSPThread OnGetThread (Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx)
+               {
+                       return InternalGetThread (type, ctx);
+               }
+
+               private Gst.RtspServer.RTSPThread InternalGetThread (Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx)
+               {
+                       GetThreadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_thread"));
+                               unmanaged = (GetThreadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetThreadNativeDelegate));
+                       }
+                       if (unmanaged == null) return null;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       IntPtr __result = unmanaged (this.Handle, (int) type, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return __result == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (__result, typeof (Gst.RtspServer.RTSPThread), true);
+               }
+
+               static ConfigureThreadNativeDelegate ConfigureThread_cb_delegate;
+               static ConfigureThreadNativeDelegate ConfigureThreadVMCallback {
+                       get {
+                               if (ConfigureThread_cb_delegate == null)
+                                       ConfigureThread_cb_delegate = new ConfigureThreadNativeDelegate (ConfigureThread_cb);
+                               return ConfigureThread_cb_delegate;
+                       }
+               }
+
+               static void OverrideConfigureThread (GLib.GType gtype)
+               {
+                       OverrideConfigureThread (gtype, ConfigureThreadVMCallback);
+               }
+
+               static void OverrideConfigureThread (GLib.GType gtype, ConfigureThreadNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_thread"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ConfigureThreadNativeDelegate (IntPtr inst, IntPtr thread, IntPtr ctx);
+
+               static void ConfigureThread_cb (IntPtr inst, IntPtr thread, IntPtr ctx)
+               {
+                       try {
+                               RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
+                               __obj.OnConfigureThread (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false), Gst.RtspServer.RTSPContext.New (ctx));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideConfigureThread")]
+               protected virtual void OnConfigureThread (Gst.RtspServer.RTSPThread thread, Gst.RtspServer.RTSPContext ctx)
+               {
+                       InternalConfigureThread (thread, ctx);
+               }
+
+               private void InternalConfigureThread (Gst.RtspServer.RTSPThread thread, Gst.RtspServer.RTSPContext ctx)
+               {
+                       ConfigureThreadNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_thread"));
+                               unmanaged = (ConfigureThreadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConfigureThreadNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.Handle, native_ctx);
+                       Marshal.FreeHGlobal (native_ctx);
+               }
+
+               static ThreadEnterNativeDelegate ThreadEnter_cb_delegate;
+               static ThreadEnterNativeDelegate ThreadEnterVMCallback {
+                       get {
+                               if (ThreadEnter_cb_delegate == null)
+                                       ThreadEnter_cb_delegate = new ThreadEnterNativeDelegate (ThreadEnter_cb);
+                               return ThreadEnter_cb_delegate;
+                       }
+               }
+
+               static void OverrideThreadEnter (GLib.GType gtype)
+               {
+                       OverrideThreadEnter (gtype, ThreadEnterVMCallback);
+               }
+
+               static void OverrideThreadEnter (GLib.GType gtype, ThreadEnterNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_enter"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ThreadEnterNativeDelegate (IntPtr inst, IntPtr thread);
+
+               static void ThreadEnter_cb (IntPtr inst, IntPtr thread)
+               {
+                       try {
+                               RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
+                               __obj.OnThreadEnter (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideThreadEnter")]
+               protected virtual void OnThreadEnter (Gst.RtspServer.RTSPThread thread)
+               {
+                       InternalThreadEnter (thread);
+               }
+
+               private void InternalThreadEnter (Gst.RtspServer.RTSPThread thread)
+               {
+                       ThreadEnterNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_enter"));
+                               unmanaged = (ThreadEnterNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ThreadEnterNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.Handle);
+               }
+
+               static ThreadLeaveNativeDelegate ThreadLeave_cb_delegate;
+               static ThreadLeaveNativeDelegate ThreadLeaveVMCallback {
+                       get {
+                               if (ThreadLeave_cb_delegate == null)
+                                       ThreadLeave_cb_delegate = new ThreadLeaveNativeDelegate (ThreadLeave_cb);
+                               return ThreadLeave_cb_delegate;
+                       }
+               }
+
+               static void OverrideThreadLeave (GLib.GType gtype)
+               {
+                       OverrideThreadLeave (gtype, ThreadLeaveVMCallback);
+               }
+
+               static void OverrideThreadLeave (GLib.GType gtype, ThreadLeaveNativeDelegate callback)
+               {
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_leave"));
+                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+                       }
+               }
+
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void ThreadLeaveNativeDelegate (IntPtr inst, IntPtr thread);
+
+               static void ThreadLeave_cb (IntPtr inst, IntPtr thread)
+               {
+                       try {
+                               RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
+                               __obj.OnThreadLeave (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false));
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
+                       }
+               }
+
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideThreadLeave")]
+               protected virtual void OnThreadLeave (Gst.RtspServer.RTSPThread thread)
+               {
+                       InternalThreadLeave (thread);
+               }
+
+               private void InternalThreadLeave (Gst.RtspServer.RTSPThread thread)
+               {
+                       ThreadLeaveNativeDelegate unmanaged = null;
+                       unsafe {
+                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_leave"));
+                               unmanaged = (ThreadLeaveNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ThreadLeaveNativeDelegate));
+                       }
+                       if (unmanaged == null) return;
+
+                       unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.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("pool"
+                                                       , GLib.Object.class_abi.Fields
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
+                                                       , null
+                                                       , "get_thread"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("get_thread"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_thread
+                                                       , "pool"
+                                                       , "configure_thread"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("configure_thread"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // configure_thread
+                                                       , "get_thread"
+                                                       , "thread_enter"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("thread_enter"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // thread_enter
+                                                       , "configure_thread"
+                                                       , "thread_leave"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("thread_leave"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // thread_leave
+                                                       , "thread_enter"
+                                                       , "_gst_reserved"
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                               new GLib.AbiField("_gst_reserved"
+                                                       , -1
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+                                                       , "thread_leave"
+                                                       , null
+                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
+                                                       , 0
+                                                       ),
+                                       });
+
+                               return _class_abi;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_thread_pool_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_thread_pool_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_thread_pool_cleanup();
+
+               public static void Cleanup() {
+                       gst_rtsp_thread_pool_cleanup();
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_thread_pool_get_thread(IntPtr raw, int type, IntPtr ctx);
+
+               public Gst.RtspServer.RTSPThread GetThread(Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx) {
+                       IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
+                       IntPtr raw_ret = gst_rtsp_thread_pool_get_thread(Handle, (int) type, native_ctx);
+                       Gst.RtspServer.RTSPThread ret = raw_ret == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.RtspServer.RTSPThread), true);
+                       Marshal.FreeHGlobal (native_ctx);
+                       return ret;
+               }
+
+
+               static RTSPThreadPool ()
+               {
+                       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"
+                                                       , GLib.Object.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
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPThreadType.cs
new file mode 100644 (file)
index 0000000..50003b2
--- /dev/null
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public enum RTSPThreadType {
+
+               Client = 0,
+               Media = 1,
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPToken.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPToken.cs
new file mode 100644 (file)
index 0000000..2a36e13
--- /dev/null
@@ -0,0 +1,114 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       public partial class RTSPToken : Gst.MiniObject {
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_token_get_type();
+
+               public static new GLib.GType GType { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_token_get_type();
+                               GLib.GType ret = new GLib.GType(raw_ret);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_token_get_string(IntPtr raw, IntPtr field);
+
+               public string GetString(string field) {
+                       IntPtr native_field = GLib.Marshaller.StringToPtrGStrdup (field);
+                       IntPtr raw_ret = gst_rtsp_token_get_string(Handle, native_field);
+                       string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+                       GLib.Marshaller.Free (native_field);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_token_get_structure(IntPtr raw);
+
+               public Gst.Structure Structure { 
+                       get {
+                               IntPtr raw_ret = gst_rtsp_token_get_structure(Handle);
+                               Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                               return ret;
+                       }
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern bool gst_rtsp_token_is_allowed(IntPtr raw, IntPtr field);
+
+               public bool IsAllowed(string field) {
+                       IntPtr native_field = GLib.Marshaller.StringToPtrGStrdup (field);
+                       bool raw_ret = gst_rtsp_token_is_allowed(Handle, native_field);
+                       bool ret = raw_ret;
+                       GLib.Marshaller.Free (native_field);
+                       return ret;
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_token_set_bool(IntPtr raw, IntPtr field, bool bool_value);
+
+               public void SetBool(string field, bool bool_value) {
+                       IntPtr native_field = GLib.Marshaller.StringToPtrGStrdup (field);
+                       gst_rtsp_token_set_bool(Handle, native_field, bool_value);
+                       GLib.Marshaller.Free (native_field);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_rtsp_token_set_string(IntPtr raw, IntPtr field, IntPtr string_value);
+
+               public void SetString(string field, string string_value) {
+                       IntPtr native_field = GLib.Marshaller.StringToPtrGStrdup (field);
+                       IntPtr native_string_value = GLib.Marshaller.StringToPtrGStrdup (string_value);
+                       gst_rtsp_token_set_string(Handle, native_field, native_string_value);
+                       GLib.Marshaller.Free (native_field);
+                       GLib.Marshaller.Free (native_string_value);
+               }
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_token_writable_structure(IntPtr raw);
+
+               public Gst.Structure WritableStructure() {
+                       IntPtr raw_ret = gst_rtsp_token_writable_structure(Handle);
+                       Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+                       return ret;
+               }
+
+               public RTSPToken(IntPtr raw) : base(raw) {}
+
+               [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_token_new_empty();
+
+               public RTSPToken () : base (IntPtr.Zero)
+               {
+                       Raw = gst_rtsp_token_new_empty();
+               }
+
+
+               // 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 (Gst.MiniObject.abi_info.Fields);
+
+                               return _abi_info;
+                       }
+               }
+
+
+               // End of the ABI representation.
+
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPTransportMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RTSPTransportMode.cs
new file mode 100644 (file)
index 0000000..e78e932
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [Flags]
+       [GLib.GType (typeof (Gst.RtspServer.RTSPTransportModeGType))]
+       public enum RTSPTransportMode : uint {
+
+               Play = 1,
+               Record = 2,
+       }
+
+       internal class RTSPTransportModeGType {
+               [DllImport ("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_rtsp_transport_mode_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_rtsp_transport_mode_get_type ());
+                       }
+               }
+       }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RecordRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RecordRequestHandler.cs
new file mode 100644 (file)
index 0000000..6c750fd
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void RecordRequestHandler(object o, RecordRequestArgs args);
+
+       public class RecordRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RemovedStreamHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/RemovedStreamHandler.cs
new file mode 100644 (file)
index 0000000..67c461a
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void RemovedStreamHandler(object o, RemovedStreamArgs args);
+
+       public class RemovedStreamArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPStream Object{
+                       get {
+                               return (Gst.RtspServer.RTSPStream) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SDPInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SDPInfo.cs
new file mode 100644 (file)
index 0000000..29f9542
--- /dev/null
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+       using System.Collections;
+       using System.Collections.Generic;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [StructLayout(LayoutKind.Sequential)]
+       public partial struct SDPInfo : IEquatable<SDPInfo> {
+
+               public bool IsIpv6;
+               public string ServerIp;
+
+               public static Gst.RtspServer.SDPInfo Zero = new Gst.RtspServer.SDPInfo ();
+
+               public static Gst.RtspServer.SDPInfo New(IntPtr raw) {
+                       if (raw == IntPtr.Zero)
+                               return Gst.RtspServer.SDPInfo.Zero;
+                       return (Gst.RtspServer.SDPInfo) Marshal.PtrToStructure (raw, typeof (Gst.RtspServer.SDPInfo));
+               }
+
+               public bool Equals (SDPInfo other)
+               {
+                       return true && IsIpv6.Equals (other.IsIpv6) && ServerIp.Equals (other.ServerIp);
+               }
+
+               public override bool Equals (object other)
+               {
+                       return other is SDPInfo && Equals ((SDPInfo) other);
+               }
+
+               public override int GetHashCode ()
+               {
+                       return this.GetType ().FullName.GetHashCode () ^ IsIpv6.GetHashCode () ^ ServerIp.GetHashCode ();
+               }
+
+               private static GLib.GType GType {
+                       get { return GLib.GType.Pointer; }
+               }
+#endregion
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SendMessageEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SendMessageEventHandler.cs
new file mode 100644 (file)
index 0000000..6c1b4a7
--- /dev/null
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void SendMessageEventHandler(object o, SendMessageEventArgs args);
+
+       public class SendMessageEventArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPSession Session{
+                       get {
+                               return (Gst.RtspServer.RTSPSession) Args [0];
+                       }
+               }
+
+               public IntPtr Message{
+                       get {
+                               return (IntPtr) Args [1];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SessionRemovedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SessionRemovedHandler.cs
new file mode 100644 (file)
index 0000000..1d78f4e
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void SessionRemovedHandler(object o, SessionRemovedArgs args);
+
+       public class SessionRemovedArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPSession Object{
+                       get {
+                               return (Gst.RtspServer.RTSPSession) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetParameterRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetParameterRequestHandler.cs
new file mode 100644 (file)
index 0000000..e578e22
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void SetParameterRequestHandler(object o, SetParameterRequestArgs args);
+
+       public class SetParameterRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetupRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/SetupRequestHandler.cs
new file mode 100644 (file)
index 0000000..2f79fa1
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void SetupRequestHandler(object o, SetupRequestArgs args);
+
+       public class SetupRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TargetStateHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TargetStateHandler.cs
new file mode 100644 (file)
index 0000000..0732a13
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void TargetStateHandler(object o, TargetStateArgs args);
+
+       public class TargetStateArgs : GLib.SignalArgs {
+               public int Object{
+                       get {
+                               return (int) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TeardownRequestHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.RtspServer/TeardownRequestHandler.cs
new file mode 100644 (file)
index 0000000..4116e09
--- /dev/null
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.RtspServer {
+
+       using System;
+
+       public delegate void TeardownRequestHandler(object o, TeardownRequestArgs args);
+
+       public class TeardownRequestArgs : GLib.SignalArgs {
+               public Gst.RtspServer.RTSPContext Ctx{
+                       get {
+                               return (Gst.RtspServer.RTSPContext) Args [0];
+                       }
+               }
+
+       }
+}
index 58a1f1f69ecc4c3be5a7675ee21882d78ee29b45..5e732d61497009d52538d611c686e6728d0906da 100644 (file)
@@ -83,6 +83,24 @@ namespace GtkSharp.GstreamerSharp {
                        GLib.GType.Register (Gst.WebRTC.WebRTCRTPSender.GType, typeof (Gst.WebRTC.WebRTCRTPSender));
                        GLib.GType.Register (Gst.WebRTC.WebRTCRTPTransceiver.GType, typeof (Gst.WebRTC.WebRTCRTPTransceiver));
                        GLib.GType.Register (Gst.WebRTC.WebRTCSCTPTransport.GType, typeof (Gst.WebRTC.WebRTCSCTPTransport));
+                       GLib.GType.Register (Gst.RtspServer.RTSPAddressPool.GType, typeof (Gst.RtspServer.RTSPAddressPool));
+                       GLib.GType.Register (Gst.RtspServer.RTSPAuth.GType, typeof (Gst.RtspServer.RTSPAuth));
+                       GLib.GType.Register (Gst.RtspServer.RTSPClient.GType, typeof (Gst.RtspServer.RTSPClient));
+                       GLib.GType.Register (Gst.RtspServer.RTSPMedia.GType, typeof (Gst.RtspServer.RTSPMedia));
+                       GLib.GType.Register (Gst.RtspServer.RTSPMediaFactory.GType, typeof (Gst.RtspServer.RTSPMediaFactory));
+                       GLib.GType.Register (Gst.RtspServer.RTSPMediaFactoryURI.GType, typeof (Gst.RtspServer.RTSPMediaFactoryURI));
+                       GLib.GType.Register (Gst.RtspServer.RTSPMountPoints.GType, typeof (Gst.RtspServer.RTSPMountPoints));
+                       GLib.GType.Register (Gst.RtspServer.RTSPOnvifClient.GType, typeof (Gst.RtspServer.RTSPOnvifClient));
+                       GLib.GType.Register (Gst.RtspServer.RTSPOnvifMedia.GType, typeof (Gst.RtspServer.RTSPOnvifMedia));
+                       GLib.GType.Register (Gst.RtspServer.RTSPOnvifMediaFactory.GType, typeof (Gst.RtspServer.RTSPOnvifMediaFactory));
+                       GLib.GType.Register (Gst.RtspServer.RTSPOnvifServer.GType, typeof (Gst.RtspServer.RTSPOnvifServer));
+                       GLib.GType.Register (Gst.RtspServer.RTSPServer.GType, typeof (Gst.RtspServer.RTSPServer));
+                       GLib.GType.Register (Gst.RtspServer.RTSPSession.GType, typeof (Gst.RtspServer.RTSPSession));
+                       GLib.GType.Register (Gst.RtspServer.RTSPSessionMedia.GType, typeof (Gst.RtspServer.RTSPSessionMedia));
+                       GLib.GType.Register (Gst.RtspServer.RTSPSessionPool.GType, typeof (Gst.RtspServer.RTSPSessionPool));
+                       GLib.GType.Register (Gst.RtspServer.RTSPStream.GType, typeof (Gst.RtspServer.RTSPStream));
+                       GLib.GType.Register (Gst.RtspServer.RTSPStreamTransport.GType, typeof (Gst.RtspServer.RTSPStreamTransport));
+                       GLib.GType.Register (Gst.RtspServer.RTSPThreadPool.GType, typeof (Gst.RtspServer.RTSPThreadPool));
                }
        }
 }
index 5ca571313ca37f541c7823022af329d2fcf3a8ba..5f5a678eb58a67a42d7a2b8e9b505bb2b53cfe76 100644 (file)
@@ -22,6 +22,7 @@
 #include <gst/video/gstvideoaffinetransformationmeta.h>
 #include <gst/net/gstnetcontrolmessagemeta.h>
 #include <gst/webrtc/webrtc.h>
+#include <gst/rtsp-server/rtsp-server.h>
 
 int main (int argc, char *argv[]) {
        g_print("\"sizeof(GstAllocatorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAllocatorClass));
@@ -1039,5 +1040,138 @@ int main (int argc, char *argv[]) {
        g_print("\"GstWebRTCICETransport.gathering_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, gathering_state));
        g_print("\"GstWebRTCICETransport.src\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, src));
        g_print("\"GstWebRTCICETransport.sink\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, sink));
+       g_print("\"sizeof(GstRTSPAddressPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPAddressPoolClass));
+       g_print("\"sizeof(GstRTSPAddressPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPAddressPool));
+       g_print("\"GstRTSPAddressPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAddressPool, priv));
+       g_print("\"sizeof(GstRTSPAuthClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPAuthClass));
+       g_print("\"GstRTSPAuthClass.authenticate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAuthClass, authenticate));
+       g_print("\"GstRTSPAuthClass.check\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAuthClass, check));
+       g_print("\"GstRTSPAuthClass.generate_authenticate_header\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAuthClass, generate_authenticate_header));
+       g_print("\"GstRTSPAuthClass.accept_certificate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAuthClass, accept_certificate));
+       g_print("\"sizeof(GstRTSPAuth)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPAuth));
+       g_print("\"GstRTSPAuth.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPAuth, priv));
+       g_print("\"sizeof(GstRTSPClientClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPClientClass));
+       g_print("\"GstRTSPClientClass.create_sdp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, create_sdp));
+       g_print("\"GstRTSPClientClass.configure_client_media\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, configure_client_media));
+       g_print("\"GstRTSPClientClass.configure_client_transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, configure_client_transport));
+       g_print("\"GstRTSPClientClass.params_set\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, params_set));
+       g_print("\"GstRTSPClientClass.params_get\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, params_get));
+       g_print("\"GstRTSPClientClass.make_path_from_uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, make_path_from_uri));
+       g_print("\"GstRTSPClientClass.adjust_play_mode\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, adjust_play_mode));
+       g_print("\"GstRTSPClientClass.adjust_play_response\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, adjust_play_response));
+       g_print("\"GstRTSPClientClass.closed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, closed));
+       g_print("\"GstRTSPClientClass.new_session\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, new_session));
+       g_print("\"GstRTSPClientClass.options_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, options_request));
+       g_print("\"GstRTSPClientClass.describe_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, describe_request));
+       g_print("\"GstRTSPClientClass.setup_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, setup_request));
+       g_print("\"GstRTSPClientClass.play_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, play_request));
+       g_print("\"GstRTSPClientClass.pause_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pause_request));
+       g_print("\"GstRTSPClientClass.teardown_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, teardown_request));
+       g_print("\"GstRTSPClientClass.set_parameter_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, set_parameter_request));
+       g_print("\"GstRTSPClientClass.get_parameter_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, get_parameter_request));
+       g_print("\"GstRTSPClientClass.handle_response\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, handle_response));
+       g_print("\"GstRTSPClientClass.tunnel_http_response\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, tunnel_http_response));
+       g_print("\"GstRTSPClientClass.send_message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, send_message));
+       g_print("\"GstRTSPClientClass.handle_sdp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, handle_sdp));
+       g_print("\"GstRTSPClientClass.announce_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, announce_request));
+       g_print("\"GstRTSPClientClass.record_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, record_request));
+       g_print("\"GstRTSPClientClass.check_requirements\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, check_requirements));
+       g_print("\"GstRTSPClientClass.pre_options_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_options_request));
+       g_print("\"GstRTSPClientClass.pre_describe_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_describe_request));
+       g_print("\"GstRTSPClientClass.pre_setup_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_setup_request));
+       g_print("\"GstRTSPClientClass.pre_play_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_play_request));
+       g_print("\"GstRTSPClientClass.pre_pause_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_pause_request));
+       g_print("\"GstRTSPClientClass.pre_teardown_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_teardown_request));
+       g_print("\"GstRTSPClientClass.pre_set_parameter_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_set_parameter_request));
+       g_print("\"GstRTSPClientClass.pre_get_parameter_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_get_parameter_request));
+       g_print("\"GstRTSPClientClass.pre_announce_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_announce_request));
+       g_print("\"GstRTSPClientClass.pre_record_request\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, pre_record_request));
+       g_print("\"GstRTSPClientClass.adjust_error_code\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClientClass, adjust_error_code));
+       g_print("\"sizeof(GstRTSPClient)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPClient));
+       g_print("\"GstRTSPClient.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPClient, priv));
+       g_print("\"sizeof(GstRTSPMediaClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMediaClass));
+       g_print("\"GstRTSPMediaClass.handle_message\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, handle_message));
+       g_print("\"GstRTSPMediaClass.prepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, prepare));
+       g_print("\"GstRTSPMediaClass.unprepare\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, unprepare));
+       g_print("\"GstRTSPMediaClass.suspend\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, suspend));
+       g_print("\"GstRTSPMediaClass.unsuspend\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, unsuspend));
+       g_print("\"GstRTSPMediaClass.convert_range\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, convert_range));
+       g_print("\"GstRTSPMediaClass.query_position\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, query_position));
+       g_print("\"GstRTSPMediaClass.query_stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, query_stop));
+       g_print("\"GstRTSPMediaClass.create_rtpbin\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, create_rtpbin));
+       g_print("\"GstRTSPMediaClass.setup_rtpbin\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, setup_rtpbin));
+       g_print("\"GstRTSPMediaClass.setup_sdp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, setup_sdp));
+       g_print("\"GstRTSPMediaClass.new_stream\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, new_stream));
+       g_print("\"GstRTSPMediaClass.removed_stream\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, removed_stream));
+       g_print("\"GstRTSPMediaClass.prepared\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, prepared));
+       g_print("\"GstRTSPMediaClass.unprepared\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, unprepared));
+       g_print("\"GstRTSPMediaClass.target_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, target_state));
+       g_print("\"GstRTSPMediaClass.new_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, new_state));
+       g_print("\"GstRTSPMediaClass.handle_sdp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaClass, handle_sdp));
+       g_print("\"sizeof(GstRTSPMedia)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMedia));
+       g_print("\"GstRTSPMedia.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMedia, priv));
+       g_print("\"sizeof(GstRTSPMediaFactoryClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMediaFactoryClass));
+       g_print("\"GstRTSPMediaFactoryClass.gen_key\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, gen_key));
+       g_print("\"GstRTSPMediaFactoryClass.create_element\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, create_element));
+       g_print("\"GstRTSPMediaFactoryClass.construct\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, construct));
+       g_print("\"GstRTSPMediaFactoryClass.create_pipeline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, create_pipeline));
+       g_print("\"GstRTSPMediaFactoryClass.configure\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, configure));
+       g_print("\"GstRTSPMediaFactoryClass.media_constructed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, media_constructed));
+       g_print("\"GstRTSPMediaFactoryClass.media_configure\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryClass, media_configure));
+       g_print("\"sizeof(GstRTSPMediaFactory)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMediaFactory));
+       g_print("\"GstRTSPMediaFactory.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactory, priv));
+       g_print("\"sizeof(GstRTSPMediaFactoryURIClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMediaFactoryURIClass));
+       g_print("\"sizeof(GstRTSPMediaFactoryURI)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMediaFactoryURI));
+       g_print("\"GstRTSPMediaFactoryURI.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMediaFactoryURI, priv));
+       g_print("\"sizeof(GstRTSPMountPointsClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMountPointsClass));
+       g_print("\"GstRTSPMountPointsClass.make_path\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMountPointsClass, make_path));
+       g_print("\"sizeof(GstRTSPMountPoints)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPMountPoints));
+       g_print("\"GstRTSPMountPoints.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPMountPoints, priv));
+       g_print("\"sizeof(GstRTSPOnvifClientClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifClientClass));
+       g_print("\"sizeof(GstRTSPOnvifClient)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifClient));
+       g_print("\"sizeof(GstRTSPOnvifMediaClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifMediaClass));
+       g_print("\"sizeof(GstRTSPOnvifMedia)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifMedia));
+       g_print("\"GstRTSPOnvifMedia.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPOnvifMedia, priv));
+       g_print("\"sizeof(GstRTSPOnvifMediaFactoryClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifMediaFactoryClass));
+       g_print("\"GstRTSPOnvifMediaFactoryClass.has_backchannel_support\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPOnvifMediaFactoryClass, has_backchannel_support));
+       g_print("\"sizeof(GstRTSPOnvifMediaFactory)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifMediaFactory));
+       g_print("\"GstRTSPOnvifMediaFactory.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPOnvifMediaFactory, priv));
+       g_print("\"sizeof(GstRTSPOnvifServerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifServerClass));
+       g_print("\"sizeof(GstRTSPOnvifServer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPOnvifServer));
+       g_print("\"sizeof(GstRTSPServerClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPServerClass));
+       g_print("\"GstRTSPServerClass.create_client\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPServerClass, create_client));
+       g_print("\"GstRTSPServerClass.client_connected\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPServerClass, client_connected));
+       g_print("\"sizeof(GstRTSPServer)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPServer));
+       g_print("\"GstRTSPServer.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPServer, priv));
+       g_print("\"sizeof(GstRTSPSessionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSessionClass));
+       g_print("\"sizeof(GstRTSPSession)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSession));
+       g_print("\"GstRTSPSession.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSession, priv));
+       g_print("\"sizeof(GstRTSPSessionMediaClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSessionMediaClass));
+       g_print("\"sizeof(GstRTSPSessionMedia)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSessionMedia));
+       g_print("\"GstRTSPSessionMedia.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSessionMedia, priv));
+       g_print("\"sizeof(GstRTSPSessionPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSessionPoolClass));
+       g_print("\"GstRTSPSessionPoolClass.create_session_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSessionPoolClass, create_session_id));
+       g_print("\"GstRTSPSessionPoolClass.create_session\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSessionPoolClass, create_session));
+       g_print("\"GstRTSPSessionPoolClass.session_removed\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSessionPoolClass, session_removed));
+       g_print("\"sizeof(GstRTSPSessionPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPSessionPool));
+       g_print("\"GstRTSPSessionPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPSessionPool, priv));
+       g_print("\"sizeof(GstRTSPStreamClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPStreamClass));
+       g_print("\"sizeof(GstRTSPStream)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPStream));
+       g_print("\"GstRTSPStream.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPStream, priv));
+       g_print("\"sizeof(GstRTSPStreamTransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPStreamTransportClass));
+       g_print("\"sizeof(GstRTSPStreamTransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPStreamTransport));
+       g_print("\"GstRTSPStreamTransport.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPStreamTransport, priv));
+       g_print("\"sizeof(GstRTSPThreadPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPThreadPoolClass));
+       g_print("\"GstRTSPThreadPoolClass.pool\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPoolClass, pool));
+       g_print("\"GstRTSPThreadPoolClass.get_thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPoolClass, get_thread));
+       g_print("\"GstRTSPThreadPoolClass.configure_thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPoolClass, configure_thread));
+       g_print("\"GstRTSPThreadPoolClass.thread_enter\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPoolClass, thread_enter));
+       g_print("\"GstRTSPThreadPoolClass.thread_leave\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPoolClass, thread_leave));
+       g_print("\"sizeof(GstRTSPThreadPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPThreadPool));
+       g_print("\"GstRTSPThreadPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThreadPool, priv));
+       g_print("\"sizeof(GstRTSPThread)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstRTSPThread));
+       g_print("\"GstRTSPThread.type\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThread, type));
+       g_print("\"GstRTSPThread.context\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThread, context));
+       g_print("\"GstRTSPThread.loop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstRTSPThread, loop));
        return 0;
 }
index f677e1da2fb88bb001bd4b35d498ffee61288dc6..bcaedef89741ee3f727ef2e94f001762520790bb 100644 (file)
@@ -1033,6 +1033,139 @@ namespace AbiTester {
                        Console.WriteLine("\"GstWebRTCICETransport.gathering_state\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("gathering_state") + "\"");
                        Console.WriteLine("\"GstWebRTCICETransport.src\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("src") + "\"");
                        Console.WriteLine("\"GstWebRTCICETransport.sink\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("sink") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPAddressPoolClass)\": \"" + Gst.RtspServer.RTSPAddressPool.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPAddressPool)\": \"" + Gst.RtspServer.RTSPAddressPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPAddressPool.priv\": \"" + Gst.RtspServer.RTSPAddressPool.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPAuthClass)\": \"" + Gst.RtspServer.RTSPAuth.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPAuthClass.authenticate\": \"" + Gst.RtspServer.RTSPAuth.class_abi.GetFieldOffset("authenticate") + "\"");
+                       Console.WriteLine("\"GstRTSPAuthClass.check\": \"" + Gst.RtspServer.RTSPAuth.class_abi.GetFieldOffset("check") + "\"");
+                       Console.WriteLine("\"GstRTSPAuthClass.generate_authenticate_header\": \"" + Gst.RtspServer.RTSPAuth.class_abi.GetFieldOffset("generate_authenticate_header") + "\"");
+                       Console.WriteLine("\"GstRTSPAuthClass.accept_certificate\": \"" + Gst.RtspServer.RTSPAuth.class_abi.GetFieldOffset("accept_certificate") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPAuth)\": \"" + Gst.RtspServer.RTSPAuth.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPAuth.priv\": \"" + Gst.RtspServer.RTSPAuth.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPClientClass)\": \"" + Gst.RtspServer.RTSPClient.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.create_sdp\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("create_sdp") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.configure_client_media\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("configure_client_media") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.configure_client_transport\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("configure_client_transport") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.params_set\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("params_set") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.params_get\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("params_get") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.make_path_from_uri\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("make_path_from_uri") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.adjust_play_mode\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("adjust_play_mode") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.adjust_play_response\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("adjust_play_response") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.closed\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("closed") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.new_session\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("new_session") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.options_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("options_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.describe_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("describe_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.setup_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("setup_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.play_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("play_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pause_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pause_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.teardown_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("teardown_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.set_parameter_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("set_parameter_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.get_parameter_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("get_parameter_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.handle_response\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("handle_response") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.tunnel_http_response\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("tunnel_http_response") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.send_message\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("send_message") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.handle_sdp\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("handle_sdp") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.announce_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("announce_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.record_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("record_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.check_requirements\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("check_requirements") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_options_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_options_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_describe_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_describe_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_setup_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_setup_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_play_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_play_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_pause_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_pause_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_teardown_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_teardown_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_set_parameter_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_set_parameter_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_get_parameter_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_get_parameter_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_announce_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_announce_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.pre_record_request\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("pre_record_request") + "\"");
+                       Console.WriteLine("\"GstRTSPClientClass.adjust_error_code\": \"" + Gst.RtspServer.RTSPClient.class_abi.GetFieldOffset("adjust_error_code") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPClient)\": \"" + Gst.RtspServer.RTSPClient.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPClient.priv\": \"" + Gst.RtspServer.RTSPClient.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMediaClass)\": \"" + Gst.RtspServer.RTSPMedia.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.handle_message\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("handle_message") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.prepare\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("prepare") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.unprepare\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("unprepare") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.suspend\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("suspend") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.unsuspend\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("unsuspend") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.convert_range\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("convert_range") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.query_position\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("query_position") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.query_stop\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("query_stop") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.create_rtpbin\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("create_rtpbin") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.setup_rtpbin\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("setup_rtpbin") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.setup_sdp\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("setup_sdp") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.new_stream\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("new_stream") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.removed_stream\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("removed_stream") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.prepared\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("prepared") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.unprepared\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("unprepared") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.target_state\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("target_state") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.new_state\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("new_state") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaClass.handle_sdp\": \"" + Gst.RtspServer.RTSPMedia.class_abi.GetFieldOffset("handle_sdp") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMedia)\": \"" + Gst.RtspServer.RTSPMedia.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMedia.priv\": \"" + Gst.RtspServer.RTSPMedia.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMediaFactoryClass)\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.gen_key\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("gen_key") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.create_element\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("create_element") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.construct\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("construct") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.create_pipeline\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("create_pipeline") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.configure\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("configure") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.media_constructed\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("media_constructed") + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryClass.media_configure\": \"" + Gst.RtspServer.RTSPMediaFactory.class_abi.GetFieldOffset("media_configure") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMediaFactory)\": \"" + Gst.RtspServer.RTSPMediaFactory.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactory.priv\": \"" + Gst.RtspServer.RTSPMediaFactory.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMediaFactoryURIClass)\": \"" + Gst.RtspServer.RTSPMediaFactoryURI.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMediaFactoryURI)\": \"" + Gst.RtspServer.RTSPMediaFactoryURI.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMediaFactoryURI.priv\": \"" + Gst.RtspServer.RTSPMediaFactoryURI.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMountPointsClass)\": \"" + Gst.RtspServer.RTSPMountPoints.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMountPointsClass.make_path\": \"" + Gst.RtspServer.RTSPMountPoints.class_abi.GetFieldOffset("make_path") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPMountPoints)\": \"" + Gst.RtspServer.RTSPMountPoints.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPMountPoints.priv\": \"" + Gst.RtspServer.RTSPMountPoints.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifClientClass)\": \"" + Gst.RtspServer.RTSPOnvifClient.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifClient)\": \"" + Gst.RtspServer.RTSPOnvifClient.abi_info.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifMediaClass)\": \"" + Gst.RtspServer.RTSPOnvifMedia.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifMedia)\": \"" + Gst.RtspServer.RTSPOnvifMedia.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPOnvifMedia.priv\": \"" + Gst.RtspServer.RTSPOnvifMedia.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifMediaFactoryClass)\": \"" + Gst.RtspServer.RTSPOnvifMediaFactory.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPOnvifMediaFactoryClass.has_backchannel_support\": \"" + Gst.RtspServer.RTSPOnvifMediaFactory.class_abi.GetFieldOffset("has_backchannel_support") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifMediaFactory)\": \"" + Gst.RtspServer.RTSPOnvifMediaFactory.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPOnvifMediaFactory.priv\": \"" + Gst.RtspServer.RTSPOnvifMediaFactory.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifServerClass)\": \"" + Gst.RtspServer.RTSPOnvifServer.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPOnvifServer)\": \"" + Gst.RtspServer.RTSPOnvifServer.abi_info.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPServerClass)\": \"" + Gst.RtspServer.RTSPServer.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPServerClass.create_client\": \"" + Gst.RtspServer.RTSPServer.class_abi.GetFieldOffset("create_client") + "\"");
+                       Console.WriteLine("\"GstRTSPServerClass.client_connected\": \"" + Gst.RtspServer.RTSPServer.class_abi.GetFieldOffset("client_connected") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPServer)\": \"" + Gst.RtspServer.RTSPServer.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPServer.priv\": \"" + Gst.RtspServer.RTSPServer.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSessionClass)\": \"" + Gst.RtspServer.RTSPSession.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSession)\": \"" + Gst.RtspServer.RTSPSession.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPSession.priv\": \"" + Gst.RtspServer.RTSPSession.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSessionMediaClass)\": \"" + Gst.RtspServer.RTSPSessionMedia.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSessionMedia)\": \"" + Gst.RtspServer.RTSPSessionMedia.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPSessionMedia.priv\": \"" + Gst.RtspServer.RTSPSessionMedia.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSessionPoolClass)\": \"" + Gst.RtspServer.RTSPSessionPool.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPSessionPoolClass.create_session_id\": \"" + Gst.RtspServer.RTSPSessionPool.class_abi.GetFieldOffset("create_session_id") + "\"");
+                       Console.WriteLine("\"GstRTSPSessionPoolClass.create_session\": \"" + Gst.RtspServer.RTSPSessionPool.class_abi.GetFieldOffset("create_session") + "\"");
+                       Console.WriteLine("\"GstRTSPSessionPoolClass.session_removed\": \"" + Gst.RtspServer.RTSPSessionPool.class_abi.GetFieldOffset("session_removed") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPSessionPool)\": \"" + Gst.RtspServer.RTSPSessionPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPSessionPool.priv\": \"" + Gst.RtspServer.RTSPSessionPool.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPStreamClass)\": \"" + Gst.RtspServer.RTSPStream.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPStream)\": \"" + Gst.RtspServer.RTSPStream.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPStream.priv\": \"" + Gst.RtspServer.RTSPStream.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPStreamTransportClass)\": \"" + Gst.RtspServer.RTSPStreamTransport.class_abi.Size + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPStreamTransport)\": \"" + Gst.RtspServer.RTSPStreamTransport.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPStreamTransport.priv\": \"" + Gst.RtspServer.RTSPStreamTransport.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPThreadPoolClass)\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.Size + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPoolClass.pool\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.GetFieldOffset("pool") + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPoolClass.get_thread\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.GetFieldOffset("get_thread") + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPoolClass.configure_thread\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.GetFieldOffset("configure_thread") + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPoolClass.thread_enter\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.GetFieldOffset("thread_enter") + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPoolClass.thread_leave\": \"" + Gst.RtspServer.RTSPThreadPool.class_abi.GetFieldOffset("thread_leave") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPThreadPool)\": \"" + Gst.RtspServer.RTSPThreadPool.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPThreadPool.priv\": \"" + Gst.RtspServer.RTSPThreadPool.abi_info.GetFieldOffset("priv") + "\"");
+                       Console.WriteLine("\"sizeof(GstRTSPThread)\": \"" + Gst.RtspServer.RTSPThread.abi_info.Size + "\"");
+                       Console.WriteLine("\"GstRTSPThread.type\": \"" + Gst.RtspServer.RTSPThread.abi_info.GetFieldOffset("type") + "\"");
+                       Console.WriteLine("\"GstRTSPThread.context\": \"" + Gst.RtspServer.RTSPThread.abi_info.GetFieldOffset("context") + "\"");
+                       Console.WriteLine("\"GstRTSPThread.loop\": \"" + Gst.RtspServer.RTSPThread.abi_info.GetFieldOffset("loop") + "\"");
                }
        }
 }
index 0382823a9edc3ad8b7cce3e13aa432fc10b1a676..ad06fd67d9fe272c04894dd575f5881c863c7416 100644 (file)
     </object>
     <object name="Constants" cname="GstWebRTCConstants" opaque="true" />
   </namespace>
+  <namespace name="Gst.RtspServer" library="gstrtspserver-1.0-0.dll">
+    <enum name="RTSPAddressPoolResult" cname="GstRTSPAddressPoolResult" type="enum">
+      <member cname="GST_RTSP_ADDRESS_POOL_ELAST" name="Elast" value="-4" />
+      <member cname="GST_RTSP_ADDRESS_POOL_ERANGE" name="Erange" value="-3" />
+      <member cname="GST_RTSP_ADDRESS_POOL_ERESERVED" name="Ereserved" value="-2" />
+      <member cname="GST_RTSP_ADDRESS_POOL_EINVAL" name="Einval" value="-1" />
+      <member cname="GST_RTSP_ADDRESS_POOL_OK" name="Ok" value="0" />
+    </enum>
+    <enum name="RTSPFilterResult" cname="GstRTSPFilterResult" type="enum">
+      <member cname="GST_RTSP_FILTER_REMOVE" name="Remove" value="0" />
+      <member cname="GST_RTSP_FILTER_KEEP" name="Keep" value="1" />
+      <member cname="GST_RTSP_FILTER_REF" name="Ref" value="2" />
+    </enum>
+    <enum name="RTSPMediaStatus" cname="GstRTSPMediaStatus" type="enum">
+      <member cname="GST_RTSP_MEDIA_STATUS_UNPREPARED" name="Unprepared" value="0" />
+      <member cname="GST_RTSP_MEDIA_STATUS_UNPREPARING" name="Unpreparing" value="1" />
+      <member cname="GST_RTSP_MEDIA_STATUS_PREPARING" name="Preparing" value="2" />
+      <member cname="GST_RTSP_MEDIA_STATUS_PREPARED" name="Prepared" value="3" />
+      <member cname="GST_RTSP_MEDIA_STATUS_SUSPENDED" name="Suspended" value="4" />
+      <member cname="GST_RTSP_MEDIA_STATUS_ERROR" name="Error" value="5" />
+    </enum>
+    <enum name="RTSPPublishClockMode" cname="GstRTSPPublishClockMode" type="enum" gtype="gst_rtsp_publish_clock_mode_get_type">
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_NONE" name="None" value="0" />
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK" name="Clock" value="1" />
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK_AND_OFFSET" name="ClockAndOffset" value="2" />
+    </enum>
+    <enum name="RTSPSuspendMode" cname="GstRTSPSuspendMode" type="enum" gtype="gst_rtsp_suspend_mode_get_type">
+      <member cname="GST_RTSP_SUSPEND_MODE_NONE" name="None" value="0" />
+      <member cname="GST_RTSP_SUSPEND_MODE_PAUSE" name="Pause" value="1" />
+      <member cname="GST_RTSP_SUSPEND_MODE_RESET" name="Reset" value="2" />
+    </enum>
+    <enum name="RTSPThreadType" cname="GstRTSPThreadType" type="enum">
+      <member cname="GST_RTSP_THREAD_TYPE_CLIENT" name="Client" value="0" />
+      <member cname="GST_RTSP_THREAD_TYPE_MEDIA" name="Media" value="1" />
+    </enum>
+    <enum name="RTSPAddressFlags" cname="GstRTSPAddressFlags" type="flags">
+      <member cname="GST_RTSP_ADDRESS_FLAG_NONE" name="None" value="0" />
+      <member cname="GST_RTSP_ADDRESS_FLAG_IPV4" name="Ipv4" value="1" />
+      <member cname="GST_RTSP_ADDRESS_FLAG_IPV6" name="Ipv6" value="2" />
+      <member cname="GST_RTSP_ADDRESS_FLAG_EVEN_PORT" name="EvenPort" value="4" />
+      <member cname="GST_RTSP_ADDRESS_FLAG_MULTICAST" name="Multicast" value="8" />
+      <member cname="GST_RTSP_ADDRESS_FLAG_UNICAST" name="Unicast" value="16" />
+    </enum>
+    <enum name="RTSPTransportMode" cname="GstRTSPTransportMode" type="flags" gtype="gst_rtsp_transport_mode_get_type">
+      <member cname="GST_RTSP_TRANSPORT_MODE_PLAY" name="Play" value="1" />
+      <member cname="GST_RTSP_TRANSPORT_MODE_RECORD" name="Record" value="2" />
+    </enum>
+    <callback name="RTSPClientSendFunc" cname="GstRTSPClientSendFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*" />
+        <parameter name="message" type="GstRTSPMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="close" type="gboolean" />
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPClientSendMessagesFunc" cname="GstRTSPClientSendMessagesFunc" version="1.16">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*" />
+        <parameter name="messages" type="GstRTSPMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="n_messages" type="guint" />
+        <parameter name="close" type="gboolean" />
+        <parameter allow-none="1" closure="4" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPClientSessionFilterFunc" cname="GstRTSPClientSessionFilterFunc">
+      <return-type type="GstRTSPFilterResult" />
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*" />
+        <parameter name="sess" type="GstRTSPSession*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPKeepAliveFunc" cname="GstRTSPKeepAliveFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPMessageSentFunc" cname="GstRTSPMessageSentFunc">
+      <return-type type="void" />
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPMessageSentFuncFull" cname="GstRTSPMessageSentFuncFull" version="1.18">
+      <return-type type="void" />
+      <parameters>
+        <parameter name="trans" type="GstRTSPStreamTransport*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPSendFunc" cname="GstRTSPSendFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="channel" type="guint8" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPSendListFunc" cname="GstRTSPSendListFunc" version="1.16">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="buffer_list" type="GstBufferList*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="channel" type="guint8" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPServerClientFilterFunc" cname="GstRTSPServerClientFilterFunc">
+      <return-type type="GstRTSPFilterResult" />
+      <parameters>
+        <parameter name="server" type="GstRTSPServer*" />
+        <parameter name="client" type="GstRTSPClient*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionFilterFunc" cname="GstRTSPSessionFilterFunc">
+      <return-type type="GstRTSPFilterResult" />
+      <parameters>
+        <parameter name="sess" type="GstRTSPSession*" />
+        <parameter name="media" type="GstRTSPSessionMedia*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionPoolFilterFunc" cname="GstRTSPSessionPoolFilterFunc">
+      <return-type type="GstRTSPFilterResult" />
+      <parameters>
+        <parameter name="pool" type="GstRTSPSessionPool*" />
+        <parameter name="session" type="GstRTSPSession*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionPoolFunc" cname="GstRTSPSessionPoolFunc">
+      <return-type type="gboolean" />
+      <parameters>
+        <parameter name="pool" type="GstRTSPSessionPool*" />
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <callback name="RTSPStreamTransportFilterFunc" cname="GstRTSPStreamTransportFilterFunc">
+      <return-type type="GstRTSPFilterResult" />
+      <parameters>
+        <parameter name="stream" type="GstRTSPStream*" />
+        <parameter name="trans" type="GstRTSPStreamTransport*" />
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer" />
+      </parameters>
+    </callback>
+    <object name="RTSPAddressPool" cname="GstRTSPAddressPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPAddressPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_address_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_address_pool_new" disable_void_ctor="" />
+      <method name="AcquireAddress" cname="gst_rtsp_address_pool_acquire_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstRTSPAddressFlags" />
+          <parameter name="n_ports" type="gint" />
+        </parameters>
+      </method>
+      <method name="AddRange" cname="gst_rtsp_address_pool_add_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="min_address" type="const-gchar*" />
+          <parameter name="max_address" type="const-gchar*" />
+          <parameter name="min_port" type="guint16" />
+          <parameter name="max_port" type="guint16" />
+          <parameter name="ttl" type="guint8" />
+        </parameters>
+      </method>
+      <method name="Clear" cname="gst_rtsp_address_pool_clear">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Dump" cname="gst_rtsp_address_pool_dump">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="HasUnicastAddresses" cname="gst_rtsp_address_pool_has_unicast_addresses">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="ReserveAddress" cname="gst_rtsp_address_pool_reserve_address">
+        <return-type type="GstRTSPAddressPoolResult" />
+        <parameters>
+          <parameter name="ip_address" type="const-gchar*" />
+          <parameter name="port" type="guint" />
+          <parameter name="n_ports" type="guint" />
+          <parameter name="ttl" type="guint" />
+          <parameter name="address" type="GstRTSPAddress**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPAddressPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPAuth" cname="GstRTSPAuth" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPAuthClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="authenticate" />
+        <method vm="check" />
+        <method vm="generate_authenticate_header" />
+        <method signal_vm="accept_certificate" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_auth_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_auth_new" disable_void_ctor="" />
+      <method name="Check" cname="gst_rtsp_auth_check" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="check" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="MakeBasic" cname="gst_rtsp_auth_make_basic" shared="true">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="user" type="const-gchar*" />
+          <parameter name="pass" type="const-gchar*" />
+        </parameters>
+      </method>
+      <virtual_method name="Authenticate" cname="authenticate">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Check" cname="check">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="check" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GenerateAuthenticateHeader" cname="generate_authenticate_header">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddBasic" cname="gst_rtsp_auth_add_basic">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="basic" type="const-gchar*" />
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddDigest" cname="gst_rtsp_auth_add_digest" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="user" type="const-gchar*" />
+          <parameter name="pass" type="const-gchar*" />
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDefaultToken" cname="gst_rtsp_auth_get_default_token">
+        <return-type type="GstRTSPToken*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetRealm" cname="gst_rtsp_auth_get_realm" version="1.16">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSupportedMethods" cname="gst_rtsp_auth_get_supported_methods" version="1.12">
+        <return-type type="GstRTSPAuthMethod" />
+        <parameters />
+      </method>
+      <method name="GetTlsAuthenticationMode" cname="gst_rtsp_auth_get_tls_authentication_mode">
+        <return-type type="GTlsAuthenticationMode" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTlsCertificate" cname="gst_rtsp_auth_get_tls_certificate">
+        <return-type type="GTlsCertificate*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetTlsDatabase" cname="gst_rtsp_auth_get_tls_database" version="1.6">
+        <return-type type="GTlsDatabase*" owned="true" />
+        <parameters />
+      </method>
+      <method name="ParseHtdigest" cname="gst_rtsp_auth_parse_htdigest" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path" type="const-gfilename*" />
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveBasic" cname="gst_rtsp_auth_remove_basic">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="basic" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RemoveDigest" cname="gst_rtsp_auth_remove_digest" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="user" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetDefaultToken" cname="gst_rtsp_auth_set_default_token">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetRealm" cname="gst_rtsp_auth_set_realm" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="realm" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetSupportedMethods" cname="gst_rtsp_auth_set_supported_methods" version="1.12">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="methods" type="GstRTSPAuthMethod" />
+        </parameters>
+      </method>
+      <method name="SetTlsAuthenticationMode" cname="gst_rtsp_auth_set_tls_authentication_mode" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GTlsAuthenticationMode" />
+        </parameters>
+      </method>
+      <method name="SetTlsCertificate" cname="gst_rtsp_auth_set_tls_certificate">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="cert" type="GTlsCertificate*" />
+        </parameters>
+      </method>
+      <method name="SetTlsDatabase" cname="gst_rtsp_auth_set_tls_database" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="database" type="GTlsDatabase*" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPAuthPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="AcceptCertificate" cname="accept-certificate" when="last" field_name="accept_certificate" version="1.6">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="connection" type="GTlsConnection*" />
+          <parameter name="peer_cert" type="GTlsCertificate*" />
+          <parameter name="errors" type="GTlsCertificateFlags" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPClient" cname="GstRTSPClient" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPClientClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_sdp" />
+        <method vm="configure_client_media" />
+        <method vm="configure_client_transport" />
+        <method vm="params_set" />
+        <method vm="params_get" />
+        <method vm="make_path_from_uri" />
+        <method vm="adjust_play_mode" />
+        <method vm="adjust_play_response" />
+        <method signal_vm="closed" />
+        <method signal_vm="new_session" />
+        <method signal_vm="options_request" />
+        <method signal_vm="describe_request" />
+        <method signal_vm="setup_request" />
+        <method signal_vm="play_request" />
+        <method signal_vm="pause_request" />
+        <method signal_vm="teardown_request" />
+        <method signal_vm="set_parameter_request" />
+        <method signal_vm="get_parameter_request" />
+        <method signal_vm="handle_response" />
+        <method vm="tunnel_http_response" />
+        <method signal_vm="send_message" />
+        <method vm="handle_sdp" />
+        <method signal_vm="announce_request" />
+        <method signal_vm="record_request" />
+        <method signal_vm="check_requirements" />
+        <method signal_vm="pre_options_request" />
+        <method signal_vm="pre_describe_request" />
+        <method signal_vm="pre_setup_request" />
+        <method signal_vm="pre_play_request" />
+        <method signal_vm="pre_pause_request" />
+        <method signal_vm="pre_teardown_request" />
+        <method signal_vm="pre_set_parameter_request" />
+        <method signal_vm="pre_get_parameter_request" />
+        <method signal_vm="pre_announce_request" />
+        <method signal_vm="pre_record_request" />
+        <method vm="adjust_error_code" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="1" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_client_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_client_new" disable_void_ctor="" />
+      <virtual_method name="AdjustErrorCode" cname="adjust_error_code" version="1.22">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="code" type="GstRTSPStatusCode" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="AdjustPlayMode" cname="adjust_play_mode">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="context" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="range" type="GstRTSPTimeRange**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags" />
+          <parameter name="rate" type="gdouble" />
+          <parameter name="trickmode_interval" type="guint64" />
+          <parameter name="enable_rate_control" type="gboolean" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="AdjustPlayResponse" cname="adjust_play_response">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="context" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ConfigureClientMedia" cname="configure_client_media">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*" />
+          <parameter name="stream" type="GstRTSPStream*" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ConfigureClientTransport" cname="configure_client_transport">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="ct" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateSdp" cname="create_sdp">
+        <return-type type="GstSDPMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleSdp" cname="handle_sdp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstRTSPMedia*" />
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="MakePathFromUri" cname="make_path_from_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="uri" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParamsGet" cname="params_get">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParamsSet" cname="params_set">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TunnelHttpResponse" cname="tunnel_http_response">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="request" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="response" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="Attach" cname="gst_rtsp_client_attach">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="context" type="GMainContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Close" cname="gst_rtsp_client_close" version="1.4">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="GetAuth" cname="gst_rtsp_client_get_auth">
+        <return-type type="GstRTSPAuth*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetConnection" cname="gst_rtsp_client_get_connection">
+        <return-type type="GstRTSPConnection*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetContentLengthLimit" cname="gst_rtsp_client_get_content_length_limit" version="1.18">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMountPoints" cname="gst_rtsp_client_get_mount_points">
+        <return-type type="GstRTSPMountPoints*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSessionPool" cname="gst_rtsp_client_get_session_pool">
+        <return-type type="GstRTSPSessionPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetStreamTransport" cname="gst_rtsp_client_get_stream_transport" version="1.18">
+        <return-type type="GstRTSPStreamTransport*" />
+        <parameters>
+          <parameter name="channel" type="guint8" />
+        </parameters>
+      </method>
+      <method name="GetThreadPool" cname="gst_rtsp_client_get_thread_pool">
+        <return-type type="GstRTSPThreadPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="HandleMessage" cname="gst_rtsp_client_handle_message">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendMessage" cname="gst_rtsp_client_send_message">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter allow-none="1" name="session" type="GstRTSPSession*" />
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SessionFilter" cname="gst_rtsp_client_session_filter">
+        <return-type type="GList*" element_type="GstRTSPSession*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPClientSessionFilterFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="SetAuth" cname="gst_rtsp_client_set_auth">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="auth" type="GstRTSPAuth*" />
+        </parameters>
+      </method>
+      <method name="SetConnection" cname="gst_rtsp_client_set_connection">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="conn" type="GstRTSPConnection*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetContentLengthLimit" cname="gst_rtsp_client_set_content_length_limit" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="limit" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMountPoints" cname="gst_rtsp_client_set_mount_points">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="mounts" type="GstRTSPMountPoints*" />
+        </parameters>
+      </method>
+      <method name="SetSendFunc" cname="gst_rtsp_client_set_send_func">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstRTSPClientSendFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetSendMessagesFunc" cname="gst_rtsp_client_set_send_messages_func" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstRTSPClientSendMessagesFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetSessionPool" cname="gst_rtsp_client_set_session_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPSessionPool*" />
+        </parameters>
+      </method>
+      <method name="SetThreadPool" cname="gst_rtsp_client_set_thread_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPThreadPool*" />
+        </parameters>
+      </method>
+      <property name="DropBacklog" cname="drop-backlog" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MountPoints" cname="mount-points" type="GstRTSPMountPoints*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="PostSessionTimeout" cname="post-session-timeout" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SessionPool" cname="session-pool" type="GstRTSPSessionPool*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPClientPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="AnnounceRequest" cname="announce-request" when="last" field_name="announce_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="CheckRequirements" cname="check-requirements" when="last" field_name="check_requirements" version="1.6">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="arr" type="" array="true" null_term_array="true" element_type="gchar*" />
+        </parameters>
+      </signal>
+      <signal name="Closed" cname="closed" when="last" field_name="closed">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="DescribeRequest" cname="describe-request" when="last" field_name="describe_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="GetParameterRequest" cname="get-parameter-request" when="last" field_name="get_parameter_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="HandleResponse" cname="handle-response" when="last" field_name="handle_response">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="NewSession" cname="new-session" when="last" field_name="new_session">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPSession*" />
+        </parameters>
+      </signal>
+      <signal name="OptionsRequest" cname="options-request" when="last" field_name="options_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PauseRequest" cname="pause-request" when="last" field_name="pause_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PlayRequest" cname="play-request" when="last" field_name="play_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreAnnounceRequest" cname="pre-announce-request" when="last" field_name="pre_announce_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreDescribeRequest" cname="pre-describe-request" when="last" field_name="pre_describe_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreGetParameterRequest" cname="pre-get-parameter-request" when="last" field_name="pre_get_parameter_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreOptionsRequest" cname="pre-options-request" when="last" field_name="pre_options_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PrePauseRequest" cname="pre-pause-request" when="last" field_name="pre_pause_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PrePlayRequest" cname="pre-play-request" when="last" field_name="pre_play_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreRecordRequest" cname="pre-record-request" when="last" field_name="pre_record_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreSetParameterRequest" cname="pre-set-parameter-request" when="last" field_name="pre_set_parameter_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreSetupRequest" cname="pre-setup-request" when="last" field_name="pre_setup_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreTeardownRequest" cname="pre-teardown-request" when="last" field_name="pre_teardown_request" version="1.12">
+        <return-type type="GstRTSPStatusCode" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="RecordRequest" cname="record-request" when="last" field_name="record_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="SendMessageEvent" cname="send-message" when="last" field_name="send_message">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="session" type="GstRTSPSession*" />
+          <parameter name="message" type="gpointer">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="SetParameterRequest" cname="set-parameter-request" when="last" field_name="set_parameter_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="SetupRequest" cname="setup-request" when="last" field_name="setup_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="TeardownRequest" cname="teardown-request" when="last" field_name="teardown_request">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPMedia" cname="GstRTSPMedia" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMediaClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="handle_message" />
+        <method vm="prepare" />
+        <method vm="unprepare" />
+        <method vm="suspend" />
+        <method vm="unsuspend" />
+        <method vm="convert_range" />
+        <method vm="query_position" />
+        <method vm="query_stop" />
+        <method vm="create_rtpbin" />
+        <method vm="setup_rtpbin" />
+        <method vm="setup_sdp" />
+        <method signal_vm="new_stream" />
+        <method signal_vm="removed_stream" />
+        <method signal_vm="prepared" />
+        <method signal_vm="unprepared" />
+        <method signal_vm="target_state" />
+        <method signal_vm="new_state" />
+        <method vm="handle_sdp" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="19" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_media_new">
+        <parameters>
+          <parameter name="element" type="GstElement*" owned="true" />
+        </parameters>
+      </constructor>
+      <virtual_method name="ConvertRange" cname="convert_range">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="unit" type="GstRTSPRangeUnit" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateRtpbin" cname="create_rtpbin" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="HandleSdp" cname="handle_sdp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="thread" type="GstRTSPThread*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="QueryPosition" cname="query_position">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="position" type="gint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="QueryStop" cname="query_stop">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="stop" type="gint64" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetupRtpbin" cname="setup_rtpbin">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="rtpbin" type="GstElement*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetupSdp" cname="setup_sdp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Suspend" cname="suspend">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unprepare" cname="unprepare">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <virtual_method name="Unsuspend" cname="unsuspend">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="CanBeShared" cname="gst_rtsp_media_can_be_shared" version="1.24">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="CollectStreams" cname="gst_rtsp_media_collect_streams">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="CompletePipeline" cname="gst_rtsp_media_complete_pipeline" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="transports" type="GPtrArray" array="true" null_term_array="true" element_type="GstRtsp.RTSPTransport" />
+        </parameters>
+      </method>
+      <method name="CreateStream" cname="gst_rtsp_media_create_stream">
+        <return-type type="GstRTSPStream*" />
+        <parameters>
+          <parameter name="payloader" type="GstElement*" />
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </method>
+      <method name="FindStream" cname="gst_rtsp_media_find_stream">
+        <return-type type="GstRTSPStream*" />
+        <parameters>
+          <parameter name="control" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_media_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetBaseTime" cname="gst_rtsp_media_get_base_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_media_get_buffer_size">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetClock" cname="gst_rtsp_media_get_clock">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDoRetransmission" cname="gst_rtsp_media_get_do_retransmission" version="1.16">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_media_get_dscp_qos" version="1.18">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetElement" cname="gst_rtsp_media_get_element">
+        <return-type type="GstElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetEnsureKeyunitOnStart" cname="gst_rtsp_media_get_ensure_keyunit_on_start" version="1.24">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_get_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_rtsp_media_get_latency">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_media_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_media_get_multicast_iface">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPermissions" cname="gst_rtsp_media_get_permissions">
+        <return-type type="GstRTSPPermissions*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_media_get_profiles">
+        <return-type type="GstRTSPProfile" />
+        <parameters />
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_media_get_protocols">
+        <return-type type="GstRTSPLowerTrans" />
+        <parameters />
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_media_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode" />
+        <parameters />
+      </method>
+      <method name="GetRangeString" cname="gst_rtsp_media_get_range_string">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="play" type="gboolean" />
+          <parameter name="unit" type="GstRTSPRangeUnit" />
+        </parameters>
+      </method>
+      <method name="GetRateControl" cname="gst_rtsp_media_get_rate_control" version="1.18">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetRates" cname="gst_rtsp_media_get_rates" version="1.18">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="rate" type="gdouble" pass_as="out" />
+          <parameter allow-none="1" name="applied_rate" type="gdouble" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_media_get_retransmission_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetStatus" cname="gst_rtsp_media_get_status">
+        <return-type type="GstRTSPMediaStatus" />
+        <parameters />
+      </method>
+      <method name="GetStream" cname="gst_rtsp_media_get_stream">
+        <return-type type="GstRTSPStream*" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetSuspendMode" cname="gst_rtsp_media_get_suspend_mode">
+        <return-type type="GstRTSPSuspendMode" />
+        <parameters />
+      </method>
+      <method name="GetTimeProvider" cname="gst_rtsp_media_get_time_provider">
+        <return-type type="GstNetTimeProvider*" owned="true" />
+        <parameters>
+          <parameter allow-none="1" name="address" type="const-gchar*" />
+          <parameter name="port" type="guint16" />
+        </parameters>
+      </method>
+      <method name="GetTransportMode" cname="gst_rtsp_media_get_transport_mode">
+        <return-type type="GstRTSPTransportMode" />
+        <parameters />
+      </method>
+      <method name="HandleSdp" cname="gst_rtsp_media_handle_sdp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="HasCompletedSender" cname="gst_rtsp_media_has_completed_sender" version="1.18">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_media_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEosShutdown" cname="gst_rtsp_media_is_eos_shutdown">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsReceiveOnly" cname="gst_rtsp_media_is_receive_only" version="1.18">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsReusable" cname="gst_rtsp_media_is_reusable">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsShared" cname="gst_rtsp_media_is_shared">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsStopOnDisconnect" cname="gst_rtsp_media_is_stop_on_disconnect">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsTimeProvider" cname="gst_rtsp_media_is_time_provider">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Lock" cname="gst_rtsp_media_lock" version="1.18">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="NStreams" cname="gst_rtsp_media_n_streams">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Prepare" cname="gst_rtsp_media_prepare">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="thread" type="GstRTSPThread*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Seek" cname="gst_rtsp_media_seek">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SeekFull" cname="gst_rtsp_media_seek_full" version="1.18">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags" />
+        </parameters>
+      </method>
+      <method name="SeekTrickmode" cname="gst_rtsp_media_seek_trickmode" version="1.18">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags" />
+          <parameter name="rate" type="gdouble" />
+          <parameter name="trickmode_interval" type="guint64" />
+        </parameters>
+      </method>
+      <method name="Seekable" cname="gst_rtsp_media_seekable" version="1.14">
+        <return-type type="gint64" />
+        <parameters />
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_media_set_address_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*" />
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_media_set_bind_mcast_address" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_media_set_buffer_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetClock" cname="gst_rtsp_media_set_clock">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" />
+        </parameters>
+      </method>
+      <method name="SetDoRetransmission" cname="gst_rtsp_media_set_do_retransmission" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="do_retransmission" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_media_set_dscp_qos" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dscp_qos" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStart" cname="gst_rtsp_media_set_ensure_keyunit_on_start" version="1.24">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ensure_keyunit_on_start" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_set_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeout" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetEosShutdown" cname="gst_rtsp_media_set_eos_shutdown">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="eos_shutdown" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_rtsp_media_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="latency" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_media_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ttl" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_media_set_multicast_iface">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPermissions" cname="gst_rtsp_media_set_permissions">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="permissions" type="GstRTSPPermissions*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPipelineState" cname="gst_rtsp_media_set_pipeline_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_media_set_profiles">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile" />
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_media_set_protocols">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans" />
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_media_set_publish_clock_mode" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode" />
+        </parameters>
+      </method>
+      <method name="SetRateControl" cname="gst_rtsp_media_set_rate_control" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_media_set_retransmission_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetReusable" cname="gst_rtsp_media_set_reusable">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="reusable" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetShared" cname="gst_rtsp_media_set_shared">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="shared" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_rtsp_media_set_state">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+          <parameter name="transports" type="GPtrArray" array="true" null_term_array="true" element_type="RTSPStreamTransport" />
+        </parameters>
+      </method>
+      <method name="SetStopOnDisconnect" cname="gst_rtsp_media_set_stop_on_disconnect">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stop_on_disconnect" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSuspendMode" cname="gst_rtsp_media_set_suspend_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPSuspendMode" />
+        </parameters>
+      </method>
+      <method name="SetTransportMode" cname="gst_rtsp_media_set_transport_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPTransportMode" />
+        </parameters>
+      </method>
+      <method name="SetupSdp" cname="gst_rtsp_media_setup_sdp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Suspend" cname="gst_rtsp_media_suspend">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="TakePipeline" cname="gst_rtsp_media_take_pipeline">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pipeline" type="GstPipeline*" />
+        </parameters>
+      </method>
+      <method name="Unlock" cname="gst_rtsp_media_unlock" version="1.18">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="Unprepare" cname="gst_rtsp_media_unprepare">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Unsuspend" cname="gst_rtsp_media_unsuspend">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="UseTimeProvider" cname="gst_rtsp_media_use_time_provider">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time_provider" type="gboolean" />
+        </parameters>
+      </method>
+      <property name="BindMcastAddress" cname="bind-mcast-address" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="BufferSize" cname="buffer-size" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Clock" cname="clock" type="GstClock*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="DscpQos" cname="dscp-qos" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Element" cname="element" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="EnsureKeyunitOnStart" cname="ensure-keyunit-on-start" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.24" />
+      <property name="EnsureKeyunitOnStartTimeout" cname="ensure-keyunit-on-start-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" version="1.24" />
+      <property name="EosShutdown" cname="eos-shutdown" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Latency" cname="latency" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxMcastTtl" cname="max-mcast-ttl" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Reusable" cname="reusable" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Shared" cname="shared" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="StopOnDisconnect" cname="stop-on-disconnect" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SuspendMode" cname="suspend-mode" type="GstRTSPSuspendMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TimeProvider" cname="time-provider" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TransportMode" cname="transport-mode" type="GstRTSPTransportMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="HandleMessage" cname="handle-message" when="last" field_name="handle_message" version="1.22">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="NewState" cname="new-state" when="last" field_name="new_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="gint" />
+        </parameters>
+      </signal>
+      <signal name="NewStream" cname="new-stream" when="last" field_name="new_stream">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPStream*" />
+        </parameters>
+      </signal>
+      <signal name="Prepared" cname="prepared" when="last" field_name="prepared">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+      <signal name="RemovedStream" cname="removed-stream" when="last" field_name="removed_stream">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPStream*" />
+        </parameters>
+      </signal>
+      <signal name="TargetState" cname="target-state" when="last" field_name="target_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="gint" />
+        </parameters>
+      </signal>
+      <signal name="Unprepared" cname="unprepared" when="last" field_name="unprepared">
+        <return-type type="void" />
+        <parameters />
+      </signal>
+    </object>
+    <object name="RTSPMediaFactory" cname="GstRTSPMediaFactory" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMediaFactoryClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="gen_key" />
+        <method vm="create_element" />
+        <method vm="construct" />
+        <method vm="create_pipeline" />
+        <method vm="configure" />
+        <method signal_vm="media_constructed" />
+        <method signal_vm="media_configure" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_media_factory_new" disable_void_ctor="" />
+      <virtual_method name="Configure" cname="configure">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Construct" cname="construct">
+        <return-type type="GstRTSPMedia*" owned="true" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateElement" cname="create_element">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreatePipeline" cname="create_pipeline" hidden="true">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GenKey" cname="gen_key">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddRoleFromStructure" cname="gst_rtsp_media_factory_add_role_from_structure" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Construct" cname="gst_rtsp_media_factory_construct">
+        <return-type type="GstRTSPMedia*" owned="true" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CreateElement" cname="gst_rtsp_media_factory_create_element">
+        <return-type type="GstElement*" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_media_factory_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_media_factory_get_buffer_size">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetClock" cname="gst_rtsp_media_factory_get_clock" version="1.8">
+        <return-type type="GstClock*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetDoRetransmission" cname="gst_rtsp_media_factory_get_do_retransmission" version="1.16">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_media_factory_get_dscp_qos" version="1.18">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetEnsureKeyunitOnStart" cname="gst_rtsp_media_factory_get_ensure_keyunit_on_start" version="1.24">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetLatency" cname="gst_rtsp_media_factory_get_latency">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetLaunch" cname="gst_rtsp_media_factory_get_launch">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_media_factory_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMediaGtype" cname="gst_rtsp_media_factory_get_media_gtype" version="1.6">
+        <return-type type="GType" />
+        <parameters />
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_media_factory_get_multicast_iface">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetPermissions" cname="gst_rtsp_media_factory_get_permissions">
+        <return-type type="GstRTSPPermissions*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_media_factory_get_profiles">
+        <return-type type="GstRTSPProfile" />
+        <parameters />
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_media_factory_get_protocols">
+        <return-type type="GstRTSPLowerTrans" />
+        <parameters />
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_media_factory_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode" />
+        <parameters />
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_media_factory_get_retransmission_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetSuspendMode" cname="gst_rtsp_media_factory_get_suspend_mode">
+        <return-type type="GstRTSPSuspendMode" />
+        <parameters />
+      </method>
+      <method name="GetTransportMode" cname="gst_rtsp_media_factory_get_transport_mode">
+        <return-type type="GstRTSPTransportMode" />
+        <parameters />
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_media_factory_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEnableRtcp" cname="gst_rtsp_media_factory_is_enable_rtcp" version="1.20">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsEosShutdown" cname="gst_rtsp_media_factory_is_eos_shutdown">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsShared" cname="gst_rtsp_media_factory_is_shared">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsStopOnDisonnect" cname="gst_rtsp_media_factory_is_stop_on_disonnect">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_media_factory_set_address_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*" />
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_media_factory_set_bind_mcast_address" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_media_factory_set_buffer_size">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetClock" cname="gst_rtsp_media_factory_set_clock" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*" />
+        </parameters>
+      </method>
+      <method name="SetDoRetransmission" cname="gst_rtsp_media_factory_set_do_retransmission" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="do_retransmission" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_media_factory_set_dscp_qos" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dscp_qos" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetEnableRtcp" cname="gst_rtsp_media_factory_set_enable_rtcp" version="1.20">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enable" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStart" cname="gst_rtsp_media_factory_set_ensure_keyunit_on_start" version="1.24">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ensure_keyunit_on_start" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeout" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetEosShutdown" cname="gst_rtsp_media_factory_set_eos_shutdown">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="eos_shutdown" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_rtsp_media_factory_set_latency">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="latency" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetLaunch" cname="gst_rtsp_media_factory_set_launch">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="launch" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_media_factory_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ttl" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMediaGtype" cname="gst_rtsp_media_factory_set_media_gtype" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="media_gtype" type="GType" />
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_media_factory_set_multicast_iface">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetPermissions" cname="gst_rtsp_media_factory_set_permissions">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="permissions" type="GstRTSPPermissions*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_media_factory_set_profiles">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile" />
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_media_factory_set_protocols">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans" />
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_media_factory_set_publish_clock_mode" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode" />
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_media_factory_set_retransmission_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetShared" cname="gst_rtsp_media_factory_set_shared">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="shared" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetStopOnDisconnect" cname="gst_rtsp_media_factory_set_stop_on_disconnect">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="stop_on_disconnect" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetSuspendMode" cname="gst_rtsp_media_factory_set_suspend_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPSuspendMode" />
+        </parameters>
+      </method>
+      <method name="SetTransportMode" cname="gst_rtsp_media_factory_set_transport_mode">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPTransportMode" />
+        </parameters>
+      </method>
+      <property name="BindMcastAddress" cname="bind-mcast-address" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="BufferSize" cname="buffer-size" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Clock" cname="clock" type="GstClock*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="DscpQos" cname="dscp-qos" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="EnableRtcp" cname="enable-rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+      <property name="EnsureKeyunitOnStart" cname="ensure-keyunit-on-start" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.24" />
+      <property name="EnsureKeyunitOnStartTimeout" cname="ensure-keyunit-on-start-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" version="1.24" />
+      <property name="EosShutdown" cname="eos-shutdown" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Latency" cname="latency" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Launch" cname="launch" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MaxMcastTtl" cname="max-mcast-ttl" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Shared" cname="shared" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="StopOnDisconnect" cname="stop-on-disconnect" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SuspendMode" cname="suspend-mode" type="GstRTSPSuspendMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TransportMode" cname="transport-mode" type="GstRTSPTransportMode" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaFactoryPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="MediaConfigure" cname="media-configure" when="last" field_name="media_configure">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPMedia*" />
+        </parameters>
+      </signal>
+      <signal name="MediaConstructed" cname="media-constructed" when="last" field_name="media_constructed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPMedia*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPMediaFactoryURI" cname="GstRTSPMediaFactoryURI" opaque="false" hidden="false" parent="GstRTSPMediaFactory">
+      <class_struct cname="GstRTSPMediaFactoryURIClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstRTSPMediaFactoryClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_factory_uri_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_media_factory_uri_new" disable_void_ctor="" />
+      <method name="GetUri" cname="gst_rtsp_media_factory_uri_get_uri">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetUri" cname="gst_rtsp_media_factory_uri_set_uri">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="uri" type="const-gchar*" />
+        </parameters>
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="UseGstpay" cname="use-gstpay" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactory*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaFactoryURIPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPMountPoints" cname="GstRTSPMountPoints" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMountPointsClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="make_path" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_mount_points_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_mount_points_new" disable_void_ctor="" />
+      <virtual_method name="MakePath" cname="make_path">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddFactory" cname="gst_rtsp_mount_points_add_factory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="factory" type="GstRTSPMediaFactory*" owned="true" />
+        </parameters>
+      </method>
+      <method name="MakePath" cname="gst_rtsp_mount_points_make_path">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Match" cname="gst_rtsp_mount_points_match">
+        <return-type type="GstRTSPMediaFactory*" owned="true" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter allow-none="1" name="matched" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RemoveFactory" cname="gst_rtsp_mount_points_remove_factory">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMountPointsPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPOnvifClient" cname="GstRTSPOnvifClient" opaque="false" hidden="false" parent="GstRTSPClient" version="1.14">
+      <class_struct cname="GstRTSPOnvifClientClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPClientClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_client_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_onvif_client_new" disable_void_ctor="" version="1.18" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPClient*" hidden="true" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPOnvifMedia" cname="GstRTSPOnvifMedia" opaque="false" hidden="false" parent="GstRTSPMedia" version="1.14">
+      <class_struct cname="GstRTSPOnvifMediaClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_media_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="CollectBackchannel" cname="gst_rtsp_onvif_media_collect_backchannel" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetBackchannelBandwidth" cname="gst_rtsp_onvif_media_get_backchannel_bandwidth" version="1.14">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="SetBackchannelBandwidth" cname="gst_rtsp_onvif_media_set_backchannel_bandwidth" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bandwidth" type="guint" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMedia*" hidden="true" />
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstRTSPOnvifMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPOnvifMediaFactory" cname="GstRTSPOnvifMediaFactory" opaque="false" hidden="false" parent="GstRTSPMediaFactory" version="1.14">
+      <class_struct cname="GstRTSPOnvifMediaFactoryClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactoryClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="has_backchannel_support" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_media_factory_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_onvif_media_factory_new" disable_void_ctor="" version="1.14" />
+      <method name="RequiresBackchannel" cname="gst_rtsp_onvif_media_factory_requires_backchannel" shared="true" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="factory" type="GstRTSPMediaFactory*" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <virtual_method name="HasBackchannelSupport" cname="has_backchannel_support" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </virtual_method>
+      <method name="GetBackchannelBandwidth" cname="gst_rtsp_onvif_media_factory_get_backchannel_bandwidth" version="1.14">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetBackchannelLaunch" cname="gst_rtsp_onvif_media_factory_get_backchannel_launch" version="1.14">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="HasBackchannelSupport" cname="gst_rtsp_onvif_media_factory_has_backchannel_support" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="HasReplaySupport" cname="gst_rtsp_onvif_media_factory_has_replay_support" version="1.18">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetBackchannelBandwidth" cname="gst_rtsp_onvif_media_factory_set_backchannel_bandwidth" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bandwidth" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetBackchannelLaunch" cname="gst_rtsp_onvif_media_factory_set_backchannel_launch" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="launch" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetReplaySupport" cname="gst_rtsp_onvif_media_factory_set_replay_support" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="has_replay_support" type="gboolean" />
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactory*" hidden="true" />
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstRTSPOnvifMediaFactoryPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPOnvifServer" cname="GstRTSPOnvifServer" opaque="false" hidden="false" parent="GstRTSPServer" version="1.14">
+      <class_struct cname="GstRTSPOnvifServerClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPServerClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_server_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_onvif_server_new" disable_void_ctor="" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPServer*" hidden="true" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPServer" cname="GstRTSPServer" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPServerClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_client" />
+        <method signal_vm="client_connected" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_server_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_server_new" disable_void_ctor="" />
+      <method name="IoFunc" cname="gst_rtsp_server_io_func" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" />
+          <parameter name="condition" type="GIOCondition" />
+          <parameter name="server" type="GstRTSPServer*" />
+        </parameters>
+      </method>
+      <virtual_method name="CreateClient" cname="create_client" hidden="true">
+        <return-type type="GstRTSPClient*" />
+        <parameters />
+      </virtual_method>
+      <method name="Attach" cname="gst_rtsp_server_attach">
+        <return-type type="guint" />
+        <parameters>
+          <parameter allow-none="1" name="context" type="GMainContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ClientFilter" cname="gst_rtsp_server_client_filter">
+        <return-type type="GList*" element_type="GstRTSPClient*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPServerClientFilterFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="CreateSocket" cname="gst_rtsp_server_create_socket">
+        <return-type type="GSocket*" owned="true" />
+        <parameters throws="1">
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="CreateSource" cname="gst_rtsp_server_create_source">
+        <return-type type="GSource*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter allow-none="1" name="cancellable" type="GCancellable*" />
+          <parameter name="error" type="GError**" />
+        </parameters>
+      </method>
+      <method name="GetAddress" cname="gst_rtsp_server_get_address">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetAuth" cname="gst_rtsp_server_get_auth">
+        <return-type type="GstRTSPAuth*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetBacklog" cname="gst_rtsp_server_get_backlog">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetBoundPort" cname="gst_rtsp_server_get_bound_port">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetContentLengthLimit" cname="gst_rtsp_server_get_content_length_limit" version="1.18">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMountPoints" cname="gst_rtsp_server_get_mount_points">
+        <return-type type="GstRTSPMountPoints*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetService" cname="gst_rtsp_server_get_service">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSessionPool" cname="gst_rtsp_server_get_session_pool">
+        <return-type type="GstRTSPSessionPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetThreadPool" cname="gst_rtsp_server_get_thread_pool">
+        <return-type type="GstRTSPThreadPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="SetAddress" cname="gst_rtsp_server_set_address">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="address" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetAuth" cname="gst_rtsp_server_set_auth">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="auth" type="GstRTSPAuth*" />
+        </parameters>
+      </method>
+      <method name="SetBacklog" cname="gst_rtsp_server_set_backlog">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="backlog" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetContentLengthLimit" cname="gst_rtsp_server_set_content_length_limit" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="limit" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMountPoints" cname="gst_rtsp_server_set_mount_points">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="mounts" type="GstRTSPMountPoints*" />
+        </parameters>
+      </method>
+      <method name="SetService" cname="gst_rtsp_server_set_service">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="service" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetSessionPool" cname="gst_rtsp_server_set_session_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPSessionPool*" />
+        </parameters>
+      </method>
+      <method name="SetThreadPool" cname="gst_rtsp_server_set_thread_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPThreadPool*" />
+        </parameters>
+      </method>
+      <method name="TransferConnection" cname="gst_rtsp_server_transfer_connection">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="socket" type="GSocket*" owned="true" />
+          <parameter name="ip" type="const-gchar*" />
+          <parameter name="port" type="gint" />
+          <parameter allow-none="1" name="initial_buffer" type="const-gchar*" />
+        </parameters>
+      </method>
+      <property name="Address" cname="address" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Backlog" cname="backlog" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="BoundPort" cname="bound-port" type="gint" readable="true" writeable="false" construct="false" construct-only="false" />
+      <property name="ContentLengthLimit" cname="content-length-limit" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="MountPoints" cname="mount-points" type="GstRTSPMountPoints*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Service" cname="service" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="SessionPool" cname="session-pool" type="GstRTSPSessionPool*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPServerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="ClientConnected" cname="client-connected" when="last" field_name="client_connected">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPClient*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPSession" cname="GstRTSPSession" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_session_new">
+        <parameters>
+          <parameter name="sessionid" type="const-gchar*" />
+        </parameters>
+      </constructor>
+      <method name="AllowExpire" cname="gst_rtsp_session_allow_expire">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="DupMedia" cname="gst_rtsp_session_dup_media" version="1.20">
+        <return-type type="GstRTSPSessionMedia*" owned="true" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="matched" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="Filter" cname="gst_rtsp_session_filter">
+        <return-type type="GList*" element_type="GstRTSPSessionMedia*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPSessionFilterFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="GetHeader" cname="gst_rtsp_session_get_header">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetMedia" cname="gst_rtsp_session_get_media">
+        <return-type type="GstRTSPSessionMedia*" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="matched" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetSessionid" cname="gst_rtsp_session_get_sessionid">
+        <return-type type="const-gchar*" />
+        <parameters />
+      </method>
+      <method name="GetTimeout" cname="gst_rtsp_session_get_timeout">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="IsExpired" cname="gst_rtsp_session_is_expired" deprecated="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="now" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsExpiredUsec" cname="gst_rtsp_session_is_expired_usec">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="now" type="gint64" />
+        </parameters>
+      </method>
+      <method name="ManageMedia" cname="gst_rtsp_session_manage_media">
+        <return-type type="GstRTSPSessionMedia*" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="media" type="GstRTSPMedia*" owned="true" />
+        </parameters>
+      </method>
+      <method name="NextTimeout" cname="gst_rtsp_session_next_timeout" deprecated="true">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="now" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NextTimeoutUsec" cname="gst_rtsp_session_next_timeout_usec">
+        <return-type type="gint" />
+        <parameters>
+          <parameter name="now" type="gint64" />
+        </parameters>
+      </method>
+      <method name="PreventExpire" cname="gst_rtsp_session_prevent_expire">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="ReleaseMedia" cname="gst_rtsp_session_release_media">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="media" type="GstRTSPSessionMedia*" />
+        </parameters>
+      </method>
+      <method name="SetTimeout" cname="gst_rtsp_session_set_timeout">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timeout" type="guint" />
+        </parameters>
+      </method>
+      <method name="Touch" cname="gst_rtsp_session_touch">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <property name="ExtraTimeout" cname="extra-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Sessionid" cname="sessionid" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+      <property name="Timeout" cname="timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="TimeoutAlwaysVisible" cname="timeout-always-visible" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPSessionMedia" cname="GstRTSPSessionMedia" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionMediaClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_media_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_session_media_new">
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="media" type="GstRTSPMedia*" owned="true" />
+        </parameters>
+      </constructor>
+      <method name="AllocChannels" cname="gst_rtsp_session_media_alloc_channels">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="range" type="GstRTSPRange*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBaseTime" cname="gst_rtsp_session_media_get_base_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetMedia" cname="gst_rtsp_session_media_get_media">
+        <return-type type="GstRTSPMedia*" />
+        <parameters />
+      </method>
+      <method name="GetRtpinfo" cname="gst_rtsp_session_media_get_rtpinfo">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetRtspState" cname="gst_rtsp_session_media_get_rtsp_state">
+        <return-type type="GstRTSPState" />
+        <parameters />
+      </method>
+      <method name="GetTransport" cname="gst_rtsp_session_media_get_transport">
+        <return-type type="GstRTSPStreamTransport*" />
+        <parameters>
+          <parameter name="idx" type="guint" />
+        </parameters>
+      </method>
+      <method name="GetTransports" cname="gst_rtsp_session_media_get_transports" version="1.14">
+        <return-type type="GPtrArray" owned="true" array="true" null_term_array="true" element_type="RTSPStreamTransport" />
+        <parameters />
+      </method>
+      <method name="Matches" cname="gst_rtsp_session_media_matches">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="path" type="const-gchar*" />
+          <parameter name="matched" type="gint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="SetRtspState" cname="gst_rtsp_session_media_set_rtsp_state">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="state" type="GstRTSPState" />
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_rtsp_session_media_set_state">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </method>
+      <method name="SetTransport" cname="gst_rtsp_session_media_set_transport">
+        <return-type type="GstRTSPStreamTransport*" />
+        <parameters>
+          <parameter name="stream" type="GstRTSPStream*" />
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPSessionPool" cname="GstRTSPSessionPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_session_id" />
+        <method vm="create_session" />
+        <method signal_vm="session_removed" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="19" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_session_pool_new" disable_void_ctor="" />
+      <virtual_method name="CreateSession" cname="create_session" hidden="true">
+        <return-type type="GstRTSPSession*" />
+        <parameters>
+          <parameter name="id" type="const-gchar*" />
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateSessionId" cname="create_session_id">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </virtual_method>
+      <method name="Cleanup" cname="gst_rtsp_session_pool_cleanup">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Create" cname="gst_rtsp_session_pool_create">
+        <return-type type="GstRTSPSession*" owned="true" />
+        <parameters />
+      </method>
+      <method name="CreateWatch" cname="gst_rtsp_session_pool_create_watch">
+        <return-type type="GSource*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Filter" cname="gst_rtsp_session_pool_filter">
+        <return-type type="GList*" element_type="GstRTSPSession*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPSessionPoolFilterFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="Find" cname="gst_rtsp_session_pool_find">
+        <return-type type="GstRTSPSession*" owned="true" />
+        <parameters>
+          <parameter name="sessionid" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetMaxSessions" cname="gst_rtsp_session_pool_get_max_sessions">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetNSessions" cname="gst_rtsp_session_pool_get_n_sessions">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="Remove" cname="gst_rtsp_session_pool_remove">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sess" type="GstRTSPSession*" />
+        </parameters>
+      </method>
+      <method name="SetMaxSessions" cname="gst_rtsp_session_pool_set_max_sessions">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max" type="guint" />
+        </parameters>
+      </method>
+      <property name="MaxSessions" cname="max-sessions" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="SessionRemoved" cname="session-removed" when="last" field_name="session_removed">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstRTSPSession*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPStream" cname="GstRTSPStream" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPStreamClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_stream_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_stream_new">
+        <parameters>
+          <parameter name="idx" type="guint" />
+          <parameter name="payloader" type="GstElement*" />
+          <parameter name="pad" type="GstPad*" />
+        </parameters>
+      </constructor>
+      <method name="AddMulticastClientAddress" cname="gst_rtsp_stream_add_multicast_client_address" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="destination" type="const-gchar*" />
+          <parameter name="rtp_port" type="guint" />
+          <parameter name="rtcp_port" type="guint" />
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="AddTransport" cname="gst_rtsp_stream_add_transport">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPStreamTransport*" />
+        </parameters>
+      </method>
+      <method name="AllocateUdpSockets" cname="gst_rtsp_stream_allocate_udp_sockets">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="use_client_settings" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="CompleteStream" cname="gst_rtsp_stream_complete_stream" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_stream_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_stream_get_buffer_size" version="1.6">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetCaps" cname="gst_rtsp_stream_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetControl" cname="gst_rtsp_stream_get_control">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetCurrentSeqnum" cname="gst_rtsp_stream_get_current_seqnum">
+        <return-type type="guint16" />
+        <parameters />
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_stream_get_dscp_qos">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetIndex" cname="gst_rtsp_stream_get_index">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetJoinedBin" cname="gst_rtsp_stream_get_joined_bin">
+        <return-type type="GstBin*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_stream_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMtu" cname="gst_rtsp_stream_get_mtu">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetMulticastAddress" cname="gst_rtsp_stream_get_multicast_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetMulticastClientAddresses" cname="gst_rtsp_stream_get_multicast_client_addresses" version="1.16">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_stream_get_multicast_iface">
+        <return-type type="gchar*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_stream_get_profiles">
+        <return-type type="GstRTSPProfile" />
+        <parameters />
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_stream_get_protocols">
+        <return-type type="GstRTSPLowerTrans" />
+        <parameters />
+      </method>
+      <method name="GetPt" cname="gst_rtsp_stream_get_pt">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_stream_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode" />
+        <parameters />
+      </method>
+      <method name="GetRateControl" cname="gst_rtsp_stream_get_rate_control" version="1.18">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetRates" cname="gst_rtsp_stream_get_rates" version="1.18">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="rate" type="gdouble" pass_as="out" />
+          <parameter allow-none="1" name="applied_rate" type="gdouble" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetRetransmissionPt" cname="gst_rtsp_stream_get_retransmission_pt">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_stream_get_retransmission_time">
+        <return-type type="guint64" />
+        <parameters />
+      </method>
+      <method name="GetRtcpMulticastSocket" cname="gst_rtsp_stream_get_rtcp_multicast_socket" version="1.14">
+        <return-type type="GSocket*" owned="true" />
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetRtcpSocket" cname="gst_rtsp_stream_get_rtcp_socket">
+        <return-type type="GSocket*" owned="true" />
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetRtpMulticastSocket" cname="gst_rtsp_stream_get_rtp_multicast_socket">
+        <return-type type="GSocket*" owned="true" />
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetRtpSocket" cname="gst_rtsp_stream_get_rtp_socket">
+        <return-type type="GSocket*" owned="true" />
+        <parameters>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetRtpinfo" cname="gst_rtsp_stream_get_rtpinfo">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="rtptime" type="guint" pass_as="out" />
+          <parameter allow-none="1" name="seq" type="guint" pass_as="out" />
+          <parameter allow-none="1" name="clock_rate" type="guint" pass_as="out" />
+          <parameter name="running_time" type="guint64" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetRtpsession" cname="gst_rtsp_stream_get_rtpsession">
+        <return-type type="GObject*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetServerPort" cname="gst_rtsp_stream_get_server_port">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="server_port" type="GstRTSPRange*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="family" type="GSocketFamily" />
+        </parameters>
+      </method>
+      <method name="GetSinkpad" cname="gst_rtsp_stream_get_sinkpad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSrcpad" cname="gst_rtsp_stream_get_srcpad">
+        <return-type type="GstPad*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSrtpEncoder" cname="gst_rtsp_stream_get_srtp_encoder">
+        <return-type type="GstElement*" owned="true" />
+        <parameters />
+      </method>
+      <method name="GetSsrc" cname="gst_rtsp_stream_get_ssrc">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="ssrc" type="guint*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="GetUlpfecEnabled" cname="gst_rtsp_stream_get_ulpfec_enabled">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="GetUlpfecPercentage" cname="gst_rtsp_stream_get_ulpfec_percentage" version="1.16">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="GetUlpfecPt" cname="gst_rtsp_stream_get_ulpfec_pt" version="1.16">
+        <return-type type="guint" />
+        <parameters />
+      </method>
+      <method name="HandleKeymgmt" cname="gst_rtsp_stream_handle_keymgmt" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="keymgmt" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="HasControl" cname="gst_rtsp_stream_has_control">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter allow-none="1" name="control" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_stream_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsBlocking" cname="gst_rtsp_stream_is_blocking">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsClientSide" cname="gst_rtsp_stream_is_client_side">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsComplete" cname="gst_rtsp_stream_is_complete" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsReceiver" cname="gst_rtsp_stream_is_receiver" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsSender" cname="gst_rtsp_stream_is_sender" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="IsTransportSupported" cname="gst_rtsp_stream_is_transport_supported">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="JoinBin" cname="gst_rtsp_stream_join_bin">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="bin" type="GstBin*" />
+          <parameter name="rtpbin" type="GstElement*" />
+          <parameter name="state" type="GstState" />
+        </parameters>
+      </method>
+      <method name="LeaveBin" cname="gst_rtsp_stream_leave_bin">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="bin" type="GstBin*" />
+          <parameter name="rtpbin" type="GstElement*" />
+        </parameters>
+      </method>
+      <method name="QueryPosition" cname="gst_rtsp_stream_query_position">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="position" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="QueryStop" cname="gst_rtsp_stream_query_stop">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="stop" type="gint64*" owned="true" pass_as="out" />
+        </parameters>
+      </method>
+      <method name="RecvRtcp" cname="gst_rtsp_stream_recv_rtcp">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RecvRtp" cname="gst_rtsp_stream_recv_rtp">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveTransport" cname="gst_rtsp_stream_remove_transport">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="trans" type="GstRTSPStreamTransport*" />
+        </parameters>
+      </method>
+      <method name="RequestAuxReceiver" cname="gst_rtsp_stream_request_aux_receiver" version="1.16">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="sessid" type="guint" />
+        </parameters>
+      </method>
+      <method name="RequestAuxSender" cname="gst_rtsp_stream_request_aux_sender" version="1.6">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="sessid" type="guint" />
+        </parameters>
+      </method>
+      <method name="RequestUlpfecDecoder" cname="gst_rtsp_stream_request_ulpfec_decoder" version="1.16">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="rtpbin" type="GstElement*" />
+          <parameter name="sessid" type="guint" />
+        </parameters>
+      </method>
+      <method name="RequestUlpfecEncoder" cname="gst_rtsp_stream_request_ulpfec_encoder" version="1.16">
+        <return-type type="GstElement*" owned="true" />
+        <parameters>
+          <parameter name="sessid" type="guint" />
+        </parameters>
+      </method>
+      <method name="ReserveAddress" cname="gst_rtsp_stream_reserve_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="address" type="const-gchar*" />
+          <parameter name="port" type="guint" />
+          <parameter name="n_ports" type="guint" />
+          <parameter name="ttl" type="guint" />
+        </parameters>
+      </method>
+      <method name="Seekable" cname="gst_rtsp_stream_seekable" version="1.14">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_stream_set_address_pool">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*" />
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_stream_set_bind_mcast_address" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBlocked" cname="gst_rtsp_stream_set_blocked">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="blocked" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_stream_set_buffer_size" version="1.6">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="size" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetClientSide" cname="gst_rtsp_stream_set_client_side">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="client_side" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetControl" cname="gst_rtsp_stream_set_control">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="control" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_stream_set_dscp_qos">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="dscp_qos" type="gint" />
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_stream_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ttl" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMtu" cname="gst_rtsp_stream_set_mtu">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mtu" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_stream_set_multicast_iface">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_stream_set_profiles">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile" />
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_stream_set_protocols">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans" />
+        </parameters>
+      </method>
+      <method name="SetPtMap" cname="gst_rtsp_stream_set_pt_map">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pt" type="guint" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_stream_set_publish_clock_mode" version="1.8">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode" />
+        </parameters>
+      </method>
+      <method name="SetRateControl" cname="gst_rtsp_stream_set_rate_control" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="enabled" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetRetransmissionPt" cname="gst_rtsp_stream_set_retransmission_pt">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="rtx_pt" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_stream_set_retransmission_time">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="SetSeqnumOffset" cname="gst_rtsp_stream_set_seqnum_offset">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="seqnum" type="guint16" />
+        </parameters>
+      </method>
+      <method name="SetUlpfecPercentage" cname="gst_rtsp_stream_set_ulpfec_percentage" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="percentage" type="guint" />
+        </parameters>
+      </method>
+      <method name="SetUlpfecPt" cname="gst_rtsp_stream_set_ulpfec_pt" version="1.16">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="pt" type="guint" />
+        </parameters>
+      </method>
+      <method name="TransportFilter" cname="gst_rtsp_stream_transport_filter">
+        <return-type type="GList*" element_type="GstRTSPStreamTransport*" elements_owned="true" owned="true" />
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPStreamTransportFilterFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+        </parameters>
+      </method>
+      <method name="UnblockLinked" cname="gst_rtsp_stream_unblock_linked">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="UnblockRtcp" cname="gst_rtsp_stream_unblock_rtcp" version="1.20">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="UpdateCrypto" cname="gst_rtsp_stream_update_crypto">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ssrc" type="guint" />
+          <parameter allow-none="1" name="crypto" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="VerifyMcastTtl" cname="gst_rtsp_stream_verify_mcast_ttl" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="ttl" type="guint" />
+        </parameters>
+      </method>
+      <property name="Control" cname="control" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false" />
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPStreamPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      <signal name="NewRtcpEncoder" cname="new-rtcp-encoder" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="NewRtpEncoder" cname="new-rtp-encoder" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstElement*" />
+        </parameters>
+      </signal>
+      <signal name="NewRtpRtcpDecoder" cname="new-rtp-rtcp-decoder" when="last">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="_object" type="GstElement*" />
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPStreamTransport" cname="GstRTSPStreamTransport" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPStreamTransportClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_stream_transport_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_stream_transport_new">
+        <parameters>
+          <parameter name="stream" type="GstRTSPStream*" />
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="GetRtpinfo" cname="gst_rtsp_stream_transport_get_rtpinfo">
+        <return-type type="gchar*" owned="true" />
+        <parameters>
+          <parameter name="start_time" type="guint64" />
+        </parameters>
+      </method>
+      <method name="GetStream" cname="gst_rtsp_stream_transport_get_stream">
+        <return-type type="GstRTSPStream*" />
+        <parameters />
+      </method>
+      <method name="GetTransport" cname="gst_rtsp_stream_transport_get_transport">
+        <return-type type="GstRTSPTransport*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="GetUrl" cname="gst_rtsp_stream_transport_get_url">
+        <return-type type="GstRTSPUrl*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IsTimedOut" cname="gst_rtsp_stream_transport_is_timed_out">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="KeepAlive" cname="gst_rtsp_stream_transport_keep_alive">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="MessageSent" cname="gst_rtsp_stream_transport_message_sent" version="1.16" hidden="true">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="RecvData" cname="gst_rtsp_stream_transport_recv_data">
+        <return-type type="GstFlowReturn" />
+        <parameters>
+          <parameter name="channel" type="guint" />
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtcp" cname="gst_rtsp_stream_transport_send_rtcp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtcpList" cname="gst_rtsp_stream_transport_send_rtcp_list" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtp" cname="gst_rtsp_stream_transport_send_rtp">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtpList" cname="gst_rtsp_stream_transport_send_rtp_list" version="1.16">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetActive" cname="gst_rtsp_stream_transport_set_active">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="active" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetCallbacks" cname="gst_rtsp_stream_transport_set_callbacks" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter scope="notified" name="send_rtp" type="GstRTSPSendFunc" />
+          <parameter closure="2" destroy="3" scope="notified" name="send_rtcp" type="GstRTSPSendFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetKeepalive" cname="gst_rtsp_stream_transport_set_keepalive">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="keep_alive" type="GstRTSPKeepAliveFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetListCallbacks" cname="gst_rtsp_stream_transport_set_list_callbacks" version="1.16" hidden="true">
+        <return-type type="void" />
+        <parameters>
+          <parameter scope="notified" name="send_rtp_list" type="GstRTSPSendListFunc" />
+          <parameter closure="2" destroy="3" scope="notified" name="send_rtcp_list" type="GstRTSPSendListFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetMessageSent" cname="gst_rtsp_stream_transport_set_message_sent">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="message_sent" type="GstRTSPMessageSentFunc" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetMessageSentFull" cname="gst_rtsp_stream_transport_set_message_sent_full" version="1.18">
+        <return-type type="void" />
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="message_sent" type="GstRTSPMessageSentFuncFull" />
+          <parameter allow-none="1" name="user_data" type="gpointer" />
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify" />
+        </parameters>
+      </method>
+      <method name="SetTimedOut" cname="gst_rtsp_stream_transport_set_timed_out">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="timedout" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetTransport" cname="gst_rtsp_stream_transport_set_transport">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetUrl" cname="gst_rtsp_stream_transport_set_url">
+        <return-type type="void" />
+        <parameters>
+          <parameter allow-none="1" name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPStreamTransportPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <object name="RTSPThreadPool" cname="GstRTSPThreadPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPThreadPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="pool" access="public" writeable="false" readable="true" is_callback="false" name="Pool" type="GThreadPool*">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_thread" />
+        <method vm="configure_thread" />
+        <method vm="thread_enter" />
+        <method vm="thread_leave" />
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_thread_pool_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <constructor cname="gst_rtsp_thread_pool_new" disable_void_ctor="" />
+      <method name="Cleanup" cname="gst_rtsp_thread_pool_cleanup" shared="true">
+        <return-type type="void" />
+      </method>
+      <virtual_method name="ConfigureThread" cname="configure_thread">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetThread" cname="get_thread">
+        <return-type type="GstRTSPThread*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ThreadEnter" cname="thread_enter">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ThreadLeave" cname="thread_leave">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="GetMaxThreads" cname="gst_rtsp_thread_pool_get_max_threads">
+        <return-type type="gint" />
+        <parameters />
+      </method>
+      <method name="GetThread" cname="gst_rtsp_thread_pool_get_thread">
+        <return-type type="GstRTSPThread*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetMaxThreads" cname="gst_rtsp_thread_pool_set_max_threads">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="max_threads" type="gint" />
+        </parameters>
+      </method>
+      <property name="MaxThreads" cname="max-threads" type="gint" readable="true" writeable="true" construct="false" construct-only="false" />
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" hidden="true" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPThreadPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer" padding="true" />
+    </object>
+    <boxed name="RTSPAddress" cname="GstRTSPAddress" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_address_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="pool" access="public" writeable="true" readable="true" is_callback="false" name="Pool" type="GstRTSPAddressPool*" />
+      <field cname="address" access="public" writeable="true" readable="true" is_callback="false" name="Address" type="gchar*" />
+      <field cname="port" access="public" writeable="true" readable="true" is_callback="false" name="Port" type="guint16" />
+      <field cname="n_ports" access="public" writeable="true" readable="true" is_callback="false" name="NPorts" type="gint" />
+      <field cname="ttl" access="public" writeable="true" readable="true" is_callback="false" name="Ttl" type="guint8" />
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="gpointer" />
+      <method name="Copy" cname="gst_rtsp_address_copy">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="Free" cname="gst_rtsp_address_free">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="RTSPAddressPoolPrivate" cname="GstRTSPAddressPoolPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPAuthPrivate" cname="GstRTSPAuthPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPClientPrivate" cname="GstRTSPClientPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPContext" cname="GstRTSPContext" opaque="false" hidden="false">
+      <field cname="server" access="public" writeable="true" readable="true" is_callback="false" name="Server" type="GstRTSPServer*" />
+      <field cname="conn" access="public" writeable="true" readable="true" is_callback="false" name="Conn" type="GstRTSPConnection*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="client" access="public" writeable="true" readable="true" is_callback="false" name="Client" type="GstRTSPClient*" />
+      <field cname="request" access="public" writeable="true" readable="true" is_callback="false" name="Request" type="GstRTSPMessage*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="uri" access="public" writeable="true" readable="true" is_callback="false" name="Uri" type="GstRTSPUrl*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="method" access="public" writeable="true" readable="true" is_callback="false" name="Method" type="GstRTSPMethod" />
+      <field cname="auth" access="public" writeable="true" readable="true" is_callback="false" name="Auth" type="GstRTSPAuth*" />
+      <field cname="token" access="public" writeable="true" readable="true" is_callback="false" name="Token" type="GstRTSPToken*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="session" access="public" writeable="true" readable="true" is_callback="false" name="Session" type="GstRTSPSession*" />
+      <field cname="sessmedia" access="public" writeable="true" readable="true" is_callback="false" name="Sessmedia" type="GstRTSPSessionMedia*" />
+      <field cname="factory" access="public" writeable="true" readable="true" is_callback="false" name="Factory" type="GstRTSPMediaFactory*" />
+      <field cname="media" access="public" writeable="true" readable="true" is_callback="false" name="Media" type="GstRTSPMedia*" />
+      <field cname="stream" access="public" writeable="true" readable="true" is_callback="false" name="Stream" type="GstRTSPStream*" />
+      <field cname="response" access="public" writeable="true" readable="true" is_callback="false" name="Response" type="GstRTSPMessage*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="trans" access="public" writeable="true" readable="true" is_callback="false" name="Trans" type="GstRTSPStreamTransport*" />
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" element_type="gpointer" padding="true" />
+      <method name="PopCurrent" cname="gst_rtsp_context_pop_current">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="PushCurrent" cname="gst_rtsp_context_push_current">
+        <return-type type="void" />
+        <parameters />
+      </method>
+      <method name="SetToken" cname="gst_rtsp_context_set_token" version="1.22">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTSPMediaFactoryPrivate" cname="GstRTSPMediaFactoryPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPMediaFactoryURIPrivate" cname="GstRTSPMediaFactoryURIPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPMediaPrivate" cname="GstRTSPMediaPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPMountPointsPrivate" cname="GstRTSPMountPointsPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPOnvifMediaFactoryPrivate" cname="GstRTSPOnvifMediaFactoryPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPOnvifMediaPrivate" cname="GstRTSPOnvifMediaPrivate" opaque="true" hidden="true" />
+    <boxed name="RTSPPermissions" cname="GstRTSPPermissions" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_rtsp_permissions_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_permissions_new" disable_void_ctor="" />
+      <method name="AddPermissionForRole" cname="gst_rtsp_permissions_add_permission_for_role" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="role" type="const-gchar*" />
+          <parameter name="permission" type="const-gchar*" />
+          <parameter name="allowed" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="AddRoleEmpty" cname="gst_rtsp_permissions_add_role_empty" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="role" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="AddRoleFromStructure" cname="gst_rtsp_permissions_add_role_from_structure" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetRole" cname="gst_rtsp_permissions_get_role">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="role" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="IsAllowed" cname="gst_rtsp_permissions_is_allowed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="role" type="const-gchar*" />
+          <parameter name="permission" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="RemoveRole" cname="gst_rtsp_permissions_remove_role">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="role" type="const-gchar*" />
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="RTSPServerPrivate" cname="GstRTSPServerPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPSessionMediaPrivate" cname="GstRTSPSessionMediaPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPSessionPoolPrivate" cname="GstRTSPSessionPoolPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPSessionPrivate" cname="GstRTSPSessionPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPStreamPrivate" cname="GstRTSPStreamPrivate" opaque="true" hidden="true" />
+    <struct name="RTSPStreamTransportPrivate" cname="GstRTSPStreamTransportPrivate" opaque="true" hidden="true" />
+    <boxed name="RTSPThread" cname="GstRTSPThread" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_rtsp_thread_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstRTSPThreadType" />
+      <field cname="context" access="public" writeable="true" readable="true" is_callback="false" name="Context" type="GMainContext*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="loop" access="public" writeable="true" readable="true" is_callback="false" name="Loop" type="GMainLoop*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_thread_new">
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType" />
+        </parameters>
+      </constructor>
+      <method name="Reuse" cname="gst_rtsp_thread_reuse">
+        <return-type type="gboolean" />
+        <parameters />
+      </method>
+      <method name="Stop" cname="gst_rtsp_thread_stop">
+        <return-type type="void" />
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="RTSPThreadPoolPrivate" cname="GstRTSPThreadPoolPrivate" opaque="true" hidden="true" />
+    <boxed name="RTSPToken" cname="GstRTSPToken" opaque="true" hidden="false" parent="GstMiniObject">
+      <method name="GetType" cname="gst_rtsp_token_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject" hidden="true">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_token_new_empty" disable_void_ctor="" />
+      <method name="GetString" cname="gst_rtsp_token_get_string">
+        <return-type type="const-gchar*" />
+        <parameters>
+          <parameter name="field" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="GetStructure" cname="gst_rtsp_token_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+      <method name="IsAllowed" cname="gst_rtsp_token_is_allowed">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="field" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="SetBool" cname="gst_rtsp_token_set_bool" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="field" type="const-gchar*" />
+          <parameter name="bool_value" type="gboolean" />
+        </parameters>
+      </method>
+      <method name="SetString" cname="gst_rtsp_token_set_string" version="1.14">
+        <return-type type="void" />
+        <parameters>
+          <parameter name="field" type="const-gchar*" />
+          <parameter name="string_value" type="const-gchar*" />
+        </parameters>
+      </method>
+      <method name="WritableStructure" cname="gst_rtsp_token_writable_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters />
+      </method>
+    </boxed>
+    <struct name="SDPInfo" cname="GstSDPInfo" opaque="false" hidden="false">
+      <field cname="is_ipv6" access="public" writeable="true" readable="true" is_callback="false" name="IsIpv6" type="gboolean" />
+      <field cname="server_ip" access="public" writeable="true" readable="true" is_callback="false" name="ServerIp" type="gchar*" />
+    </struct>
+    <object name="Global" cname="GstRtspServerGlobal" opaque="true">
+      <method name="RtspContextGetType" cname="gst_rtsp_context_get_type" shared="true">
+        <return-type type="GType" />
+      </method>
+      <method name="RtspParamsGet" cname="gst_rtsp_params_get" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="client" type="GstRTSPClient*" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspParamsSet" cname="gst_rtsp_params_set" shared="true">
+        <return-type type="GstRTSPResult" />
+        <parameters>
+          <parameter name="client" type="GstRTSPClient*" />
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspSdpFromMedia" cname="gst_rtsp_sdp_from_media" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstRTSPMedia*" />
+        </parameters>
+      </method>
+      <method name="RtspSdpFromStream" cname="gst_rtsp_sdp_from_stream" shared="true">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="stream" type="GstRTSPStream*" />
+        </parameters>
+      </method>
+      <method name="RtspSdpMakeMedia" cname="gst_rtsp_sdp_make_media" shared="true" version="1.14">
+        <return-type type="gboolean" />
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="stream" type="GstRTSPStream*" />
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="profile" type="GstRTSPProfile" />
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstRtspServerConstants" opaque="true">
+      <constant value="0.0.0.0" ctype="gchar*" gtype="gchar*" name="RTSP_ADDRESS_POOL_ANY_IPV4" />
+      <constant value="::" ctype="gchar*" gtype="gchar*" name="RTSP_ADDRESS_POOL_ANY_IPV6" />
+      <constant value="auth.check.connect" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_CONNECT" />
+      <constant value="auth.check.media.factory.access" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS" />
+      <constant value="auth.check.media.factory.construct" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT" />
+      <constant value="auth.check.transport.client-settings" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS" />
+      <constant value="auth.check.url" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_URL" />
+      <constant value="www.onvif.org/ver20/backchannel" ctype="gchar*" gtype="gchar*" name="RTSP_ONVIF_BACKCHANNEL_REQUIREMENT" />
+      <constant value="onvif-replay" ctype="gchar*" gtype="gchar*" name="RTSP_ONVIF_REPLAY_REQUIREMENT" />
+      <constant value="media.factory.access" ctype="gchar*" gtype="gchar*" name="RTSP_PERM_MEDIA_FACTORY_ACCESS" />
+      <constant value="media.factory.construct" ctype="gchar*" gtype="gchar*" name="RTSP_PERM_MEDIA_FACTORY_CONSTRUCT" />
+      <constant value="media.factory.role" ctype="gchar*" gtype="gchar*" name="RTSP_TOKEN_MEDIA_FACTORY_ROLE" />
+      <constant value="transport.client-settings" ctype="gchar*" gtype="gchar*" name="RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS" />
+    </object>
+  </namespace>
 </api>
\ No newline at end of file
index 9c56183de2079fbdc43404d17fd8fc77126f1486..ba55011cd52d9eee6a07fc449316eede20d7fb95 100644 (file)
@@ -262,6 +262,102 @@ generated_sources = [
     'Gst.Rtsp/RTSPWatch.cs',
     'Gst.Rtsp/RTSPWatchFuncs.cs',
     'Gst.Rtsp/SendEventHandler.cs',
+    'Gst.RtspServer/AcceptCertificateHandler.cs',
+    'Gst.RtspServer/AnnounceRequestHandler.cs',
+    'Gst.RtspServer/ClientConnectedHandler.cs',
+    'Gst.RtspServer/Constants.cs',
+    'Gst.RtspServer/DescribeRequestHandler.cs',
+    'Gst.RtspServer/GetParameterRequestHandler.cs',
+    'Gst.RtspServer/Global.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSendMessagesFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPClientSessionFilterFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPKeepAliveFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncFullNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPMessageSentFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPSendFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPSendListFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPServerClientFilterFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionFilterFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPSessionPoolFuncNative.cs',
+    'Gst.RtspServer/Gst.RtspServerSharp.RTSPStreamTransportFilterFuncNative.cs',
+    'Gst.RtspServer/HandleMessageHandler.cs',
+    'Gst.RtspServer/HandleResponseHandler.cs',
+    'Gst.RtspServer/MediaConfigureHandler.cs',
+    'Gst.RtspServer/MediaConstructedHandler.cs',
+    'Gst.RtspServer/NewRtcpEncoderHandler.cs',
+    'Gst.RtspServer/NewRtpEncoderHandler.cs',
+    'Gst.RtspServer/NewRtpRtcpDecoderHandler.cs',
+    'Gst.RtspServer/NewSessionHandler.cs',
+    'Gst.RtspServer/NewStateHandler.cs',
+    'Gst.RtspServer/NewStreamHandler.cs',
+    'Gst.RtspServer/OptionsRequestHandler.cs',
+    'Gst.RtspServer/PauseRequestHandler.cs',
+    'Gst.RtspServer/PlayRequestHandler.cs',
+    'Gst.RtspServer/PreAnnounceRequestHandler.cs',
+    'Gst.RtspServer/PreDescribeRequestHandler.cs',
+    'Gst.RtspServer/PreGetParameterRequestHandler.cs',
+    'Gst.RtspServer/PreOptionsRequestHandler.cs',
+    'Gst.RtspServer/PrePauseRequestHandler.cs',
+    'Gst.RtspServer/PrePlayRequestHandler.cs',
+    'Gst.RtspServer/PreRecordRequestHandler.cs',
+    'Gst.RtspServer/PreSetParameterRequestHandler.cs',
+    'Gst.RtspServer/PreSetupRequestHandler.cs',
+    'Gst.RtspServer/PreTeardownRequestHandler.cs',
+    'Gst.RtspServer/RTSPAddress.cs',
+    'Gst.RtspServer/RTSPAddressFlags.cs',
+    'Gst.RtspServer/RTSPAddressPool.cs',
+    'Gst.RtspServer/RTSPAddressPoolResult.cs',
+    'Gst.RtspServer/RTSPAuth.cs',
+    'Gst.RtspServer/RTSPClient.cs',
+    'Gst.RtspServer/RTSPClientSendFunc.cs',
+    'Gst.RtspServer/RTSPClientSendMessagesFunc.cs',
+    'Gst.RtspServer/RTSPClientSessionFilterFunc.cs',
+    'Gst.RtspServer/RTSPContext.cs',
+    'Gst.RtspServer/RTSPFilterResult.cs',
+    'Gst.RtspServer/RTSPKeepAliveFunc.cs',
+    'Gst.RtspServer/RTSPMedia.cs',
+    'Gst.RtspServer/RTSPMediaFactory.cs',
+    'Gst.RtspServer/RTSPMediaFactoryURI.cs',
+    'Gst.RtspServer/RTSPMediaStatus.cs',
+    'Gst.RtspServer/RTSPMessageSentFunc.cs',
+    'Gst.RtspServer/RTSPMessageSentFuncFull.cs',
+    'Gst.RtspServer/RTSPMountPoints.cs',
+    'Gst.RtspServer/RTSPOnvifClient.cs',
+    'Gst.RtspServer/RTSPOnvifMedia.cs',
+    'Gst.RtspServer/RTSPOnvifMediaFactory.cs',
+    'Gst.RtspServer/RTSPOnvifServer.cs',
+    'Gst.RtspServer/RTSPPermissions.cs',
+    'Gst.RtspServer/RTSPPublishClockMode.cs',
+    'Gst.RtspServer/RTSPSendFunc.cs',
+    'Gst.RtspServer/RTSPSendListFunc.cs',
+    'Gst.RtspServer/RTSPServer.cs',
+    'Gst.RtspServer/RTSPServerClientFilterFunc.cs',
+    'Gst.RtspServer/RTSPSession.cs',
+    'Gst.RtspServer/RTSPSessionFilterFunc.cs',
+    'Gst.RtspServer/RTSPSessionMedia.cs',
+    'Gst.RtspServer/RTSPSessionPool.cs',
+    'Gst.RtspServer/RTSPSessionPoolFilterFunc.cs',
+    'Gst.RtspServer/RTSPSessionPoolFunc.cs',
+    'Gst.RtspServer/RTSPStream.cs',
+    'Gst.RtspServer/RTSPStreamTransport.cs',
+    'Gst.RtspServer/RTSPStreamTransportFilterFunc.cs',
+    'Gst.RtspServer/RTSPSuspendMode.cs',
+    'Gst.RtspServer/RTSPThread.cs',
+    'Gst.RtspServer/RTSPThreadPool.cs',
+    'Gst.RtspServer/RTSPThreadType.cs',
+    'Gst.RtspServer/RTSPToken.cs',
+    'Gst.RtspServer/RTSPTransportMode.cs',
+    'Gst.RtspServer/RecordRequestHandler.cs',
+    'Gst.RtspServer/RemovedStreamHandler.cs',
+    'Gst.RtspServer/SDPInfo.cs',
+    'Gst.RtspServer/SendMessageEventHandler.cs',
+    'Gst.RtspServer/SessionRemovedHandler.cs',
+    'Gst.RtspServer/SetParameterRequestHandler.cs',
+    'Gst.RtspServer/SetupRequestHandler.cs',
+    'Gst.RtspServer/TargetStateHandler.cs',
+    'Gst.RtspServer/TeardownRequestHandler.cs',
     'Gst.Sdp/Constants.cs',
     'Gst.Sdp/Global.cs',
     'Gst.Sdp/MIKEYCacheType.cs',
index 896050f4ba5006af1d22d058a018c27cb9fcb1ce..804235c58afba0cf08f6fcb8566d6f1ea7cf4b10 100644 (file)
     </object>
     <object name="Constants" cname="GstWebRTCConstants" opaque="true"/>
   </namespace>
+  <namespace name="GstRtspServer" library="gstrtspserver-1.0">
+    <enum name="RTSPAddressPoolResult" cname="GstRTSPAddressPoolResult" type="enum">
+      <member cname="GST_RTSP_ADDRESS_POOL_ELAST" name="Elast" value="-4"/>
+      <member cname="GST_RTSP_ADDRESS_POOL_ERANGE" name="Erange" value="-3"/>
+      <member cname="GST_RTSP_ADDRESS_POOL_ERESERVED" name="Ereserved" value="-2"/>
+      <member cname="GST_RTSP_ADDRESS_POOL_EINVAL" name="Einval" value="-1"/>
+      <member cname="GST_RTSP_ADDRESS_POOL_OK" name="Ok" value="0"/>
+    </enum>
+    <enum name="RTSPFilterResult" cname="GstRTSPFilterResult" type="enum">
+      <member cname="GST_RTSP_FILTER_REMOVE" name="Remove" value="0"/>
+      <member cname="GST_RTSP_FILTER_KEEP" name="Keep" value="1"/>
+      <member cname="GST_RTSP_FILTER_REF" name="Ref" value="2"/>
+    </enum>
+    <enum name="RTSPMediaStatus" cname="GstRTSPMediaStatus" type="enum">
+      <member cname="GST_RTSP_MEDIA_STATUS_UNPREPARED" name="Unprepared" value="0"/>
+      <member cname="GST_RTSP_MEDIA_STATUS_UNPREPARING" name="Unpreparing" value="1"/>
+      <member cname="GST_RTSP_MEDIA_STATUS_PREPARING" name="Preparing" value="2"/>
+      <member cname="GST_RTSP_MEDIA_STATUS_PREPARED" name="Prepared" value="3"/>
+      <member cname="GST_RTSP_MEDIA_STATUS_SUSPENDED" name="Suspended" value="4"/>
+      <member cname="GST_RTSP_MEDIA_STATUS_ERROR" name="Error" value="5"/>
+    </enum>
+    <enum name="RTSPPublishClockMode" cname="GstRTSPPublishClockMode" type="enum" gtype="gst_rtsp_publish_clock_mode_get_type">
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_NONE" name="None" value="0"/>
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK" name="Clock" value="1"/>
+      <member cname="GST_RTSP_PUBLISH_CLOCK_MODE_CLOCK_AND_OFFSET" name="ClockAndOffset" value="2"/>
+    </enum>
+    <enum name="RTSPSuspendMode" cname="GstRTSPSuspendMode" type="enum" gtype="gst_rtsp_suspend_mode_get_type">
+      <member cname="GST_RTSP_SUSPEND_MODE_NONE" name="None" value="0"/>
+      <member cname="GST_RTSP_SUSPEND_MODE_PAUSE" name="Pause" value="1"/>
+      <member cname="GST_RTSP_SUSPEND_MODE_RESET" name="Reset" value="2"/>
+    </enum>
+    <enum name="RTSPThreadType" cname="GstRTSPThreadType" type="enum">
+      <member cname="GST_RTSP_THREAD_TYPE_CLIENT" name="Client" value="0"/>
+      <member cname="GST_RTSP_THREAD_TYPE_MEDIA" name="Media" value="1"/>
+    </enum>
+    <enum name="RTSPAddressFlags" cname="GstRTSPAddressFlags" type="flags">
+      <member cname="GST_RTSP_ADDRESS_FLAG_NONE" name="None" value="0"/>
+      <member cname="GST_RTSP_ADDRESS_FLAG_IPV4" name="Ipv4" value="1"/>
+      <member cname="GST_RTSP_ADDRESS_FLAG_IPV6" name="Ipv6" value="2"/>
+      <member cname="GST_RTSP_ADDRESS_FLAG_EVEN_PORT" name="EvenPort" value="4"/>
+      <member cname="GST_RTSP_ADDRESS_FLAG_MULTICAST" name="Multicast" value="8"/>
+      <member cname="GST_RTSP_ADDRESS_FLAG_UNICAST" name="Unicast" value="16"/>
+    </enum>
+    <enum name="RTSPTransportMode" cname="GstRTSPTransportMode" type="flags" gtype="gst_rtsp_transport_mode_get_type">
+      <member cname="GST_RTSP_TRANSPORT_MODE_PLAY" name="Play" value="1"/>
+      <member cname="GST_RTSP_TRANSPORT_MODE_RECORD" name="Record" value="2"/>
+    </enum>
+    <callback name="RTSPClientSendFunc" cname="GstRTSPClientSendFunc">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*"/>
+        <parameter name="message" type="GstRTSPMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="close" type="gboolean"/>
+        <parameter allow-none="1" closure="3" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPClientSendMessagesFunc" cname="GstRTSPClientSendMessagesFunc" version="1.16">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*"/>
+        <parameter name="messages" type="GstRTSPMessage*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="n_messages" type="guint"/>
+        <parameter name="close" type="gboolean"/>
+        <parameter allow-none="1" closure="4" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPClientSessionFilterFunc" cname="GstRTSPClientSessionFilterFunc">
+      <return-type type="GstRTSPFilterResult"/>
+      <parameters>
+        <parameter name="client" type="GstRTSPClient*"/>
+        <parameter name="sess" type="GstRTSPSession*"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPKeepAliveFunc" cname="GstRTSPKeepAliveFunc">
+      <return-type type="void"/>
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPMessageSentFunc" cname="GstRTSPMessageSentFunc">
+      <return-type type="void"/>
+      <parameters>
+        <parameter allow-none="1" closure="0" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPMessageSentFuncFull" cname="GstRTSPMessageSentFuncFull" version="1.18">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="trans" type="GstRTSPStreamTransport*"/>
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPSendFunc" cname="GstRTSPSendFunc">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="buffer" type="GstBuffer*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="channel" type="guint8"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPSendListFunc" cname="GstRTSPSendListFunc" version="1.16">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="buffer_list" type="GstBufferList*">
+          <warning>missing glib:type-name</warning>
+        </parameter>
+        <parameter name="channel" type="guint8"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPServerClientFilterFunc" cname="GstRTSPServerClientFilterFunc">
+      <return-type type="GstRTSPFilterResult"/>
+      <parameters>
+        <parameter name="server" type="GstRTSPServer*"/>
+        <parameter name="client" type="GstRTSPClient*"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionFilterFunc" cname="GstRTSPSessionFilterFunc">
+      <return-type type="GstRTSPFilterResult"/>
+      <parameters>
+        <parameter name="sess" type="GstRTSPSession*"/>
+        <parameter name="media" type="GstRTSPSessionMedia*"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionPoolFilterFunc" cname="GstRTSPSessionPoolFilterFunc">
+      <return-type type="GstRTSPFilterResult"/>
+      <parameters>
+        <parameter name="pool" type="GstRTSPSessionPool*"/>
+        <parameter name="session" type="GstRTSPSession*"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPSessionPoolFunc" cname="GstRTSPSessionPoolFunc">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="pool" type="GstRTSPSessionPool*"/>
+        <parameter allow-none="1" closure="1" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="RTSPStreamTransportFilterFunc" cname="GstRTSPStreamTransportFilterFunc">
+      <return-type type="GstRTSPFilterResult"/>
+      <parameters>
+        <parameter name="stream" type="GstRTSPStream*"/>
+        <parameter name="trans" type="GstRTSPStreamTransport*"/>
+        <parameter allow-none="1" closure="2" name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <object name="RTSPAddressPool" cname="GstRTSPAddressPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPAddressPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_address_pool_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_address_pool_new" disable_void_ctor=""/>
+      <method name="AcquireAddress" cname="gst_rtsp_address_pool_acquire_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="flags" type="GstRTSPAddressFlags"/>
+          <parameter name="n_ports" type="gint"/>
+        </parameters>
+      </method>
+      <method name="AddRange" cname="gst_rtsp_address_pool_add_range">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="min_address" type="const-gchar*"/>
+          <parameter name="max_address" type="const-gchar*"/>
+          <parameter name="min_port" type="guint16"/>
+          <parameter name="max_port" type="guint16"/>
+          <parameter name="ttl" type="guint8"/>
+        </parameters>
+      </method>
+      <method name="Clear" cname="gst_rtsp_address_pool_clear">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="Dump" cname="gst_rtsp_address_pool_dump">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="HasUnicastAddresses" cname="gst_rtsp_address_pool_has_unicast_addresses">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="ReserveAddress" cname="gst_rtsp_address_pool_reserve_address">
+        <return-type type="GstRTSPAddressPoolResult"/>
+        <parameters>
+          <parameter name="ip_address" type="const-gchar*"/>
+          <parameter name="port" type="guint"/>
+          <parameter name="n_ports" type="guint"/>
+          <parameter name="ttl" type="guint"/>
+          <parameter name="address" type="GstRTSPAddress**" owned="true" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPAddressPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPAuth" cname="GstRTSPAuth" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPAuthClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="authenticate"/>
+        <method vm="check"/>
+        <method vm="generate_authenticate_header"/>
+        <method signal_vm="accept_certificate"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_auth_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_auth_new" disable_void_ctor=""/>
+      <method name="Check" cname="gst_rtsp_auth_check" shared="true">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="check" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="MakeBasic" cname="gst_rtsp_auth_make_basic" shared="true">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="user" type="const-gchar*"/>
+          <parameter name="pass" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <virtual_method name="Authenticate" cname="authenticate">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Check" cname="check">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="check" type="const-gchar*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GenerateAuthenticateHeader" cname="generate_authenticate_header">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddBasic" cname="gst_rtsp_auth_add_basic">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="basic" type="const-gchar*"/>
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="AddDigest" cname="gst_rtsp_auth_add_digest" version="1.12">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="user" type="const-gchar*"/>
+          <parameter name="pass" type="const-gchar*"/>
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetDefaultToken" cname="gst_rtsp_auth_get_default_token">
+        <return-type type="GstRTSPToken*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetRealm" cname="gst_rtsp_auth_get_realm" version="1.16">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSupportedMethods" cname="gst_rtsp_auth_get_supported_methods" version="1.12">
+        <return-type type="GstRTSPAuthMethod"/>
+        <parameters/>
+      </method>
+      <method name="GetTlsAuthenticationMode" cname="gst_rtsp_auth_get_tls_authentication_mode">
+        <return-type type="GTlsAuthenticationMode" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetTlsCertificate" cname="gst_rtsp_auth_get_tls_certificate">
+        <return-type type="GTlsCertificate*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetTlsDatabase" cname="gst_rtsp_auth_get_tls_database" version="1.6">
+        <return-type type="GTlsDatabase*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="ParseHtdigest" cname="gst_rtsp_auth_parse_htdigest" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="path" type="const-gfilename*"/>
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveBasic" cname="gst_rtsp_auth_remove_basic">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="basic" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="RemoveDigest" cname="gst_rtsp_auth_remove_digest" version="1.12">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="user" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetDefaultToken" cname="gst_rtsp_auth_set_default_token">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetRealm" cname="gst_rtsp_auth_set_realm" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="realm" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetSupportedMethods" cname="gst_rtsp_auth_set_supported_methods" version="1.12">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="methods" type="GstRTSPAuthMethod"/>
+        </parameters>
+      </method>
+      <method name="SetTlsAuthenticationMode" cname="gst_rtsp_auth_set_tls_authentication_mode" version="1.6">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GTlsAuthenticationMode"/>
+        </parameters>
+      </method>
+      <method name="SetTlsCertificate" cname="gst_rtsp_auth_set_tls_certificate">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="cert" type="GTlsCertificate*"/>
+        </parameters>
+      </method>
+      <method name="SetTlsDatabase" cname="gst_rtsp_auth_set_tls_database" version="1.6">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="database" type="GTlsDatabase*"/>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPAuthPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="AcceptCertificate" cname="accept-certificate" when="last" field_name="accept_certificate" version="1.6">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="connection" type="GTlsConnection*"/>
+          <parameter name="peer_cert" type="GTlsCertificate*"/>
+          <parameter name="errors" type="GTlsCertificateFlags"/>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPClient" cname="GstRTSPClient" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPClientClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_sdp"/>
+        <method vm="configure_client_media"/>
+        <method vm="configure_client_transport"/>
+        <method vm="params_set"/>
+        <method vm="params_get"/>
+        <method vm="make_path_from_uri"/>
+        <method vm="adjust_play_mode"/>
+        <method vm="adjust_play_response"/>
+        <method signal_vm="closed"/>
+        <method signal_vm="new_session"/>
+        <method signal_vm="options_request"/>
+        <method signal_vm="describe_request"/>
+        <method signal_vm="setup_request"/>
+        <method signal_vm="play_request"/>
+        <method signal_vm="pause_request"/>
+        <method signal_vm="teardown_request"/>
+        <method signal_vm="set_parameter_request"/>
+        <method signal_vm="get_parameter_request"/>
+        <method signal_vm="handle_response"/>
+        <method vm="tunnel_http_response"/>
+        <method signal_vm="send_message"/>
+        <method vm="handle_sdp"/>
+        <method signal_vm="announce_request"/>
+        <method signal_vm="record_request"/>
+        <method signal_vm="check_requirements"/>
+        <method signal_vm="pre_options_request"/>
+        <method signal_vm="pre_describe_request"/>
+        <method signal_vm="pre_setup_request"/>
+        <method signal_vm="pre_play_request"/>
+        <method signal_vm="pre_pause_request"/>
+        <method signal_vm="pre_teardown_request"/>
+        <method signal_vm="pre_set_parameter_request"/>
+        <method signal_vm="pre_get_parameter_request"/>
+        <method signal_vm="pre_announce_request"/>
+        <method signal_vm="pre_record_request"/>
+        <method vm="adjust_error_code"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="1" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_client_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_client_new" disable_void_ctor=""/>
+      <virtual_method name="AdjustErrorCode" cname="adjust_error_code" version="1.22">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="code" type="GstRTSPStatusCode"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="AdjustPlayMode" cname="adjust_play_mode">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="context" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="range" type="GstRTSPTimeRange**">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags"/>
+          <parameter name="rate" type="gdouble"/>
+          <parameter name="trickmode_interval" type="guint64"/>
+          <parameter name="enable_rate_control" type="gboolean"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="AdjustPlayResponse" cname="adjust_play_response">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="context" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ConfigureClientMedia" cname="configure_client_media">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*"/>
+          <parameter name="stream" type="GstRTSPStream*"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ConfigureClientTransport" cname="configure_client_transport">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="ct" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateSdp" cname="create_sdp">
+        <return-type type="GstSDPMessage*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="HandleSdp" cname="handle_sdp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstRTSPMedia*"/>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="MakePathFromUri" cname="make_path_from_uri">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="uri" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParamsGet" cname="params_get">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ParamsSet" cname="params_set">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="TunnelHttpResponse" cname="tunnel_http_response">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="request" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="response" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="Attach" cname="gst_rtsp_client_attach">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter allow-none="1" name="context" type="GMainContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Close" cname="gst_rtsp_client_close" version="1.4">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="GetAuth" cname="gst_rtsp_client_get_auth">
+        <return-type type="GstRTSPAuth*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetConnection" cname="gst_rtsp_client_get_connection">
+        <return-type type="GstRTSPConnection*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetContentLengthLimit" cname="gst_rtsp_client_get_content_length_limit" version="1.18">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMountPoints" cname="gst_rtsp_client_get_mount_points">
+        <return-type type="GstRTSPMountPoints*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSessionPool" cname="gst_rtsp_client_get_session_pool">
+        <return-type type="GstRTSPSessionPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetStreamTransport" cname="gst_rtsp_client_get_stream_transport" version="1.18">
+        <return-type type="GstRTSPStreamTransport*"/>
+        <parameters>
+          <parameter name="channel" type="guint8"/>
+        </parameters>
+      </method>
+      <method name="GetThreadPool" cname="gst_rtsp_client_get_thread_pool">
+        <return-type type="GstRTSPThreadPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="HandleMessage" cname="gst_rtsp_client_handle_message">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendMessage" cname="gst_rtsp_client_send_message">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter allow-none="1" name="session" type="GstRTSPSession*"/>
+          <parameter name="message" type="GstRTSPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SessionFilter" cname="gst_rtsp_client_session_filter">
+        <return-type type="GList*" element_type="GstRTSPSession*" elements_owned="true" owned="true"/>
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPClientSessionFilterFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="SetAuth" cname="gst_rtsp_client_set_auth">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="auth" type="GstRTSPAuth*"/>
+        </parameters>
+      </method>
+      <method name="SetConnection" cname="gst_rtsp_client_set_connection">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="conn" type="GstRTSPConnection*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetContentLengthLimit" cname="gst_rtsp_client_set_content_length_limit" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="limit" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMountPoints" cname="gst_rtsp_client_set_mount_points">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="mounts" type="GstRTSPMountPoints*"/>
+        </parameters>
+      </method>
+      <method name="SetSendFunc" cname="gst_rtsp_client_set_send_func">
+        <return-type type="void"/>
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstRTSPClientSendFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetSendMessagesFunc" cname="gst_rtsp_client_set_send_messages_func" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="func" type="GstRTSPClientSendMessagesFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetSessionPool" cname="gst_rtsp_client_set_session_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPSessionPool*"/>
+        </parameters>
+      </method>
+      <method name="SetThreadPool" cname="gst_rtsp_client_set_thread_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPThreadPool*"/>
+        </parameters>
+      </method>
+      <property name="DropBacklog" cname="drop-backlog" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="MountPoints" cname="mount-points" type="GstRTSPMountPoints*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="PostSessionTimeout" cname="post-session-timeout" type="gint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="SessionPool" cname="session-pool" type="GstRTSPSessionPool*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPClientPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="AnnounceRequest" cname="announce-request" when="last" field_name="announce_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="CheckRequirements" cname="check-requirements" when="last" field_name="check_requirements" version="1.6">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="arr" type="" array="true" null_term_array="true" element_type="gchar*"/>
+        </parameters>
+      </signal>
+      <signal name="Closed" cname="closed" when="last" field_name="closed">
+        <return-type type="void"/>
+        <parameters/>
+      </signal>
+      <signal name="DescribeRequest" cname="describe-request" when="last" field_name="describe_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="GetParameterRequest" cname="get-parameter-request" when="last" field_name="get_parameter_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="HandleResponse" cname="handle-response" when="last" field_name="handle_response">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="NewSession" cname="new-session" when="last" field_name="new_session">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPSession*"/>
+        </parameters>
+      </signal>
+      <signal name="OptionsRequest" cname="options-request" when="last" field_name="options_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PauseRequest" cname="pause-request" when="last" field_name="pause_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PlayRequest" cname="play-request" when="last" field_name="play_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreAnnounceRequest" cname="pre-announce-request" when="last" field_name="pre_announce_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreDescribeRequest" cname="pre-describe-request" when="last" field_name="pre_describe_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreGetParameterRequest" cname="pre-get-parameter-request" when="last" field_name="pre_get_parameter_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreOptionsRequest" cname="pre-options-request" when="last" field_name="pre_options_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PrePauseRequest" cname="pre-pause-request" when="last" field_name="pre_pause_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PrePlayRequest" cname="pre-play-request" when="last" field_name="pre_play_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreRecordRequest" cname="pre-record-request" when="last" field_name="pre_record_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreSetParameterRequest" cname="pre-set-parameter-request" when="last" field_name="pre_set_parameter_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreSetupRequest" cname="pre-setup-request" when="last" field_name="pre_setup_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="PreTeardownRequest" cname="pre-teardown-request" when="last" field_name="pre_teardown_request" version="1.12">
+        <return-type type="GstRTSPStatusCode"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="RecordRequest" cname="record-request" when="last" field_name="record_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="SendMessageEvent" cname="send-message" when="last" field_name="send_message">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="session" type="GstRTSPSession*"/>
+          <parameter name="message" type="gpointer">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+        <warning>Signal renamed because of existing method with same name</warning>
+      </signal>
+      <signal name="SetParameterRequest" cname="set-parameter-request" when="last" field_name="set_parameter_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="SetupRequest" cname="setup-request" when="last" field_name="setup_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="TeardownRequest" cname="teardown-request" when="last" field_name="teardown_request">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPMedia" cname="GstRTSPMedia" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMediaClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method signal_vm="handle_message"/>
+        <method vm="prepare"/>
+        <method vm="unprepare"/>
+        <method vm="suspend"/>
+        <method vm="unsuspend"/>
+        <method vm="convert_range"/>
+        <method vm="query_position"/>
+        <method vm="query_stop"/>
+        <method vm="create_rtpbin"/>
+        <method vm="setup_rtpbin"/>
+        <method vm="setup_sdp"/>
+        <method signal_vm="new_stream"/>
+        <method signal_vm="removed_stream"/>
+        <method signal_vm="prepared"/>
+        <method signal_vm="unprepared"/>
+        <method signal_vm="target_state"/>
+        <method signal_vm="new_state"/>
+        <method vm="handle_sdp"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="19" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_media_new">
+        <parameters>
+          <parameter name="element" type="GstElement*" owned="true"/>
+        </parameters>
+      </constructor>
+      <virtual_method name="ConvertRange" cname="convert_range">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="unit" type="GstRTSPRangeUnit"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateRtpbin" cname="create_rtpbin" hidden="true">
+        <return-type type="GstElement*"/>
+        <parameters/>
+      </virtual_method>
+      <virtual_method name="HandleSdp" cname="handle_sdp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Prepare" cname="prepare">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="thread" type="GstRTSPThread*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="QueryPosition" cname="query_position">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="position" type="gint64"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="QueryStop" cname="query_stop">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stop" type="gint64"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetupRtpbin" cname="setup_rtpbin">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="rtpbin" type="GstElement*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="SetupSdp" cname="setup_sdp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Suspend" cname="suspend">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </virtual_method>
+      <virtual_method name="Unprepare" cname="unprepare">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </virtual_method>
+      <virtual_method name="Unsuspend" cname="unsuspend">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </virtual_method>
+      <method name="CanBeShared" cname="gst_rtsp_media_can_be_shared" version="1.24">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="CollectStreams" cname="gst_rtsp_media_collect_streams">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="CompletePipeline" cname="gst_rtsp_media_complete_pipeline" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="transports" type="GPtrArray" array="true" null_term_array="true" element_type="GstRtsp.RTSPTransport"/>
+        </parameters>
+      </method>
+      <method name="CreateStream" cname="gst_rtsp_media_create_stream">
+        <return-type type="GstRTSPStream*"/>
+        <parameters>
+          <parameter name="payloader" type="GstElement*"/>
+          <parameter name="pad" type="GstPad*"/>
+        </parameters>
+      </method>
+      <method name="FindStream" cname="gst_rtsp_media_find_stream">
+        <return-type type="GstRTSPStream*"/>
+        <parameters>
+          <parameter name="control" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_media_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetBaseTime" cname="gst_rtsp_media_get_base_time">
+        <return-type type="guint64"/>
+        <parameters/>
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_media_get_buffer_size">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetClock" cname="gst_rtsp_media_get_clock">
+        <return-type type="GstClock*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetDoRetransmission" cname="gst_rtsp_media_get_do_retransmission" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_media_get_dscp_qos" version="1.18">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetElement" cname="gst_rtsp_media_get_element">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetEnsureKeyunitOnStart" cname="gst_rtsp_media_get_ensure_keyunit_on_start" version="1.24">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_get_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetLatency" cname="gst_rtsp_media_get_latency">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_media_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_media_get_multicast_iface">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetPermissions" cname="gst_rtsp_media_get_permissions">
+        <return-type type="GstRTSPPermissions*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_media_get_profiles">
+        <return-type type="GstRTSPProfile"/>
+        <parameters/>
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_media_get_protocols">
+        <return-type type="GstRTSPLowerTrans"/>
+        <parameters/>
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_media_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode"/>
+        <parameters/>
+      </method>
+      <method name="GetRangeString" cname="gst_rtsp_media_get_range_string">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="play" type="gboolean"/>
+          <parameter name="unit" type="GstRTSPRangeUnit"/>
+        </parameters>
+      </method>
+      <method name="GetRateControl" cname="gst_rtsp_media_get_rate_control" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetRates" cname="gst_rtsp_media_get_rates" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="rate" type="gdouble" pass_as="out"/>
+          <parameter allow-none="1" name="applied_rate" type="gdouble" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_media_get_retransmission_time">
+        <return-type type="guint64"/>
+        <parameters/>
+      </method>
+      <method name="GetStatus" cname="gst_rtsp_media_get_status">
+        <return-type type="GstRTSPMediaStatus"/>
+        <parameters/>
+      </method>
+      <method name="GetStream" cname="gst_rtsp_media_get_stream">
+        <return-type type="GstRTSPStream*"/>
+        <parameters>
+          <parameter name="idx" type="guint"/>
+        </parameters>
+      </method>
+      <method name="GetSuspendMode" cname="gst_rtsp_media_get_suspend_mode">
+        <return-type type="GstRTSPSuspendMode"/>
+        <parameters/>
+      </method>
+      <method name="GetTimeProvider" cname="gst_rtsp_media_get_time_provider">
+        <return-type type="GstNetTimeProvider*" owned="true"/>
+        <parameters>
+          <parameter allow-none="1" name="address" type="const-gchar*"/>
+          <parameter name="port" type="guint16"/>
+        </parameters>
+      </method>
+      <method name="GetTransportMode" cname="gst_rtsp_media_get_transport_mode">
+        <return-type type="GstRTSPTransportMode"/>
+        <parameters/>
+      </method>
+      <method name="HandleSdp" cname="gst_rtsp_media_handle_sdp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="HasCompletedSender" cname="gst_rtsp_media_has_completed_sender" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_media_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsEosShutdown" cname="gst_rtsp_media_is_eos_shutdown">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsReceiveOnly" cname="gst_rtsp_media_is_receive_only" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsReusable" cname="gst_rtsp_media_is_reusable">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsShared" cname="gst_rtsp_media_is_shared">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsStopOnDisconnect" cname="gst_rtsp_media_is_stop_on_disconnect">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsTimeProvider" cname="gst_rtsp_media_is_time_provider">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="Lock" cname="gst_rtsp_media_lock" version="1.18">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="NStreams" cname="gst_rtsp_media_n_streams">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="Prepare" cname="gst_rtsp_media_prepare">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="thread" type="GstRTSPThread*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Seek" cname="gst_rtsp_media_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SeekFull" cname="gst_rtsp_media_seek_full" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags"/>
+        </parameters>
+      </method>
+      <method name="SeekTrickmode" cname="gst_rtsp_media_seek_trickmode" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="range" type="GstRTSPTimeRange*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="flags" type="GstSeekFlags"/>
+          <parameter name="rate" type="gdouble"/>
+          <parameter name="trickmode_interval" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="Seekable" cname="gst_rtsp_media_seekable" version="1.14">
+        <return-type type="gint64"/>
+        <parameters/>
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_media_set_address_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*"/>
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_media_set_bind_mcast_address" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_media_set_buffer_size">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="size" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetClock" cname="gst_rtsp_media_set_clock">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*"/>
+        </parameters>
+      </method>
+      <method name="SetDoRetransmission" cname="gst_rtsp_media_set_do_retransmission" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="do_retransmission" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_media_set_dscp_qos" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="dscp_qos" type="gint"/>
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStart" cname="gst_rtsp_media_set_ensure_keyunit_on_start" version="1.24">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ensure_keyunit_on_start" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_set_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="timeout" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetEosShutdown" cname="gst_rtsp_media_set_eos_shutdown">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="eos_shutdown" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_rtsp_media_set_latency">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="latency" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_media_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ttl" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_media_set_multicast_iface">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetPermissions" cname="gst_rtsp_media_set_permissions">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="permissions" type="GstRTSPPermissions*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPipelineState" cname="gst_rtsp_media_set_pipeline_state">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="state" type="GstState"/>
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_media_set_profiles">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile"/>
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_media_set_protocols">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans"/>
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_media_set_publish_clock_mode" version="1.8">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode"/>
+        </parameters>
+      </method>
+      <method name="SetRateControl" cname="gst_rtsp_media_set_rate_control" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enabled" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_media_set_retransmission_time">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="time" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="SetReusable" cname="gst_rtsp_media_set_reusable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="reusable" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetShared" cname="gst_rtsp_media_set_shared">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="shared" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_rtsp_media_set_state">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="state" type="GstState"/>
+          <parameter name="transports" type="GPtrArray" array="true" null_term_array="true" element_type="RTSPStreamTransport"/>
+        </parameters>
+      </method>
+      <method name="SetStopOnDisconnect" cname="gst_rtsp_media_set_stop_on_disconnect">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stop_on_disconnect" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetSuspendMode" cname="gst_rtsp_media_set_suspend_mode">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPSuspendMode"/>
+        </parameters>
+      </method>
+      <method name="SetTransportMode" cname="gst_rtsp_media_set_transport_mode">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPTransportMode"/>
+        </parameters>
+      </method>
+      <method name="SetupSdp" cname="gst_rtsp_media_setup_sdp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Suspend" cname="gst_rtsp_media_suspend">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="TakePipeline" cname="gst_rtsp_media_take_pipeline">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="pipeline" type="GstPipeline*"/>
+        </parameters>
+      </method>
+      <method name="Unlock" cname="gst_rtsp_media_unlock" version="1.18">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="Unprepare" cname="gst_rtsp_media_unprepare">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="Unsuspend" cname="gst_rtsp_media_unsuspend">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="UseTimeProvider" cname="gst_rtsp_media_use_time_provider">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="time_provider" type="gboolean"/>
+        </parameters>
+      </method>
+      <property name="BindMcastAddress" cname="bind-mcast-address" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="BufferSize" cname="buffer-size" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Clock" cname="clock" type="GstClock*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="DscpQos" cname="dscp-qos" type="gint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Element" cname="element" type="GstElement*" readable="true" writeable="true" construct="false" construct-only="true"/>
+      <property name="EnsureKeyunitOnStart" cname="ensure-keyunit-on-start" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.24"/>
+      <property name="EnsureKeyunitOnStartTimeout" cname="ensure-keyunit-on-start-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" version="1.24"/>
+      <property name="EosShutdown" cname="eos-shutdown" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Latency" cname="latency" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="MaxMcastTtl" cname="max-mcast-ttl" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Reusable" cname="reusable" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Shared" cname="shared" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="StopOnDisconnect" cname="stop-on-disconnect" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="SuspendMode" cname="suspend-mode" type="GstRTSPSuspendMode" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="TimeProvider" cname="time-provider" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="TransportMode" cname="transport-mode" type="GstRTSPTransportMode" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="HandleMessage" cname="handle-message" when="last" field_name="handle_message" version="1.22">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="message" type="GstMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </signal>
+      <signal name="NewState" cname="new-state" when="last" field_name="new_state">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="gint"/>
+        </parameters>
+      </signal>
+      <signal name="NewStream" cname="new-stream" when="last" field_name="new_stream">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPStream*"/>
+        </parameters>
+      </signal>
+      <signal name="Prepared" cname="prepared" when="last" field_name="prepared">
+        <return-type type="void"/>
+        <parameters/>
+      </signal>
+      <signal name="RemovedStream" cname="removed-stream" when="last" field_name="removed_stream">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPStream*"/>
+        </parameters>
+      </signal>
+      <signal name="TargetState" cname="target-state" when="last" field_name="target_state">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="gint"/>
+        </parameters>
+      </signal>
+      <signal name="Unprepared" cname="unprepared" when="last" field_name="unprepared">
+        <return-type type="void"/>
+        <parameters/>
+      </signal>
+    </object>
+    <object name="RTSPMediaFactory" cname="GstRTSPMediaFactory" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMediaFactoryClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="gen_key"/>
+        <method vm="create_element"/>
+        <method vm="construct"/>
+        <method vm="create_pipeline"/>
+        <method vm="configure"/>
+        <method signal_vm="media_constructed"/>
+        <method signal_vm="media_configure"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_factory_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_media_factory_new" disable_void_ctor=""/>
+      <virtual_method name="Configure" cname="configure">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="Construct" cname="construct">
+        <return-type type="GstRTSPMedia*" owned="true"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateElement" cname="create_element">
+        <return-type type="GstElement*"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreatePipeline" cname="create_pipeline" hidden="true">
+        <return-type type="GstElement*"/>
+        <parameters>
+          <parameter name="media" type="GstRTSPMedia*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GenKey" cname="gen_key">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddRoleFromStructure" cname="gst_rtsp_media_factory_add_role_from_structure" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Construct" cname="gst_rtsp_media_factory_construct">
+        <return-type type="GstRTSPMedia*" owned="true"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="CreateElement" cname="gst_rtsp_media_factory_create_element">
+        <return-type type="GstElement*"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_media_factory_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_media_factory_get_buffer_size">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetClock" cname="gst_rtsp_media_factory_get_clock" version="1.8">
+        <return-type type="GstClock*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetDoRetransmission" cname="gst_rtsp_media_factory_get_do_retransmission" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_media_factory_get_dscp_qos" version="1.18">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetEnsureKeyunitOnStart" cname="gst_rtsp_media_factory_get_ensure_keyunit_on_start" version="1.24">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_factory_get_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetLatency" cname="gst_rtsp_media_factory_get_latency">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetLaunch" cname="gst_rtsp_media_factory_get_launch">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_media_factory_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMediaGtype" cname="gst_rtsp_media_factory_get_media_gtype" version="1.6">
+        <return-type type="GType"/>
+        <parameters/>
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_media_factory_get_multicast_iface">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetPermissions" cname="gst_rtsp_media_factory_get_permissions">
+        <return-type type="GstRTSPPermissions*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_media_factory_get_profiles">
+        <return-type type="GstRTSPProfile"/>
+        <parameters/>
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_media_factory_get_protocols">
+        <return-type type="GstRTSPLowerTrans"/>
+        <parameters/>
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_media_factory_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode"/>
+        <parameters/>
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_media_factory_get_retransmission_time">
+        <return-type type="guint64"/>
+        <parameters/>
+      </method>
+      <method name="GetSuspendMode" cname="gst_rtsp_media_factory_get_suspend_mode">
+        <return-type type="GstRTSPSuspendMode"/>
+        <parameters/>
+      </method>
+      <method name="GetTransportMode" cname="gst_rtsp_media_factory_get_transport_mode">
+        <return-type type="GstRTSPTransportMode"/>
+        <parameters/>
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_media_factory_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsEnableRtcp" cname="gst_rtsp_media_factory_is_enable_rtcp" version="1.20">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsEosShutdown" cname="gst_rtsp_media_factory_is_eos_shutdown">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsShared" cname="gst_rtsp_media_factory_is_shared">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsStopOnDisonnect" cname="gst_rtsp_media_factory_is_stop_on_disonnect">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_media_factory_set_address_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*"/>
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_media_factory_set_bind_mcast_address" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_media_factory_set_buffer_size">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="size" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetClock" cname="gst_rtsp_media_factory_set_clock" version="1.8">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="clock" type="GstClock*"/>
+        </parameters>
+      </method>
+      <method name="SetDoRetransmission" cname="gst_rtsp_media_factory_set_do_retransmission" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="do_retransmission" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_media_factory_set_dscp_qos" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="dscp_qos" type="gint"/>
+        </parameters>
+      </method>
+      <method name="SetEnableRtcp" cname="gst_rtsp_media_factory_set_enable_rtcp" version="1.20">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enable" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStart" cname="gst_rtsp_media_factory_set_ensure_keyunit_on_start" version="1.24">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ensure_keyunit_on_start" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetEnsureKeyunitOnStartTimeout" cname="gst_rtsp_media_factory_set_ensure_keyunit_on_start_timeout" version="1.24">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="timeout" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetEosShutdown" cname="gst_rtsp_media_factory_set_eos_shutdown">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="eos_shutdown" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetLatency" cname="gst_rtsp_media_factory_set_latency">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="latency" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetLaunch" cname="gst_rtsp_media_factory_set_launch">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="launch" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_media_factory_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ttl" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMediaGtype" cname="gst_rtsp_media_factory_set_media_gtype" version="1.6">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="media_gtype" type="GType"/>
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_media_factory_set_multicast_iface">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetPermissions" cname="gst_rtsp_media_factory_set_permissions">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="permissions" type="GstRTSPPermissions*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_media_factory_set_profiles">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile"/>
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_media_factory_set_protocols">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans"/>
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_media_factory_set_publish_clock_mode" version="1.8">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode"/>
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_media_factory_set_retransmission_time">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="time" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="SetShared" cname="gst_rtsp_media_factory_set_shared">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="shared" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetStopOnDisconnect" cname="gst_rtsp_media_factory_set_stop_on_disconnect">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stop_on_disconnect" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetSuspendMode" cname="gst_rtsp_media_factory_set_suspend_mode">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPSuspendMode"/>
+        </parameters>
+      </method>
+      <method name="SetTransportMode" cname="gst_rtsp_media_factory_set_transport_mode">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPTransportMode"/>
+        </parameters>
+      </method>
+      <property name="BindMcastAddress" cname="bind-mcast-address" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="BufferSize" cname="buffer-size" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Clock" cname="clock" type="GstClock*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="DscpQos" cname="dscp-qos" type="gint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="EnableRtcp" cname="enable-rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+      <property name="EnsureKeyunitOnStart" cname="ensure-keyunit-on-start" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.24"/>
+      <property name="EnsureKeyunitOnStartTimeout" cname="ensure-keyunit-on-start-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false" version="1.24"/>
+      <property name="EosShutdown" cname="eos-shutdown" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Latency" cname="latency" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Launch" cname="launch" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="MaxMcastTtl" cname="max-mcast-ttl" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Shared" cname="shared" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="StopOnDisconnect" cname="stop-on-disconnect" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="SuspendMode" cname="suspend-mode" type="GstRTSPSuspendMode" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="TransportMode" cname="transport-mode" type="GstRTSPTransportMode" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaFactoryPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="MediaConfigure" cname="media-configure" when="last" field_name="media_configure">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPMedia*"/>
+        </parameters>
+      </signal>
+      <signal name="MediaConstructed" cname="media-constructed" when="last" field_name="media_constructed">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPMedia*"/>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPMediaFactoryURI" cname="GstRTSPMediaFactoryURI" opaque="false" hidden="false" parent="GstRTSPMediaFactory">
+      <class_struct cname="GstRTSPMediaFactoryURIClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstRTSPMediaFactoryClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_media_factory_uri_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_media_factory_uri_new" disable_void_ctor=""/>
+      <method name="GetUri" cname="gst_rtsp_media_factory_uri_get_uri">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="SetUri" cname="gst_rtsp_media_factory_uri_set_uri">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="uri" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <property name="Uri" cname="uri" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="UseGstpay" cname="use-gstpay" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactory*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMediaFactoryURIPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPMountPoints" cname="GstRTSPMountPoints" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPMountPointsClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="make_path"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_mount_points_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_mount_points_new" disable_void_ctor=""/>
+      <virtual_method name="MakePath" cname="make_path">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="AddFactory" cname="gst_rtsp_mount_points_add_factory">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="factory" type="GstRTSPMediaFactory*" owned="true"/>
+        </parameters>
+      </method>
+      <method name="MakePath" cname="gst_rtsp_mount_points_make_path">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="Match" cname="gst_rtsp_mount_points_match">
+        <return-type type="GstRTSPMediaFactory*" owned="true"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter allow-none="1" name="matched" type="gint*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="RemoveFactory" cname="gst_rtsp_mount_points_remove_factory">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPMountPointsPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPOnvifClient" cname="GstRTSPOnvifClient" opaque="false" hidden="false" parent="GstRTSPClient" version="1.14">
+      <class_struct cname="GstRTSPOnvifClientClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPClientClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_client_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_onvif_client_new" disable_void_ctor="" version="1.18"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPClient*"/>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPOnvifMedia" cname="GstRTSPOnvifMedia" opaque="false" hidden="false" parent="GstRTSPMedia" version="1.14">
+      <class_struct cname="GstRTSPOnvifMediaClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_media_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <method name="CollectBackchannel" cname="gst_rtsp_onvif_media_collect_backchannel" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetBackchannelBandwidth" cname="gst_rtsp_onvif_media_get_backchannel_bandwidth" version="1.14">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="SetBackchannelBandwidth" cname="gst_rtsp_onvif_media_set_backchannel_bandwidth" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="bandwidth" type="guint"/>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMedia*"/>
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstRTSPOnvifMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPOnvifMediaFactory" cname="GstRTSPOnvifMediaFactory" opaque="false" hidden="false" parent="GstRTSPMediaFactory" version="1.14">
+      <class_struct cname="GstRTSPOnvifMediaFactoryClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactoryClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="has_backchannel_support"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_media_factory_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_onvif_media_factory_new" disable_void_ctor="" version="1.14"/>
+      <method name="RequiresBackchannel" cname="gst_rtsp_onvif_media_factory_requires_backchannel" shared="true" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="factory" type="GstRTSPMediaFactory*"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <virtual_method name="HasBackchannelSupport" cname="has_backchannel_support" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </virtual_method>
+      <method name="GetBackchannelBandwidth" cname="gst_rtsp_onvif_media_factory_get_backchannel_bandwidth" version="1.14">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetBackchannelLaunch" cname="gst_rtsp_onvif_media_factory_get_backchannel_launch" version="1.14">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="HasBackchannelSupport" cname="gst_rtsp_onvif_media_factory_has_backchannel_support" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="HasReplaySupport" cname="gst_rtsp_onvif_media_factory_has_replay_support" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="SetBackchannelBandwidth" cname="gst_rtsp_onvif_media_factory_set_backchannel_bandwidth" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="bandwidth" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetBackchannelLaunch" cname="gst_rtsp_onvif_media_factory_set_backchannel_launch" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="launch" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetReplaySupport" cname="gst_rtsp_onvif_media_factory_set_replay_support" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="has_replay_support" type="gboolean"/>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPMediaFactory*"/>
+      <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GstRTSPOnvifMediaFactoryPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPOnvifServer" cname="GstRTSPOnvifServer" opaque="false" hidden="false" parent="GstRTSPServer" version="1.14">
+      <class_struct cname="GstRTSPOnvifServerClass">
+        <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPServerClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_onvif_server_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_onvif_server_new" disable_void_ctor=""/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstRTSPServer*"/>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPServer" cname="GstRTSPServer" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPServerClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_client"/>
+        <method signal_vm="client_connected"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_server_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_server_new" disable_void_ctor=""/>
+      <method name="IoFunc" cname="gst_rtsp_server_io_func" shared="true">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="socket" type="GSocket*"/>
+          <parameter name="condition" type="GIOCondition"/>
+          <parameter name="server" type="GstRTSPServer*"/>
+        </parameters>
+      </method>
+      <virtual_method name="CreateClient" cname="create_client" hidden="true">
+        <return-type type="GstRTSPClient*"/>
+        <parameters/>
+      </virtual_method>
+      <method name="Attach" cname="gst_rtsp_server_attach">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter allow-none="1" name="context" type="GMainContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="ClientFilter" cname="gst_rtsp_server_client_filter">
+        <return-type type="GList*" element_type="GstRTSPClient*" elements_owned="true" owned="true"/>
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPServerClientFilterFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="CreateSocket" cname="gst_rtsp_server_create_socket">
+        <return-type type="GSocket*" owned="true"/>
+        <parameters throws="1">
+          <parameter allow-none="1" name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="CreateSource" cname="gst_rtsp_server_create_source">
+        <return-type type="GSource*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters throws="1">
+          <parameter allow-none="1" name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="GetAddress" cname="gst_rtsp_server_get_address">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetAuth" cname="gst_rtsp_server_get_auth">
+        <return-type type="GstRTSPAuth*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetBacklog" cname="gst_rtsp_server_get_backlog">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetBoundPort" cname="gst_rtsp_server_get_bound_port">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetContentLengthLimit" cname="gst_rtsp_server_get_content_length_limit" version="1.18">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMountPoints" cname="gst_rtsp_server_get_mount_points">
+        <return-type type="GstRTSPMountPoints*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetService" cname="gst_rtsp_server_get_service">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSessionPool" cname="gst_rtsp_server_get_session_pool">
+        <return-type type="GstRTSPSessionPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetThreadPool" cname="gst_rtsp_server_get_thread_pool">
+        <return-type type="GstRTSPThreadPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="SetAddress" cname="gst_rtsp_server_set_address">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="address" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetAuth" cname="gst_rtsp_server_set_auth">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="auth" type="GstRTSPAuth*"/>
+        </parameters>
+      </method>
+      <method name="SetBacklog" cname="gst_rtsp_server_set_backlog">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="backlog" type="gint"/>
+        </parameters>
+      </method>
+      <method name="SetContentLengthLimit" cname="gst_rtsp_server_set_content_length_limit" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="limit" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMountPoints" cname="gst_rtsp_server_set_mount_points">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="mounts" type="GstRTSPMountPoints*"/>
+        </parameters>
+      </method>
+      <method name="SetService" cname="gst_rtsp_server_set_service">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="service" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetSessionPool" cname="gst_rtsp_server_set_session_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPSessionPool*"/>
+        </parameters>
+      </method>
+      <method name="SetThreadPool" cname="gst_rtsp_server_set_thread_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPThreadPool*"/>
+        </parameters>
+      </method>
+      <method name="TransferConnection" cname="gst_rtsp_server_transfer_connection">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="socket" type="GSocket*" owned="true"/>
+          <parameter name="ip" type="const-gchar*"/>
+          <parameter name="port" type="gint"/>
+          <parameter allow-none="1" name="initial_buffer" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <property name="Address" cname="address" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Backlog" cname="backlog" type="gint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="BoundPort" cname="bound-port" type="gint" readable="true" writeable="false" construct="false" construct-only="false"/>
+      <property name="ContentLengthLimit" cname="content-length-limit" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="MountPoints" cname="mount-points" type="GstRTSPMountPoints*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Service" cname="service" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="SessionPool" cname="session-pool" type="GstRTSPSessionPool*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPServerPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="ClientConnected" cname="client-connected" when="last" field_name="client_connected">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPClient*"/>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPSession" cname="GstRTSPSession" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_session_new">
+        <parameters>
+          <parameter name="sessionid" type="const-gchar*"/>
+        </parameters>
+      </constructor>
+      <method name="AllowExpire" cname="gst_rtsp_session_allow_expire">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="DupMedia" cname="gst_rtsp_session_dup_media" version="1.20">
+        <return-type type="GstRTSPSessionMedia*" owned="true"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="matched" type="gint*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="Filter" cname="gst_rtsp_session_filter">
+        <return-type type="GList*" element_type="GstRTSPSessionMedia*" elements_owned="true" owned="true"/>
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPSessionFilterFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="GetHeader" cname="gst_rtsp_session_get_header">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetMedia" cname="gst_rtsp_session_get_media">
+        <return-type type="GstRTSPSessionMedia*"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="matched" type="gint*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="GetSessionid" cname="gst_rtsp_session_get_sessionid">
+        <return-type type="const-gchar*"/>
+        <parameters/>
+      </method>
+      <method name="GetTimeout" cname="gst_rtsp_session_get_timeout">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="IsExpired" cname="gst_rtsp_session_is_expired" deprecated="true">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="now" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="IsExpiredUsec" cname="gst_rtsp_session_is_expired_usec">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="now" type="gint64"/>
+        </parameters>
+      </method>
+      <method name="ManageMedia" cname="gst_rtsp_session_manage_media">
+        <return-type type="GstRTSPSessionMedia*"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="media" type="GstRTSPMedia*" owned="true"/>
+        </parameters>
+      </method>
+      <method name="NextTimeout" cname="gst_rtsp_session_next_timeout" deprecated="true">
+        <return-type type="gint"/>
+        <parameters>
+          <parameter name="now" type="GTimeVal*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="NextTimeoutUsec" cname="gst_rtsp_session_next_timeout_usec">
+        <return-type type="gint"/>
+        <parameters>
+          <parameter name="now" type="gint64"/>
+        </parameters>
+      </method>
+      <method name="PreventExpire" cname="gst_rtsp_session_prevent_expire">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="ReleaseMedia" cname="gst_rtsp_session_release_media">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="media" type="GstRTSPSessionMedia*"/>
+        </parameters>
+      </method>
+      <method name="SetTimeout" cname="gst_rtsp_session_set_timeout">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="timeout" type="guint"/>
+        </parameters>
+      </method>
+      <method name="Touch" cname="gst_rtsp_session_touch">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <property name="ExtraTimeout" cname="extra-timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Sessionid" cname="sessionid" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true"/>
+      <property name="Timeout" cname="timeout" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="TimeoutAlwaysVisible" cname="timeout-always-visible" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPSessionMedia" cname="GstRTSPSessionMedia" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionMediaClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_media_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_session_media_new">
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="media" type="GstRTSPMedia*" owned="true"/>
+        </parameters>
+      </constructor>
+      <method name="AllocChannels" cname="gst_rtsp_session_media_alloc_channels">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="range" type="GstRTSPRange*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetBaseTime" cname="gst_rtsp_session_media_get_base_time">
+        <return-type type="guint64"/>
+        <parameters/>
+      </method>
+      <method name="GetMedia" cname="gst_rtsp_session_media_get_media">
+        <return-type type="GstRTSPMedia*"/>
+        <parameters/>
+      </method>
+      <method name="GetRtpinfo" cname="gst_rtsp_session_media_get_rtpinfo">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetRtspState" cname="gst_rtsp_session_media_get_rtsp_state">
+        <return-type type="GstRTSPState"/>
+        <parameters/>
+      </method>
+      <method name="GetTransport" cname="gst_rtsp_session_media_get_transport">
+        <return-type type="GstRTSPStreamTransport*"/>
+        <parameters>
+          <parameter name="idx" type="guint"/>
+        </parameters>
+      </method>
+      <method name="GetTransports" cname="gst_rtsp_session_media_get_transports" version="1.14">
+        <return-type type="GPtrArray" owned="true" array="true" null_term_array="true" element_type="RTSPStreamTransport"/>
+        <parameters/>
+      </method>
+      <method name="Matches" cname="gst_rtsp_session_media_matches">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="path" type="const-gchar*"/>
+          <parameter name="matched" type="gint*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="SetRtspState" cname="gst_rtsp_session_media_set_rtsp_state">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="state" type="GstRTSPState"/>
+        </parameters>
+      </method>
+      <method name="SetState" cname="gst_rtsp_session_media_set_state">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="state" type="GstState"/>
+        </parameters>
+      </method>
+      <method name="SetTransport" cname="gst_rtsp_session_media_set_transport">
+        <return-type type="GstRTSPStreamTransport*"/>
+        <parameters>
+          <parameter name="stream" type="GstRTSPStream*"/>
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionMediaPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPSessionPool" cname="GstRTSPSessionPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPSessionPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="create_session_id"/>
+        <method vm="create_session"/>
+        <method signal_vm="session_removed"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="19" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_session_pool_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_session_pool_new" disable_void_ctor=""/>
+      <virtual_method name="CreateSession" cname="create_session" hidden="true">
+        <return-type type="GstRTSPSession*"/>
+        <parameters>
+          <parameter name="id" type="const-gchar*"/>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="CreateSessionId" cname="create_session_id">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </virtual_method>
+      <method name="Cleanup" cname="gst_rtsp_session_pool_cleanup">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="Create" cname="gst_rtsp_session_pool_create">
+        <return-type type="GstRTSPSession*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="CreateWatch" cname="gst_rtsp_session_pool_create_watch">
+        <return-type type="GSource*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="Filter" cname="gst_rtsp_session_pool_filter">
+        <return-type type="GList*" element_type="GstRTSPSession*" elements_owned="true" owned="true"/>
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPSessionPoolFilterFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="Find" cname="gst_rtsp_session_pool_find">
+        <return-type type="GstRTSPSession*" owned="true"/>
+        <parameters>
+          <parameter name="sessionid" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="GetMaxSessions" cname="gst_rtsp_session_pool_get_max_sessions">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetNSessions" cname="gst_rtsp_session_pool_get_n_sessions">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="Remove" cname="gst_rtsp_session_pool_remove">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sess" type="GstRTSPSession*"/>
+        </parameters>
+      </method>
+      <method name="SetMaxSessions" cname="gst_rtsp_session_pool_set_max_sessions">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="max" type="guint"/>
+        </parameters>
+      </method>
+      <property name="MaxSessions" cname="max-sessions" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPSessionPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="SessionRemoved" cname="session-removed" when="last" field_name="session_removed">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstRTSPSession*"/>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPStream" cname="GstRTSPStream" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPStreamClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_stream_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_stream_new">
+        <parameters>
+          <parameter name="idx" type="guint"/>
+          <parameter name="payloader" type="GstElement*"/>
+          <parameter name="pad" type="GstPad*"/>
+        </parameters>
+      </constructor>
+      <method name="AddMulticastClientAddress" cname="gst_rtsp_stream_add_multicast_client_address" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="destination" type="const-gchar*"/>
+          <parameter name="rtp_port" type="guint"/>
+          <parameter name="rtcp_port" type="guint"/>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="AddTransport" cname="gst_rtsp_stream_add_transport">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="trans" type="GstRTSPStreamTransport*"/>
+        </parameters>
+      </method>
+      <method name="AllocateUdpSockets" cname="gst_rtsp_stream_allocate_udp_sockets">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="use_client_settings" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="CompleteStream" cname="gst_rtsp_stream_complete_stream" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetAddressPool" cname="gst_rtsp_stream_get_address_pool">
+        <return-type type="GstRTSPAddressPool*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetBufferSize" cname="gst_rtsp_stream_get_buffer_size" version="1.6">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetCaps" cname="gst_rtsp_stream_get_caps">
+        <return-type type="GstCaps*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetControl" cname="gst_rtsp_stream_get_control">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetCurrentSeqnum" cname="gst_rtsp_stream_get_current_seqnum">
+        <return-type type="guint16"/>
+        <parameters/>
+      </method>
+      <method name="GetDscpQos" cname="gst_rtsp_stream_get_dscp_qos">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetIndex" cname="gst_rtsp_stream_get_index">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetJoinedBin" cname="gst_rtsp_stream_get_joined_bin">
+        <return-type type="GstBin*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetMaxMcastTtl" cname="gst_rtsp_stream_get_max_mcast_ttl" version="1.16">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMtu" cname="gst_rtsp_stream_get_mtu">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetMulticastAddress" cname="gst_rtsp_stream_get_multicast_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetMulticastClientAddresses" cname="gst_rtsp_stream_get_multicast_client_addresses" version="1.16">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetMulticastIface" cname="gst_rtsp_stream_get_multicast_iface">
+        <return-type type="gchar*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetProfiles" cname="gst_rtsp_stream_get_profiles">
+        <return-type type="GstRTSPProfile"/>
+        <parameters/>
+      </method>
+      <method name="GetProtocols" cname="gst_rtsp_stream_get_protocols">
+        <return-type type="GstRTSPLowerTrans"/>
+        <parameters/>
+      </method>
+      <method name="GetPt" cname="gst_rtsp_stream_get_pt">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetPublishClockMode" cname="gst_rtsp_stream_get_publish_clock_mode" version="1.8">
+        <return-type type="GstRTSPPublishClockMode"/>
+        <parameters/>
+      </method>
+      <method name="GetRateControl" cname="gst_rtsp_stream_get_rate_control" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetRates" cname="gst_rtsp_stream_get_rates" version="1.18">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="rate" type="gdouble" pass_as="out"/>
+          <parameter allow-none="1" name="applied_rate" type="gdouble" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="GetRetransmissionPt" cname="gst_rtsp_stream_get_retransmission_pt">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetRetransmissionTime" cname="gst_rtsp_stream_get_retransmission_time">
+        <return-type type="guint64"/>
+        <parameters/>
+      </method>
+      <method name="GetRtcpMulticastSocket" cname="gst_rtsp_stream_get_rtcp_multicast_socket" version="1.14">
+        <return-type type="GSocket*" owned="true"/>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetRtcpSocket" cname="gst_rtsp_stream_get_rtcp_socket">
+        <return-type type="GSocket*" owned="true"/>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetRtpMulticastSocket" cname="gst_rtsp_stream_get_rtp_multicast_socket">
+        <return-type type="GSocket*" owned="true"/>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetRtpSocket" cname="gst_rtsp_stream_get_rtp_socket">
+        <return-type type="GSocket*" owned="true"/>
+        <parameters>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetRtpinfo" cname="gst_rtsp_stream_get_rtpinfo">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="rtptime" type="guint" pass_as="out"/>
+          <parameter allow-none="1" name="seq" type="guint" pass_as="out"/>
+          <parameter allow-none="1" name="clock_rate" type="guint" pass_as="out"/>
+          <parameter name="running_time" type="guint64" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="GetRtpsession" cname="gst_rtsp_stream_get_rtpsession">
+        <return-type type="GObject*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetServerPort" cname="gst_rtsp_stream_get_server_port">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="server_port" type="GstRTSPRange*" pass_as="out">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="family" type="GSocketFamily"/>
+        </parameters>
+      </method>
+      <method name="GetSinkpad" cname="gst_rtsp_stream_get_sinkpad">
+        <return-type type="GstPad*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSrcpad" cname="gst_rtsp_stream_get_srcpad">
+        <return-type type="GstPad*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSrtpEncoder" cname="gst_rtsp_stream_get_srtp_encoder">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters/>
+      </method>
+      <method name="GetSsrc" cname="gst_rtsp_stream_get_ssrc">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ssrc" type="guint*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="GetUlpfecEnabled" cname="gst_rtsp_stream_get_ulpfec_enabled">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="GetUlpfecPercentage" cname="gst_rtsp_stream_get_ulpfec_percentage" version="1.16">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="GetUlpfecPt" cname="gst_rtsp_stream_get_ulpfec_pt" version="1.16">
+        <return-type type="guint"/>
+        <parameters/>
+      </method>
+      <method name="HandleKeymgmt" cname="gst_rtsp_stream_handle_keymgmt" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="keymgmt" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="HasControl" cname="gst_rtsp_stream_has_control">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter allow-none="1" name="control" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="IsBindMcastAddress" cname="gst_rtsp_stream_is_bind_mcast_address" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsBlocking" cname="gst_rtsp_stream_is_blocking">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsClientSide" cname="gst_rtsp_stream_is_client_side">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsComplete" cname="gst_rtsp_stream_is_complete" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsReceiver" cname="gst_rtsp_stream_is_receiver" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsSender" cname="gst_rtsp_stream_is_sender" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="IsTransportSupported" cname="gst_rtsp_stream_is_transport_supported">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="transport" type="GstRTSPTransport*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="JoinBin" cname="gst_rtsp_stream_join_bin">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="bin" type="GstBin*"/>
+          <parameter name="rtpbin" type="GstElement*"/>
+          <parameter name="state" type="GstState"/>
+        </parameters>
+      </method>
+      <method name="LeaveBin" cname="gst_rtsp_stream_leave_bin">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="bin" type="GstBin*"/>
+          <parameter name="rtpbin" type="GstElement*"/>
+        </parameters>
+      </method>
+      <method name="QueryPosition" cname="gst_rtsp_stream_query_position">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="position" type="gint64*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="QueryStop" cname="gst_rtsp_stream_query_stop">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stop" type="gint64*" owned="true" pass_as="out"/>
+        </parameters>
+      </method>
+      <method name="RecvRtcp" cname="gst_rtsp_stream_recv_rtcp">
+        <return-type type="GstFlowReturn"/>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RecvRtp" cname="gst_rtsp_stream_recv_rtp">
+        <return-type type="GstFlowReturn"/>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RemoveTransport" cname="gst_rtsp_stream_remove_transport">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="trans" type="GstRTSPStreamTransport*"/>
+        </parameters>
+      </method>
+      <method name="RequestAuxReceiver" cname="gst_rtsp_stream_request_aux_receiver" version="1.16">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters>
+          <parameter name="sessid" type="guint"/>
+        </parameters>
+      </method>
+      <method name="RequestAuxSender" cname="gst_rtsp_stream_request_aux_sender" version="1.6">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters>
+          <parameter name="sessid" type="guint"/>
+        </parameters>
+      </method>
+      <method name="RequestUlpfecDecoder" cname="gst_rtsp_stream_request_ulpfec_decoder" version="1.16">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters>
+          <parameter name="rtpbin" type="GstElement*"/>
+          <parameter name="sessid" type="guint"/>
+        </parameters>
+      </method>
+      <method name="RequestUlpfecEncoder" cname="gst_rtsp_stream_request_ulpfec_encoder" version="1.16">
+        <return-type type="GstElement*" owned="true"/>
+        <parameters>
+          <parameter name="sessid" type="guint"/>
+        </parameters>
+      </method>
+      <method name="ReserveAddress" cname="gst_rtsp_stream_reserve_address">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="address" type="const-gchar*"/>
+          <parameter name="port" type="guint"/>
+          <parameter name="n_ports" type="guint"/>
+          <parameter name="ttl" type="guint"/>
+        </parameters>
+      </method>
+      <method name="Seekable" cname="gst_rtsp_stream_seekable" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="SetAddressPool" cname="gst_rtsp_stream_set_address_pool">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="pool" type="GstRTSPAddressPool*"/>
+        </parameters>
+      </method>
+      <method name="SetBindMcastAddress" cname="gst_rtsp_stream_set_bind_mcast_address" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="bind_mcast_addr" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetBlocked" cname="gst_rtsp_stream_set_blocked">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="blocked" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetBufferSize" cname="gst_rtsp_stream_set_buffer_size" version="1.6">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="size" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetClientSide" cname="gst_rtsp_stream_set_client_side">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="client_side" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetControl" cname="gst_rtsp_stream_set_control">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="control" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetDscpQos" cname="gst_rtsp_stream_set_dscp_qos">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="dscp_qos" type="gint"/>
+        </parameters>
+      </method>
+      <method name="SetMaxMcastTtl" cname="gst_rtsp_stream_set_max_mcast_ttl" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ttl" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMtu" cname="gst_rtsp_stream_set_mtu">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mtu" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetMulticastIface" cname="gst_rtsp_stream_set_multicast_iface">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="multicast_iface" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetProfiles" cname="gst_rtsp_stream_set_profiles">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="profiles" type="GstRTSPProfile"/>
+        </parameters>
+      </method>
+      <method name="SetProtocols" cname="gst_rtsp_stream_set_protocols">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="protocols" type="GstRTSPLowerTrans"/>
+        </parameters>
+      </method>
+      <method name="SetPtMap" cname="gst_rtsp_stream_set_pt_map">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="pt" type="guint"/>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetPublishClockMode" cname="gst_rtsp_stream_set_publish_clock_mode" version="1.8">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="mode" type="GstRTSPPublishClockMode"/>
+        </parameters>
+      </method>
+      <method name="SetRateControl" cname="gst_rtsp_stream_set_rate_control" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enabled" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetRetransmissionPt" cname="gst_rtsp_stream_set_retransmission_pt">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="rtx_pt" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetRetransmissionTime" cname="gst_rtsp_stream_set_retransmission_time">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="time" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="SetSeqnumOffset" cname="gst_rtsp_stream_set_seqnum_offset">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="seqnum" type="guint16"/>
+        </parameters>
+      </method>
+      <method name="SetUlpfecPercentage" cname="gst_rtsp_stream_set_ulpfec_percentage" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="percentage" type="guint"/>
+        </parameters>
+      </method>
+      <method name="SetUlpfecPt" cname="gst_rtsp_stream_set_ulpfec_pt" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="pt" type="guint"/>
+        </parameters>
+      </method>
+      <method name="TransportFilter" cname="gst_rtsp_stream_transport_filter">
+        <return-type type="GList*" element_type="GstRTSPStreamTransport*" elements_owned="true" owned="true"/>
+        <parameters>
+          <parameter closure="1" scope="call" allow-none="1" name="func" type="GstRTSPStreamTransportFilterFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="UnblockLinked" cname="gst_rtsp_stream_unblock_linked">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="UnblockRtcp" cname="gst_rtsp_stream_unblock_rtcp" version="1.20">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="UpdateCrypto" cname="gst_rtsp_stream_update_crypto">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ssrc" type="guint"/>
+          <parameter allow-none="1" name="crypto" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="VerifyMcastTtl" cname="gst_rtsp_stream_verify_mcast_ttl" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="ttl" type="guint"/>
+        </parameters>
+      </method>
+      <property name="Control" cname="control" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Profiles" cname="profiles" type="GstRTSPProfile" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <property name="Protocols" cname="protocols" type="GstRTSPLowerTrans" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPStreamPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      <signal name="NewRtcpEncoder" cname="new-rtcp-encoder" when="last">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstElement*"/>
+        </parameters>
+      </signal>
+      <signal name="NewRtpEncoder" cname="new-rtp-encoder" when="last">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstElement*"/>
+        </parameters>
+      </signal>
+      <signal name="NewRtpRtcpDecoder" cname="new-rtp-rtcp-decoder" when="last">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="_object" type="GstElement*"/>
+        </parameters>
+      </signal>
+    </object>
+    <object name="RTSPStreamTransport" cname="GstRTSPStreamTransport" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPStreamTransportClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_stream_transport_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_stream_transport_new">
+        <parameters>
+          <parameter name="stream" type="GstRTSPStream*"/>
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="GetRtpinfo" cname="gst_rtsp_stream_transport_get_rtpinfo">
+        <return-type type="gchar*" owned="true"/>
+        <parameters>
+          <parameter name="start_time" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="GetStream" cname="gst_rtsp_stream_transport_get_stream">
+        <return-type type="GstRTSPStream*"/>
+        <parameters/>
+      </method>
+      <method name="GetTransport" cname="gst_rtsp_stream_transport_get_transport">
+        <return-type type="GstRTSPTransport*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="GetUrl" cname="gst_rtsp_stream_transport_get_url">
+        <return-type type="GstRTSPUrl*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="IsTimedOut" cname="gst_rtsp_stream_transport_is_timed_out">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="KeepAlive" cname="gst_rtsp_stream_transport_keep_alive">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="MessageSent" cname="gst_rtsp_stream_transport_message_sent" version="1.16">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="RecvData" cname="gst_rtsp_stream_transport_recv_data">
+        <return-type type="GstFlowReturn"/>
+        <parameters>
+          <parameter name="channel" type="guint"/>
+          <parameter name="buffer" type="GstBuffer*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtcp" cname="gst_rtsp_stream_transport_send_rtcp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtcpList" cname="gst_rtsp_stream_transport_send_rtcp_list" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtp" cname="gst_rtsp_stream_transport_send_rtp">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="buffer" type="GstBuffer*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SendRtpList" cname="gst_rtsp_stream_transport_send_rtp_list" version="1.16">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="buffer_list" type="GstBufferList*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetActive" cname="gst_rtsp_stream_transport_set_active">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="active" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetCallbacks" cname="gst_rtsp_stream_transport_set_callbacks">
+        <return-type type="void"/>
+        <parameters>
+          <parameter scope="notified" name="send_rtp" type="GstRTSPSendFunc"/>
+          <parameter closure="2" destroy="3" scope="notified" name="send_rtcp" type="GstRTSPSendFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetKeepalive" cname="gst_rtsp_stream_transport_set_keepalive">
+        <return-type type="void"/>
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="keep_alive" type="GstRTSPKeepAliveFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetListCallbacks" cname="gst_rtsp_stream_transport_set_list_callbacks" version="1.16">
+        <return-type type="void"/>
+        <parameters>
+          <parameter scope="notified" name="send_rtp_list" type="GstRTSPSendListFunc"/>
+          <parameter closure="2" destroy="3" scope="notified" name="send_rtcp_list" type="GstRTSPSendListFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetMessageSent" cname="gst_rtsp_stream_transport_set_message_sent">
+        <return-type type="void"/>
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="message_sent" type="GstRTSPMessageSentFunc"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetMessageSentFull" cname="gst_rtsp_stream_transport_set_message_sent_full" version="1.18">
+        <return-type type="void"/>
+        <parameters>
+          <parameter closure="1" destroy="2" scope="notified" name="message_sent" type="GstRTSPMessageSentFuncFull"/>
+          <parameter allow-none="1" name="user_data" type="gpointer"/>
+          <parameter scope="async" allow-none="1" name="notify" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="SetTimedOut" cname="gst_rtsp_stream_transport_set_timed_out">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="timedout" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetTransport" cname="gst_rtsp_stream_transport_set_transport">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="tr" type="GstRTSPTransport*" owned="true">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetUrl" cname="gst_rtsp_stream_transport_set_url">
+        <return-type type="void"/>
+        <parameters>
+          <parameter allow-none="1" name="url" type="GstRTSPUrl*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPStreamTransportPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <object name="RTSPThreadPool" cname="GstRTSPThreadPool" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstRTSPThreadPoolClass">
+        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <field cname="pool" access="public" writeable="false" readable="true" is_callback="false" name="Pool" type="GThreadPool*">
+          <warning>missing glib:type-name</warning>
+        </field>
+        <method vm="get_thread"/>
+        <method vm="configure_thread"/>
+        <method vm="thread_enter"/>
+        <method vm="thread_leave"/>
+        <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+      </class_struct>
+      <method name="GetType" cname="gst_rtsp_thread_pool_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <constructor cname="gst_rtsp_thread_pool_new" disable_void_ctor=""/>
+      <method name="Cleanup" cname="gst_rtsp_thread_pool_cleanup" shared="true">
+        <return-type type="void"/>
+      </method>
+      <virtual_method name="ConfigureThread" cname="configure_thread">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="GetThread" cname="get_thread">
+        <return-type type="GstRTSPThread*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ThreadEnter" cname="thread_enter">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <virtual_method name="ThreadLeave" cname="thread_leave">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="thread" type="GstRTSPThread*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </virtual_method>
+      <method name="GetMaxThreads" cname="gst_rtsp_thread_pool_get_max_threads">
+        <return-type type="gint"/>
+        <parameters/>
+      </method>
+      <method name="GetThread" cname="gst_rtsp_thread_pool_get_thread">
+        <return-type type="GstRTSPThread*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="SetMaxThreads" cname="gst_rtsp_thread_pool_set_max_threads">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="max_threads" type="gint"/>
+        </parameters>
+      </method>
+      <property name="MaxThreads" cname="max-threads" type="gint" readable="true" writeable="true" construct="false" construct-only="false"/>
+      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstRTSPThreadPoolPrivate*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4" element_type="gpointer"/>
+    </object>
+    <boxed name="RTSPAddress" cname="GstRTSPAddress" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_address_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <field cname="pool" access="public" writeable="true" readable="true" is_callback="false" name="Pool" type="GstRTSPAddressPool*"/>
+      <field cname="address" access="public" writeable="true" readable="true" is_callback="false" name="Address" type="gchar*"/>
+      <field cname="port" access="public" writeable="true" readable="true" is_callback="false" name="Port" type="guint16"/>
+      <field cname="n_ports" access="public" writeable="true" readable="true" is_callback="false" name="NPorts" type="gint"/>
+      <field cname="ttl" access="public" writeable="true" readable="true" is_callback="false" name="Ttl" type="guint8"/>
+      <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="gpointer"/>
+      <method name="Copy" cname="gst_rtsp_address_copy">
+        <return-type type="GstRTSPAddress*" owned="true">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="Free" cname="gst_rtsp_address_free">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+    </boxed>
+    <struct name="RTSPAddressPoolPrivate" cname="GstRTSPAddressPoolPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPAuthPrivate" cname="GstRTSPAuthPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPClientPrivate" cname="GstRTSPClientPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPContext" cname="GstRTSPContext" opaque="false" hidden="false">
+      <field cname="server" access="public" writeable="true" readable="true" is_callback="false" name="Server" type="GstRTSPServer*"/>
+      <field cname="conn" access="public" writeable="true" readable="true" is_callback="false" name="Conn" type="GstRTSPConnection*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="client" access="public" writeable="true" readable="true" is_callback="false" name="Client" type="GstRTSPClient*"/>
+      <field cname="request" access="public" writeable="true" readable="true" is_callback="false" name="Request" type="GstRTSPMessage*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="uri" access="public" writeable="true" readable="true" is_callback="false" name="Uri" type="GstRTSPUrl*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="method" access="public" writeable="true" readable="true" is_callback="false" name="Method" type="GstRTSPMethod"/>
+      <field cname="auth" access="public" writeable="true" readable="true" is_callback="false" name="Auth" type="GstRTSPAuth*"/>
+      <field cname="token" access="public" writeable="true" readable="true" is_callback="false" name="Token" type="GstRTSPToken*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="session" access="public" writeable="true" readable="true" is_callback="false" name="Session" type="GstRTSPSession*"/>
+      <field cname="sessmedia" access="public" writeable="true" readable="true" is_callback="false" name="Sessmedia" type="GstRTSPSessionMedia*"/>
+      <field cname="factory" access="public" writeable="true" readable="true" is_callback="false" name="Factory" type="GstRTSPMediaFactory*"/>
+      <field cname="media" access="public" writeable="true" readable="true" is_callback="false" name="Media" type="GstRTSPMedia*"/>
+      <field cname="stream" access="public" writeable="true" readable="true" is_callback="false" name="Stream" type="GstRTSPStream*"/>
+      <field cname="response" access="public" writeable="true" readable="true" is_callback="false" name="Response" type="GstRTSPMessage*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="trans" access="public" writeable="true" readable="true" is_callback="false" name="Trans" type="GstRTSPStreamTransport*"/>
+      <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3" element_type="gpointer"/>
+      <method name="PopCurrent" cname="gst_rtsp_context_pop_current">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="PushCurrent" cname="gst_rtsp_context_push_current">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+      <method name="SetToken" cname="gst_rtsp_context_set_token" version="1.22">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="token" type="GstRTSPToken*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+    </struct>
+    <struct name="RTSPMediaFactoryPrivate" cname="GstRTSPMediaFactoryPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPMediaFactoryURIPrivate" cname="GstRTSPMediaFactoryURIPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPMediaPrivate" cname="GstRTSPMediaPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPMountPointsPrivate" cname="GstRTSPMountPointsPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPOnvifMediaFactoryPrivate" cname="GstRTSPOnvifMediaFactoryPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPOnvifMediaPrivate" cname="GstRTSPOnvifMediaPrivate" opaque="true" hidden="true"/>
+    <boxed name="RTSPPermissions" cname="GstRTSPPermissions" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_rtsp_permissions_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_permissions_new" disable_void_ctor=""/>
+      <method name="AddPermissionForRole" cname="gst_rtsp_permissions_add_permission_for_role" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="role" type="const-gchar*"/>
+          <parameter name="permission" type="const-gchar*"/>
+          <parameter name="allowed" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="AddRoleEmpty" cname="gst_rtsp_permissions_add_role_empty" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="role" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="AddRoleFromStructure" cname="gst_rtsp_permissions_add_role_from_structure" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="structure" type="GstStructure*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="GetRole" cname="gst_rtsp_permissions_get_role">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters>
+          <parameter name="role" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="IsAllowed" cname="gst_rtsp_permissions_is_allowed">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="role" type="const-gchar*"/>
+          <parameter name="permission" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="RemoveRole" cname="gst_rtsp_permissions_remove_role">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="role" type="const-gchar*"/>
+        </parameters>
+      </method>
+    </boxed>
+    <struct name="RTSPServerPrivate" cname="GstRTSPServerPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPSessionMediaPrivate" cname="GstRTSPSessionMediaPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPSessionPoolPrivate" cname="GstRTSPSessionPoolPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPSessionPrivate" cname="GstRTSPSessionPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPStreamPrivate" cname="GstRTSPStreamPrivate" opaque="true" hidden="true"/>
+    <struct name="RTSPStreamTransportPrivate" cname="GstRTSPStreamTransportPrivate" opaque="true" hidden="true"/>
+    <boxed name="RTSPThread" cname="GstRTSPThread" opaque="false" hidden="false">
+      <method name="GetType" cname="gst_rtsp_thread_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstRTSPThreadType"/>
+      <field cname="context" access="public" writeable="true" readable="true" is_callback="false" name="Context" type="GMainContext*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <field cname="loop" access="public" writeable="true" readable="true" is_callback="false" name="Loop" type="GMainLoop*">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_thread_new">
+        <parameters>
+          <parameter name="type" type="GstRTSPThreadType"/>
+        </parameters>
+      </constructor>
+      <method name="Reuse" cname="gst_rtsp_thread_reuse">
+        <return-type type="gboolean"/>
+        <parameters/>
+      </method>
+      <method name="Stop" cname="gst_rtsp_thread_stop">
+        <return-type type="void"/>
+        <parameters/>
+      </method>
+    </boxed>
+    <struct name="RTSPThreadPoolPrivate" cname="GstRTSPThreadPoolPrivate" opaque="true" hidden="true"/>
+    <boxed name="RTSPToken" cname="GstRTSPToken" opaque="true" hidden="false">
+      <method name="GetType" cname="gst_rtsp_token_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <field cname="mini_object" access="public" writeable="true" readable="true" is_callback="false" name="MiniObject" type="GstMiniObject">
+        <warning>missing glib:type-name</warning>
+      </field>
+      <constructor cname="gst_rtsp_token_new_empty" disable_void_ctor=""/>
+      <method name="GetString" cname="gst_rtsp_token_get_string">
+        <return-type type="const-gchar*"/>
+        <parameters>
+          <parameter name="field" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="GetStructure" cname="gst_rtsp_token_get_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+      <method name="IsAllowed" cname="gst_rtsp_token_is_allowed">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="field" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="SetBool" cname="gst_rtsp_token_set_bool" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="field" type="const-gchar*"/>
+          <parameter name="bool_value" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="SetString" cname="gst_rtsp_token_set_string" version="1.14">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="field" type="const-gchar*"/>
+          <parameter name="string_value" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="WritableStructure" cname="gst_rtsp_token_writable_structure">
+        <return-type type="GstStructure*">
+          <warning>missing glib:type-name</warning>
+        </return-type>
+        <parameters/>
+      </method>
+    </boxed>
+    <struct name="SDPInfo" cname="GstSDPInfo" opaque="false" hidden="false">
+      <field cname="is_ipv6" access="public" writeable="true" readable="true" is_callback="false" name="IsIpv6" type="gboolean"/>
+      <field cname="server_ip" access="public" writeable="true" readable="true" is_callback="false" name="ServerIp" type="gchar*"/>
+    </struct>
+    <object name="Global" cname="GstRtspServerGlobal" opaque="true">
+      <method name="RtspContextGetType" cname="gst_rtsp_context_get_type" shared="true">
+        <return-type type="GType"/>
+      </method>
+      <method name="RtspParamsGet" cname="gst_rtsp_params_get" shared="true">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter name="client" type="GstRTSPClient*"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspParamsSet" cname="gst_rtsp_params_set" shared="true">
+        <return-type type="GstRTSPResult"/>
+        <parameters>
+          <parameter name="client" type="GstRTSPClient*"/>
+          <parameter name="ctx" type="GstRTSPContext*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="RtspSdpFromMedia" cname="gst_rtsp_sdp_from_media" shared="true">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="media" type="GstRTSPMedia*"/>
+        </parameters>
+      </method>
+      <method name="RtspSdpFromStream" cname="gst_rtsp_sdp_from_stream" shared="true">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="stream" type="GstRTSPStream*"/>
+        </parameters>
+      </method>
+      <method name="RtspSdpMakeMedia" cname="gst_rtsp_sdp_make_media" shared="true" version="1.14">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="sdp" type="GstSDPMessage*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="info" type="GstSDPInfo*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="stream" type="GstRTSPStream*"/>
+          <parameter name="caps" type="GstCaps*">
+            <warning>missing glib:type-name</warning>
+          </parameter>
+          <parameter name="profile" type="GstRTSPProfile"/>
+        </parameters>
+      </method>
+    </object>
+    <object name="Constants" cname="GstRtspServerConstants" opaque="true">
+      <constant value="0.0.0.0" ctype="gchar*" gtype="gchar*" name="RTSP_ADDRESS_POOL_ANY_IPV4"/>
+      <constant value="::" ctype="gchar*" gtype="gchar*" name="RTSP_ADDRESS_POOL_ANY_IPV6"/>
+      <constant value="auth.check.connect" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_CONNECT"/>
+      <constant value="auth.check.media.factory.access" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS"/>
+      <constant value="auth.check.media.factory.construct" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT"/>
+      <constant value="auth.check.transport.client-settings" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS"/>
+      <constant value="auth.check.url" ctype="gchar*" gtype="gchar*" name="RTSP_AUTH_CHECK_URL"/>
+      <constant value="www.onvif.org/ver20/backchannel" ctype="gchar*" gtype="gchar*" name="RTSP_ONVIF_BACKCHANNEL_REQUIREMENT"/>
+      <constant value="onvif-replay" ctype="gchar*" gtype="gchar*" name="RTSP_ONVIF_REPLAY_REQUIREMENT"/>
+      <constant value="media.factory.access" ctype="gchar*" gtype="gchar*" name="RTSP_PERM_MEDIA_FACTORY_ACCESS"/>
+      <constant value="media.factory.construct" ctype="gchar*" gtype="gchar*" name="RTSP_PERM_MEDIA_FACTORY_CONSTRUCT"/>
+      <constant value="media.factory.role" ctype="gchar*" gtype="gchar*" name="RTSP_TOKEN_MEDIA_FACTORY_ROLE"/>
+      <constant value="transport.client-settings" ctype="gchar*" gtype="gchar*" name="RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS"/>
+    </object>
+  </namespace>
 </api>
index d001380675291dc94713807d97d812b87fb6ba9a..6242016f96243571bb6f8e7bec2160572f373e6d 100644 (file)
@@ -14,6 +14,7 @@
   <dllmap dll="gstsdp-1.0-0.dll" target="libgstsdp-1.0.so.0" os="linux"/>
   <dllmap dll="gstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.so.0" os="linux"/>
   <dllmap dll="gstcontroller-1.0-0.dll" target="libgstcontroller-1.0.so.0" os="linux"/>
+  <dllmap dll="gstrtspserver-1.0-0.dll" target="libgstrtspserver-1.0.so.0" os="linux"/>
   <dllmap dll="glib-2.0-0.dll" target="glib-2.0.so.0" os="linux"/>
   <dllmap dll="gobject-2.0-0.dll" target="gobject-2.0.so.0" os="linux"/>
   <dllmap dll="gthread-2.0-0.dll" target="libgthread-2.0.so.0" os="linux"/>
@@ -32,6 +33,7 @@
   <dllmap dll="gstsdp-1.0-0.dll" target="libgstsdp-1.0.dylib" os="osx"/>
   <dllmap dll="gstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.dylib" os="osx"/>
   <dllmap dll="gstcontroller-1.0-0.dll" target="libgstcontroller-1.0.dylib" os="osx"/>
+  <dllmap dll="gstrtspserver-1.0-0.dll" target="libgstrtspserver-1.0.dylib" os="osx"/>
   <dllmap dll="glib-2.0-0.dll" target="glib-2.0.dylib" os="osx"/>
   <dllmap dll="gobject-2.0-0.dll" target="gobject-2.0.dylib" os="osx"/>
   <dllmap dll="gthread-2.0-0.dll" target="libgthread-2.0.dylib" os="osx"/>
index c16ca1f0740dd4eb7ee75c21a852e049b1d96d15..67a71849cb15e4d9f34fb16b4f68ab528c1fd6c4 100644 (file)
@@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
        <attr path="/api/namespace[@name='GstRtsp']" name="name">Gst.Rtsp</attr>
        <attr path="/api/namespace[@name='GstSdp']" name="name">Gst.Sdp</attr>
        <attr path="/api/namespace[@name='GstWebRTC']" name="name">Gst.WebRTC</attr>
+       <attr path="/api/namespace[@name='GstRtspServer']" name="name">Gst.RtspServer</attr>
 
        <attr path="/api/namespace" name="library">gstreamer-1.0-0.dll</attr>
        <attr path="/api/namespace[@name='Gst.Base']" name="library">gstbase-1.0-0.dll</attr>
@@ -46,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
        <attr path="/api/namespace[@name='Gst.Rtsp']" name="library">gstrtsp-1.0-0.dll</attr>
        <attr path="/api/namespace[@name='Gst.Sdp']" name="library">gstsdp-1.0-0.dll</attr>
        <attr path="/api/namespace[@name='Gst.WebRTC']" name="library">gstwebrtc-1.0-0.dll</attr>
+       <attr path="/api/namespace[@name='Gst.RtspServer']" name="library">gstrtspserver-1.0-0.dll</attr>
 
        <!-- MiniObject issues -->
        <attr path="/api/namespace/boxed[@cname='GstMiniObject']" name="opaque">true</attr>
@@ -354,6 +356,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
        <!-- Hide because it is basically an alias to NetClock -->
        <attr path="/api/namespace/object[@cname='GstNtpClock']" name="hidden">true</attr>
 
+       <!-- GstRtspServer fixes -->
+       <attr path="/api/namespace/object/method[@cname='gst_rtsp_stream_transport_set_callbacks']" name="hidden">true</attr>
+       <attr path="/api/namespace/object/method[@cname='gst_rtsp_stream_transport_set_list_callbacks']" name="hidden">true</attr>
+       <attr path="/api/namespace/object/method[@cname='gst_rtsp_stream_transport_message_sent']" name="hidden">true</attr>
+
        <!-- Mark reserved fields as padding -->
        <attr path="//*[contains(@cname, 'gst_reserved')]" name="padding">true</attr>
        <attr path="//*[contains(@cname, 'gst_reserved2')]" name="padding">true</attr>
index 0e75ca0e437e37e75d7e5bc646e795cbe5626a90..d6aacc254fb6e087defbbb9f85b20979d8921735 100644 (file)
@@ -1,7 +1,7 @@
 raw_api_fname = join_paths(meson.current_source_dir(), meson.project_name() + '-api.raw')
 metadata = files(meson.project_name() + '.metadata')
 
-abi_includes = 'glib.h,gst/gst.h,gst/video/video.h,gst/audio/audio.h,gst/rtsp/rtsp.h,gst/app/app.h,gst/audio/audio.h,gst/base/base.h,gst/controller/controller.h,gst/fft/fft.h,gst/net/net.h,gst/pbutils/gstaudiovisualizer.h,gst/pbutils/pbutils.h,gst/rtp/rtp.h,gst/rtsp/rtsp.h,gst/sdp/sdp.h,gst/tag/tag.h,gst/video/video.h,gst/video/gstvideoaffinetransformationmeta.h,gst/net/gstnetcontrolmessagemeta.h,gst/webrtc/webrtc.h'
+abi_includes = 'glib.h,gst/gst.h,gst/video/video.h,gst/audio/audio.h,gst/rtsp/rtsp.h,gst/app/app.h,gst/audio/audio.h,gst/base/base.h,gst/controller/controller.h,gst/fft/fft.h,gst/net/net.h,gst/pbutils/gstaudiovisualizer.h,gst/pbutils/pbutils.h,gst/rtp/rtp.h,gst/rtsp/rtsp.h,gst/sdp/sdp.h,gst/tag/tag.h,gst/video/video.h,gst/video/gstvideoaffinetransformationmeta.h,gst/net/gstnetcontrolmessagemeta.h,gst/webrtc/webrtc.h,gst/rtsp-server/rtsp-server.h'
 
 sources = [
     'custom/Adapter.cs',