Update bindings for new WebRTC symbols
authorOlivier Crête <olivier.crete@collabora.com>
Thu, 9 Jul 2020 21:51:42 +0000 (17:51 -0400)
committerOlivier Crête <olivier.crete@collabora.com>
Fri, 16 Oct 2020 20:59:18 +0000 (16:59 -0400)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/merge_requests/25>

girs/GstWebRTC-1.0.gir
sources/generated/Gst.WebRTC/WebRTCKind.cs [new file with mode: 0644]
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 e75778b..dbf87e1 100644 (file)
@@ -1521,6 +1521,39 @@ for more information.</doc>
               glib:nick="relay">
       </member>
     </enumeration>
+    <enumeration name="WebRTCKind"
+                 version="1.20"
+                 glib:type-name="GstWebRTCKind"
+                 glib:get-type="gst_webrtc_kind_get_type"
+                 c:type="GstWebRTCKind">
+      <doc xml:space="preserve"
+           filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+           line="376">https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-kind</doc>
+      <member name="unknown"
+              value="0"
+              c:identifier="GST_WEBRTC_KIND_UNKNOWN"
+              glib:nick="unknown">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="378">Kind has not yet been set</doc>
+      </member>
+      <member name="audio"
+              value="1"
+              c:identifier="GST_WEBRTC_KIND_AUDIO"
+              glib:nick="audio">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="379">Kind is audio</doc>
+      </member>
+      <member name="video"
+              value="2"
+              c:identifier="GST_WEBRTC_KIND_VIDEO"
+              glib:nick="video">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+             line="380">Kind is audio</doc>
+      </member>
+    </enumeration>
     <enumeration name="WebRTCPeerConnectionState"
                  glib:type-name="GstWebRTCPeerConnectionState"
                  glib:get-type="gst_webrtc_peer_connection_state_get_type"
@@ -1613,14 +1646,20 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
     <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">
-      <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="57"/>
+      <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="65"/>
       <constructor name="new" c:identifier="gst_webrtc_rtp_receiver_new">
         <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
-                         line="60"/>
+                         line="68"/>
         <return-value transfer-ownership="none">
           <type name="WebRTCRTPReceiver" c:type="GstWebRTCRTPReceiver*"/>
         </return-value>
@@ -1628,7 +1667,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
       <method name="set_rtcp_transport"
               c:identifier="gst_webrtc_rtp_receiver_set_rtcp_transport">
         <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
-                         line="65"/>
+                         line="73"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1644,7 +1683,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
       <method name="set_transport"
               c:identifier="gst_webrtc_rtp_receiver_set_transport">
         <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h"
-                         line="62"/>
+                         line="70"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1661,9 +1700,15 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
         <type name="Gst.Object" c:type="GstObject"/>
       </field>
       <field name="transport">
+        <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="rtcp_transport">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtpreceiver.h"
+             line="41">The transport for RTCP packets without rtcp-mux</doc>
         <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
       </field>
       <field name="_padding">
@@ -1675,7 +1720,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
     <record name="WebRTCRTPReceiverClass"
             c:type="GstWebRTCRTPReceiverClass"
             glib:is-gtype-struct-for="WebRTCRTPReceiver">
-      <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="57"/>
+      <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="65"/>
       <field name="parent_class">
         <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
       </field>
@@ -1688,20 +1733,53 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
     <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">
-      <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="59"/>
+      <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="70"/>
       <constructor name="new" c:identifier="gst_webrtc_rtp_sender_new">
-        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="62"/>
+        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="73"/>
         <return-value transfer-ownership="none">
           <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
         </return-value>
       </constructor>
+      <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="85">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="82"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="sender" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="gst-libs/gst/webrtc/rtpsender.c"
+                 line="87">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="88">The priority of this sender</doc>
+            <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
+          </parameter>
+        </parameters>
+      </method>
       <method name="set_rtcp_transport"
               c:identifier="gst_webrtc_rtp_sender_set_rtcp_transport">
-        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="68"/>
+        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="79"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1716,7 +1794,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
       </method>
       <method name="set_transport"
               c:identifier="gst_webrtc_rtp_sender_set_transport">
-        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="65"/>
+        <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="76"/>
         <return-value transfer-ownership="none">
           <type name="none" c:type="void"/>
         </return-value>
@@ -1729,20 +1807,44 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
           </parameter>
         </parameters>
       </method>
+      <property name="priority"
+                version="1.20"
+                writable="1"
+                transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtpsender.c"
+             line="166">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="rtcp_transport">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtpsender.h"
+             line="41">The transport for RTCP packets without rtcp-mux</doc>
         <type name="WebRTCDTLSTransport" c:type="GstWebRTCDTLSTransport*"/>
       </field>
       <field name="send_encodings">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtpsender.h"
