Update webrtc bindings
authorOlivier Crête <olivier.crete@collabora.com>
Thu, 24 Jun 2021 18:46:47 +0000 (14:46 -0400)
committerOlivier Crête <olivier.crete@collabora.com>
Thu, 24 Jun 2021 18:54:53 +0000 (14:54 -0400)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/merge_requests/29>

15 files changed:
girs/GstWebRTC-1.0.gir
sources/generated/Gst.WebRTC/OnErrorHandler.cs [new file with mode: 0644]
sources/generated/Gst.WebRTC/OnMessageDataHandler.cs [new file with mode: 0644]
sources/generated/Gst.WebRTC/OnMessageStringHandler.cs [new file with mode: 0644]
sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs
sources/generated/Gst.WebRTC/WebRTCDataChannel.cs
sources/generated/Gst.WebRTC/WebRTCICETransport.cs
sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs
sources/generated/Gst.WebRTC/WebRTCRTPSender.cs
sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs
sources/generated/gstreamer-sharp-abi.c
sources/generated/gstreamer-sharp-abi.cs
sources/generated/gstreamer-sharp-api.xml
sources/generated/meson.build
sources/gstreamer-sharp-api.raw

index c43e3dc..e6712f0 100644 (file)
@@ -113,7 +113,7 @@ and/or use gtk-doc annotations.  -->
                     c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER"
                     introspectable="0">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="34"/>
+                       line="32"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -123,7 +123,7 @@ and/or use gtk-doc annotations.  -->
                     c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER_CLASS"
                     introspectable="0">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="36"/>
+                       line="34"/>
       <parameters>
         <parameter name="klass">
         </parameter>
@@ -156,24 +156,6 @@ and/or use gtk-doc annotations.  -->
         </parameter>
       </parameters>
     </function-macro>
-    <function-macro name="WEBRTC_DATA_CHANNEL_LOCK"
-                    c:identifier="GST_WEBRTC_DATA_CHANNEL_LOCK"
-                    introspectable="0">
-      <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="39"/>
-      <parameters>
-        <parameter name="channel">
-        </parameter>
-      </parameters>
-    </function-macro>
-    <function-macro name="WEBRTC_DATA_CHANNEL_UNLOCK"
-                    c:identifier="GST_WEBRTC_DATA_CHANNEL_UNLOCK"
-                    introspectable="0">
-      <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="40"/>
-      <parameters>
-        <parameter name="channel">
-        </parameter>
-      </parameters>
-    </function-macro>
     <function-macro name="WEBRTC_DTLS_TRANSPORT"
                     c:identifier="GST_WEBRTC_DTLS_TRANSPORT"
                     introspectable="0">
@@ -292,7 +274,7 @@ and/or use gtk-doc annotations.  -->
                     c:identifier="GST_WEBRTC_RTP_TRANSCEIVER"
                     introspectable="0">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="33"/>
+                       line="31"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -302,7 +284,7 @@ and/or use gtk-doc annotations.  -->
                     c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_CLASS"
                     introspectable="0">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="35"/>
+                       line="33"/>
       <parameters>
         <parameter name="klass">
         </parameter>
@@ -312,7 +294,7 @@ and/or use gtk-doc annotations.  -->
                     c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_GET_CLASS"
                     introspectable="0">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="37"/>
+                       line="35"/>
       <parameters>
         <parameter name="obj">
         </parameter>
@@ -325,31 +307,39 @@ and/or use gtk-doc annotations.  -->
                  c:type="GstWebRTCBundlePolicy">
       <doc xml:space="preserve"
            filename="gst-libs/gst/webrtc/webrtc_fwd.h"
-           line="340">GST_WEBRTC_BUNDLE_POLICY_NONE: none
-GST_WEBRTC_BUNDLE_POLICY_BALANCED: balanced
-GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT: max-compat
-GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE: max-bundle
-See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
+           line="340">See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
 for more information.</doc>
       <member name="none"
               value="0"
               c:identifier="GST_WEBRTC_BUNDLE_POLICY_NONE"
               glib:nick="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="342">none</doc>
       </member>
       <member name="balanced"
               value="1"
               c:identifier="GST_WEBRTC_BUNDLE_POLICY_BALANCED"
               glib:nick="balanced">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="343">balanced</doc>
       </member>
       <member name="max_compat"
               value="2"
               c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT"
               glib:nick="max-compat">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="344">max-compat</doc>
       </member>
       <member name="max_bundle"
               value="3"
               c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE"
               glib:nick="max-bundle">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="345">max-bundle</doc>
       </member>
     </enumeration>
     <enumeration name="WebRTCDTLSSetup"
@@ -396,36 +386,7 @@ for more information.</doc>
            glib:type-name="GstWebRTCDTLSTransport"
            glib:get-type="gst_webrtc_dtls_transport_get_type"
            glib:type-struct="WebRTCDTLSTransportClass">
-      <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
-                       line="61"/>
-      <constructor name="new" c:identifier="gst_webrtc_dtls_transport_new">
-        <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
-                         line="64"/>
-        <return-value transfer-ownership="none">
-          <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
-        </return-value>
-        <parameters>
-          <parameter name="session_id" transfer-ownership="none">
-            <type name="guint" c:type="guint"/>
-          </parameter>
-        </parameters>
-      </constructor>
-      <method name="set_transport"
-              c:identifier="gst_webrtc_dtls_transport_set_transport">
-        <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
-                         line="67"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="transport" transfer-ownership="none">
-            <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
-          </instance-parameter>
-          <parameter name="ice" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </parameter>
-        </parameters>
-      </method>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="46"/>
       <property name="certificate" writable="1" transfer-ownership="none">
         <type name="utf8" c:type="gchar*"/>
       </property>
@@ -447,47 +408,12 @@ for more information.</doc>
       <property name="transport" transfer-ownership="none">
         <type name="WebRTCICETransport"/>
       </property>
-      <field name="parent">
-        <type name="Gst.Object" c:type="GstObject"/>
-      </field>
-      <field name="transport">
-        <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-      </field>
-      <field name="state">
-        <type name="WebRTCDTLSTransportState"
-              c:type="GstWebRTCDTLSTransportState"/>
-      </field>
-      <field name="client">
-        <type name="gboolean" c:type="gboolean"/>
-      </field>
-      <field name="session_id">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="dtlssrtpenc">
-        <type name="Gst.Element" c:type="GstElement*"/>
-      </field>
-      <field name="dtlssrtpdec">
-        <type name="Gst.Element" c:type="GstElement*"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
     </class>
     <record name="WebRTCDTLSTransportClass"
             c:type="GstWebRTCDTLSTransportClass"
+            disguised="1"
             glib:is-gtype-struct-for="WebRTCDTLSTransport">
-      <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
-                       line="61"/>
-      <field name="parent_class">
-        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="46"/>
     </record>
     <enumeration name="WebRTCDTLSTransportState"
                  glib:type-name="GstWebRTCDTLSTransportState"
@@ -537,226 +463,18 @@ for more information.</doc>
     <class name="WebRTCDataChannel"
            c:symbol-prefix="webrtc_data_channel"
            c:type="GstWebRTCDataChannel"
-           version="1.18"
            parent="GObject.Object"
            abstract="1"
            glib:type-name="GstWebRTCDataChannel"
            glib:get-type="gst_webrtc_data_channel_get_type"
            glib:type-struct="WebRTCDataChannelClass">
-      <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="82"/>
-      <virtual-method name="close" invoker="close">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="544">Close the @channel.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="79"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="546">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="send_data" invoker="send_data">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="506">Send @data as a data message over @channel.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="77"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="508">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-          <parameter name="data"
-                     transfer-ownership="none"
-                     nullable="1"
-                     allow-none="1">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="509">a #GBytes or %NULL</doc>
-            <type name="GLib.Bytes" c:type="GBytes*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
-      <virtual-method name="send_string" invoker="send_string">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="525">Send @str as a string message over @channel.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="78"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="527">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-          <parameter name="str"
-                     transfer-ownership="none"
-                     nullable="1"
-                     allow-none="1">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="528">a string or %NULL</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-        </parameters>
-      </virtual-method>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="63"/>
       <method name="close" c:identifier="gst_webrtc_data_channel_close">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/datachannel.c"
-             line="544">Close the @channel.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="109"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="546">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <method name="on_buffered_amount_low"
-              c:identifier="gst_webrtc_data_channel_on_buffered_amount_low">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="490">Signal that the data channel reached a low buffered amount. Should only be used by subclasses.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="100"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="492">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <method name="on_close" c:identifier="gst_webrtc_data_channel_on_close">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="405">Signal that the data channel was closed. Should only be used by subclasses.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="88"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="407">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-        </parameters>
-      </method>
-      <method name="on_error" c:identifier="gst_webrtc_data_channel_on_error">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="434">Signal that the data channel had an error. Should only be used by subclasses.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="91"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="436">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-          <parameter name="error" transfer-ownership="full">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="437">a #GError</doc>
-            <type name="GLib.Error" c:type="GError*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="on_message_data"
-              c:identifier="gst_webrtc_data_channel_on_message_data">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="454">Signal that the data channel received a data message. Should only be used by subclasses.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="94"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="456">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-          <parameter name="data"
-                     transfer-ownership="none"
-                     nullable="1"
-                     allow-none="1">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="457">a #GBytes or %NULL</doc>
-            <type name="GLib.Bytes" c:type="GBytes*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="on_message_string"
-              c:identifier="gst_webrtc_data_channel_on_message_string">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="472">Signal that the data channel received a string message. Should only be used by subclasses.</doc>
-        <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="97"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="channel" transfer-ownership="none">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="474">a #GstWebRTCDataChannel</doc>
-            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-          </instance-parameter>
-          <parameter name="str"
-                     transfer-ownership="none"
-                     nullable="1"
-                     allow-none="1">
-            <doc xml:space="preserve"
-                 filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="475">a string or %NULL</doc>
-            <type name="utf8" c:type="const gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="on_open" c:identifier="gst_webrtc_data_channel_on_open">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/datachannel.c"
-             line="371">Signal that the data channel was opened. Should only be used by subclasses.</doc>
+             line="545">Close the @channel.</doc>
         <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="85"/>
+                         line="46"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -764,7 +482,7 @@ for more information.</doc>
           <instance-parameter name="channel" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="373">a #GstWebRTCDataChannel</doc>
+                 line="547">a #GstWebRTCDataChannel</doc>
             <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
           </instance-parameter>
         </parameters>
@@ -773,9 +491,9 @@ for more information.</doc>
               c:identifier="gst_webrtc_data_channel_send_data">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/datachannel.c"
-             line="506">Send @data as a data message over @channel.</doc>
+             line="507">Send @data as a data message over @channel.</doc>
         <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="103"/>
+                         line="40"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -783,7 +501,7 @@ for more information.</doc>
           <instance-parameter name="channel" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="508">a #GstWebRTCDataChannel</doc>
+                 line="509">a #GstWebRTCDataChannel</doc>
             <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
           </instance-parameter>
           <parameter name="data"
@@ -792,7 +510,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="509">a #GBytes or %NULL</doc>
+                 line="510">a #GBytes or %NULL</doc>
             <type name="GLib.Bytes" c:type="GBytes*"/>
           </parameter>
         </parameters>
@@ -801,9 +519,9 @@ for more information.</doc>
               c:identifier="gst_webrtc_data_channel_send_string">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/datachannel.c"
-             line="525">Send @str as a string message over @channel.</doc>
+             line="526">Send @str as a string message over @channel.</doc>
         <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                         line="106"/>
+                         line="43"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -811,7 +529,7 @@ for more information.</doc>
           <instance-parameter name="channel" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="527">a #GstWebRTCDataChannel</doc>
+                 line="528">a #GstWebRTCDataChannel</doc>
             <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
           </instance-parameter>
           <parameter name="str"
@@ -820,7 +538,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="528">a string or %NULL</doc>
+                 line="529">a string or %NULL</doc>
             <type name="utf8" c:type="const gchar*"/>
           </parameter>
         </parameters>
@@ -884,55 +602,10 @@ for more information.</doc>
       <property name="ready-state" transfer-ownership="none">
         <type name="WebRTCDataChannelState"/>
       </property>
-      <field name="parent">
-        <type name="GObject.Object" c:type="GObject"/>
-      </field>
-      <field name="lock">
-        <type name="GLib.Mutex" c:type="GMutex"/>
-      </field>
-      <field name="label">
-        <type name="utf8" c:type="gchar*"/>
-      </field>
-      <field name="ordered">
-        <type name="gboolean" c:type="gboolean"/>
-      </field>
-      <field name="max_packet_lifetime">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="max_retransmits">
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="protocol">
-        <type name="utf8" c:type="gchar*"/>
-      </field>
-      <field name="negotiated">
-        <type name="gboolean" c:type="gboolean"/>
-      </field>
-      <field name="id">
-        <type name="gint" c:type="gint"/>
-      </field>
-      <field name="priority">
-        <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
-      </field>
-      <field name="ready_state">
-        <type name="WebRTCDataChannelState"
-              c:type="GstWebRTCDataChannelState"/>
-      </field>
-      <field name="buffered_amount">
-        <type name="guint64" c:type="guint64"/>
-      </field>
-      <field name="buffered_amount_low_threshold">
-        <type name="guint64" c:type="guint64"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
       <glib:signal name="close" when="last" action="1">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/datachannel.c"
-             line="352">Close the data channel</doc>
+             line="353">Close the data channel</doc>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -955,7 +628,7 @@ for more information.</doc>
           <parameter name="error" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="298">the #GError thrown</doc>
+                 line="299">the #GError thrown</doc>
             <type name="GLib.Error"/>
           </parameter>
         </parameters>
@@ -971,7 +644,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="307">a #GBytes of the data received</doc>
+                 line="308">a #GBytes of the data received</doc>
             <type name="GLib.Bytes"/>
           </parameter>
         </parameters>
@@ -987,7 +660,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="316">the data received as a string</doc>
+                 line="317">the data received as a string</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
@@ -1008,7 +681,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="333">a #GBytes with the data</doc>
+                 line="334">a #GBytes with the data</doc>
             <type name="GLib.Bytes"/>
           </parameter>
         </parameters>
