<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
  <include name="Gst" version="1.0"/>
  <include name="GstSdp" version="1.0"/>
  <package name="gstreamer-webrtc-1.0"/>
  <c:include name="gst/webrtc/webrtc.h"/>
  <namespace name="GstWebRTC" version="1.0" shared-library="libgstwebrtc-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
    <function-macro name="IS_WEBRTC_DATA_CHANNEL" c:identifier="GST_IS_WEBRTC_DATA_CHANNEL" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_DATA_CHANNEL_CLASS" c:identifier="GST_IS_WEBRTC_DATA_CHANNEL_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_DTLS_TRANSPORT" c:identifier="GST_IS_WEBRTC_DTLS_TRANSPORT" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_DTLS_TRANSPORT_CLASS" c:identifier="GST_IS_WEBRTC_DTLS_TRANSPORT_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_ICE_TRANSPORT" c:identifier="GST_IS_WEBRTC_ICE_TRANSPORT" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_ICE_TRANSPORT_CLASS" c:identifier="GST_IS_WEBRTC_ICE_TRANSPORT_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_RECEIVER" c:identifier="GST_IS_WEBRTC_RTP_RECEIVER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_RECEIVER_CLASS" c:identifier="GST_IS_WEBRTC_RTP_RECEIVER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_SENDER" c:identifier="GST_IS_WEBRTC_RTP_SENDER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_SENDER_CLASS" c:identifier="GST_IS_WEBRTC_RTP_SENDER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_TRANSCEIVER" c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEBRTC_RTP_TRANSCEIVER_CLASS" c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DATA_CHANNEL" c:identifier="GST_WEBRTC_DATA_CHANNEL" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DATA_CHANNEL_CLASS" c:identifier="GST_WEBRTC_DATA_CHANNEL_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DATA_CHANNEL_GET_CLASS" c:identifier="GST_WEBRTC_DATA_CHANNEL_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DATA_CHANNEL_LOCK" c:identifier="GST_WEBRTC_DATA_CHANNEL_LOCK" introspectable="0">
      
      <parameters>
        <parameter name="channel">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DATA_CHANNEL_UNLOCK" c:identifier="GST_WEBRTC_DATA_CHANNEL_UNLOCK" introspectable="0">
      
      <parameters>
        <parameter name="channel">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DTLS_TRANSPORT" c:identifier="GST_WEBRTC_DTLS_TRANSPORT" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DTLS_TRANSPORT_CLASS" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_DTLS_TRANSPORT_GET_CLASS" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_ICE_TRANSPORT" c:identifier="GST_WEBRTC_ICE_TRANSPORT" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_ICE_TRANSPORT_CLASS" c:identifier="GST_WEBRTC_ICE_TRANSPORT_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_ICE_TRANSPORT_GET_CLASS" c:identifier="GST_WEBRTC_ICE_TRANSPORT_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_RECEIVER" c:identifier="GST_WEBRTC_RTP_RECEIVER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_RECEIVER_CLASS" c:identifier="GST_WEBRTC_RTP_RECEIVER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_RECEIVER_GET_CLASS" c:identifier="GST_WEBRTC_RTP_RECEIVER_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_SENDER" c:identifier="GST_WEBRTC_RTP_SENDER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_SENDER_CLASS" c:identifier="GST_WEBRTC_RTP_SENDER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_SENDER_GET_CLASS" c:identifier="GST_WEBRTC_RTP_SENDER_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_TRANSCEIVER" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_TRANSCEIVER_CLASS" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEBRTC_RTP_TRANSCEIVER_GET_CLASS" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_GET_CLASS" introspectable="0">
      
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="WebRTCBundlePolicy" version="1.16" glib:type-name="GstWebRTCBundlePolicy" glib:get-type="gst_webrtc_bundle_policy_get_type" c:type="GstWebRTCBundlePolicy">
      <doc xml:space="preserve">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