+             line="42">Unused</doc>
         <array name="GLib.Array" c:type="GArray*">
           <type name="gpointer" c:type="gpointer"/>
         </array>
       </field>
+      <field name="priority">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtpsender.h"
+             line="43">The priority of the stream (Since: 1.20)</doc>
+        <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
+      </field>
       <field name="_padding">
         <array zero-terminated="0" fixed-size="4">
           <type name="gpointer" c:type="gpointer"/>
@@ -1752,7 +1854,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
     <record name="WebRTCRTPSenderClass"
             c:type="GstWebRTCRTPSenderClass"
             glib:is-gtype-struct-for="WebRTCRTPSender">
-      <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="59"/>
+      <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="70"/>
       <field name="parent_class">
         <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
       </field>
@@ -1765,13 +1867,17 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
     <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="66"/>
+                       line="96"/>
       <property name="direction"
                 version="1.18"
                 writable="1"
@@ -1803,31 +1909,70 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
         <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">
+        <doc xml:space="preserve"
+             filename="gst-libs/gst/webrtc/rtptransceiver.h"
+             line="58">Type of media (Since: 1.20)</doc>
+        <type name="WebRTCKind" c:type="GstWebRTCKind"/>
+      </field>
       <field name="_padding">
         <array zero-terminated="0" fixed-size="4">
           <type name="gpointer" c:type="gpointer"/>
@@ -1838,7 +1983,7 @@ See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
             c:type="GstWebRTCRTPTransceiverClass"
             glib:is-gtype-struct-for="WebRTCRTPTransceiver">
       <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
-                       line="66"/>
+                       line="96"/>
       <field name="parent_class">
         <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
       </field>
diff --git a/sources/generated/Gst.WebRTC/WebRTCKind.cs b/sources/generated/Gst.WebRTC/WebRTCKind.cs
new file mode 100644 (file)
index 0000000..e5041a9
--- /dev/null
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+       using System;
+       using System.Runtime.InteropServices;
+
+#region Autogenerated code
+       [GLib.GType (typeof (Gst.WebRTC.WebRTCKindGType))]
+       public enum WebRTCKind {
+
+               Unknown = 0,
+               Audio = 1,
+               Video = 2,
+       }
+
+       internal class WebRTCKindGType {
+               [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern IntPtr gst_webrtc_kind_get_type ();
+
+               public static GLib.GType GType {
+                       get {
+                               return new GLib.GType (gst_webrtc_kind_get_type ());
+                       }
+               }
+       }
+#endregion
+}
index d96de34..3a89c19 100644 (file)
@@ -26,6 +26,22 @@ namespace Gst.WebRTC {
                }
 
                [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+               static extern void gst_webrtc_rtp_sender_set_priority(IntPtr raw, int priority);
+
+               [GLib.Property ("priority")]
+               public Gst.WebRTC.WebRTCPriorityType Priority {
+                       get {
+                               GLib.Value val = GetProperty ("priority");
+                               Gst.WebRTC.WebRTCPriorityType ret = (Gst.WebRTC.WebRTCPriorityType) (Enum) val;
+                               val.Dispose ();
+                               return ret;
+                       }
+                       set  {
+                               gst_webrtc_rtp_sender_set_priority(Handle, (int) value);
+                       }
+               }
+
+               [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
                static extern void gst_webrtc_rtp_sender_set_transport(IntPtr raw, IntPtr transport);
 
                public Gst.WebRTC.WebRTCDTLSTransport Transport {
@@ -55,6 +71,15 @@ namespace Gst.WebRTC {
                        }
                }
 
+               public Gst.WebRTC.WebRTCPriorityType PriorityField {
+                       get {
+                               unsafe {
+                                       int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("priority"));
+                                       return (Gst.WebRTC.WebRTCPriorityType) (*raw_ptr);
+                               }
+                       }
+               }
+
 
                // Internal representation of the wrapped structure ABI.
                static GLib.AbiStruct _class_abi = null;
@@ -122,14 +147,22 @@ namespace Gst.WebRTC {
                                                        , -1
                                                        , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_encodings
                                                        , "rtcp_transport"
-                                                       , "_padding"
+                                                       , "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
-                                                       , "send_encodings"
+                                                       , "priority"
                                                        , null
                                                        , (uint) Marshal.SizeOf(typeof(IntPtr))
                                                        , 0
@@ -140,6 +173,13 @@ namespace Gst.WebRTC {
                        }
                }
 
+               [StructLayout(LayoutKind.Sequential)]
+               public struct GstWebRTCRTPSender_priorityAlign
+               {
+                       sbyte f1;
+                       private Gst.WebRTC.WebRTCPriorityType priority;
+               }
+
 
                // End of the ABI representation.
 
index 29779e5..0d94782 100644 (file)
@@ -135,6 +135,15 @@ namespace Gst.WebRTC {
                        }
                }
 