@@ -1024,7 +697,7 @@ for more information.</doc>
                      allow-none="1">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/datachannel.c"
-                 line="344">the data to send as a string</doc>
+                 line="345">the data to send as a string</doc>
             <type name="utf8" c:type="gchar*"/>
           </parameter>
         </parameters>
@@ -1032,86 +705,9 @@ for more information.</doc>
     </class>
     <record name="WebRTCDataChannelClass"
             c:type="GstWebRTCDataChannelClass"
-            glib:is-gtype-struct-for="WebRTCDataChannel"
-            version="1.18">
-      <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="82"/>
-      <field name="parent_class">
-        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
-      </field>
-      <field name="send_data">
-        <callback name="send_data">
-          <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                           line="77"/>
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="channel" transfer-ownership="none">
-              <doc xml:space="preserve"
-                   filename="gst-libs/gst/webrtc/datachannel.c"
-                   line="508">a #GstWebRTCDataChannel</doc>
-              <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-            </parameter>
-            <parameter name="data"
-                       transfer-ownership="none"
-                       nullable="1"
-                       allow-none="1">
-              <doc xml:space="preserve"
-                   filename="gst-libs/gst/webrtc/datachannel.c"
-                   line="509">a #GBytes or %NULL</doc>
-              <type name="GLib.Bytes" c:type="GBytes*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="send_string">
-        <callback name="send_string">
-          <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                           line="78"/>
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="channel" transfer-ownership="none">
-              <doc xml:space="preserve"
-                   filename="gst-libs/gst/webrtc/datachannel.c"
-                   line="527">a #GstWebRTCDataChannel</doc>
-              <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-            </parameter>
-            <parameter name="str"
-                       transfer-ownership="none"
-                       nullable="1"
-                       allow-none="1">
-              <doc xml:space="preserve"
-                   filename="gst-libs/gst/webrtc/datachannel.c"
-                   line="528">a string or %NULL</doc>
-              <type name="utf8" c:type="const gchar*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="close">
-        <callback name="close">
-          <source-position filename="gst-libs/gst/webrtc/datachannel.h"
-                           line="79"/>
-          <return-value transfer-ownership="none">
-            <type name="none" c:type="void"/>
-          </return-value>
-          <parameters>
-            <parameter name="channel" transfer-ownership="none">
-              <doc xml:space="preserve"
-                   filename="gst-libs/gst/webrtc/datachannel.c"
-                   line="546">a #GstWebRTCDataChannel</doc>
-              <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+            disguised="1"
+            glib:is-gtype-struct-for="WebRTCDataChannel">
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="63"/>
     </record>
     <enumeration name="WebRTCDataChannelState"
                  version="1.16"
@@ -1120,36 +716,46 @@ for more information.</doc>
                  c:type="GstWebRTCDataChannelState">
       <doc xml:space="preserve"
            filename="gst-libs/gst/webrtc/webrtc_fwd.h"
-           line="319">GST_WEBRTC_DATA_CHANNEL_STATE_NEW: new
-GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING: connection
-GST_WEBRTC_DATA_CHANNEL_STATE_OPEN: open
-GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING: closing
-GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED: closed
-See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
+           line="319">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
       <member name="new"
               value="0"
               c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_NEW"
               glib:nick="new">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="321">new</doc>
       </member>
       <member name="connecting"
               value="1"
               c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING"
               glib:nick="connecting">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="322">connection</doc>
       </member>
       <member name="open"
               value="2"
               c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_OPEN"
               glib:nick="open">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="323">open</doc>
       </member>
       <member name="closing"
               value="3"
               c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING"
               glib:nick="closing">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="324">closing</doc>
       </member>
       <member name="closed"
               value="4"
               c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED"
               glib:nick="closed">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="325">closed</doc>
       </member>
     </enumeration>
     <enumeration name="WebRTCFECType"
@@ -1320,89 +926,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
            glib:type-name="GstWebRTCICETransport"
            glib:get-type="gst_webrtc_ice_transport_get_type"
            glib:type-struct="WebRTCICETransportClass">
-      <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                       line="64"/>
-      <virtual-method name="gather_candidates">
-        <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                         line="61"/>
-        <return-value transfer-ownership="none">
-          <type name="gboolean" c:type="gboolean"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="transport" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </instance-parameter>
-        </parameters>
-      </virtual-method>
-      <method name="connection_state_change"
-              c:identifier="gst_webrtc_ice_transport_connection_state_change">
-        <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                         line="67"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="ice" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </instance-parameter>
-          <parameter name="new_state" transfer-ownership="none">
-            <type name="WebRTCICEConnectionState"
-                  c:type="GstWebRTCICEConnectionState"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="gathering_state_change"
-              c:identifier="gst_webrtc_ice_transport_gathering_state_change">
-        <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                         line="70"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="ice" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </instance-parameter>
-          <parameter name="new_state" transfer-ownership="none">
-            <type name="WebRTCICEGatheringState"
-                  c:type="GstWebRTCICEGatheringState"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="new_candidate"
-              c:identifier="gst_webrtc_ice_transport_new_candidate">
-        <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                         line="75"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="ice" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </instance-parameter>
-          <parameter name="stream_id" transfer-ownership="none">
-            <type name="guint" c:type="guint"/>
-          </parameter>
-          <parameter name="component" transfer-ownership="none">
-            <type name="WebRTCICEComponent" c:type="GstWebRTCICEComponent"/>
-          </parameter>
-          <parameter name="attr" transfer-ownership="none">
-            <type name="utf8" c:type="gchar*"/>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="selected_pair_change"
-              c:identifier="gst_webrtc_ice_transport_selected_pair_change">
-        <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                         line="73"/>
-        <return-value transfer-ownership="none">
-          <type name="none" c:type="void"/>
-        </return-value>
-        <parameters>
-          <instance-parameter name="ice" transfer-ownership="none">
-            <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-          </instance-parameter>
-        </parameters>
-      </method>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="49"/>
       <property name="component"
                 writable="1"
                 construct-only="1"
@@ -1415,34 +939,6 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
       <property name="state" transfer-ownership="none">
         <type name="WebRTCICEConnectionState"/>
       </property>
-      <field name="parent">
-        <type name="Gst.Object" c:type="GstObject"/>
-      </field>
-      <field name="role">
-        <type name="WebRTCICERole" c:type="GstWebRTCICERole"/>
-      </field>
-      <field name="component">
-        <type name="WebRTCICEComponent" c:type="GstWebRTCICEComponent"/>
-      </field>
-      <field name="state">
-        <type name="WebRTCICEConnectionState"
-              c:type="GstWebRTCICEConnectionState"/>
-      </field>
-      <field name="gathering_state">
-        <type name="WebRTCICEGatheringState"
-              c:type="GstWebRTCICEGatheringState"/>
-      </field>
-      <field name="src">
-        <type name="Gst.Element" c:type="GstElement*"/>
-      </field>
-      <field name="sink">
-        <type name="Gst.Element" c:type="GstElement*"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
       <glib:signal name="on-new-candidate" when="last">
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
@@ -1461,31 +957,9 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
     </class>
     <record name="WebRTCICETransportClass"
             c:type="GstWebRTCICETransportClass"
+            disguised="1"
             glib:is-gtype-struct-for="WebRTCICETransport">
-      <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                       line="64"/>
-      <field name="parent_class">
-        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
-      </field>
-      <field name="gather_candidates">
-        <callback name="gather_candidates">
-          <source-position filename="gst-libs/gst/webrtc/icetransport.h"
-                           line="61"/>
-          <return-value transfer-ownership="none">
-            <type name="gboolean" c:type="gboolean"/>
-          </return-value>
-          <parameters>
-            <parameter name="transport" transfer-ownership="none">
-              <type name="WebRTCICETransport" c:type="GstWebRTCICETransport*"/>
-            </parameter>
-          </parameters>
-        </callback>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="49"/>
     </record>
     <enumeration name="WebRTCICETransportPolicy"
                  version="1.16"
@@ -1494,19 +968,23 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
                  c:type="GstWebRTCICETransportPolicy">
       <doc xml:space="preserve"
            filename="gst-libs/gst/webrtc/webrtc_fwd.h"
-           line="360">GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL: all
-GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY: relay
-See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
+           line="360">See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
 for more information.</doc>
       <member name="all"
               value="0"
               c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL"
               glib:nick="all">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="362">all</doc>
       </member>
       <member name="relay"
               value="1"
               c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY"
               glib:nick="relay">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="363">relay</doc>
       </member>
     </enumeration>
     <enumeration name="WebRTCKind"
@@ -1605,110 +1083,78 @@ for more information.</doc>
                  c:type="GstWebRTCPriorityType">
       <doc xml:space="preserve"
            filename="gst-libs/gst/webrtc/webrtc_fwd.h"
-           line="300">GST_WEBRTC_PRIORITY_TYPE_VERY_LOW: very-low
-GST_WEBRTC_PRIORITY_TYPE_LOW: low
-GST_WEBRTC_PRIORITY_TYPE_MEDIUM: medium
-GST_WEBRTC_PRIORITY_TYPE_HIGH: high
-See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
+           line="300">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
       <member name="very_low"
               value="1"
               c:identifier="GST_WEBRTC_PRIORITY_TYPE_VERY_LOW"
               glib:nick="very-low">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="302">very-low</doc>
       </member>
       <member name="low"
               value="2"
               c:identifier="GST_WEBRTC_PRIORITY_TYPE_LOW"
               glib:nick="low">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="303">low</doc>
       </member>
       <member name="medium"
               value="3"
               c:identifier="GST_WEBRTC_PRIORITY_TYPE_MEDIUM"
               glib:nick="medium">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="304">medium</doc>
       </member>
       <member name="high"
               value="4"
               c:identifier="GST_WEBRTC_PRIORITY_TYPE_HIGH"
               glib:nick="high">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="305">high</doc>
       </member>
     </enumeration>
     <class name="WebRTCRTPReceiver"
            c:symbol-prefix="webrtc_rtp_receiver"
            c:type="GstWebRTCRTPReceiver"
-           version="1.16"
            parent="Gst.Object"
            glib:type-name="GstWebRTCRTPReceiver"
            glib:get-type="gst_webrtc_rtp_receiver_get_type"
            glib:type-struct="WebRTCRTPReceiverClass">
-      <doc xml:space="preserve"
-           filename="gst-libs/gst/webrtc/rtpreceiver.h"
-           line="38">An object to track the receiving aspect of the stream
-
-Mostly matches the WebRTC RTCRtpReceiver interface.</doc>
-      <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="63"/>
-      <constructor name="new" c:identifier="gst_webrtc_rtp_receiver_new">
-        <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
-                         line="66"/>
-        <return-value transfer-ownership="none">
-          <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
-        </return-value>
-      </constructor>
-      <field name="parent">
-        <type name="Gst.Object" c:type="GstObject"/>
-      </field>
-      <field name="transport">
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="52"/>
+      <property name="transport" version="1.20" transfer-ownership="none">
         <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtpreceiver.h"
-             line="40">The transport for RTP packets</doc>
-        <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+             filename="gst-libs/gst/webrtc/rtpreceiver.c"
+             line="107">The DTLS transport for this receiver</doc>
+        <type name="WebRTCDTLSTransport"/>
+      </property>
     </class>
     <record name="WebRTCRTPReceiverClass"
             c:type="GstWebRTCRTPReceiverClass"
+            disguised="1"
             glib:is-gtype-struct-for="WebRTCRTPReceiver">
-      <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="63"/>
-      <field name="parent_class">
-        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="52"/>
     </record>
     <class name="WebRTCRTPSender"
            c:symbol-prefix="webrtc_rtp_sender"
            c:type="GstWebRTCRTPSender"
-           version="1.16"
            parent="Gst.Object"
            glib:type-name="GstWebRTCRTPSender"
            glib:get-type="gst_webrtc_rtp_sender_get_type"
            glib:type-struct="WebRTCRTPSenderClass">
-      <doc xml:space="preserve"
-           filename="gst-libs/gst/webrtc/rtpsender.h"
-           line="38">An object to track the sending aspect of the stream
-
-Mostly matches the WebRTC RTCRtpSender interface.</doc>
-      <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="75"/>
-      <constructor name="new" c:identifier="gst_webrtc_rtp_sender_new">
-        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="78"/>
-        <return-value transfer-ownership="none">
-          <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
-        </return-value>
-      </constructor>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="55"/>
       <method name="set_priority"
               c:identifier="gst_webrtc_rtp_sender_set_priority"
               version="1.20">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/rtpsender.c"
-             line="59">Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
+             line="61">Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
 (Differentiated Services Code Point).
 This also sets the Traffic Class field of IPv6.</doc>
-        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="81"/>
+        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="39"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1716,13 +1162,13 @@ This also sets the Traffic Class field of IPv6.</doc>
           <instance-parameter name="sender" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/rtpsender.c"
-                 line="61">a #GstWebRTCRTPSender</doc>
+                 line="63">a #GstWebRTCRTPSender</doc>
             <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
           </instance-parameter>
           <parameter name="priority" transfer-ownership="none">
             <doc xml:space="preserve"
                  filename="gst-libs/gst/webrtc/rtpsender.c"
-                 line="62">The priority of this sender</doc>
+                 line="64">The priority of this sender</doc>
             <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
           </parameter>
         </parameters>
@@ -1733,74 +1179,77 @@ This also sets the Traffic Class field of IPv6.</doc>
                 transfer-ownership="none">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/rtpsender.c"
-             line="136">The priority from which to set the DSCP field on packets</doc>
+             line="143">The priority from which to set the DSCP field on packets</doc>
         <type name="WebRTCPriorityType"/>
       </property>
-      <field name="parent">
-        <type name="Gst.Object" c:type="GstObject"/>
-      </field>
-      <field name="transport">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtpsender.h"
-             line="40">The transport for RTP packets</doc>
-        <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
-      </field>
-      <field name="send_encodings">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtpsender.h"
-             line="41">Unused</doc>
-        <array name="GLib.Array" c:type="GArray*">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
-      <field name="priority" version="1.20">
+      <property name="transport" version="1.20" transfer-ownership="none">
         <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtpsender.h"