for more information.</doc>
      <member name="none" value="0" c:identifier="GST_WEBRTC_BUNDLE_POLICY_NONE" glib:nick="none">
      </member>
      <member name="balanced" value="1" c:identifier="GST_WEBRTC_BUNDLE_POLICY_BALANCED" glib:nick="balanced">
      </member>
      <member name="max_compat" value="2" c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT" glib:nick="max-compat">
      </member>
      <member name="max_bundle" value="3" c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE" glib:nick="max-bundle">
      </member>
    </enumeration>
    <enumeration name="WebRTCDTLSSetup" glib:type-name="GstWebRTCDTLSSetup" glib:get-type="gst_webrtc_dtls_setup_get_type" c:type="GstWebRTCDTLSSetup">
      <member name="none" value="0" c:identifier="GST_WEBRTC_DTLS_SETUP_NONE" glib:nick="none">
        <doc xml:space="preserve">none</doc>
      </member>
      <member name="actpass" value="1" c:identifier="GST_WEBRTC_DTLS_SETUP_ACTPASS" glib:nick="actpass">
        <doc xml:space="preserve">actpass</doc>
      </member>
      <member name="active" value="2" c:identifier="GST_WEBRTC_DTLS_SETUP_ACTIVE" glib:nick="active">
        <doc xml:space="preserve">sendonly</doc>
      </member>
      <member name="passive" value="3" c:identifier="GST_WEBRTC_DTLS_SETUP_PASSIVE" glib:nick="passive">
        <doc xml:space="preserve">recvonly</doc>
      </member>
    </enumeration>
    <class name="WebRTCDTLSTransport" c:symbol-prefix="webrtc_dtls_transport" c:type="GstWebRTCDTLSTransport" parent="Gst.Object" glib:type-name="GstWebRTCDTLSTransport" glib:get-type="gst_webrtc_dtls_transport_get_type" glib:type-struct="WebRTCDTLSTransportClass">
      
      <constructor name="new" c:identifier="gst_webrtc_dtls_transport_new">
        
        <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>
          <parameter name="rtcp" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_transport" c:identifier="gst_webrtc_dtls_transport_set_transport">
        
        <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>
      <property name="certificate" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="client" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="remote-certificate" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="rtcp" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="session-id" writable="1" construct-only="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="WebRTCDTLSTransportState"/>
      </property>
      <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="is_rtcp">
        <type name="gboolean" c:type="gboolean"/>
      </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" glib:is-gtype-struct-for="WebRTCDTLSTransport">
      
      <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>
    </record>
    <enumeration name="WebRTCDTLSTransportState" glib:type-name="GstWebRTCDTLSTransportState" glib:get-type="gst_webrtc_dtls_transport_state_get_type" c:type="GstWebRTCDTLSTransportState">
      <member name="new" value="0" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" glib:nick="new">
        <doc xml:space="preserve">new</doc>
      </member>
      <member name="closed" value="1" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" glib:nick="closed">
        <doc xml:space="preserve">closed</doc>
      </member>
      <member name="failed" value="2" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" glib:nick="failed">
        <doc xml:space="preserve">failed</doc>
      </member>
      <member name="connecting" value="3" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" glib:nick="connecting">
        <doc xml:space="preserve">connecting</doc>
      </member>
      <member name="connected" value="4" c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" glib:nick="connected">
        <doc xml:space="preserve">connected</doc>
      </member>
    </enumeration>
    <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">
      
      <virtual-method name="close" invoker="close">
        <doc xml:space="preserve">Close the @channel.</doc>
        
        <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">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">Send @data as a data message over @channel.</doc>
        
        <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">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">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">Send @str as a string message over @channel.</doc>
        
        <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">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">a string or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="close" c:identifier="gst_webrtc_data_channel_close">
        <doc xml:space="preserve">Close the @channel.</doc>
        
        <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">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">Signal that the data channel reached a low buffered amount. Should only be used by subclasses.</doc>
        
        <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">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">Signal that the data channel was closed. Should only be used by subclasses.</doc>
        
        <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">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">Signal that the data channel had an error. Should only be used by subclasses.</doc>
        
        <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">a #GstWebRTCDataChannel</doc>
            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="full">
            <doc xml:space="preserve">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">Signal that the data channel received a data message. Should only be used by subclasses.</doc>
        
        <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">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">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">Signal that the data channel received a string message. Should only be used by subclasses.</doc>
        
        <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">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">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">Signal that the data channel was opened. Should only be used by subclasses.</doc>
        
        <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">a #GstWebRTCDataChannel</doc>
            <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="send_data" c:identifier="gst_webrtc_data_channel_send_data">
        <doc xml:space="preserve">Send @data as a data message over @channel.</doc>
        
        <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">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">a #GBytes or %NULL</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_string" c:identifier="gst_webrtc_data_channel_send_string">
        <doc xml:space="preserve">Send @str as a string message over @channel.</doc>
        
        <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">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">a string or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffered-amount" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="buffered-amount-low-threshold" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="id" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="label" writable="1" construct-only="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="max-packet-lifetime" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="max-retransmits" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="negotiated" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="ordered" writable="1" construct-only="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="priority" writable="1" construct-only="1" transfer-ownership="none">
        <type name="WebRTCPriorityType"/>
      </property>
      <property name="protocol" writable="1" construct-only="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <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">Close the data channel</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="on-buffered-amount-low" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="on-close" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="on-error" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve">the #GError thrown</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="on-message-data" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
            <doc xml:space="preserve">a #GBytes of the data received</doc>
            <type name="GLib.Bytes"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="on-message-string" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
            <doc xml:space="preserve">the data received as a string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="on-open" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="send-data" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
            <doc xml:space="preserve">a #GBytes with the data</doc>
            <type name="GLib.Bytes"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="send-string" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
            <doc xml:space="preserve">the data to send as a string</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WebRTCDataChannelClass" c:type="GstWebRTCDataChannelClass" glib:is-gtype-struct-for="WebRTCDataChannel" version="1.18">
      
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="send_data">
        <callback name="send_data">
          
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <doc xml:space="preserve">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">a #GBytes or %NULL</doc>
              <type name="GLib.Bytes" c:type="GBytes*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="send_string">
        <callback name="send_string">
          
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <doc xml:space="preserve">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">a string or %NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="close">
        <callback name="close">
          
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <doc xml:space="preserve">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>
    </record>
    <enumeration name="WebRTCDataChannelState" version="1.16" glib:type-name="GstWebRTCDataChannelState" glib:get-type="gst_webrtc_data_channel_state_get_type" c:type="GstWebRTCDataChannelState">
      <doc xml:space="preserve">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>
      <member name="new" value="0" c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_NEW" glib:nick="new">
      </member>
      <member name="connecting" value="1" c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING" glib:nick="connecting">
      </member>
      <member name="open" value="2" c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_OPEN" glib:nick="open">
      </member>
      <member name="closing" value="3" c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING" glib:nick="closing">
      </member>
      <member name="closed" value="4" c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED" glib:nick="closed">
      </member>
    </enumeration>
    <enumeration name="WebRTCFECType" version="1.14.1" glib:type-name="GstWebRTCFECType" glib:get-type="gst_webrtc_fec_type_get_type" c:type="GstWebRTCFECType">
      <member name="none" value="0" c:identifier="GST_WEBRTC_FEC_TYPE_NONE" glib:nick="none">
        <doc xml:space="preserve">none</doc>
      </member>
      <member name="ulp_red" value="1" c:identifier="GST_WEBRTC_FEC_TYPE_ULP_RED" glib:nick="ulp-red">
        <doc xml:space="preserve">ulpfec + red</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCICEComponent" glib:type-name="GstWebRTCICEComponent" glib:get-type="gst_webrtc_ice_component_get_type" c:type="GstWebRTCICEComponent">
      <member name="rtp" value="0" c:identifier="GST_WEBRTC_ICE_COMPONENT_RTP" glib:nick="rtp">
        <doc xml:space="preserve">RTP component</doc>
      </member>
      <member name="rtcp" value="1" c:identifier="GST_WEBRTC_ICE_COMPONENT_RTCP" glib:nick="rtcp">
        <doc xml:space="preserve">RTCP component</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCICEConnectionState" glib:type-name="GstWebRTCICEConnectionState" glib:get-type="gst_webrtc_ice_connection_state_get_type" c:type="GstWebRTCICEConnectionState">
      <doc xml:space="preserve">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate&gt;</doc>
      <member name="new" value="0" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" glib:nick="new">
        <doc xml:space="preserve">new</doc>
      </member>
      <member name="checking" value="1" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" glib:nick="checking">
        <doc xml:space="preserve">checking</doc>
      </member>
      <member name="connected" value="2" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" glib:nick="connected">
        <doc xml:space="preserve">connected</doc>
      </member>
      <member name="completed" value="3" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" glib:nick="completed">
        <doc xml:space="preserve">completed</doc>
      </member>
      <member name="failed" value="4" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" glib:nick="failed">
        <doc xml:space="preserve">failed</doc>
      </member>
      <member name="disconnected" value="5" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" glib:nick="disconnected">
        <doc xml:space="preserve">disconnected</doc>
      </member>
      <member name="closed" value="6" c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" glib:nick="closed">
        <doc xml:space="preserve">closed</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCICEGatheringState" glib:type-name="GstWebRTCICEGatheringState" glib:get-type="gst_webrtc_ice_gathering_state_get_type" c:type="GstWebRTCICEGatheringState">
      <doc xml:space="preserve">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate&gt;</doc>
      <member name="new" value="0" c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_NEW" glib:nick="new">
        <doc xml:space="preserve">new</doc>
      </member>
      <member name="gathering" value="1" c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" glib:nick="gathering">
        <doc xml:space="preserve">gathering</doc>
      </member>
      <member name="complete" value="2" c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" glib:nick="complete">
        <doc xml:space="preserve">complete</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCICERole" glib:type-name="GstWebRTCICERole" glib:get-type="gst_webrtc_ice_role_get_type" c:type="GstWebRTCICERole">
      <member name="controlled" value="0" c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLED" glib:nick="controlled">
        <doc xml:space="preserve">controlled</doc>
      </member>
      <member name="controlling" value="1" c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLING" glib:nick="controlling">
        <doc xml:space="preserve">controlling</doc>
      </member>
    </enumeration>
    <class name="WebRTCICETransport" c:symbol-prefix="webrtc_ice_transport" c:type="GstWebRTCICETransport" parent="Gst.Object" abstract="1" glib:type-name="GstWebRTCICETransport" glib:get-type="gst_webrtc_ice_transport_get_type" glib:type-struct="WebRTCICETransportClass">
      
      <virtual-method name="gather_candidates">
        
        <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">
        
        <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">
        
        <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">
        
        <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">
        
        <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>
      <property name="component" writable="1" construct-only="1" transfer-ownership="none">
        <type name="WebRTCICEComponent"/>
      </property>
      <property name="gathering-state" transfer-ownership="none">
        <type name="WebRTCICEGatheringState"/>
      </property>
      <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"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="on-selected-candidate-pair-change" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="WebRTCICETransportClass" c:type="GstWebRTCICETransportClass" glib:is-gtype-struct-for="WebRTCICETransport">
      
      <field name="parent_class">
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
      <field name="gather_candidates">
        <callback name="gather_candidates">
          
          <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>
    </record>
    <enumeration name="WebRTCICETransportPolicy" version="1.16" glib:type-name="GstWebRTCICETransportPolicy" glib:get-type="gst_webrtc_ice_transport_policy_get_type" c:type="GstWebRTCICETransportPolicy">
      <doc xml:space="preserve">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