+               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;
@@ -242,14 +251,22 @@ namespace Gst.WebRTC {
                                                        , -1
                                                        , (uint) Marshal.SizeOf(typeof(IntPtr)) // codec_preferences
                                                        , "current_direction"
-                                                       , "_padding"
+                                                       , "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
-                                                       , "codec_preferences"
+                                                       , "kind"
                                                        , null
                                                        , (uint) Marshal.SizeOf(typeof(IntPtr))
                                                        , 0
@@ -288,6 +305,13 @@ namespace Gst.WebRTC {
                        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 edf0133..a02758e 100644 (file)
@@ -1021,6 +1021,7 @@ int main (int argc, char *argv[]) {
        g_print("\"GstWebRTCRTPSender.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, transport));
        g_print("\"GstWebRTCRTPSender.rtcp_transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, rtcp_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));
@@ -1031,5 +1032,6 @@ int main (int argc, char *argv[]) {
        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 f61bc3f..43e3a3b 100644 (file)
@@ -1015,6 +1015,7 @@ namespace AbiTester {
                        Console.WriteLine("\"GstWebRTCRTPSender.transport\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("transport") + "\"");
                        Console.WriteLine("\"GstWebRTCRTPSender.rtcp_transport\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("rtcp_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") + "\"");
@@ -1025,6 +1026,7 @@ namespace AbiTester {
                        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 f5d9199..31c797d 100644 (file)
       <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL" name="All" value="0" />
       <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY" name="Relay" value="1" />
     </enum>
+    <enum name="WebRTCKind" cname="GstWebRTCKind" type="enum" gtype="gst_webrtc_kind_get_type" version="1.20">
+      <member cname="GST_WEBRTC_KIND_UNKNOWN" name="Unknown" value="0" />
+      <member cname="GST_WEBRTC_KIND_AUDIO" name="Audio" value="1" />
+      <member cname="GST_WEBRTC_KIND_VIDEO" name="Video" value="2" />
+    </enum>
     <enum name="WebRTCPeerConnectionState" cname="GstWebRTCPeerConnectionState" type="enum" gtype="gst_webrtc_peer_connection_state_get_type">
       <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" name="New" value="0" />
       <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" name="Connecting" value="1" />
         <parameters />
       </signal>
     </object>
-    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+    <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 cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" 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" />
     </object>
-    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+    <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>
         <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>
+          <parameter name="priority" type="GstWebRTCPriorityType" />
+        </parameters>
+      </method>
       <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport">
         <return-type type="void" />
         <parameters>
           <parameter name="transport" type="GstWebRTCDTLSTransport*" />
         </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="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" 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" />
     </object>
-    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+    <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 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">
index 63ad5c4..c82e4ad 100644 (file)
@@ -432,6 +432,7 @@ generated_sources = [
     'Gst.WebRTC/WebRTCICERole.cs',
     'Gst.WebRTC/WebRTCICETransport.cs',
     'Gst.WebRTC/WebRTCICETransportPolicy.cs',
+    'Gst.WebRTC/WebRTCKind.cs',
     'Gst.WebRTC/WebRTCPeerConnectionState.cs',
     'Gst.WebRTC/WebRTCPriorityType.cs',
     'Gst.WebRTC/WebRTCRTPReceiver.cs',
index 8c42afe..2fde41d 100644 (file)
       <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL" name="All" value="0"/>
       <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY" name="Relay" value="1"/>
     </enum>
+    <enum name="WebRTCKind" cname="GstWebRTCKind" type="enum" gtype="gst_webrtc_kind_get_type" version="1.20">
+      <member cname="GST_WEBRTC_KIND_UNKNOWN" name="Unknown" value="0"/>
+      <member cname="GST_WEBRTC_KIND_AUDIO" name="Audio" value="1"/>
+      <member cname="GST_WEBRTC_KIND_VIDEO" name="Video" value="2"/>
+    </enum>
     <enum name="WebRTCPeerConnectionState" cname="GstWebRTCPeerConnectionState" type="enum" gtype="gst_webrtc_peer_connection_state_get_type">
       <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" name="New" value="0"/>
       <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" name="Connecting" value="1"/>
         <parameters/>
       </signal>
     </object>
-    <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+    <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 cname="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" type="GstWebRTCDTLSTransport*"/>
       <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/>
     </object>
-    <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+    <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>
         <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>
+          <parameter name="priority" type="GstWebRTCPriorityType"/>
+        </parameters>
+      </method>
       <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport">
         <return-type type="void"/>
         <parameters>
           <parameter name="transport" type="GstWebRTCDTLSTransport*"/>
         </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="rtcp_transport" access="public" writeable="false" readable="true" is_callback="false" name="RtcpTransport" 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"/>
     </object>
-    <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+    <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 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">