-             line="50">The priority of the stream</doc>
-        <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+             filename="gst-libs/gst/webrtc/rtpsender.c"
+             line="158">The DTLS transport for this sender</doc>
+        <type name="WebRTCDTLSTransport"/>
+      </property>
     </class>
     <record name="WebRTCRTPSenderClass"
             c:type="GstWebRTCRTPSenderClass"
+            disguised="1"
             glib:is-gtype-struct-for="WebRTCRTPSender">
-      <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="75"/>
-      <field name="parent_class">
-        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="55"/>
     </record>
     <class name="WebRTCRTPTransceiver"
            c:symbol-prefix="webrtc_rtp_transceiver"
            c:type="GstWebRTCRTPTransceiver"
-           version="1.16"
            parent="Gst.Object"
            abstract="1"
            glib:type-name="GstWebRTCRTPTransceiver"
            glib:get-type="gst_webrtc_rtp_transceiver_get_type"
            glib:type-struct="WebRTCRTPTransceiverClass">
-      <doc xml:space="preserve"
-           filename="gst-libs/gst/webrtc/rtptransceiver.h"
-           line="39">Mostly matches the WebRTC RTCRtpTransceiver interface.</doc>
-      <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="96"/>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="60"/>
+      <property name="codec-preferences"
+                version="1.20"
+                writable="1"
+                transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtptransceiver.c"
+             line="285">Caps representing the codec preferences.</doc>
+        <type name="Gst.Caps"/>
+      </property>
+      <property name="current-direction"
+                version="1.20"
+                transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtptransceiver.c"
+             line="253">The transceiver's current directionality, or none if the
+transceiver is stopped or has never participated in an exchange
+of offers and answers. To change the transceiver's
+directionality, set the value of the direction property.</doc>
+        <type name="WebRTCRTPTransceiverDirection"/>
+      </property>
       <property name="direction"
                 version="1.18"
                 writable="1"
                 transfer-ownership="none">
         <doc xml:space="preserve"
              filename="gst-libs/gst/webrtc/rtptransceiver.c"
-             line="188">Direction of the transceiver.</doc>
+             line="216">Direction of the transceiver.</doc>
         <type name="WebRTCRTPTransceiverDirection"/>
       </property>
+      <property name="kind" version="1.20" transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtptransceiver.c"
+             line="271">The kind of media this transceiver transports</doc>
+        <type name="WebRTCKind"/>
+      </property>
+      <property name="mid" version="1.20" transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtptransceiver.c"
+             line="231">The media ID of the m-line associated with this transceiver. This
+association is established, when possible, whenever either a
+local or remote description is applied. This field is null if
+neither a local or remote description has been applied, or if its
+associated m-line is rejected by either a remote offer or any
+answer.</doc>
+        <type name="utf8" c:type="gchar*"/>
+      </property>
       <property name="mlineindex"
                 writable="1"
                 construct-only="1"
@@ -1819,93 +1268,12 @@ This also sets the Traffic Class field of IPv6.</doc>
                 transfer-ownership="none">
         <type name="WebRTCRTPSender"/>
       </property>
-      <field name="parent">
-        <type name="Gst.Object" c:type="GstObject"/>
-      </field>
-      <field name="mline">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="41">the mline number this transceiver corresponds to</doc>
-        <type name="guint" c:type="guint"/>
-      </field>
-      <field name="mid">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="42">The media ID of the m-line associated with this
-transceiver. This association is established, when possible,
-whenever either a local or remote description is applied. This
-field is NULL if neither a local or remote description has been
-applied, or if its associated m-line is rejected by either a remote
-offer or any answer.</doc>
-        <type name="utf8" c:type="gchar*"/>
-      </field>
-      <field name="stopped">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="48">Indicates whether or not sending and receiving using the paired
-#GstWebRTCRTPSender and #GstWebRTCRTPReceiver has been permanently disabled,
-either due to SDP offer/answer</doc>
-        <type name="gboolean" c:type="gboolean"/>
-      </field>
-      <field name="sender">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="51">The #GstWebRTCRTPSender object responsible sending  data to the
-remote peer</doc>
-        <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
-      </field>
-      <field name="receiver">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="53">The #GstWebRTCRTPReceiver object responsible for receiver data from
-the remote peer.</doc>
-        <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
-      </field>
-      <field name="direction">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="55">The transceiver's desired direction.</doc>
-        <type name="WebRTCRTPTransceiverDirection"
-              c:type="GstWebRTCRTPTransceiverDirection"/>
-      </field>
-      <field name="current_direction">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="56">The transceiver's current direction (read-only)</doc>
-        <type name="WebRTCRTPTransceiverDirection"
-              c:type="GstWebRTCRTPTransceiverDirection"/>
-      </field>
-      <field name="codec_preferences">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="57">A caps representing the codec preferences (read-only)</doc>
-        <type name="Gst.Caps" c:type="GstCaps*"/>
-      </field>
-      <field name="kind" version="1.20">
-        <doc xml:space="preserve"
-             filename="gst-libs/gst/webrtc/rtptransceiver.h"
-             line="64">Type of media</doc>
-        <type name="WebRTCKind" c:type="GstWebRTCKind"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
     </class>
     <record name="WebRTCRTPTransceiverClass"
             c:type="GstWebRTCRTPTransceiverClass"
+            disguised="1"
             glib:is-gtype-struct-for="WebRTCRTPTransceiver">
-      <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="96"/>
-      <field name="parent_class">
-        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
-      </field>
-      <field name="_padding">
-        <array zero-terminated="0" fixed-size="4">
-          <type name="gpointer" c:type="gpointer"/>
-        </array>
-      </field>
+      <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="60"/>
     </record>
     <enumeration name="WebRTCRTPTransceiverDirection"
                  glib:type-name="GstWebRTCRTPTransceiverDirection"
@@ -1959,30 +1327,38 @@ the remote peer.</doc>
                  c:type="GstWebRTCSCTPTransportState">
       <doc xml:space="preserve"
            filename="gst-libs/gst/webrtc/webrtc_fwd.h"
-           line="281">GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW: new
-GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING: connecting
-GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED: connected
-GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED: closed
-See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate&gt;</doc>
+           line="281">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate&gt;</doc>
       <member name="new"
               value="0"
               c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW"
               glib:nick="new">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="283">new</doc>
       </member>
       <member name="connecting"
               value="1"
               c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING"
               glib:nick="connecting">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="284">connecting</doc>
       </member>
       <member name="connected"
               value="2"
               c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED"
               glib:nick="connected">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="285">connected</doc>
       </member>
       <member name="closed"
               value="3"
               c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED"
               glib:nick="closed">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="286">closed</doc>
       </member>
     </enumeration>
     <enumeration name="WebRTCSDPType"
diff --git a/sources/generated/Gst.WebRTC/OnErrorHandler.cs b/sources/generated/Gst.WebRTC/OnErrorHandler.cs
new file mode 100644 (file)
index 0000000..fc4ff87
--- /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.WebRTC {
+
+       using System;
+
+       public delegate void OnErrorHandler(object o, OnErrorArgs args);
+
+       public class OnErrorArgs : GLib.SignalArgs {
+               public IntPtr Error{
+                       get {
+                               return (IntPtr) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs b/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs
new file mode 100644 (file)
index 0000000..2ff360a
--- /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.WebRTC {
+
+       using System;
+
+       public delegate void OnMessageDataHandler(object o, OnMessageDataArgs args);
+
+       public class OnMessageDataArgs : GLib.SignalArgs {
+               public GLib.Bytes Data{
+                       get {
+                               return (GLib.Bytes) Args [0];
+                       }
+               }
+
+       }
+}
diff --git a/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs b/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs
new file mode 100644 (file)
index 0000000..64273e4
--- /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.WebRTC {
+
+       using System;
+
+       public delegate void OnMessageStringHandler(object o, OnMessageStringArgs args);
+
+       public class OnMessageStringArgs : GLib.SignalArgs {
+               public string Data{
+                       get {
+                               return (string) Args [0];
+                       }
+               }
+
+       }
+}
index 300296c..011be3e 100644 (file)
@@ -13,20 +13,9 @@ namespace Gst.WebRTC {
 
                public WebRTCDTLSTransport (IntPtr raw) : base(raw) {}
 
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern IntPtr gst_webrtc_dtls_transport_new(uint session_id);
-
-               public WebRTCDTLSTransport (uint session_id) : base (IntPtr.Zero)
+               protected WebRTCDTLSTransport() : base(IntPtr.Zero)
                {
-                       if (GetType () != typeof (WebRTCDTLSTransport)) {
-                               var vals = new List<GLib.Value> ();
-                               var names = new List<string> ();
-                               names.Add ("session_id");
-                               vals.Add (new GLib.Value (session_id));
-                               CreateNativeObject (names.ToArray (), vals.ToArray ());
-                               return;
-                       }
-                       Raw = gst_webrtc_dtls_transport_new(session_id);
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
                }
 
                [GLib.Property ("certificate")]
@@ -89,9 +78,6 @@ namespace Gst.WebRTC {
                        }
                }
 
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_dtls_transport_set_transport(IntPtr raw, IntPtr ice);
-
                [GLib.Property ("transport")]
                public Gst.WebRTC.WebRTCICETransport Transport {
                        get {
@@ -100,63 +86,6 @@ namespace Gst.WebRTC {
                                val.Dispose ();
                                return ret;
                        }
-                       set  {
-                               gst_webrtc_dtls_transport_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle);
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCICETransport TransportField {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCICETransport;
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCDTLSTransportState StateField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("state"));
-                                       return (Gst.WebRTC.WebRTCDTLSTransportState) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public bool ClientField {
-                       get {
-                               unsafe {
-                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("client"));
-                                       return (*raw_ptr);
-                               }
-                       }
-               }
-
-               public uint SessionIdField {
-                       get {
-                               unsafe {
-                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("session_id"));
-                                       return (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.Element Dtlssrtpenc {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dtlssrtpenc"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Element;
-                               }
-                       }
-               }
-
-               public Gst.Element Dtlssrtpdec {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dtlssrtpdec"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Element;
-                               }
-                       }
                }
 
 
@@ -165,16 +94,7 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct class_abi {
                        get {
                                if (_class_abi == null)
-                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("_padding"
-                                                       , Gst.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , null
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -205,90 +125,12 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("transport"
-                                                       , Gst.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport
-                                                       , null
-                                                       , "state"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("state"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCDTLSTransportState))) // state
-                                                       , "transport"
-                                                       , "client"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_stateAlign), "state")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("client"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(bool)) // client
-                                                       , "state"
-                                                       , "session_id"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_clientAlign), "client")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("session_id"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(uint)) // session_id
-                                                       , "client"
-                                                       , "dtlssrtpenc"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_session_idAlign), "session_id")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("dtlssrtpenc"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // dtlssrtpenc
-                                                       , "session_id"
-                                                       , "dtlssrtpdec"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("dtlssrtpdec"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // dtlssrtpdec
-                                                       , "dtlssrtpenc"
-                                                       , "_padding"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "dtlssrtpdec"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
                }
 
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDTLSTransport_stateAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCDTLSTransportState state;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDTLSTransport_clientAlign
-               {
-                       sbyte f1;
-                       private bool client;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDTLSTransport_session_idAlign
-               {
-                       sbyte f1;
-                       private uint session_id;
-               }
-
 
                // End of the ABI representation.
 
index 24b29d1..d225ae7 100644 (file)
@@ -133,116 +133,58 @@ namespace Gst.WebRTC {
                        }
                }
 
-               public GLib.Mutex Lock {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock"));
-                                       return new GLib.Mutex((*raw_ptr));
-                               }
-                       }
-               }
-
-               public string LabelField {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("label"));
-                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
-                               }
-                       }
-               }
-
-               public bool OrderedField {
-                       get {
-                               unsafe {
-                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("ordered"));
-                                       return (*raw_ptr);
-                               }
+               [GLib.Signal("on-error")]
+               public event Gst.WebRTC.OnErrorHandler OnError {
+                       add {
+                               this.AddSignalHandler ("on-error", value, typeof (Gst.WebRTC.OnErrorArgs));
                        }
-               }
-
-               public uint MaxPacketLifetimeField {
-                       get {
-                               unsafe {
-                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("max_packet_lifetime"));
-                                       return (*raw_ptr);
-                               }
+                       remove {
+                               this.RemoveSignalHandler ("on-error", value);
                        }
                }
 
-               public uint MaxRetransmitsField {
-                       get {
-                               unsafe {
-                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("max_retransmits"));
-                                       return (*raw_ptr);
-                               }
+               [GLib.Signal("send-string")]
+               public event Gst.WebRTC.SendStringEventHandler SendStringEvent {
+                       add {
+                               this.AddSignalHandler ("send-string", value, typeof (Gst.WebRTC.SendStringEventArgs));
                        }
-               }
-
-               public string ProtocolField {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("protocol"));
-                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
-                               }
+                       remove {
+                               this.RemoveSignalHandler ("send-string", value);
                        }
                }
 
-               public bool NegotiatedField {
-                       get {
-                               unsafe {
-                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("negotiated"));
-                                       return (*raw_ptr);
-                               }
+               [GLib.Signal("send-data")]
+               public event Gst.WebRTC.SendDataEventHandler SendDataEvent {
+                       add {
+                               this.AddSignalHandler ("send-data", value, typeof (Gst.WebRTC.SendDataEventArgs));
                        }
-               }
-
-               public int IdField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("id"));
-                                       return (*raw_ptr);
-                               }
+                       remove {
+                               this.RemoveSignalHandler ("send-data", value);
                        }
                }
 
-               public Gst.WebRTC.WebRTCPriorityType PriorityField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("priority"));
-                                       return (Gst.WebRTC.WebRTCPriorityType) (*raw_ptr);
-                               }
+               [GLib.Signal("close")]
+               public event System.EventHandler CloseEvent {
+                       add {
+                               this.AddSignalHandler ("close", value);
                        }
-               }
-
-               public Gst.WebRTC.WebRTCDataChannelState ReadyStateField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("ready_state"));
-                                       return (Gst.WebRTC.WebRTCDataChannelState) (*raw_ptr);
-                               }
+                       remove {
+                               this.RemoveSignalHandler ("close", value);
                        }
                }
 