for more information.</doc>
      <member name="all" value="0" c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL" glib:nick="all">
      </member>
      <member name="relay" value="1" c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY" glib:nick="relay">
      </member>
    </enumeration>
    <enumeration name="WebRTCPeerConnectionState" glib:type-name="GstWebRTCPeerConnectionState" glib:get-type="gst_webrtc_peer_connection_state_get_type" c:type="GstWebRTCPeerConnectionState">
      <doc xml:space="preserve">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate&gt;</doc>
      <member name="new" value="0" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" glib:nick="new">
        <doc xml:space="preserve">new</doc>
      </member>
      <member name="connecting" value="1" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" glib:nick="connecting">
        <doc xml:space="preserve">connecting</doc>
      </member>
      <member name="connected" value="2" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" glib:nick="connected">
        <doc xml:space="preserve">connected</doc>
      </member>
      <member name="disconnected" value="3" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" glib:nick="disconnected">
        <doc xml:space="preserve">disconnected</doc>
      </member>
      <member name="failed" value="4" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" glib:nick="failed">
        <doc xml:space="preserve">failed</doc>
      </member>
      <member name="closed" value="5" c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" glib:nick="closed">
        <doc xml:space="preserve">closed</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCPriorityType" version="1.16" glib:type-name="GstWebRTCPriorityType" glib:get-type="gst_webrtc_priority_type_get_type" c:type="GstWebRTCPriorityType">
      <doc xml:space="preserve">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>
      <member name="very_low" value="1" c:identifier="GST_WEBRTC_PRIORITY_TYPE_VERY_LOW" glib:nick="very-low">
      </member>
      <member name="low" value="2" c:identifier="GST_WEBRTC_PRIORITY_TYPE_LOW" glib:nick="low">
      </member>
      <member name="medium" value="3" c:identifier="GST_WEBRTC_PRIORITY_TYPE_MEDIUM" glib:nick="medium">
      </member>
      <member name="high" value="4" c:identifier="GST_WEBRTC_PRIORITY_TYPE_HIGH" glib:nick="high">
      </member>
    </enumeration>
    <class name="WebRTCRTPReceiver" c:symbol-prefix="webrtc_rtp_receiver" c:type="GstWebRTCRTPReceiver" parent="Gst.Object" glib:type-name="GstWebRTCRTPReceiver" glib:get-type="gst_webrtc_rtp_receiver_get_type" glib:type-struct="WebRTCRTPReceiverClass">
      
      <constructor name="new" c:identifier="gst_webrtc_rtp_receiver_new">
        
        <return-value transfer-ownership="none">
          <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
        </return-value>
      </constructor>
      <method name="set_rtcp_transport" c:identifier="gst_webrtc_rtp_receiver_set_rtcp_transport">
        
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="receiver" transfer-ownership="none">
            <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transport" c:identifier="gst_webrtc_rtp_receiver_set_transport">
        
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="receiver" transfer-ownership="none">
            <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="transport">
        <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
      </field>
      <field name="rtcp_transport">
        <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>
    </class>
    <record name="WebRTCRTPReceiverClass" c:type="GstWebRTCRTPReceiverClass" glib:is-gtype-struct-for="WebRTCRTPReceiver">
      
      <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>
    </record>
    <class name="WebRTCRTPSender" c:symbol-prefix="webrtc_rtp_sender" c:type="GstWebRTCRTPSender" parent="Gst.Object" glib:type-name="GstWebRTCRTPSender" glib:get-type="gst_webrtc_rtp_sender_get_type" glib:type-struct="WebRTCRTPSenderClass">
      
      <constructor name="new" c:identifier="gst_webrtc_rtp_sender_new">
        
        <return-value transfer-ownership="none">
          <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
        </return-value>
      </constructor>
      <method name="set_rtcp_transport" c:identifier="gst_webrtc_rtp_sender_set_rtcp_transport">
        
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sender" transfer-ownership="none">
            <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transport" c:identifier="gst_webrtc_rtp_sender_set_transport">
        
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sender" transfer-ownership="none">
            <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="transport">
        <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
      </field>
      <field name="rtcp_transport">
        <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
      </field>
      <field name="send_encodings">
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <field name="_padding">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="WebRTCRTPSenderClass" c:type="GstWebRTCRTPSenderClass" glib:is-gtype-struct-for="WebRTCRTPSender">
      
      <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>
    </record>
    <class name="WebRTCRTPTransceiver" c:symbol-prefix="webrtc_rtp_transceiver" c:type="GstWebRTCRTPTransceiver" parent="Gst.Object" abstract="1" glib:type-name="GstWebRTCRTPTransceiver" glib:get-type="gst_webrtc_rtp_transceiver_get_type" glib:type-struct="WebRTCRTPTransceiverClass">
      
      <property name="direction" version="1.18" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">Direction of the transceiver.</doc>
        <type name="WebRTCRTPTransceiverDirection"/>
      </property>
      <property name="mlineindex" writable="1" construct-only="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="receiver" writable="1" construct-only="1" transfer-ownership="none">
        <type name="WebRTCRTPReceiver"/>
      </property>
      <property name="sender" writable="1" construct-only="1" transfer-ownership="none">
        <type name="WebRTCRTPSender"/>
      </property>
      <field name="parent">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="mline">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="mid">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="stopped">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="sender">
        <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
      </field>
      <field name="receiver">
        <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
      </field>
      <field name="direction">
        <type name="WebRTCRTPTransceiverDirection" c:type="GstWebRTCRTPTransceiverDirection"/>
      </field>
      <field name="current_direction">
        <type name="WebRTCRTPTransceiverDirection" c:type="GstWebRTCRTPTransceiverDirection"/>
      </field>
      <field name="codec_preferences">
        <type name="Gst.Caps" c:type="GstCaps*"/>
      </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" glib:is-gtype-struct-for="WebRTCRTPTransceiver">
      
      <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>
    </record>
    <enumeration name="WebRTCRTPTransceiverDirection" glib:type-name="GstWebRTCRTPTransceiverDirection" glib:get-type="gst_webrtc_rtp_transceiver_direction_get_type" c:type="GstWebRTCRTPTransceiverDirection">
      <member name="none" value="0" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" glib:nick="none">
        <doc xml:space="preserve">none</doc>
      </member>
      <member name="inactive" value="1" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" glib:nick="inactive">
        <doc xml:space="preserve">inactive</doc>
      </member>
      <member name="sendonly" value="2" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" glib:nick="sendonly">
        <doc xml:space="preserve">sendonly</doc>
      </member>
      <member name="recvonly" value="3" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" glib:nick="recvonly">
        <doc xml:space="preserve">recvonly</doc>
      </member>
      <member name="sendrecv" value="4" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" glib:nick="sendrecv">
        <doc xml:space="preserve">sendrecv</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCSCTPTransportState" version="1.16" glib:type-name="GstWebRTCSCTPTransportState" glib:get-type="gst_webrtc_sctp_transport_state_get_type" c:type="GstWebRTCSCTPTransportState">
      <doc xml:space="preserve">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>
      <member name="new" value="0" c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW" glib:nick="new">
      </member>
      <member name="connecting" value="1" c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING" glib:nick="connecting">
      </member>
      <member name="connected" value="2" c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED" glib:nick="connected">
      </member>
      <member name="closed" value="3" c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED" glib:nick="closed">
      </member>
    </enumeration>
    <enumeration name="WebRTCSDPType" glib:type-name="GstWebRTCSDPType" glib:get-type="gst_webrtc_sdp_type_get_type" c:type="GstWebRTCSDPType">
      <doc xml:space="preserve">See &lt;http://w3c.github.io/webrtc-pc/#rtcsdptype&gt;</doc>
      <member name="offer" value="1" c:identifier="GST_WEBRTC_SDP_TYPE_OFFER" glib:nick="offer">
        <doc xml:space="preserve">offer</doc>
      </member>
      <member name="pranswer" value="2" c:identifier="GST_WEBRTC_SDP_TYPE_PRANSWER" glib:nick="pranswer">
        <doc xml:space="preserve">pranswer</doc>
      </member>
      <member name="answer" value="3" c:identifier="GST_WEBRTC_SDP_TYPE_ANSWER" glib:nick="answer">
        <doc xml:space="preserve">answer</doc>
      </member>
      <member name="rollback" value="4" c:identifier="GST_WEBRTC_SDP_TYPE_ROLLBACK" glib:nick="rollback">
        <doc xml:space="preserve">rollback</doc>
      </member>
      <function name="to_string" c:identifier="gst_webrtc_sdp_type_to_string">
        
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the string representation of @type or "unknown" when @type is not
     recognized.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #GstWebRTCSDPType</doc>
            <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <record name="WebRTCSessionDescription" c:type="GstWebRTCSessionDescription" glib:type-name="GstWebRTCSessionDescription" glib:get-type="gst_webrtc_session_description_get_type" c:symbol-prefix="webrtc_session_description">
      <doc xml:space="preserve">See &lt;https://www.w3.org/TR/webrtc/#rtcsessiondescription-class&gt;</doc>
      
      <field name="type" writable="1">
        <doc xml:space="preserve">the #GstWebRTCSDPType of the description</doc>
        <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
      </field>
      <field name="sdp" writable="1">
        <doc xml:space="preserve">the #GstSDPMessage of the description</doc>
        <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
      </field>
      <constructor name="new" c:identifier="gst_webrtc_session_description_new">
        
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GstWebRTCSessionDescription from @type
     and @sdp</doc>
          <type name="WebRTCSessionDescription" c:type="GstWebRTCSessionDescription*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #GstWebRTCSDPType</doc>
            <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
          </parameter>
          <parameter name="sdp" transfer-ownership="full">
            <doc xml:space="preserve">a #GstSDPMessage</doc>
            <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="gst_webrtc_session_description_copy">
        
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new copy of @src</doc>
          <type name="WebRTCSessionDescription" c:type="GstWebRTCSessionDescription*"/>
        </return-value>
        <parameters>
          <instance-parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve">a #GstWebRTCSessionDescription</doc>
            <type name="WebRTCSessionDescription" c:type="const GstWebRTCSessionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gst_webrtc_session_description_free">
        <doc xml:space="preserve">Free @desc and all associated resources</doc>
        
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="desc" transfer-ownership="full">
            <doc xml:space="preserve">a #GstWebRTCSessionDescription</doc>
            <type name="WebRTCSessionDescription" c:type="GstWebRTCSessionDescription*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="WebRTCSignalingState" glib:type-name="GstWebRTCSignalingState" glib:get-type="gst_webrtc_signaling_state_get_type" c:type="GstWebRTCSignalingState">
      <doc xml:space="preserve">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate&gt;</doc>
      <member name="stable" value="0" c:identifier="GST_WEBRTC_SIGNALING_STATE_STABLE" glib:nick="stable">
        <doc xml:space="preserve">stable</doc>
      </member>
      <member name="closed" value="1" c:identifier="GST_WEBRTC_SIGNALING_STATE_CLOSED" glib:nick="closed">
        <doc xml:space="preserve">closed</doc>
      </member>
      <member name="have_local_offer" value="2" c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" glib:nick="have-local-offer">
        <doc xml:space="preserve">have-local-offer</doc>
      </member>
      <member name="have_remote_offer" value="3" c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" glib:nick="have-remote-offer">
        <doc xml:space="preserve">have-remote-offer</doc>
      </member>
      <member name="have_local_pranswer" value="4" c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" glib:nick="have-local-pranswer">
        <doc xml:space="preserve">have-local-pranswer</doc>
      </member>
      <member name="have_remote_pranswer" value="5" c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" glib:nick="have-remote-pranswer">
        <doc xml:space="preserve">have-remote-pranswer</doc>
      </member>
    </enumeration>
    <enumeration name="WebRTCStatsType" glib:type-name="GstWebRTCStatsType" glib:get-type="gst_webrtc_stats_type_get_type" c:type="GstWebRTCStatsType">
      <member name="codec" value="1" c:identifier="GST_WEBRTC_STATS_CODEC" glib:nick="codec">
        <doc xml:space="preserve">codec</doc>
      </member>
      <member name="inbound_rtp" value="2" c:identifier="GST_WEBRTC_STATS_INBOUND_RTP" glib:nick="inbound-rtp">
        <doc xml:space="preserve">inbound-rtp</doc>
      </member>
      <member name="outbound_rtp" value="3" c:identifier="GST_WEBRTC_STATS_OUTBOUND_RTP" glib:nick="outbound-rtp">
        <doc xml:space="preserve">outbound-rtp</doc>
      </member>
      <member name="remote_inbound_rtp" value="4" c:identifier="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" glib:nick="remote-inbound-rtp">
        <doc xml:space="preserve">remote-inbound-rtp</doc>
      </member>
      <member name="remote_outbound_rtp" value="5" c:identifier="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" glib:nick="remote-outbound-rtp">
        <doc xml:space="preserve">remote-outbound-rtp</doc>
      </member>
      <member name="csrc" value="6" c:identifier="GST_WEBRTC_STATS_CSRC" glib:nick="csrc">
        <doc xml:space="preserve">csrc</doc>
      </member>
      <member name="peer_connection" value="7" c:identifier="GST_WEBRTC_STATS_PEER_CONNECTION" glib:nick="peer-connection">
        <doc xml:space="preserve">peer-connectiion</doc>
      </member>
      <member name="data_channel" value="8" c:identifier="GST_WEBRTC_STATS_DATA_CHANNEL" glib:nick="data-channel">
        <doc xml:space="preserve">data-channel</doc>
      </member>
      <member name="stream" value="9" c:identifier="GST_WEBRTC_STATS_STREAM" glib:nick="stream">
        <doc xml:space="preserve">stream</doc>
      </member>
      <member name="transport" value="10" c:identifier="GST_WEBRTC_STATS_TRANSPORT" glib:nick="transport">
        <doc xml:space="preserve">transport</doc>
      </member>
      <member name="candidate_pair" value="11" c:identifier="GST_WEBRTC_STATS_CANDIDATE_PAIR" glib:nick="candidate-pair">
        <doc xml:space="preserve">candidate-pair</doc>
      </member>
      <member name="local_candidate" value="12" c:identifier="GST_WEBRTC_STATS_LOCAL_CANDIDATE" glib:nick="local-candidate">
        <doc xml:space="preserve">local-candidate</doc>
      </member>
      <member name="remote_candidate" value="13" c:identifier="GST_WEBRTC_STATS_REMOTE_CANDIDATE" glib:nick="remote-candidate">
        <doc xml:space="preserve">remote-candidate</doc>
      </member>
      <member name="certificate" value="14" c:identifier="GST_WEBRTC_STATS_CERTIFICATE" glib:nick="certificate">
        <doc xml:space="preserve">certificate</doc>
      </member>
    </enumeration>
    <function name="webrtc_sdp_type_to_string" c:identifier="gst_webrtc_sdp_type_to_string" moved-to="WebRTCSDPType.to_string">
      
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">the string representation of @type or "unknown" when @type is not
     recognized.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve">a #GstWebRTCSDPType</doc>
          <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