-               public ulong BufferedAmountField {
-                       get {
-                               unsafe {
-                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffered_amount"));
-                                       return (*raw_ptr);
-                               }
+               [GLib.Signal("on-message-data")]
+               public event Gst.WebRTC.OnMessageDataHandler OnMessageData {
+                       add {
+                               this.AddSignalHandler ("on-message-data", value, typeof (Gst.WebRTC.OnMessageDataArgs));
                        }
-               }
-
-               public ulong BufferedAmountLowThresholdField {
-                       get {
-                               unsafe {
-                                       ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffered_amount_low_threshold"));
-                                       return (*raw_ptr);
-                               }
+                       remove {
+                               this.RemoveSignalHandler ("on-message-data", value);
                        }
                }
 
                [GLib.Signal("on-buffered-amount-low")]
-               public event System.EventHandler OnBufferedAmountLowEvent {
+               public event System.EventHandler OnBufferedAmountLow {
                        add {
                                this.AddSignalHandler ("on-buffered-amount-low", value);
                        }
@@ -251,114 +193,113 @@ namespace Gst.WebRTC {
                        }
                }
 
-               [GLib.Signal("send-data")]
-               public event Gst.WebRTC.SendDataEventHandler SendDataEvent {
+               [GLib.Signal("on-open")]
+               public event System.EventHandler OnOpen {
                        add {
-                               this.AddSignalHandler ("send-data", value, typeof (Gst.WebRTC.SendDataEventArgs));
+                               this.AddSignalHandler ("on-open", value);
                        }
                        remove {
-                               this.RemoveSignalHandler ("send-data", value);
+                               this.RemoveSignalHandler ("on-open", value);
                        }
                }
 
                [GLib.Signal("on-message-string")]
-               public event Gst.WebRTC.OnMessageStringEventHandler OnMessageStringEvent {
+               public event Gst.WebRTC.OnMessageStringHandler OnMessageString {
                        add {
-                               this.AddSignalHandler ("on-message-string", value, typeof (Gst.WebRTC.OnMessageStringEventArgs));
+                               this.AddSignalHandler ("on-message-string", value, typeof (Gst.WebRTC.OnMessageStringArgs));
                        }
                        remove {
                                this.RemoveSignalHandler ("on-message-string", value);
                        }
                }
 
-               [GLib.Signal("on-open")]
-               public event System.EventHandler OnOpenEvent {
-                       add {
-                               this.AddSignalHandler ("on-open", value);
-                       }
-                       remove {
-                               this.RemoveSignalHandler ("on-open", value);
+               static CloseEventNativeDelegate CloseEvent_cb_delegate;
+               static CloseEventNativeDelegate CloseEventVMCallback {
+                       get {
+                               if (CloseEvent_cb_delegate == null)
+                                       CloseEvent_cb_delegate = new CloseEventNativeDelegate (CloseEvent_cb);
+                               return CloseEvent_cb_delegate;
                        }
                }
 
-               [GLib.Signal("close")]
-               public event System.EventHandler CloseEvent {
-                       add {
-                               this.AddSignalHandler ("close", value);
-                       }
-                       remove {
-                               this.RemoveSignalHandler ("close", value);
-                       }
+               static void OverrideCloseEvent (GLib.GType gtype)
+               {
+                       OverrideCloseEvent (gtype, CloseEventVMCallback);
                }
 
-               [GLib.Signal("on-message-data")]
-               public event Gst.WebRTC.OnMessageDataEventHandler OnMessageDataEvent {
-                       add {
-                               this.AddSignalHandler ("on-message-data", value, typeof (Gst.WebRTC.OnMessageDataEventArgs));
-                       }
-                       remove {
-                               this.RemoveSignalHandler ("on-message-data", value);
-                       }
+               static void OverrideCloseEvent (GLib.GType gtype, CloseEventNativeDelegate callback)
+               {
+                       OverrideVirtualMethod (gtype, "close", callback);
                }
+               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+               delegate void CloseEventNativeDelegate (IntPtr inst);
 
-               [GLib.Signal("send-string")]
-               public event Gst.WebRTC.SendStringEventHandler SendStringEvent {
-                       add {
-                               this.AddSignalHandler ("send-string", value, typeof (Gst.WebRTC.SendStringEventArgs));
-                       }
-                       remove {
-                               this.RemoveSignalHandler ("send-string", value);
+               static void CloseEvent_cb (IntPtr inst)
+               {
+                       try {
+                               WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+                               __obj.OnCloseEvent ();
+                       } catch (Exception e) {
+                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.Signal("on-error")]
-               public event Gst.WebRTC.OnErrorEventHandler OnErrorEvent {
-                       add {
-                               this.AddSignalHandler ("on-error", value, typeof (Gst.WebRTC.OnErrorEventArgs));
-                       }
-                       remove {
-                               this.RemoveSignalHandler ("on-error", value);
-                       }
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideCloseEvent")]
+               protected virtual void OnCloseEvent ()
+               {
+                       InternalCloseEvent ();
+               }
+
+               private void InternalCloseEvent ()
+               {
+                       GLib.Value ret = GLib.Value.Empty;
+                       GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+                       GLib.Value[] vals = new GLib.Value [1];
+                       vals [0] = new GLib.Value (this);
+                       inst_and_params.Append (vals [0]);
+                       g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+                       foreach (GLib.Value v in vals)
+                               v.Dispose ();
                }
 
-               static OnBufferedAmountLowEventNativeDelegate OnBufferedAmountLowEvent_cb_delegate;
-               static OnBufferedAmountLowEventNativeDelegate OnBufferedAmountLowEventVMCallback {
+               static OnBufferedAmountLowNativeDelegate OnBufferedAmountLow_cb_delegate;
+               static OnBufferedAmountLowNativeDelegate OnBufferedAmountLowVMCallback {
                        get {
-                               if (OnBufferedAmountLowEvent_cb_delegate == null)
-                                       OnBufferedAmountLowEvent_cb_delegate = new OnBufferedAmountLowEventNativeDelegate (OnBufferedAmountLowEvent_cb);
-                               return OnBufferedAmountLowEvent_cb_delegate;
+                               if (OnBufferedAmountLow_cb_delegate == null)
+                                       OnBufferedAmountLow_cb_delegate = new OnBufferedAmountLowNativeDelegate (OnBufferedAmountLow_cb);
+                               return OnBufferedAmountLow_cb_delegate;
                        }
                }
 
-               static void OverrideOnBufferedAmountLowEvent (GLib.GType gtype)
+               static void OverrideOnBufferedAmountLow (GLib.GType gtype)
                {
-                       OverrideOnBufferedAmountLowEvent (gtype, OnBufferedAmountLowEventVMCallback);
+                       OverrideOnBufferedAmountLow (gtype, OnBufferedAmountLowVMCallback);
                }
 
-               static void OverrideOnBufferedAmountLowEvent (GLib.GType gtype, OnBufferedAmountLowEventNativeDelegate callback)
+               static void OverrideOnBufferedAmountLow (GLib.GType gtype, OnBufferedAmountLowNativeDelegate callback)
                {
                        OverrideVirtualMethod (gtype, "on-buffered-amount-low", callback);
                }
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void OnBufferedAmountLowEventNativeDelegate (IntPtr inst);
+               delegate void OnBufferedAmountLowNativeDelegate (IntPtr inst);
 
-               static void OnBufferedAmountLowEvent_cb (IntPtr inst)
+               static void OnBufferedAmountLow_cb (IntPtr inst)
                {
                        try {
                                WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnOnBufferedAmountLowEvent ();
+                               __obj.OnOnBufferedAmountLow ();
                        } catch (Exception e) {
                                GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnBufferedAmountLowEvent")]
-               protected virtual void OnOnBufferedAmountLowEvent ()
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnBufferedAmountLow")]
+               protected virtual void OnOnBufferedAmountLow ()
                {
-                       InternalOnBufferedAmountLowEvent ();
+                       InternalOnBufferedAmountLow ();
                }
 
-               private void InternalOnBufferedAmountLowEvent ()
+               private void InternalOnBufferedAmountLow ()
                {
                        GLib.Value ret = GLib.Value.Empty;
                        GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
@@ -370,44 +311,44 @@ namespace Gst.WebRTC {
                                v.Dispose ();
                }
 
-               static OnErrorEventNativeDelegate OnErrorEvent_cb_delegate;
-               static OnErrorEventNativeDelegate OnErrorEventVMCallback {
+               static OnErrorNativeDelegate OnError_cb_delegate;
+               static OnErrorNativeDelegate OnErrorVMCallback {
                        get {
-                               if (OnErrorEvent_cb_delegate == null)
-                                       OnErrorEvent_cb_delegate = new OnErrorEventNativeDelegate (OnErrorEvent_cb);
-                               return OnErrorEvent_cb_delegate;
+                               if (OnError_cb_delegate == null)
+                                       OnError_cb_delegate = new OnErrorNativeDelegate (OnError_cb);
+                               return OnError_cb_delegate;
                        }
                }
 
-               static void OverrideOnErrorEvent (GLib.GType gtype)
+               static void OverrideOnError (GLib.GType gtype)
                {
-                       OverrideOnErrorEvent (gtype, OnErrorEventVMCallback);
+                       OverrideOnError (gtype, OnErrorVMCallback);
                }
 
-               static void OverrideOnErrorEvent (GLib.GType gtype, OnErrorEventNativeDelegate callback)
+               static void OverrideOnError (GLib.GType gtype, OnErrorNativeDelegate callback)
                {
                        OverrideVirtualMethod (gtype, "on-error", callback);
                }
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void OnErrorEventNativeDelegate (IntPtr inst, IntPtr error);
+               delegate void OnErrorNativeDelegate (IntPtr inst, IntPtr error);
 
-               static void OnErrorEvent_cb (IntPtr inst, IntPtr error)
+               static void OnError_cb (IntPtr inst, IntPtr error)
                {
                        try {
                                WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnOnErrorEvent (error);
+                               __obj.OnOnError (error);
                        } catch (Exception e) {
                                GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnErrorEvent")]
-               protected virtual void OnOnErrorEvent (IntPtr error)
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnError")]
+               protected virtual void OnOnError (IntPtr error)
                {
-                       InternalOnErrorEvent (error);
+                       InternalOnError (error);
                }
 
-               private void InternalOnErrorEvent (IntPtr error)
+               private void InternalOnError (IntPtr error)
                {
                        GLib.Value ret = GLib.Value.Empty;
                        GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
@@ -421,44 +362,44 @@ namespace Gst.WebRTC {
                                v.Dispose ();
                }
 
-               static OnMessageDataEventNativeDelegate OnMessageDataEvent_cb_delegate;
-               static OnMessageDataEventNativeDelegate OnMessageDataEventVMCallback {
+               static OnMessageDataNativeDelegate OnMessageData_cb_delegate;
+               static OnMessageDataNativeDelegate OnMessageDataVMCallback {
                        get {
-                               if (OnMessageDataEvent_cb_delegate == null)
-                                       OnMessageDataEvent_cb_delegate = new OnMessageDataEventNativeDelegate (OnMessageDataEvent_cb);
-                               return OnMessageDataEvent_cb_delegate;
+                               if (OnMessageData_cb_delegate == null)
+                                       OnMessageData_cb_delegate = new OnMessageDataNativeDelegate (OnMessageData_cb);
+                               return OnMessageData_cb_delegate;
                        }
                }
 
-               static void OverrideOnMessageDataEvent (GLib.GType gtype)
+               static void OverrideOnMessageData (GLib.GType gtype)
                {
-                       OverrideOnMessageDataEvent (gtype, OnMessageDataEventVMCallback);
+                       OverrideOnMessageData (gtype, OnMessageDataVMCallback);
                }
 
-               static void OverrideOnMessageDataEvent (GLib.GType gtype, OnMessageDataEventNativeDelegate callback)
+               static void OverrideOnMessageData (GLib.GType gtype, OnMessageDataNativeDelegate callback)
                {
                        OverrideVirtualMethod (gtype, "on-message-data", callback);
                }
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void OnMessageDataEventNativeDelegate (IntPtr inst, IntPtr data);
+               delegate void OnMessageDataNativeDelegate (IntPtr inst, IntPtr data);
 
-               static void OnMessageDataEvent_cb (IntPtr inst, IntPtr data)
+               static void OnMessageData_cb (IntPtr inst, IntPtr data)
                {
                        try {
                                WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnOnMessageDataEvent (new GLib.Bytes(data));
+                               __obj.OnOnMessageData (new GLib.Bytes(data));
                        } catch (Exception e) {
                                GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageDataEvent")]
-               protected virtual void OnOnMessageDataEvent (GLib.Bytes data)
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageData")]
+               protected virtual void OnOnMessageData (GLib.Bytes data)
                {
-                       InternalOnMessageDataEvent (data);
+                       InternalOnMessageData (data);
                }
 
-               private void InternalOnMessageDataEvent (GLib.Bytes data)
+               private void InternalOnMessageData (GLib.Bytes data)
                {
                        GLib.Value ret = GLib.Value.Empty;
                        GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
@@ -472,44 +413,44 @@ namespace Gst.WebRTC {
                                v.Dispose ();
                }
 
-               static OnMessageStringEventNativeDelegate OnMessageStringEvent_cb_delegate;
-               static OnMessageStringEventNativeDelegate OnMessageStringEventVMCallback {
+               static OnMessageStringNativeDelegate OnMessageString_cb_delegate;
+               static OnMessageStringNativeDelegate OnMessageStringVMCallback {
                        get {
-                               if (OnMessageStringEvent_cb_delegate == null)
-                                       OnMessageStringEvent_cb_delegate = new OnMessageStringEventNativeDelegate (OnMessageStringEvent_cb);
-                               return OnMessageStringEvent_cb_delegate;
+                               if (OnMessageString_cb_delegate == null)
+                                       OnMessageString_cb_delegate = new OnMessageStringNativeDelegate (OnMessageString_cb);
+                               return OnMessageString_cb_delegate;
                        }
                }
 
-               static void OverrideOnMessageStringEvent (GLib.GType gtype)
+               static void OverrideOnMessageString (GLib.GType gtype)
                {
-                       OverrideOnMessageStringEvent (gtype, OnMessageStringEventVMCallback);
+                       OverrideOnMessageString (gtype, OnMessageStringVMCallback);
                }
 
-               static void OverrideOnMessageStringEvent (GLib.GType gtype, OnMessageStringEventNativeDelegate callback)
+               static void OverrideOnMessageString (GLib.GType gtype, OnMessageStringNativeDelegate callback)
                {
                        OverrideVirtualMethod (gtype, "on-message-string", callback);
                }
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void OnMessageStringEventNativeDelegate (IntPtr inst, IntPtr data);
+               delegate void OnMessageStringNativeDelegate (IntPtr inst, IntPtr data);
 
-               static void OnMessageStringEvent_cb (IntPtr inst, IntPtr data)
+               static void OnMessageString_cb (IntPtr inst, IntPtr data)
                {
                        try {
                                WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnOnMessageStringEvent (GLib.Marshaller.Utf8PtrToString (data));
+                               __obj.OnOnMessageString (GLib.Marshaller.Utf8PtrToString (data));
                        } catch (Exception e) {
                                GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageStringEvent")]
-               protected virtual void OnOnMessageStringEvent (string data)
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageString")]
+               protected virtual void OnOnMessageString (string data)
                {
-                       InternalOnMessageStringEvent (data);
+                       InternalOnMessageString (data);
                }
 
-               private void InternalOnMessageStringEvent (string data)
+               private void InternalOnMessageString (string data)
                {
                        GLib.Value ret = GLib.Value.Empty;
                        GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
@@ -523,44 +464,44 @@ namespace Gst.WebRTC {
                                v.Dispose ();
                }
 
-               static OnOpenEventNativeDelegate OnOpenEvent_cb_delegate;
-               static OnOpenEventNativeDelegate OnOpenEventVMCallback {
+               static OnOpenNativeDelegate OnOpen_cb_delegate;
+               static OnOpenNativeDelegate OnOpenVMCallback {
                        get {
-                               if (OnOpenEvent_cb_delegate == null)
-                                       OnOpenEvent_cb_delegate = new OnOpenEventNativeDelegate (OnOpenEvent_cb);
-                               return OnOpenEvent_cb_delegate;
+                               if (OnOpen_cb_delegate == null)
+                                       OnOpen_cb_delegate = new OnOpenNativeDelegate (OnOpen_cb);
+                               return OnOpen_cb_delegate;
                        }
                }
 
-               static void OverrideOnOpenEvent (GLib.GType gtype)
+               static void OverrideOnOpen (GLib.GType gtype)
                {
-                       OverrideOnOpenEvent (gtype, OnOpenEventVMCallback);
+                       OverrideOnOpen (gtype, OnOpenVMCallback);
                }
 
-               static void OverrideOnOpenEvent (GLib.GType gtype, OnOpenEventNativeDelegate callback)
+               static void OverrideOnOpen (GLib.GType gtype, OnOpenNativeDelegate callback)
                {
                        OverrideVirtualMethod (gtype, "on-open", callback);
                }
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void OnOpenEventNativeDelegate (IntPtr inst);
+               delegate void OnOpenNativeDelegate (IntPtr inst);
 
-               static void OnOpenEvent_cb (IntPtr inst)
+               static void OnOpen_cb (IntPtr inst)
                {
                        try {
                                WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnOnOpenEvent ();
+                               __obj.OnOnOpen ();
                        } catch (Exception e) {
                                GLib.ExceptionManager.RaiseUnhandledException (e, false);
                        }
                }
 
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnOpenEvent")]
-               protected virtual void OnOnOpenEvent ()
+               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnOpen")]
+               protected virtual void OnOnOpen ()
                {
-                       InternalOnOpenEvent ();
+                       InternalOnOpen ();
                }
 
-               private void InternalOnOpenEvent ()
+               private void InternalOnOpen ()
                {
                        GLib.Value ret = GLib.Value.Empty;
                        GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
@@ -588,12 +529,8 @@ namespace Gst.WebRTC {
 
                static void OverrideSendDataEvent (GLib.GType gtype, SendDataEventNativeDelegate callback)
                {
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_data"));
-                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
-                       }
+                       OverrideVirtualMethod (gtype, "send-data", callback);
                }
-
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
                delegate void SendDataEventNativeDelegate (IntPtr inst, IntPtr data);
 
@@ -615,14 +552,16 @@ namespace Gst.WebRTC {
 
                private void InternalSendDataEvent (GLib.Bytes data)
                {
-                       SendDataEventNativeDelegate unmanaged = null;
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_data"));
-                               unmanaged = (SendDataEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendDataEventNativeDelegate));
-                       }
-                       if (unmanaged == null) return;
-
-                       unmanaged (this.Handle, data == null ? IntPtr.Zero : data.Handle);
+                       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 (data);
+                       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 SendStringEventNativeDelegate SendStringEvent_cb_delegate;
@@ -641,12 +580,8 @@ namespace Gst.WebRTC {
 
                static void OverrideSendStringEvent (GLib.GType gtype, SendStringEventNativeDelegate callback)
                {
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_string"));
-                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
-                       }
+                       OverrideVirtualMethod (gtype, "send-string", callback);
                }
-
                [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
                delegate void SendStringEventNativeDelegate (IntPtr inst, IntPtr data);
 
@@ -668,69 +603,16 @@ namespace Gst.WebRTC {
 
                private void InternalSendStringEvent (string data)
                {
-                       SendStringEventNativeDelegate unmanaged = null;
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_string"));
-                               unmanaged = (SendStringEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendStringEventNativeDelegate));
-                       }
-                       if (unmanaged == null) return;
-
-                       IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
-                       unmanaged (this.Handle, native_data);
-                       GLib.Marshaller.Free (native_data);
-               }
-
-               static CloseEventNativeDelegate CloseEvent_cb_delegate;
-               static CloseEventNativeDelegate CloseEventVMCallback {
-                       get {
-                               if (CloseEvent_cb_delegate == null)
-                                       CloseEvent_cb_delegate = new CloseEventNativeDelegate (CloseEvent_cb);
-                               return CloseEvent_cb_delegate;
-                       }
-               }
-
-               static void OverrideCloseEvent (GLib.GType gtype)
-               {
-                       OverrideCloseEvent (gtype, CloseEventVMCallback);
-               }
-
-               static void OverrideCloseEvent (GLib.GType gtype, CloseEventNativeDelegate callback)
-               {
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
-                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
-                       }
-               }
-
-               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate void CloseEventNativeDelegate (IntPtr inst);
-
-               static void CloseEvent_cb (IntPtr inst)
-               {
-                       try {
-                               WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
-                               __obj.OnCloseEvent ();
-                       } catch (Exception e) {
-                               GLib.ExceptionManager.RaiseUnhandledException (e, false);
-                       }
-               }
-
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideCloseEvent")]
-               protected virtual void OnCloseEvent ()
-               {
-                       InternalCloseEvent ();
-               }
-
-               private void InternalCloseEvent ()
-               {
-                       CloseEventNativeDelegate unmanaged = null;
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close"));
-                               unmanaged = (CloseEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseEventNativeDelegate));
-                       }
-                       if (unmanaged == null) return;
-
-                       unmanaged (this.Handle);
+                       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 (data);
+                       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 ();
                }
 
 
@@ -739,40 +621,7 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct class_abi {
                        get {
                                if (_class_abi == null)
-                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("send_data"
-                                                       , GLib.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_data
-                                                       , null
-                                                       , "send_string"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("send_string"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_string
-                                                       , "send_data"
-                                                       , "close"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("close"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // close
-                                                       , "send_string"
-                                                       , "_padding"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "close"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (GLib.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -800,58 +649,6 @@ namespace Gst.WebRTC {
                }
 
                [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_buffered_amount_low(IntPtr raw);
-
-               public void OnBufferedAmountLow() {
-                       gst_webrtc_data_channel_on_buffered_amount_low(Handle);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_close(IntPtr raw);
-
-               public void OnClose() {
-                       gst_webrtc_data_channel_on_close(Handle);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_error(IntPtr raw, IntPtr error);
-
-               public void OnError(IntPtr error) {
-                       gst_webrtc_data_channel_on_error(Handle, error);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_message_data(IntPtr raw, IntPtr data);
-
-               public void OnMessageData(GLib.Bytes data) {
-                       gst_webrtc_data_channel_on_message_data(Handle, data == null ? IntPtr.Zero : data.Handle);
-               }
-
-               public void OnMessageData() {
-                       OnMessageData (null);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_message_string(IntPtr raw, IntPtr str);
-
-               public void OnMessageString(string str) {
-                       IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
-                       gst_webrtc_data_channel_on_message_string(Handle, native_str);
-                       GLib.Marshaller.Free (native_str);
-               }
-
-               public void OnMessageString() {
-                       OnMessageString (null);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_data_channel_on_open(IntPtr raw);
-
-               public void OnOpen() {
-                       gst_webrtc_data_channel_on_open(Handle);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
                static extern void gst_webrtc_data_channel_send_data(IntPtr raw, IntPtr data);
 
                public void SendData(GLib.Bytes data) {
@@ -886,180 +683,12 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("lock"
-                                                       , GLib.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock
-                                                       , null
-                                                       , "label"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("label"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // label
-                                                       , "lock"
-                                                       , "ordered"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("ordered"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(bool)) // ordered
-                                                       , "label"
-                                                       , "max_packet_lifetime"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_orderedAlign), "ordered")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("max_packet_lifetime"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(uint)) // max_packet_lifetime
-                                                       , "ordered"
-                                                       , "max_retransmits"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_max_packet_lifetimeAlign), "max_packet_lifetime")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("max_retransmits"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(uint)) // max_retransmits
-                                                       , "max_packet_lifetime"
-                                                       , "protocol"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_max_retransmitsAlign), "max_retransmits")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("protocol"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // protocol
-                                                       , "max_retransmits"
-                                                       , "negotiated"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("negotiated"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(bool)) // negotiated
-                                                       , "protocol"
-                                                       , "id"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_negotiatedAlign), "negotiated")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("id"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(int)) // id
-                                                       , "negotiated"
-                                                       , "priority"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_idAlign), "id")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("priority"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCPriorityType))) // priority
-                                                       , "id"
-                                                       , "ready_state"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_priorityAlign), "priority")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("ready_state"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCDataChannelState))) // ready_state
-                                                       , "priority"
-                                                       , "buffered_amount"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_ready_stateAlign), "ready_state")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("buffered_amount"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // buffered_amount
-                                                       , "ready_state"
-                                                       , "buffered_amount_low_threshold"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_buffered_amountAlign), "buffered_amount")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("buffered_amount_low_threshold"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(ulong)) // buffered_amount_low_threshold
-                                                       , "buffered_amount"
-                                                       , "_padding"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_buffered_amount_low_thresholdAlign), "buffered_amount_low_threshold")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "buffered_amount_low_threshold"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (GLib.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
                }
 
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_orderedAlign
-               {
-                       sbyte f1;
-                       private bool ordered;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_max_packet_lifetimeAlign
-               {
-                       sbyte f1;
-                       private uint max_packet_lifetime;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_max_retransmitsAlign
-               {
-                       sbyte f1;
-                       private uint max_retransmits;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_negotiatedAlign
-               {
-                       sbyte f1;
-                       private bool negotiated;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_idAlign
-               {
-                       sbyte f1;
-                       private int id;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_priorityAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCPriorityType priority;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_ready_stateAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCDataChannelState ready_state;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_buffered_amountAlign
-               {
-                       sbyte f1;
-                       private ulong buffered_amount;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCDataChannel_buffered_amount_low_thresholdAlign
-               {
-                       sbyte f1;
-                       private ulong buffered_amount_low_threshold;
-               }
-
 
                // End of the ABI representation.
 
index 825acb4..92ce681 100644 (file)
@@ -48,60 +48,6 @@ namespace Gst.WebRTC {
                        }
                }
 
-               public Gst.WebRTC.WebRTCICERole Role {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("role"));
-                                       return (Gst.WebRTC.WebRTCICERole) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCICEComponent ComponentField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("component"));
-                                       return (Gst.WebRTC.WebRTCICEComponent) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCICEConnectionState StateField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("state"));
-                                       return (Gst.WebRTC.WebRTCICEConnectionState) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCICEGatheringState GatheringStateField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("gathering_state"));
-                                       return (Gst.WebRTC.WebRTCICEGatheringState) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.Element Src {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("src"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Element;
-                               }
-                       }
-               }
-
-               public Gst.Element Sink {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sink"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.Element;
-                               }
-                       }
-               }
-
                [GLib.Signal("on-selected-candidate-pair-change")]
                public event System.EventHandler OnSelectedCandidatePairChange {
                        add {
@@ -222,88 +168,13 @@ namespace Gst.WebRTC {
                                v.Dispose ();
                }
 
-               static GatherCandidatesNativeDelegate GatherCandidates_cb_delegate;
-               static GatherCandidatesNativeDelegate GatherCandidatesVMCallback {
-                       get {
-                               if (GatherCandidates_cb_delegate == null)
-                                       GatherCandidates_cb_delegate = new GatherCandidatesNativeDelegate (GatherCandidates_cb);
-                               return GatherCandidates_cb_delegate;
-                       }
-               }
-
-               static void OverrideGatherCandidates (GLib.GType gtype)
-               {
-                       OverrideGatherCandidates (gtype, GatherCandidatesVMCallback);
-               }
-
-               static void OverrideGatherCandidates (GLib.GType gtype, GatherCandidatesNativeDelegate callback)
-               {
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("gather_candidates"));
-                               *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
-                       }
-               }
-
-               [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
-               delegate bool GatherCandidatesNativeDelegate (IntPtr inst);
-
-               static bool GatherCandidates_cb (IntPtr inst)
-               {
-                       try {
-                               WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport;
-                               bool __result;
-                               __result = __obj.OnGatherCandidates ();
-                               return __result;
-                       } catch (Exception e) {
-                               GLib.ExceptionManager.RaiseUnhandledException (e, true);
-                               // NOTREACHED: above call does not return.
-                               throw e;
-                       }
-               }
-
-               [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideGatherCandidates")]
-               protected virtual bool OnGatherCandidates ()
-               {
-                       return InternalGatherCandidates ();
-               }
-
-               private bool InternalGatherCandidates ()
-               {
-                       GatherCandidatesNativeDelegate unmanaged = null;
-                       unsafe {
-                               IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("gather_candidates"));
-                               unmanaged = (GatherCandidatesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GatherCandidatesNativeDelegate));
-                       }
-                       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("gather_candidates"
-                                                       , Gst.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // gather_candidates
-                                                       , null
-                                                       , "_padding"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "gather_candidates"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -323,36 +194,6 @@ namespace Gst.WebRTC {
                        }
                }
 
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_ice_transport_connection_state_change(IntPtr raw, int new_state);
-
-               public void ConnectionStateChange(Gst.WebRTC.WebRTCICEConnectionState new_state) {
-                       gst_webrtc_ice_transport_connection_state_change(Handle, (int) new_state);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_ice_transport_gathering_state_change(IntPtr raw, int new_state);
-
-               public void GatheringStateChange(Gst.WebRTC.WebRTCICEGatheringState new_state) {
-                       gst_webrtc_ice_transport_gathering_state_change(Handle, (int) new_state);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_ice_transport_new_candidate(IntPtr raw, uint stream_id, int component, IntPtr attr);
-
-               public void NewCandidate(uint stream_id, Gst.WebRTC.WebRTCICEComponent component, string attr) {
-                       IntPtr native_attr = GLib.Marshaller.StringToPtrGStrdup (attr);
-                       gst_webrtc_ice_transport_new_candidate(Handle, stream_id, (int) component, native_attr);
-                       GLib.Marshaller.Free (native_attr);
-               }
-
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern void gst_webrtc_ice_transport_selected_pair_change(IntPtr raw);
-
-               public void SelectedPairChange() {
-                       gst_webrtc_ice_transport_selected_pair_change(Handle);
-               }
-
 
                static WebRTCICETransport ()
                {
@@ -364,97 +205,12 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("role"
-                                                       , Gst.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICERole))) // role
-                                                       , null
-                                                       , "component"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_roleAlign), "role")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("component"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEComponent))) // component
-                                                       , "role"
-                                                       , "state"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_componentAlign), "component")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("state"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEConnectionState))) // state
-                                                       , "component"
-                                                       , "gathering_state"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_stateAlign), "state")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("gathering_state"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEGatheringState))) // gathering_state
-                                                       , "state"
-                                                       , "src"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_gathering_stateAlign), "gathering_state")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("src"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // src
-                                                       , "gathering_state"
-                                                       , "sink"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("sink"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink
-                                                       , "src"
-                                                       , "_padding"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "sink"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
                }
 
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCICETransport_roleAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCICERole role;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCICETransport_componentAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCICEComponent component;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCICETransport_stateAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCICEConnectionState state;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCICETransport_gathering_stateAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCICEGatheringState gathering_state;
-               }
-
 
                // End of the ABI representation.
 
index 0417077..f3c63f6 100644 (file)
@@ -13,24 +13,18 @@ namespace Gst.WebRTC {
 
                public WebRTCRTPReceiver (IntPtr raw) : base(raw) {}
 
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern IntPtr gst_webrtc_rtp_receiver_new();
-
-               public WebRTCRTPReceiver () : base (IntPtr.Zero)
+               protected WebRTCRTPReceiver() : base(IntPtr.Zero)
                {
-                       if (GetType () != typeof (WebRTCRTPReceiver)) {
-                               CreateNativeObject (new string [0], new GLib.Value[0]);
-                               return;
-                       }
-                       Raw = gst_webrtc_rtp_receiver_new();
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
                }
 
+               [GLib.Property ("transport")]
                public Gst.WebRTC.WebRTCDTLSTransport Transport {
                        get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
-                               }
+                               GLib.Value val = GetProperty ("transport");
+                               Gst.WebRTC.WebRTCDTLSTransport ret = (Gst.WebRTC.WebRTCDTLSTransport) val;
+                               val.Dispose ();
+                               return ret;
                        }
                }
 
@@ -40,16 +34,7 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct class_abi {
                        get {
                                if (_class_abi == null)
-                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("_padding"
-                                                       , Gst.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , null
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -80,24 +65,7 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("transport"
-                                                       , Gst.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport
-                                                       , null
-                                                       , "_padding"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "transport"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
index 5669142..db360c6 100644 (file)
@@ -13,16 +13,9 @@ namespace Gst.WebRTC {
 
                public WebRTCRTPSender (IntPtr raw) : base(raw) {}
 
-               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-               static extern IntPtr gst_webrtc_rtp_sender_new();
-
-               public WebRTCRTPSender () : base (IntPtr.Zero)
+               protected WebRTCRTPSender() : base(IntPtr.Zero)
                {
-                       if (GetType () != typeof (WebRTCRTPSender)) {
-                               CreateNativeObject (new string [0], new GLib.Value[0]);
-                               return;
-                       }
-                       Raw = gst_webrtc_rtp_sender_new();
+                       CreateNativeObject (new string [0], new GLib.Value [0]);
                }
 
                [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
@@ -41,21 +34,13 @@ namespace Gst.WebRTC {
                        }
                }
 
+               [GLib.Property ("transport")]
                public Gst.WebRTC.WebRTCDTLSTransport Transport {
                        get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport;
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCPriorityType PriorityField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("priority"));
-                                       return (Gst.WebRTC.WebRTCPriorityType) (*raw_ptr);
-                               }
+                               GLib.Value val = GetProperty ("transport");
+                               Gst.WebRTC.WebRTCDTLSTransport ret = (Gst.WebRTC.WebRTCDTLSTransport) val;
+                               val.Dispose ();
+                               return ret;
                        }
                }
 
@@ -65,16 +50,7 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct class_abi {
                        get {
                                if (_class_abi == null)
-                                       _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("_padding"
-                                                       , Gst.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , null
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -105,52 +81,12 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("transport"
-                                                       , Gst.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport
-                                                       , null
-                                                       , "send_encodings"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("send_encodings"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_encodings
-                                                       , "transport"
-                                                       , "priority"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("priority"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCPriorityType))) // priority
-                                                       , "send_encodings"
-                                                       , "_padding"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPSender_priorityAlign), "priority")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "priority"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
                }
 
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPSender_priorityAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCPriorityType priority;
-               }
-
 
                // End of the ABI representation.
 
index 0d94782..118dd50 100644 (file)
@@ -18,6 +18,31 @@ namespace Gst.WebRTC {
                        CreateNativeObject (new string [0], new GLib.Value [0]);
                }
 
+               [GLib.Property ("codec-preferences")]
+               public Gst.Caps CodecPreferences {
+                       get {
+                               GLib.Value val = GetProperty ("codec-preferences");
+                               Gst.Caps ret = (Gst.Caps) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set {
+                               GLib.Value val = new GLib.Value(value, "GstCaps*");
+                               SetProperty("codec-preferences", val);
+                               val.Dispose ();
+                       }
+               }
+
+               [GLib.Property ("current-direction")]
+               public Gst.WebRTC.WebRTCRTPTransceiverDirection CurrentDirection {
+                       get {
+                               GLib.Value val = GetProperty ("current-direction");
+                               Gst.WebRTC.WebRTCRTPTransceiverDirection ret = (Gst.WebRTC.WebRTCRTPTransceiverDirection) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
                [GLib.Property ("direction")]
                public Gst.WebRTC.WebRTCRTPTransceiverDirection Direction {
                        get {
@@ -33,6 +58,26 @@ namespace Gst.WebRTC {
                        }
                }
 
+               [GLib.Property ("kind")]
+               public Gst.WebRTC.WebRTCKind Kind {
+                       get {
+                               GLib.Value val = GetProperty ("kind");
+                               Gst.WebRTC.WebRTCKind ret = (Gst.WebRTC.WebRTCKind) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
+               [GLib.Property ("mid")]
+               public string Mid {
+                       get {
+                               GLib.Value val = GetProperty ("mid");
+                               string ret = (string) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+               }
+
                [GLib.Property ("mlineindex")]
                public uint Mlineindex {
                        get {
@@ -63,103 +108,13 @@ namespace Gst.WebRTC {
                        }
                }
 
-               public uint Mline {
-                       get {
-                               unsafe {
-                                       uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("mline"));
-                                       return (*raw_ptr);
-                               }
-                       }
-               }
-
-               public string Mid {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mid"));
-                                       return GLib.Marshaller.Utf8PtrToString ((*raw_ptr));
-                               }
-                       }
-               }
-
-               public bool Stopped {
-                       get {
-                               unsafe {
-                                       bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("stopped"));
-                                       return (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCRTPSender SenderField {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sender"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCRTPSender;
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCRTPReceiver ReceiverField {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("receiver"));
-                                       return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCRTPReceiver;
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCRTPTransceiverDirection DirectionField {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction"));
-                                       return (Gst.WebRTC.WebRTCRTPTransceiverDirection) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCRTPTransceiverDirection CurrentDirection {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("current_direction"));
-                                       return (Gst.WebRTC.WebRTCRTPTransceiverDirection) (*raw_ptr);
-                               }
-                       }
-               }
-
-               public Gst.Caps CodecPreferences {
-                       get {
-                               unsafe {
-                                       IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("codec_preferences"));
-                                       return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Caps), false);
-                               }
-                       }
-               }
-
-               public Gst.WebRTC.WebRTCKind Kind {
-                       get {
-                               unsafe {
-                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("kind"));
-                                       return (Gst.WebRTC.WebRTCKind) (*raw_ptr);
-                               }
-                       }
-               }
-
 
                // 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("_padding"
-                                                       , Gst.Object.class_abi.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , null
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _class_abi = new GLib.AbiStruct (Gst.Object.class_abi.Fields);
 
                                return _class_abi;
                        }
@@ -190,128 +145,12 @@ namespace Gst.WebRTC {
                static public new GLib.AbiStruct abi_info {
                        get {
                                if (_abi_info == null)
-                                       _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ 
-                                               new GLib.AbiField("mline"
-                                                       , Gst.Object.abi_info.Fields
-                                                       , (uint) Marshal.SizeOf(typeof(uint)) // mline
-                                                       , null
-                                                       , "mid"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_mlineAlign), "mline")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("mid"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // mid
-                                                       , "mline"
-                                                       , "stopped"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("stopped"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(bool)) // stopped
-                                                       , "mid"
-                                                       , "sender"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_stoppedAlign), "stopped")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("sender"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // sender
-                                                       , "stopped"
-                                                       , "receiver"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("receiver"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // receiver
-                                                       , "sender"
-                                                       , "direction"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("direction"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCRTPTransceiverDirection))) // direction
-                                                       , "receiver"
-                                                       , "current_direction"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_directionAlign), "direction")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("current_direction"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCRTPTransceiverDirection))) // current_direction
-                                                       , "direction"
-                                                       , "codec_preferences"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_current_directionAlign), "current_direction")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("codec_preferences"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) // codec_preferences
-                                                       , "current_direction"
-                                                       , "kind"
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("kind"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCKind))) // kind
-                                                       , "codec_preferences"
-                                                       , "_padding"
-                                                       , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_kindAlign), "kind")
-                                                       , 0
-                                                       ),
-                                               new GLib.AbiField("_padding"
-                                                       , -1
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
-                                                       , "kind"
-                                                       , null
-                                                       , (uint) Marshal.SizeOf(typeof(IntPtr))
-                                                       , 0
-                                                       ),
-                                       });
+                                       _abi_info = new GLib.AbiStruct (Gst.Object.abi_info.Fields);
 
                                return _abi_info;
                        }
                }
 
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPTransceiver_mlineAlign
-               {
-                       sbyte f1;
-                       private uint mline;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPTransceiver_stoppedAlign
-               {
-                       sbyte f1;
-                       private bool stopped;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPTransceiver_directionAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCRTPTransceiverDirection direction;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPTransceiver_current_directionAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCRTPTransceiverDirection current_direction;
-               }
-
-               [StructLayout(LayoutKind.Sequential)]
-               public struct GstWebRTCRTPTransceiver_kindAlign
-               {
-                       sbyte f1;
-                       private Gst.WebRTC.WebRTCKind kind;
-               }
-
 
                // End of the ABI representation.
 
index 523b9b4..1124f91 100644 (file)
@@ -981,58 +981,5 @@ int main (int argc, char *argv[]) {
        g_print("\"GstVideoInfo.fps_d\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, fps_d));
        g_print("\"GstVideoInfo.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, offset));
        g_print("\"GstVideoInfo.stride\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, stride));
-       g_print("\"sizeof(GstWebRTCDTLSTransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDTLSTransportClass));
-       g_print("\"sizeof(GstWebRTCDTLSTransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDTLSTransport));
-       g_print("\"GstWebRTCDTLSTransport.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, transport));
-       g_print("\"GstWebRTCDTLSTransport.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, state));
-       g_print("\"GstWebRTCDTLSTransport.client\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, client));
-       g_print("\"GstWebRTCDTLSTransport.session_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, session_id));
-       g_print("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpenc));
-       g_print("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpdec));
-       g_print("\"sizeof(GstWebRTCDataChannelClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDataChannelClass));
-       g_print("\"GstWebRTCDataChannelClass.send_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, send_data));
-       g_print("\"GstWebRTCDataChannelClass.send_string\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, send_string));
-       g_print("\"GstWebRTCDataChannelClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, close));
-       g_print("\"sizeof(GstWebRTCDataChannel)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDataChannel));
-       g_print("\"GstWebRTCDataChannel.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, lock));
-       g_print("\"GstWebRTCDataChannel.label\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, label));
-       g_print("\"GstWebRTCDataChannel.ordered\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, ordered));
-       g_print("\"GstWebRTCDataChannel.max_packet_lifetime\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, max_packet_lifetime));
-       g_print("\"GstWebRTCDataChannel.max_retransmits\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, max_retransmits));
-       g_print("\"GstWebRTCDataChannel.protocol\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, protocol));
-       g_print("\"GstWebRTCDataChannel.negotiated\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, negotiated));
-       g_print("\"GstWebRTCDataChannel.id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, id));
-       g_print("\"GstWebRTCDataChannel.priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, priority));
-       g_print("\"GstWebRTCDataChannel.ready_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, ready_state));
-       g_print("\"GstWebRTCDataChannel.buffered_amount\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, buffered_amount));
-       g_print("\"GstWebRTCDataChannel.buffered_amount_low_threshold\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, buffered_amount_low_threshold));
-       g_print("\"sizeof(GstWebRTCICETransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransportClass));
-       g_print("\"GstWebRTCICETransportClass.gather_candidates\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransportClass, gather_candidates));
-       g_print("\"sizeof(GstWebRTCICETransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransport));
-       g_print("\"GstWebRTCICETransport.role\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, role));
-       g_print("\"GstWebRTCICETransport.component\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, component));
-       g_print("\"GstWebRTCICETransport.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, state));
-       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(GstWebRTCRTPReceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiverClass));
-       g_print("\"sizeof(GstWebRTCRTPReceiver)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiver));
-       g_print("\"GstWebRTCRTPReceiver.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, transport));
-       g_print("\"sizeof(GstWebRTCRTPSenderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSenderClass));
-       g_print("\"sizeof(GstWebRTCRTPSender)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSender));
-       g_print("\"GstWebRTCRTPSender.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, transport));
-       g_print("\"GstWebRTCRTPSender.send_encodings\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, send_encodings));
-       g_print("\"GstWebRTCRTPSender.priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, priority));
-       g_print("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPTransceiverClass));
-       g_print("\"sizeof(GstWebRTCRTPTransceiver)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPTransceiver));
-       g_print("\"GstWebRTCRTPTransceiver.mline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, mline));
-       g_print("\"GstWebRTCRTPTransceiver.mid\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, mid));
-       g_print("\"GstWebRTCRTPTransceiver.stopped\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, stopped));
-       g_print("\"GstWebRTCRTPTransceiver.sender\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, sender));
-       g_print("\"GstWebRTCRTPTransceiver.receiver\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, receiver));
-       g_print("\"GstWebRTCRTPTransceiver.direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, direction));
-       g_print("\"GstWebRTCRTPTransceiver.current_direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, current_direction));
-       g_print("\"GstWebRTCRTPTransceiver.codec_preferences\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, codec_preferences));
-       g_print("\"GstWebRTCRTPTransceiver.kind\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, kind));
        return 0;
 }
index 47948bd..7c8eff7 100644 (file)
@@ -975,59 +975,6 @@ namespace AbiTester {
                        Console.WriteLine("\"GstVideoInfo.fps_d\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("fps_d") + "\"");
                        Console.WriteLine("\"GstVideoInfo.offset\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("offset") + "\"");
                        Console.WriteLine("\"GstVideoInfo.stride\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("stride") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCDTLSTransportClass)\": \"" + Gst.WebRTC.WebRTCDTLSTransport.class_abi.Size + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCDTLSTransport)\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.transport\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("transport") + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.state\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("state") + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.client\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("client") + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.session_id\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("session_id") + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpenc") + "\"");
-                       Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpdec") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCDataChannelClass)\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannelClass.send_data\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("send_data") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannelClass.send_string\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("send_string") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannelClass.close\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("close") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCDataChannel)\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.lock\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("lock") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.label\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("label") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.ordered\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("ordered") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.max_packet_lifetime\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("max_packet_lifetime") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.max_retransmits\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("max_retransmits") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.protocol\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("protocol") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.negotiated\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("negotiated") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.id\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("id") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.priority\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("priority") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.ready_state\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("ready_state") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.buffered_amount\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("buffered_amount") + "\"");
-                       Console.WriteLine("\"GstWebRTCDataChannel.buffered_amount_low_threshold\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("buffered_amount_low_threshold") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCICETransportClass)\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCICETransportClass.gather_candidates\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.GetFieldOffset("gather_candidates") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCICETransport)\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCICETransport.role\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("role") + "\"");
-                       Console.WriteLine("\"GstWebRTCICETransport.component\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("component") + "\"");
-                       Console.WriteLine("\"GstWebRTCICETransport.state\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("state") + "\"");
-                       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(GstWebRTCRTPReceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.class_abi.Size + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCRTPReceiver)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPReceiver.transport\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("transport") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCRTPSenderClass)\": \"" + Gst.WebRTC.WebRTCRTPSender.class_abi.Size + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCRTPSender)\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPSender.transport\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("transport") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPSender.send_encodings\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("send_encodings") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPSender.priority\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("priority") + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.class_abi.Size + "\"");
-                       Console.WriteLine("\"sizeof(GstWebRTCRTPTransceiver)\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.Size + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.mline\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("mline") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.mid\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("mid") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.stopped\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("stopped") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.sender\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("sender") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.receiver\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("receiver") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.direction\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("direction") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.current_direction\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("current_direction") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.codec_preferences\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("codec_preferences") + "\"");
-                       Console.WriteLine("\"GstWebRTCRTPTransceiver.kind\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("kind") + "\"");
                }
        }
 }
index 1d4ddc7..7a032e5 100644 (file)
       <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14" />
     </enum>
     <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject">
-      <class_struct cname="GstWebRTCDTLSTransportClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+      <class_struct cname="GstWebRTCDTLSTransportClass" />
       <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true">
         <return-type type="GType" />
       </method>
-      <constructor cname="gst_webrtc_dtls_transport_new">
-        <parameters>
-          <parameter name="session_id" type="guint" />
-        </parameters>
-      </constructor>
-      <method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport">
-        <return-type type="void" />
-        <parameters>
-          <parameter name="ice" type="GstWebRTCICETransport*" />
-        </parameters>
-      </method>
       <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
       <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
       <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" />
       <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false" />
       <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false" />
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*" />
-      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState" />
-      <field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean" />
-      <field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint" />
-      <field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*" />
-      <field cname="dtlssrtpdec" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpdec" type="GstElement*" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
     </object>
-    <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject" version="1.18">
-      <class_struct cname="GstWebRTCDataChannelClass" version="1.18">
-        <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="send_data" />
-        <method signal_vm="send_string" />
-        <method signal_vm="close" />
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+    <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstWebRTCDataChannelClass" />
       <method name="GetType" cname="gst_webrtc_data_channel_get_type" shared="true">
         <return-type type="GType" />
       </method>
         <return-type type="void" />
         <parameters />
       </method>
-      <method name="OnBufferedAmountLow" cname="gst_webrtc_data_channel_on_buffered_amount_low">
-        <return-type type="void" />
-        <parameters />
-      </method>
-      <method name="OnClose" cname="gst_webrtc_data_channel_on_close">
-        <return-type type="void" />
-        <parameters />
-      </method>
-      <method name="OnError" cname="gst_webrtc_data_channel_on_error">
-        <return-type type="void" />
-        <parameters>
-          <parameter name="error" type="GError*" owned="true">
-            <warning>missing glib:type-name</warning>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="OnMessageData" cname="gst_webrtc_data_channel_on_message_data">
-        <return-type type="void" />
-        <parameters>
-          <parameter allow-none="1" name="data" type="GBytes*">
-            <warning>missing glib:type-name</warning>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="OnMessageString" cname="gst_webrtc_data_channel_on_message_string">
-        <return-type type="void" />
-        <parameters>
-          <parameter allow-none="1" name="str" type="const-gchar*" />
-        </parameters>
-      </method>
-      <method name="OnOpen" cname="gst_webrtc_data_channel_on_open">
-        <return-type type="void" />
-        <parameters />
-      </method>
       <method name="SendData" cname="gst_webrtc_data_channel_send_data">
         <return-type type="void" />
         <parameters>
       <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="Protocol" cname="protocol" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="ReadyState" cname="ready-state" type="GstWebRTCDataChannelState" readable="true" writeable="false" 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="lock" access="public" writeable="false" readable="true" is_callback="false" name="Lock" type="GMutex*" />
-      <field cname="label" access="public" writeable="false" readable="true" is_callback="false" name="LabelField" type="gchar*" />
-      <field cname="ordered" access="public" writeable="false" readable="true" is_callback="false" name="OrderedField" type="gboolean" />
-      <field cname="max_packet_lifetime" access="public" writeable="false" readable="true" is_callback="false" name="MaxPacketLifetimeField" type="guint" />
-      <field cname="max_retransmits" access="public" writeable="false" readable="true" is_callback="false" name="MaxRetransmitsField" type="guint" />
-      <field cname="protocol" access="public" writeable="false" readable="true" is_callback="false" name="ProtocolField" type="gchar*" />
-      <field cname="negotiated" access="public" writeable="false" readable="true" is_callback="false" name="NegotiatedField" type="gboolean" />
-      <field cname="id" access="public" writeable="false" readable="true" is_callback="false" name="IdField" type="gint" />
-      <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType" />
-      <field cname="ready_state" access="public" writeable="false" readable="true" is_callback="false" name="ReadyStateField" type="GstWebRTCDataChannelState" />
-      <field cname="buffered_amount" access="public" writeable="false" readable="true" is_callback="false" name="BufferedAmountField" type="guint64" />
-      <field cname="buffered_amount_low_threshold" access="public" writeable="false" readable="true" is_callback="false" name="BufferedAmountLowThresholdField" type="guint64" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      <signal name="CloseEvent" cname="close" when="last" field_name="close">
+      <signal name="CloseEvent" cname="close" when="last">
         <return-type type="void" />
         <parameters />
         <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnBufferedAmountLowEvent" cname="on-buffered-amount-low" when="last">
+      <signal name="OnBufferedAmountLow" cname="on-buffered-amount-low" when="last">
         <return-type type="void" />
         <parameters />
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnCloseEvent" cname="on-close" when="last" hidden="true">
+      <signal name="OnClose" cname="on-close" when="last" hidden="true">
         <return-type type="void" />
         <parameters />
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnErrorEvent" cname="on-error" when="last">
+      <signal name="OnError" cname="on-error" when="last">
         <return-type type="void" />
         <parameters>
           <parameter name="error" type="GError*">
             <warning>missing glib:type-name</warning>
           </parameter>
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnMessageDataEvent" cname="on-message-data" when="last">
+      <signal name="OnMessageData" cname="on-message-data" when="last">
         <return-type type="void" />
         <parameters>
           <parameter allow-none="1" name="data" type="GBytes*">
             <warning>missing glib:type-name</warning>
           </parameter>
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnMessageStringEvent" cname="on-message-string" when="last">
+      <signal name="OnMessageString" cname="on-message-string" when="last">
         <return-type type="void" />
         <parameters>
           <parameter allow-none="1" name="data" type="const-gchar*" />
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnOpenEvent" cname="on-open" when="last">
+      <signal name="OnOpen" cname="on-open" when="last">
         <return-type type="void" />
         <parameters />
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="SendDataEvent" cname="send-data" when="last" field_name="send_data">
+      <signal name="SendDataEvent" cname="send-data" when="last">
         <return-type type="void" />
         <parameters>
           <parameter allow-none="1" name="data" type="GBytes*">
         </parameters>
         <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="SendStringEvent" cname="send-string" when="last" field_name="send_string">
+      <signal name="SendStringEvent" cname="send-string" when="last">
         <return-type type="void" />
         <parameters>
           <parameter allow-none="1" name="data" type="const-gchar*" />
       </signal>
     </object>
     <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
-      <class_struct cname="GstWebRTCICETransportClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <method vm="gather_candidates" />
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+      <class_struct cname="GstWebRTCICETransportClass" />
       <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true">
         <return-type type="GType" />
       </method>
-      <virtual_method name="GatherCandidates" cname="gather_candidates">
-        <return-type type="gboolean" />
-        <parameters />
-      </virtual_method>
-      <method name="ConnectionStateChange" cname="gst_webrtc_ice_transport_connection_state_change">
-        <return-type type="void" />
-        <parameters>
-          <parameter name="new_state" type="GstWebRTCICEConnectionState" />
-        </parameters>
-      </method>
-      <method name="GatheringStateChange" cname="gst_webrtc_ice_transport_gathering_state_change">
-        <return-type type="void" />
-        <parameters>
-          <parameter name="new_state" type="GstWebRTCICEGatheringState" />
-        </parameters>
-      </method>
-      <method name="NewCandidate" cname="gst_webrtc_ice_transport_new_candidate">
-        <return-type type="void" />
-        <parameters>
-          <parameter name="stream_id" type="guint" />
-          <parameter name="component" type="GstWebRTCICEComponent" />
-          <parameter name="attr" type="const-gchar*" />
-        </parameters>
-      </method>
-      <method name="SelectedPairChange" cname="gst_webrtc_ice_transport_selected_pair_change">
-        <return-type type="void" />
-        <parameters />
-      </method>
       <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false" />
       <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false" />
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
-      <field cname="role" access="public" writeable="false" readable="true" is_callback="false" name="Role" type="GstWebRTCICERole" />
-      <field cname="component" access="public" writeable="false" readable="true" is_callback="false" name="ComponentField" type="GstWebRTCICEComponent" />
-      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCICEConnectionState" />
-      <field cname="gathering_state" access="public" writeable="false" readable="true" is_callback="false" name="GatheringStateField" type="GstWebRTCICEGatheringState" />
-      <field cname="src" access="public" writeable="false" readable="true" is_callback="false" name="Src" type="GstElement*" />
-      <field cname="sink" access="public" writeable="false" readable="true" is_callback="false" name="Sink" type="GstElement*" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
       <signal name="OnNewCandidate" cname="on-new-candidate" when="last">
         <return-type type="void" />
         <parameters>
         <parameters />
       </signal>
     </object>
-    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPReceiverClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPReceiverClass" />
       <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true">
         <return-type type="GType" />
       </method>
-      <constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor="" />
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
+      <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
     </object>
-    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPSenderClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPSenderClass" />
       <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true">
         <return-type type="GType" />
       </method>
-      <constructor cname="gst_webrtc_rtp_sender_new" disable_void_ctor="" />
       <method name="SetPriority" cname="gst_webrtc_rtp_sender_set_priority" version="1.20">
         <return-type type="void" />
         <parameters>
         </parameters>
       </method>
       <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*" />
-      <field cname="send_encodings" access="public" writeable="false" readable="true" is_callback="false" name="SendEncodings" type="GArray*" array="true" null_term_array="true" />
-      <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
+      <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
     </object>
-    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPTransceiverClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
-      </class_struct>
+    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPTransceiverClass" />
       <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true">
         <return-type type="GType" />
       </method>
+      <property name="CodecPreferences" cname="codec-preferences" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+      <property name="CurrentDirection" cname="current-direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
       <property name="Direction" cname="direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+      <property name="Kind" cname="kind" type="GstWebRTCKind" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+      <property name="Mid" cname="mid" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
       <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true" />
       <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true" />
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" />
-      <field cname="mline" access="public" writeable="false" readable="true" is_callback="false" name="Mline" type="guint" />
-      <field cname="mid" access="public" writeable="false" readable="true" is_callback="false" name="Mid" type="gchar*" />
-      <field cname="stopped" access="public" writeable="false" readable="true" is_callback="false" name="Stopped" type="gboolean" />
-      <field cname="sender" access="public" writeable="false" readable="true" is_callback="false" name="SenderField" type="GstWebRTCRTPSender*" />
-      <field cname="receiver" access="public" writeable="false" readable="true" is_callback="false" name="ReceiverField" type="GstWebRTCRTPReceiver*" />
-      <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="DirectionField" type="GstWebRTCRTPTransceiverDirection" />
-      <field cname="current_direction" access="public" writeable="false" readable="true" is_callback="false" name="CurrentDirection" type="GstWebRTCRTPTransceiverDirection" />
-      <field cname="codec_preferences" access="public" writeable="false" readable="true" is_callback="false" name="CodecPreferences" type="GstCaps*">
-        <warning>missing glib:type-name</warning>
-      </field>
-      <field cname="kind" access="public" writeable="false" readable="true" is_callback="false" name="Kind" type="GstWebRTCKind" />
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" padding="true" />
     </object>
     <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false">
       <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true">
index 8503982..a4e96d6 100644 (file)
@@ -414,8 +414,11 @@ generated_sources = [
     'Gst.WebRTC/Constants.cs',
     'Gst.WebRTC/Global.cs',
     'Gst.WebRTC/OnErrorEventHandler.cs',
+    'Gst.WebRTC/OnErrorHandler.cs',
     'Gst.WebRTC/OnMessageDataEventHandler.cs',
+    'Gst.WebRTC/OnMessageDataHandler.cs',
     'Gst.WebRTC/OnMessageStringEventHandler.cs',
+    'Gst.WebRTC/OnMessageStringHandler.cs',
     'Gst.WebRTC/OnNewCandidateHandler.cs',
     'Gst.WebRTC/SendDataEventHandler.cs',
     'Gst.WebRTC/SendStringEventHandler.cs',
index 7a1ca6e..efeba26 100644 (file)
       <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14"/>
     </enum>
     <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject">
-      <class_struct cname="GstWebRTCDTLSTransportClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+      <class_struct cname="GstWebRTCDTLSTransportClass"/>
       <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true">
         <return-type type="GType"/>
       </method>
-      <constructor cname="gst_webrtc_dtls_transport_new">
-        <parameters>
-          <parameter name="session_id" type="guint"/>
-        </parameters>
-      </constructor>
-      <method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport">
-        <return-type type="void"/>
-        <parameters>
-          <parameter name="ice" type="GstWebRTCICETransport*"/>
-        </parameters>
-      </method>
       <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
       <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
       <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false"/>
       <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false"/>
       <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false"/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*"/>
-      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState"/>
-      <field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean"/>
-      <field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint"/>
-      <field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*"/>
-      <field cname="dtlssrtpdec" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpdec" type="GstElement*"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
     </object>
-    <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject" version="1.18">
-      <class_struct cname="GstWebRTCDataChannelClass" version="1.18">
-        <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="send_data"/>
-        <method signal_vm="send_string"/>
-        <method signal_vm="close"/>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+    <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject">
+      <class_struct cname="GstWebRTCDataChannelClass"/>
       <method name="GetType" cname="gst_webrtc_data_channel_get_type" shared="true">
         <return-type type="GType"/>
       </method>
         <return-type type="void"/>
         <parameters/>
       </method>
-      <method name="OnBufferedAmountLow" cname="gst_webrtc_data_channel_on_buffered_amount_low">
-        <return-type type="void"/>
-        <parameters/>
-      </method>
-      <method name="OnClose" cname="gst_webrtc_data_channel_on_close">
-        <return-type type="void"/>
-        <parameters/>
-      </method>
-      <method name="OnError" cname="gst_webrtc_data_channel_on_error">
-        <return-type type="void"/>
-        <parameters>
-          <parameter name="error" type="GError*" owned="true">
-            <warning>missing glib:type-name</warning>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="OnMessageData" cname="gst_webrtc_data_channel_on_message_data">
-        <return-type type="void"/>
-        <parameters>
-          <parameter allow-none="1" name="data" type="GBytes*">
-            <warning>missing glib:type-name</warning>
-          </parameter>
-        </parameters>
-      </method>
-      <method name="OnMessageString" cname="gst_webrtc_data_channel_on_message_string">
-        <return-type type="void"/>
-        <parameters>
-          <parameter allow-none="1" name="str" type="const-gchar*"/>
-        </parameters>
-      </method>
-      <method name="OnOpen" cname="gst_webrtc_data_channel_on_open">
-        <return-type type="void"/>
-        <parameters/>
-      </method>
       <method name="SendData" cname="gst_webrtc_data_channel_send_data">
         <return-type type="void"/>
         <parameters>
       <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="Protocol" cname="protocol" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="ReadyState" cname="ready-state" type="GstWebRTCDataChannelState" readable="true" writeable="false" construct="false" construct-only="false"/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
-      <field cname="lock" access="public" writeable="false" readable="true" is_callback="false" name="Lock" type="GMutex*"/>
-      <field cname="label" access="public" writeable="false" readable="true" is_callback="false" name="LabelField" type="gchar*"/>
-      <field cname="ordered" access="public" writeable="false" readable="true" is_callback="false" name="OrderedField" type="gboolean"/>
-      <field cname="max_packet_lifetime" access="public" writeable="false" readable="true" is_callback="false" name="MaxPacketLifetimeField" type="guint"/>
-      <field cname="max_retransmits" access="public" writeable="false" readable="true" is_callback="false" name="MaxRetransmitsField" type="guint"/>
-      <field cname="protocol" access="public" writeable="false" readable="true" is_callback="false" name="ProtocolField" type="gchar*"/>
-      <field cname="negotiated" access="public" writeable="false" readable="true" is_callback="false" name="NegotiatedField" type="gboolean"/>
-      <field cname="id" access="public" writeable="false" readable="true" is_callback="false" name="IdField" type="gint"/>
-      <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType"/>
-      <field cname="ready_state" access="public" writeable="false" readable="true" is_callback="false" name="ReadyStateField" type="GstWebRTCDataChannelState"/>
-      <field cname="buffered_amount" access="public" writeable="false" readable="true" is_callback="false" name="BufferedAmountField" type="guint64"/>
-      <field cname="buffered_amount_low_threshold" access="public" writeable="false" readable="true" is_callback="false" name="BufferedAmountLowThresholdField" type="guint64"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      <signal name="CloseEvent" cname="close" when="last" field_name="close">
+      <signal name="CloseEvent" cname="close" when="last">
         <return-type type="void"/>
         <parameters/>
         <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnBufferedAmountLowEvent" cname="on-buffered-amount-low" when="last">
+      <signal name="OnBufferedAmountLow" cname="on-buffered-amount-low" when="last">
         <return-type type="void"/>
         <parameters/>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnCloseEvent" cname="on-close" when="last">
+      <signal name="OnClose" cname="on-close" when="last">
         <return-type type="void"/>
         <parameters/>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnErrorEvent" cname="on-error" when="last">
+      <signal name="OnError" cname="on-error" when="last">
         <return-type type="void"/>
         <parameters>
           <parameter name="error" type="GError*">
             <warning>missing glib:type-name</warning>
           </parameter>
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnMessageDataEvent" cname="on-message-data" when="last">
+      <signal name="OnMessageData" cname="on-message-data" when="last">
         <return-type type="void"/>
         <parameters>
           <parameter allow-none="1" name="data" type="GBytes*">
             <warning>missing glib:type-name</warning>
           </parameter>
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnMessageStringEvent" cname="on-message-string" when="last">
+      <signal name="OnMessageString" cname="on-message-string" when="last">
         <return-type type="void"/>
         <parameters>
           <parameter allow-none="1" name="data" type="const-gchar*"/>
         </parameters>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="OnOpenEvent" cname="on-open" when="last">
+      <signal name="OnOpen" cname="on-open" when="last">
         <return-type type="void"/>
         <parameters/>
-        <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="SendDataEvent" cname="send-data" when="last" field_name="send_data">
+      <signal name="SendDataEvent" cname="send-data" when="last">
         <return-type type="void"/>
         <parameters>
           <parameter allow-none="1" name="data" type="GBytes*">
         </parameters>
         <warning>Signal renamed because of existing method with same name</warning>
       </signal>
-      <signal name="SendStringEvent" cname="send-string" when="last" field_name="send_string">
+      <signal name="SendStringEvent" cname="send-string" when="last">
         <return-type type="void"/>
         <parameters>
           <parameter allow-none="1" name="data" type="const-gchar*"/>
       </signal>
     </object>
     <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
-      <class_struct cname="GstWebRTCICETransportClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <method vm="gather_candidates"/>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+      <class_struct cname="GstWebRTCICETransportClass"/>
       <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true">
         <return-type type="GType"/>
       </method>
-      <virtual_method name="GatherCandidates" cname="gather_candidates">
-        <return-type type="gboolean"/>
-        <parameters/>
-      </virtual_method>
-      <method name="ConnectionStateChange" cname="gst_webrtc_ice_transport_connection_state_change">
-        <return-type type="void"/>
-        <parameters>
-          <parameter name="new_state" type="GstWebRTCICEConnectionState"/>
-        </parameters>
-      </method>
-      <method name="GatheringStateChange" cname="gst_webrtc_ice_transport_gathering_state_change">
-        <return-type type="void"/>
-        <parameters>
-          <parameter name="new_state" type="GstWebRTCICEGatheringState"/>
-        </parameters>
-      </method>
-      <method name="NewCandidate" cname="gst_webrtc_ice_transport_new_candidate">
-        <return-type type="void"/>
-        <parameters>
-          <parameter name="stream_id" type="guint"/>
-          <parameter name="component" type="GstWebRTCICEComponent"/>
-          <parameter name="attr" type="const-gchar*"/>
-        </parameters>
-      </method>
-      <method name="SelectedPairChange" cname="gst_webrtc_ice_transport_selected_pair_change">
-        <return-type type="void"/>
-        <parameters/>
-      </method>
       <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false"/>
       <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false"/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
-      <field cname="role" access="public" writeable="false" readable="true" is_callback="false" name="Role" type="GstWebRTCICERole"/>
-      <field cname="component" access="public" writeable="false" readable="true" is_callback="false" name="ComponentField" type="GstWebRTCICEComponent"/>
-      <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCICEConnectionState"/>
-      <field cname="gathering_state" access="public" writeable="false" readable="true" is_callback="false" name="GatheringStateField" type="GstWebRTCICEGatheringState"/>
-      <field cname="src" access="public" writeable="false" readable="true" is_callback="false" name="Src" type="GstElement*"/>
-      <field cname="sink" access="public" writeable="false" readable="true" is_callback="false" name="Sink" type="GstElement*"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
       <signal name="OnNewCandidate" cname="on-new-candidate" when="last">
         <return-type type="void"/>
         <parameters>
         <parameters/>
       </signal>
     </object>
-    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPReceiverClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPReceiverClass"/>
       <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true">
         <return-type type="GType"/>
       </method>
-      <constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor=""/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
+      <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
     </object>
-    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPSenderClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPSenderClass"/>
       <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true">
         <return-type type="GType"/>
       </method>
-      <constructor cname="gst_webrtc_rtp_sender_new" disable_void_ctor=""/>
       <method name="SetPriority" cname="gst_webrtc_rtp_sender_set_priority" version="1.20">
         <return-type type="void"/>
         <parameters>
         </parameters>
       </method>
       <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
-      <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="Transport" type="GstWebRTCDTLSTransport*"/>
-      <field cname="send_encodings" access="public" writeable="false" readable="true" is_callback="false" name="SendEncodings" type="GArray*" array="true" null_term_array="true"/>
-      <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="GstWebRTCPriorityType"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
+      <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
     </object>
-    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject" version="1.16">
-      <class_struct cname="GstWebRTCRTPTransceiverClass">
-        <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass">
-          <warning>missing glib:type-name</warning>
-        </field>
-        <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
-      </class_struct>
+    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+      <class_struct cname="GstWebRTCRTPTransceiverClass"/>
       <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true">
         <return-type type="GType"/>
       </method>
+      <property name="CodecPreferences" cname="codec-preferences" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+      <property name="CurrentDirection" cname="current-direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
       <property name="Direction" cname="direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+      <property name="Kind" cname="kind" type="GstWebRTCKind" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+      <property name="Mid" cname="mid" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
       <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true"/>
       <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true"/>
-      <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/>
-      <field cname="mline" access="public" writeable="false" readable="true" is_callback="false" name="Mline" type="guint"/>
-      <field cname="mid" access="public" writeable="false" readable="true" is_callback="false" name="Mid" type="gchar*"/>
-      <field cname="stopped" access="public" writeable="false" readable="true" is_callback="false" name="Stopped" type="gboolean"/>
-      <field cname="sender" access="public" writeable="false" readable="true" is_callback="false" name="SenderField" type="GstWebRTCRTPSender*"/>
-      <field cname="receiver" access="public" writeable="false" readable="true" is_callback="false" name="ReceiverField" type="GstWebRTCRTPReceiver*"/>
-      <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="DirectionField" type="GstWebRTCRTPTransceiverDirection"/>
-      <field cname="current_direction" access="public" writeable="false" readable="true" is_callback="false" name="CurrentDirection" type="GstWebRTCRTPTransceiverDirection"/>
-      <field cname="codec_preferences" access="public" writeable="false" readable="true" is_callback="false" name="CodecPreferences" type="GstCaps*">
-        <warning>missing glib:type-name</warning>
-      </field>
-      <field cname="kind" access="public" writeable="false" readable="true" is_callback="false" name="Kind" type="GstWebRTCKind"/>
-      <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
     </object>
     <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false">
       <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true">