diff options
author | Thibault Saunier <tsaunier@igalia.com> | 2018-03-19 15:49:25 -0300 |
---|---|---|
committer | Thibault Saunier <tsaunier@igalia.com> | 2018-07-03 10:03:27 -0400 |
commit | 6bada6f67d29a73c416293f2640a2e8d917dab09 (patch) | |
tree | 7c8111265a6848bf834310a5858aa1412b603e48 | |
parent | 2a9149734f38112cfe687e86b23bb823916f7e5a (diff) |
Generate bindings for the new GstWebRTC library
32 files changed, 3589 insertions, 6 deletions
diff --git a/girs/GstWebRTC-1.0.gir b/girs/GstWebRTC-1.0.gir new file mode 100644 index 0000000..951089f --- /dev/null +++ b/girs/GstWebRTC-1.0.gir @@ -0,0 +1,1003 @@ +<?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 version="1.2" + 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"> + <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"> + <enumeration name="WebRTCDTLSSetup" + glib:type-name="GstWebRTCDTLSSetup" + glib:get-type="gst_webrtc_dtls_setup_get_type" + c:type="GstWebRTCDTLSSetup"> + <doc xml:space="preserve">GST_WEBRTC_DTLS_SETUP_NONE: none +GST_WEBRTC_DTLS_SETUP_ACTPASS: actpass +GST_WEBRTC_DTLS_SETUP_ACTIVE: sendonly +GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly</doc> + <member name="none" + value="0" + c:identifier="GST_WEBRTC_DTLS_SETUP_NONE" + glib:nick="none"> + </member> + <member name="actpass" + value="1" + c:identifier="GST_WEBRTC_DTLS_SETUP_ACTPASS" + glib:nick="actpass"> + </member> + <member name="active" + value="2" + c:identifier="GST_WEBRTC_DTLS_SETUP_ACTIVE" + glib:nick="active"> + </member> + <member name="passive" + value="3" + c:identifier="GST_WEBRTC_DTLS_SETUP_PASSIVE" + glib:nick="passive"> + </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" c:type="gpointer" 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.BinClass" c:type="GstBinClass"/> + </field> + <field name="_padding"> + <array zero-terminated="0" c:type="gpointer" 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"> + <doc xml:space="preserve">GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW: new +GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED: closed +GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED: failed +GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING: connecting +GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED: connected</doc> + <member name="new" + value="0" + c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" + glib:nick="new"> + </member> + <member name="closed" + value="1" + c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" + glib:nick="closed"> + </member> + <member name="failed" + value="2" + c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" + glib:nick="failed"> + </member> + <member name="connecting" + value="3" + c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" + glib:nick="connecting"> + </member> + <member name="connected" + value="4" + c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" + glib:nick="connected"> + </member> + </enumeration> + <enumeration name="WebRTCFECType" + glib:type-name="GstWebRTCFECType" + glib:get-type="gst_webrtc_fec_type_get_type" + c:type="GstWebRTCFECType"> + <doc xml:space="preserve">GST_WEBRTC_FEC_TYPE_NONE: none +GST_WEBRTC_FEC_TYPE_ULP_RED: ulpfec + red</doc> + <member name="none" + value="0" + c:identifier="GST_WEBRTC_FEC_TYPE_NONE" + glib:nick="none"> + </member> + <member name="ulp_red" + value="1" + c:identifier="GST_WEBRTC_FEC_TYPE_ULP_RED" + glib:nick="ulp-red"> + </member> + </enumeration> + <enumeration name="WebRTCICEComponent" + glib:type-name="GstWebRTCICEComponent" + glib:get-type="gst_webrtc_ice_component_get_type" + c:type="GstWebRTCICEComponent"> + <doc xml:space="preserve">GST_WEBRTC_ICE_COMPONENT_RTP, +GST_WEBRTC_ICE_COMPONENT_RTCP,</doc> + <member name="rtp" + value="0" + c:identifier="GST_WEBRTC_ICE_COMPONENT_RTP" + glib:nick="rtp"> + </member> + <member name="rtcp" + value="1" + c:identifier="GST_WEBRTC_ICE_COMPONENT_RTCP" + glib:nick="rtcp"> + </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">GST_WEBRTC_ICE_CONNECTION_STATE_NEW: new +GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING: checking +GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED: connected +GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED: completed +GST_WEBRTC_ICE_CONNECTION_STATE_FAILED: failed +GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED: disconnected +GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED: closed +See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate">http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate</ulink></doc> + <member name="new" + value="0" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" + glib:nick="new"> + </member> + <member name="checking" + value="1" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" + glib:nick="checking"> + </member> + <member name="connected" + value="2" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" + glib:nick="connected"> + </member> + <member name="completed" + value="3" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" + glib:nick="completed"> + </member> + <member name="failed" + value="4" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" + glib:nick="failed"> + </member> + <member name="disconnected" + value="5" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" + glib:nick="disconnected"> + </member> + <member name="closed" + value="6" + c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" + glib:nick="closed"> + </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">GST_WEBRTC_ICE_GATHERING_STATE_NEW: new +GST_WEBRTC_ICE_GATHERING_STATE_GATHERING: gathering +GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE: complete +See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate">http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate</ulink></doc> + <member name="new" + value="0" + c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_NEW" + glib:nick="new"> + </member> + <member name="gathering" + value="1" + c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" + glib:nick="gathering"> + </member> + <member name="complete" + value="2" + c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" + glib:nick="complete"> + </member> + </enumeration> + <enumeration name="WebRTCICERole" + glib:type-name="GstWebRTCICERole" + glib:get-type="gst_webrtc_ice_role_get_type" + c:type="GstWebRTCICERole"> + <doc xml:space="preserve">GST_WEBRTC_ICE_ROLE_CONTROLLED: controlled +GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling</doc> + <member name="controlled" + value="0" + c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLED" + glib:nick="controlled"> + </member> + <member name="controlling" + value="1" + c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLING" + glib:nick="controlling"> + </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" c:type="gpointer" 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.BinClass" c:type="GstBinClass"/> + </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" c:type="gpointer" fixed-size="4"> + <type name="gpointer" c:type="gpointer"/> + </array> + </field> + </record> + <enumeration name="WebRTCPeerConnectionState" + glib:type-name="GstWebRTCPeerConnectionState" + glib:get-type="gst_webrtc_peer_connection_state_get_type" + c:type="GstWebRTCPeerConnectionState"> + <doc xml:space="preserve">GST_WEBRTC_PEER_CONNECTION_STATE_NEW: new +GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING: connecting +GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED: connected +GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED: disconnected +GST_WEBRTC_PEER_CONNECTION_STATE_FAILED: failed +GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED: closed +See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate">http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate</ulink></doc> + <member name="new" + value="0" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" + glib:nick="new"> + </member> + <member name="connecting" + value="1" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" + glib:nick="connecting"> + </member> + <member name="connected" + value="2" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" + glib:nick="connected"> + </member> + <member name="disconnected" + value="3" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" + glib:nick="disconnected"> + </member> + <member name="failed" + value="4" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" + glib:nick="failed"> + </member> + <member name="closed" + value="5" + c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" + glib:nick="closed"> + </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" c:type="gpointer" 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" c:type="gpointer" 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" c:type="gpointer" 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" c:type="gpointer" 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="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" c:type="gpointer" 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" c:type="gpointer" 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"> + </member> + <member name="inactive" + value="1" + c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" + glib:nick="inactive"> + </member> + <member name="sendonly" + value="2" + c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" + glib:nick="sendonly"> + </member> + <member name="recvonly" + value="3" + c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" + glib:nick="recvonly"> + </member> + <member name="sendrecv" + value="4" + c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" + glib:nick="sendrecv"> + </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">GST_WEBRTC_SDP_TYPE_OFFER: offer +GST_WEBRTC_SDP_TYPE_PRANSWER: pranswer +GST_WEBRTC_SDP_TYPE_ANSWER: answer +GST_WEBRTC_SDP_TYPE_ROLLBACK: rollback +See <ulink url="http://w3c.github.io/webrtc-pc/#rtcsdptype">http://w3c.github.io/webrtc-pc/#rtcsdptype</ulink></doc> + <member name="offer" + value="1" + c:identifier="GST_WEBRTC_SDP_TYPE_OFFER" + glib:nick="offer"> + </member> + <member name="pranswer" + value="2" + c:identifier="GST_WEBRTC_SDP_TYPE_PRANSWER" + glib:nick="pranswer"> + </member> + <member name="answer" + value="3" + c:identifier="GST_WEBRTC_SDP_TYPE_ANSWER" + glib:nick="answer"> + </member> + <member name="rollback" + value="4" + c:identifier="GST_WEBRTC_SDP_TYPE_ROLLBACK" + glib:nick="rollback"> + </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 <ulink url="https://www.w3.org/TR/webrtc/#rtcsessiondescription-class">https://www.w3.org/TR/webrtc/#rtcsessiondescription-class</ulink></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="none"> + <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">GST_WEBRTC_SIGNALING_STATE_STABLE: stable +GST_WEBRTC_SIGNALING_STATE_CLOSED: closed +GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER: have-local-offer +GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER: have-remote-offer +GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER: have-local-pranswer +GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER: have-remote-pranswer +See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate">http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate</ulink></doc> + <member name="stable" + value="0" + c:identifier="GST_WEBRTC_SIGNALING_STATE_STABLE" + glib:nick="stable"> + </member> + <member name="closed" + value="1" + c:identifier="GST_WEBRTC_SIGNALING_STATE_CLOSED" + glib:nick="closed"> + </member> + <member name="have_local_offer" + value="2" + c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" + glib:nick="have-local-offer"> + </member> + <member name="have_remote_offer" + value="3" + c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" + glib:nick="have-remote-offer"> + </member> + <member name="have_local_pranswer" + value="4" + c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" + glib:nick="have-local-pranswer"> + </member> + <member name="have_remote_pranswer" + value="5" + c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" + glib:nick="have-remote-pranswer"> + </member> + </enumeration> + <enumeration name="WebRTCStatsType" + glib:type-name="GstWebRTCStatsType" + glib:get-type="gst_webrtc_stats_type_get_type" + c:type="GstWebRTCStatsType"> + <doc xml:space="preserve">GST_WEBRTC_STATS_CODEC: codec +GST_WEBRTC_STATS_INBOUND_RTP: inbound-rtp +GST_WEBRTC_STATS_OUTBOUND_RTP: outbound-rtp +GST_WEBRTC_STATS_REMOTE_INBOUND_RTP: remote-inbound-rtp +GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP: remote-outbound-rtp +GST_WEBRTC_STATS_CSRC: csrc +GST_WEBRTC_STATS_PEER_CONNECTION: peer-connectiion +GST_WEBRTC_STATS_DATA_CHANNEL: data-channel +GST_WEBRTC_STATS_STREAM: stream +GST_WEBRTC_STATS_TRANSPORT: transport +GST_WEBRTC_STATS_CANDIDATE_PAIR: candidate-pair +GST_WEBRTC_STATS_LOCAL_CANDIDATE: local-candidate +GST_WEBRTC_STATS_REMOTE_CANDIDATE: remote-candidate +GST_WEBRTC_STATS_CERTIFICATE: certificate</doc> + <member name="codec" + value="1" + c:identifier="GST_WEBRTC_STATS_CODEC" + glib:nick="codec"> + </member> + <member name="inbound_rtp" + value="2" + c:identifier="GST_WEBRTC_STATS_INBOUND_RTP" + glib:nick="inbound-rtp"> + </member> + <member name="outbound_rtp" + value="3" + c:identifier="GST_WEBRTC_STATS_OUTBOUND_RTP" + glib:nick="outbound-rtp"> + </member> + <member name="remote_inbound_rtp" + value="4" + c:identifier="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" + glib:nick="remote-inbound-rtp"> + </member> + <member name="remote_outbound_rtp" + value="5" + c:identifier="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" + glib:nick="remote-outbound-rtp"> + </member> + <member name="csrc" + value="6" + c:identifier="GST_WEBRTC_STATS_CSRC" + glib:nick="csrc"> + </member> + <member name="peer_connection" + value="7" + c:identifier="GST_WEBRTC_STATS_PEER_CONNECTION" + glib:nick="peer-connection"> + </member> + <member name="data_channel" + value="8" + c:identifier="GST_WEBRTC_STATS_DATA_CHANNEL" + glib:nick="data-channel"> + </member> + <member name="stream" + value="9" + c:identifier="GST_WEBRTC_STATS_STREAM" + glib:nick="stream"> + </member> + <member name="transport" + value="10" + c:identifier="GST_WEBRTC_STATS_TRANSPORT" + glib:nick="transport"> + </member> + <member name="candidate_pair" + value="11" + c:identifier="GST_WEBRTC_STATS_CANDIDATE_PAIR" + glib:nick="candidate-pair"> + </member> + <member name="local_candidate" + value="12" + c:identifier="GST_WEBRTC_STATS_LOCAL_CANDIDATE" + glib:nick="local-candidate"> + </member> + <member name="remote_candidate" + value="13" + c:identifier="GST_WEBRTC_STATS_REMOTE_CANDIDATE" + glib:nick="remote-candidate"> + </member> + <member name="certificate" + value="14" + c:identifier="GST_WEBRTC_STATS_CERTIFICATE" + glib:nick="certificate"> + </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> diff --git a/meson.build b/meson.build index 0b92311..978aff2 100644 --- a/meson.build +++ b/meson.build @@ -79,7 +79,9 @@ gst_deps_defs = [ ['gstreamer-rtsp', ['gst-plugins-base', 'rtsp_dep'], 'gst_rtsp'], ['gstreamer-sdp', ['gst-plugins-base', 'sdp_dep'], 'gstsdp'], ['gstreamer-tag', ['gst-plugins-base', 'tag_dep'], 'gsttag'], - ['gstreamer-video', ['gst-plugins-base', 'video_dep'], 'gstvideo'],] + ['gstreamer-video', ['gst-plugins-base', 'video_dep'], 'gstvideo'], + ['gstreamer-webrtc', ['gst-plugins-bad', 'gstwebrtc_dep'], 'gstwebrtc'], +] foreach dep: gst_deps_defs gst_deps += [dependency(dep.get(0) + '-' + apiversion, version: gst_required_version, @@ -165,7 +167,7 @@ if bindinator.get_variable('found') run_target('bindinate_gstreamer', command: [bindinate, '--name=gstreamer', '--regenerate=true', - '--merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstNet-1.0,GstPbutils-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0', + '--merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstNet-1.0,GstPbutils-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0,GstWebRTC-1.0', '--gir=Gst-1.0', '--copy-girs=@0@'.format(join_paths(meson.current_source_dir(), 'girs'))], depends: [] @@ -183,4 +185,4 @@ if bindinator.get_variable('found') run_target('update-all', command: [find_program('update_sources.py'), 'bindinate']) else warning('Bindinator not usable as some required dependencies are not avalaible.') -endif
\ No newline at end of file +endif diff --git a/sources/custom/Application.cs b/sources/custom/Application.cs index 4ac9abb..6a5f022 100644 --- a/sources/custom/Application.cs +++ b/sources/custom/Application.cs @@ -32,7 +32,8 @@ namespace Gst { GLib.GType.Register (FractionRange.GType, typeof(FractionRange)); GLib.GType.Register (DateTime.GType, typeof(DateTime)); GLib.GType.Register (Gst.Array.GType, typeof(Gst.Array)); - + GLib.GType.Register(Promise.GType, typeof(Promise)); + GLib.GType.Register(Gst.WebRTC.WebRTCSessionDescription.GType, typeof(Gst.WebRTC.WebRTCSessionDescription)); } [DllImport("libgstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] diff --git a/sources/generated/Gst.WebRTC/Constants.cs b/sources/generated/Gst.WebRTC/Constants.cs new file mode 100644 index 0000000..640f682 --- /dev/null +++ b/sources/generated/Gst.WebRTC/Constants.cs @@ -0,0 +1,16 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class Constants { + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/Global.cs b/sources/generated/Gst.WebRTC/Global.cs new file mode 100644 index 0000000..460a1cc --- /dev/null +++ b/sources/generated/Gst.WebRTC/Global.cs @@ -0,0 +1,25 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class Global { + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_sdp_type_to_string(int type); + + public static string WebrtcSdpTypeToString(Gst.WebRTC.WebRTCSDPType type) { + IntPtr raw_ret = gst_webrtc_sdp_type_to_string((int) type); + string ret = GLib.Marshaller.Utf8PtrToString (raw_ret); + return ret; + } + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs b/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs new file mode 100644 index 0000000..42d9524 --- /dev/null +++ b/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void OnNewCandidateHandler(object o, OnNewCandidateArgs args); + + public class OnNewCandidateArgs : GLib.SignalArgs { + public string Object{ + get { + return (string) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs b/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs new file mode 100644 index 0000000..208f6bd --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs @@ -0,0 +1,30 @@ +// 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.WebRTCDTLSSetupGType))] + public enum WebRTCDTLSSetup { + + None = 0, + Actpass = 1, + Active = 2, + Passive = 3, + } + + internal class WebRTCDTLSSetupGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_dtls_setup_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_dtls_setup_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs b/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs new file mode 100644 index 0000000..bcbdde6 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs @@ -0,0 +1,333 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCDTLSTransport : Gst.Object { + + public WebRTCDTLSTransport (IntPtr raw) : base(raw) {} + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_dtls_transport_new(uint session_id, bool rtcp); + + public WebRTCDTLSTransport (uint session_id, bool rtcp) : base (IntPtr.Zero) + { + if (GetType () != typeof (WebRTCDTLSTransport)) { + var vals = new List<GLib.Value> (); + var names = new List<string> (); + names.Add ("session_id"); + vals.Add (new GLib.Value (session_id)); + names.Add ("rtcp"); + vals.Add (new GLib.Value (rtcp)); + CreateNativeObject (names.ToArray (), vals.ToArray ()); + return; + } + Raw = gst_webrtc_dtls_transport_new(session_id, rtcp); + } + + [GLib.Property ("certificate")] + public string Certificate { + get { + GLib.Value val = GetProperty ("certificate"); + string ret = (string) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("certificate", val); + val.Dispose (); + } + } + + [GLib.Property ("client")] + public bool Client { + get { + GLib.Value val = GetProperty ("client"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("client", val); + val.Dispose (); + } + } + + [GLib.Property ("remote-certificate")] + public string RemoteCertificate { + get { + GLib.Value val = GetProperty ("remote-certificate"); + string ret = (string) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("rtcp")] + public bool Rtcp { + get { + GLib.Value val = GetProperty ("rtcp"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("session-id")] + public uint SessionId { + get { + GLib.Value val = GetProperty ("session-id"); + uint ret = (uint) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("state")] + public Gst.WebRTC.WebRTCDTLSTransportState State { + get { + GLib.Value val = GetProperty ("state"); + Gst.WebRTC.WebRTCDTLSTransportState ret = (Gst.WebRTC.WebRTCDTLSTransportState) (Enum) val; + val.Dispose (); + return ret; + } + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_dtls_transport_set_transport(IntPtr raw, IntPtr ice); + + [GLib.Property ("transport")] + public Gst.WebRTC.WebRTCICETransport Transport { + get { + GLib.Value val = GetProperty ("transport"); + Gst.WebRTC.WebRTCICETransport ret = (Gst.WebRTC.WebRTCICETransport) val; + val.Dispose (); + return ret; + } + set { + gst_webrtc_dtls_transport_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + + public Gst.WebRTC.WebRTCICETransport TransportField { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCICETransport; + } + } + } + + public Gst.WebRTC.WebRTCDTLSTransportState StateField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("state")); + return (Gst.WebRTC.WebRTCDTLSTransportState) (*raw_ptr); + } + } + } + + public bool IsRtcp { + get { + unsafe { + bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("is_rtcp")); + return (*raw_ptr); + } + } + } + + public bool ClientField { + get { + unsafe { + bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("client")); + return (*raw_ptr); + } + } + } + + public uint SessionIdField { + get { + unsafe { + uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("session_id")); + return (*raw_ptr); + } + } + } + + public Gst.Element Dtlssrtpenc { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dtlssrtpenc")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.Element; + } + } + } + + public Gst.Element Dtlssrtpdec { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("dtlssrtpdec")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.Element; + } + } + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("_padding" + , Gst.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , null + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_dtls_transport_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_dtls_transport_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + + static WebRTCDTLSTransport () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("transport" + , Gst.Object.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport + , null + , "state" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("state" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCDTLSTransportState))) // state + , "transport" + , "is_rtcp" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_stateAlign), "state") + , 0 + ), + new GLib.AbiField("is_rtcp" + , -1 + , (uint) Marshal.SizeOf(typeof(bool)) // is_rtcp + , "state" + , "client" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_is_rtcpAlign), "is_rtcp") + , 0 + ), + new GLib.AbiField("client" + , -1 + , (uint) Marshal.SizeOf(typeof(bool)) // client + , "is_rtcp" + , "session_id" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_clientAlign), "client") + , 0 + ), + new GLib.AbiField("session_id" + , -1 + , (uint) Marshal.SizeOf(typeof(uint)) // session_id + , "client" + , "dtlssrtpenc" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDTLSTransport_session_idAlign), "session_id") + , 0 + ), + new GLib.AbiField("dtlssrtpenc" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // dtlssrtpenc + , "session_id" + , "dtlssrtpdec" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("dtlssrtpdec" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // dtlssrtpdec + , "dtlssrtpenc" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "dtlssrtpdec" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDTLSTransport_stateAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCDTLSTransportState state; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDTLSTransport_is_rtcpAlign + { + sbyte f1; + private bool is_rtcp; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDTLSTransport_clientAlign + { + sbyte f1; + private bool client; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDTLSTransport_session_idAlign + { + sbyte f1; + private uint session_id; + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs b/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs new file mode 100644 index 0000000..dae707c --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs @@ -0,0 +1,31 @@ +// 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.WebRTCDTLSTransportStateGType))] + public enum WebRTCDTLSTransportState { + + New = 0, + Closed = 1, + Failed = 2, + Connecting = 3, + Connected = 4, + } + + internal class WebRTCDTLSTransportStateGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_dtls_transport_state_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_dtls_transport_state_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs b/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs new file mode 100644 index 0000000..925bda9 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs @@ -0,0 +1,28 @@ +// 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.WebRTCICEComponentGType))] + public enum WebRTCICEComponent { + + Rtp = 0, + Rtcp = 1, + } + + internal class WebRTCICEComponentGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_ice_component_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_ice_component_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs b/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs new file mode 100644 index 0000000..f894208 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs @@ -0,0 +1,33 @@ +// 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.WebRTCICEConnectionStateGType))] + public enum WebRTCICEConnectionState { + + New = 0, + Checking = 1, + Connected = 2, + Completed = 3, + Failed = 4, + Disconnected = 5, + Closed = 6, + } + + internal class WebRTCICEConnectionStateGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_ice_connection_state_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_ice_connection_state_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs b/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs new file mode 100644 index 0000000..73f3975 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs @@ -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.WebRTCICEGatheringStateGType))] + public enum WebRTCICEGatheringState { + + New = 0, + Gathering = 1, + Complete = 2, + } + + internal class WebRTCICEGatheringStateGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_ice_gathering_state_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_ice_gathering_state_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCICERole.cs b/sources/generated/Gst.WebRTC/WebRTCICERole.cs new file mode 100644 index 0000000..921d637 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCICERole.cs @@ -0,0 +1,28 @@ +// 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.WebRTCICERoleGType))] + public enum WebRTCICERole { + + Controlled = 0, + Controlling = 1, + } + + internal class WebRTCICERoleGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_ice_role_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_ice_role_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCICETransport.cs b/sources/generated/Gst.WebRTC/WebRTCICETransport.cs new file mode 100644 index 0000000..886fd40 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCICETransport.cs @@ -0,0 +1,463 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCICETransport : Gst.Object { + + protected WebRTCICETransport (IntPtr raw) : base(raw) {} + + protected WebRTCICETransport() : base(IntPtr.Zero) + { + CreateNativeObject (new string [0], new GLib.Value [0]); + } + + [GLib.Property ("component")] + public Gst.WebRTC.WebRTCICEComponent Component { + get { + GLib.Value val = GetProperty ("component"); + Gst.WebRTC.WebRTCICEComponent ret = (Gst.WebRTC.WebRTCICEComponent) (Enum) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("gathering-state")] + public Gst.WebRTC.WebRTCICEGatheringState GatheringState { + get { + GLib.Value val = GetProperty ("gathering-state"); + Gst.WebRTC.WebRTCICEGatheringState ret = (Gst.WebRTC.WebRTCICEGatheringState) (Enum) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("state")] + public Gst.WebRTC.WebRTCICEConnectionState State { + get { + GLib.Value val = GetProperty ("state"); + Gst.WebRTC.WebRTCICEConnectionState ret = (Gst.WebRTC.WebRTCICEConnectionState) (Enum) val; + val.Dispose (); + return ret; + } + } + + public Gst.WebRTC.WebRTCICERole Role { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("role")); + return (Gst.WebRTC.WebRTCICERole) (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCICEComponent ComponentField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("component")); + return (Gst.WebRTC.WebRTCICEComponent) (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCICEConnectionState StateField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("state")); + return (Gst.WebRTC.WebRTCICEConnectionState) (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCICEGatheringState GatheringStateField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("gathering_state")); + return (Gst.WebRTC.WebRTCICEGatheringState) (*raw_ptr); + } + } + } + + public Gst.Element Src { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("src")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.Element; + } + } + } + + public Gst.Element Sink { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sink")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.Element; + } + } + } + + [GLib.Signal("on-selected-candidate-pair-change")] + public event System.EventHandler OnSelectedCandidatePairChange { + add { + this.AddSignalHandler ("on-selected-candidate-pair-change", value); + } + remove { + this.RemoveSignalHandler ("on-selected-candidate-pair-change", value); + } + } + + [GLib.Signal("on-new-candidate")] + public event Gst.WebRTC.OnNewCandidateHandler OnNewCandidate { + add { + this.AddSignalHandler ("on-new-candidate", value, typeof (Gst.WebRTC.OnNewCandidateArgs)); + } + remove { + this.RemoveSignalHandler ("on-new-candidate", value); + } + } + + static OnNewCandidateNativeDelegate OnNewCandidate_cb_delegate; + static OnNewCandidateNativeDelegate OnNewCandidateVMCallback { + get { + if (OnNewCandidate_cb_delegate == null) + OnNewCandidate_cb_delegate = new OnNewCandidateNativeDelegate (OnNewCandidate_cb); + return OnNewCandidate_cb_delegate; + } + } + + static void OverrideOnNewCandidate (GLib.GType gtype) + { + OverrideOnNewCandidate (gtype, OnNewCandidateVMCallback); + } + + static void OverrideOnNewCandidate (GLib.GType gtype, OnNewCandidateNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-new-candidate", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnNewCandidateNativeDelegate (IntPtr inst, IntPtr _object); + + static void OnNewCandidate_cb (IntPtr inst, IntPtr _object) + { + try { + WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport; + __obj.OnOnNewCandidate (GLib.Marshaller.Utf8PtrToString (_object)); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideOnNewCandidate")] + protected virtual void OnOnNewCandidate (string _object) + { + InternalOnNewCandidate (_object); + } + + private void InternalOnNewCandidate (string _object) + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (2); + GLib.Value[] vals = new GLib.Value [2]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + vals [1] = new GLib.Value (_object); + inst_and_params.Append (vals [1]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static OnSelectedCandidatePairChangeNativeDelegate OnSelectedCandidatePairChange_cb_delegate; + static OnSelectedCandidatePairChangeNativeDelegate OnSelectedCandidatePairChangeVMCallback { + get { + if (OnSelectedCandidatePairChange_cb_delegate == null) + OnSelectedCandidatePairChange_cb_delegate = new OnSelectedCandidatePairChangeNativeDelegate (OnSelectedCandidatePairChange_cb); + return OnSelectedCandidatePairChange_cb_delegate; + } + } + + static void OverrideOnSelectedCandidatePairChange (GLib.GType gtype) + { + OverrideOnSelectedCandidatePairChange (gtype, OnSelectedCandidatePairChangeVMCallback); + } + + static void OverrideOnSelectedCandidatePairChange (GLib.GType gtype, OnSelectedCandidatePairChangeNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-selected-candidate-pair-change", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnSelectedCandidatePairChangeNativeDelegate (IntPtr inst); + + static void OnSelectedCandidatePairChange_cb (IntPtr inst) + { + try { + WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport; + __obj.OnOnSelectedCandidatePairChange (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideOnSelectedCandidatePairChange")] + protected virtual void OnOnSelectedCandidatePairChange () + { + InternalOnSelectedCandidatePairChange (); + } + + private void InternalOnSelectedCandidatePairChange () + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (1); + GLib.Value[] vals = new GLib.Value [1]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static GatherCandidatesNativeDelegate GatherCandidates_cb_delegate; + static GatherCandidatesNativeDelegate GatherCandidatesVMCallback { + get { + if (GatherCandidates_cb_delegate == null) + GatherCandidates_cb_delegate = new GatherCandidatesNativeDelegate (GatherCandidates_cb); + return GatherCandidates_cb_delegate; + } + } + + static void OverrideGatherCandidates (GLib.GType gtype) + { + OverrideGatherCandidates (gtype, GatherCandidatesVMCallback); + } + + static void OverrideGatherCandidates (GLib.GType gtype, GatherCandidatesNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("gather_candidates")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate bool GatherCandidatesNativeDelegate (IntPtr inst); + + static bool GatherCandidates_cb (IntPtr inst) + { + try { + WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport; + bool __result; + __result = __obj.OnGatherCandidates (); + return __result; + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, true); + // NOTREACHED: above call does not return. + throw e; + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideGatherCandidates")] + protected virtual bool OnGatherCandidates () + { + return InternalGatherCandidates (); + } + + private bool InternalGatherCandidates () + { + GatherCandidatesNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("gather_candidates")); + unmanaged = (GatherCandidatesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GatherCandidatesNativeDelegate)); + } + if (unmanaged == null) return false; + + bool __result = unmanaged (this.Handle); + return __result; + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("gather_candidates" + , Gst.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // gather_candidates + , null + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "gather_candidates" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_ice_transport_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_ice_transport_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_ice_transport_connection_state_change(IntPtr raw, int new_state); + + public void ConnectionStateChange(Gst.WebRTC.WebRTCICEConnectionState new_state) { + gst_webrtc_ice_transport_connection_state_change(Handle, (int) new_state); + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_ice_transport_gathering_state_change(IntPtr raw, int new_state); + + public void GatheringStateChange(Gst.WebRTC.WebRTCICEGatheringState new_state) { + gst_webrtc_ice_transport_gathering_state_change(Handle, (int) new_state); + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_ice_transport_new_candidate(IntPtr raw, uint stream_id, int component, IntPtr attr); + + public void NewCandidate(uint stream_id, Gst.WebRTC.WebRTCICEComponent component, string attr) { + IntPtr native_attr = GLib.Marshaller.StringToPtrGStrdup (attr); + gst_webrtc_ice_transport_new_candidate(Handle, stream_id, (int) component, native_attr); + GLib.Marshaller.Free (native_attr); + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_ice_transport_selected_pair_change(IntPtr raw); + + public void SelectedPairChange() { + gst_webrtc_ice_transport_selected_pair_change(Handle); + } + + + static WebRTCICETransport () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("role" + , Gst.Object.abi_info.Fields + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICERole))) // role + , null + , "component" + , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_roleAlign), "role") + , 0 + ), + new GLib.AbiField("component" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEComponent))) // component + , "role" + , "state" + , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_componentAlign), "component") + , 0 + ), + new GLib.AbiField("state" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEConnectionState))) // state + , "component" + , "gathering_state" + , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_stateAlign), "state") + , 0 + ), + new GLib.AbiField("gathering_state" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCICEGatheringState))) // gathering_state + , "state" + , "src" + , (long) Marshal.OffsetOf(typeof(GstWebRTCICETransport_gathering_stateAlign), "gathering_state") + , 0 + ), + new GLib.AbiField("src" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // src + , "gathering_state" + , "sink" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("sink" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink + , "src" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "sink" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCICETransport_roleAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCICERole role; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCICETransport_componentAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCICEComponent component; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCICETransport_stateAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCICEConnectionState state; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCICETransport_gathering_stateAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCICEGatheringState gathering_state; + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs b/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs new file mode 100644 index 0000000..3b3524f --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs @@ -0,0 +1,32 @@ +// 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.WebRTCPeerConnectionStateGType))] + public enum WebRTCPeerConnectionState { + + New = 0, + Connecting = 1, + Connected = 2, + Disconnected = 3, + Failed = 4, + Closed = 5, + } + + internal class WebRTCPeerConnectionStateGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_peer_connection_state_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_peer_connection_state_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs b/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs new file mode 100644 index 0000000..4ed2981 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs @@ -0,0 +1,140 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCRTPReceiver : Gst.Object { + + public WebRTCRTPReceiver (IntPtr raw) : base(raw) {} + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_receiver_new(); + + public WebRTCRTPReceiver () : base (IntPtr.Zero) + { + if (GetType () != typeof (WebRTCRTPReceiver)) { + CreateNativeObject (new string [0], new GLib.Value[0]); + return; + } + Raw = gst_webrtc_rtp_receiver_new(); + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_rtp_receiver_set_transport(IntPtr raw, IntPtr transport); + + public Gst.WebRTC.WebRTCDTLSTransport Transport { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport; + } + } + set { + gst_webrtc_rtp_receiver_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_rtp_receiver_set_rtcp_transport(IntPtr raw, IntPtr transport); + + public Gst.WebRTC.WebRTCDTLSTransport RtcpTransport { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("rtcp_transport")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport; + } + } + set { + gst_webrtc_rtp_receiver_set_rtcp_transport(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("_padding" + , Gst.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , null + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_receiver_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_rtp_receiver_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + + static WebRTCRTPReceiver () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("transport" + , Gst.Object.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport + , null + , "rtcp_transport" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("rtcp_transport" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // rtcp_transport + , "transport" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "rtcp_transport" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs b/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs new file mode 100644 index 0000000..d6b4924 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs @@ -0,0 +1,148 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCRTPSender : Gst.Object { + + public WebRTCRTPSender (IntPtr raw) : base(raw) {} + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_sender_new(); + + public WebRTCRTPSender () : base (IntPtr.Zero) + { + if (GetType () != typeof (WebRTCRTPSender)) { + CreateNativeObject (new string [0], new GLib.Value[0]); + return; + } + Raw = gst_webrtc_rtp_sender_new(); + } + + [DllImport("libgstwebrtc-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 { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("transport")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport; + } + } + set { + gst_webrtc_rtp_sender_set_transport(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_rtp_sender_set_rtcp_transport(IntPtr raw, IntPtr transport); + + public Gst.WebRTC.WebRTCDTLSTransport RtcpTransport { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("rtcp_transport")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCDTLSTransport; + } + } + set { + gst_webrtc_rtp_sender_set_rtcp_transport(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("_padding" + , Gst.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , null + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_sender_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_rtp_sender_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + + static WebRTCRTPSender () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("transport" + , Gst.Object.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // transport + , null + , "rtcp_transport" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("rtcp_transport" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // rtcp_transport + , "transport" + , "send_encodings" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("send_encodings" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_encodings + , "rtcp_transport" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "send_encodings" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs new file mode 100644 index 0000000..af4436c --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs @@ -0,0 +1,281 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCRTPTransceiver : Gst.Object { + + protected WebRTCRTPTransceiver (IntPtr raw) : base(raw) {} + + protected WebRTCRTPTransceiver() : base(IntPtr.Zero) + { + CreateNativeObject (new string [0], new GLib.Value [0]); + } + + [GLib.Property ("mlineindex")] + public uint Mlineindex { + get { + GLib.Value val = GetProperty ("mlineindex"); + uint ret = (uint) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("receiver")] + public Gst.WebRTC.WebRTCRTPReceiver Receiver { + get { + GLib.Value val = GetProperty ("receiver"); + Gst.WebRTC.WebRTCRTPReceiver ret = (Gst.WebRTC.WebRTCRTPReceiver) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("sender")] + public Gst.WebRTC.WebRTCRTPSender Sender { + get { + GLib.Value val = GetProperty ("sender"); + Gst.WebRTC.WebRTCRTPSender ret = (Gst.WebRTC.WebRTCRTPSender) val; + val.Dispose (); + return ret; + } + } + + public uint Mline { + get { + unsafe { + uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("mline")); + return (*raw_ptr); + } + } + } + + public string Mid { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("mid")); + return GLib.Marshaller.Utf8PtrToString ((*raw_ptr)); + } + } + } + + public bool Stopped { + get { + unsafe { + bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("stopped")); + return (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCRTPSender SenderField { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("sender")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCRTPSender; + } + } + } + + public Gst.WebRTC.WebRTCRTPReceiver ReceiverField { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("receiver")); + return GLib.Object.GetObject((*raw_ptr)) as Gst.WebRTC.WebRTCRTPReceiver; + } + } + } + + public Gst.WebRTC.WebRTCRTPTransceiverDirection Direction { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction")); + return (Gst.WebRTC.WebRTCRTPTransceiverDirection) (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCRTPTransceiverDirection CurrentDirection { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("current_direction")); + return (Gst.WebRTC.WebRTCRTPTransceiverDirection) (*raw_ptr); + } + } + } + + public Gst.Caps CodecPreferences { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("codec_preferences")); + return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Caps), false); + } + } + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("_padding" + , Gst.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , null + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_transceiver_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_rtp_transceiver_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + + static WebRTCRTPTransceiver () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List<GLib.AbiField>{ + new GLib.AbiField("mline" + , Gst.Object.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(uint)) // mline + , null + , "mid" + , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_mlineAlign), "mline") + , 0 + ), + new GLib.AbiField("mid" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // mid + , "mline" + , "stopped" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("stopped" + , -1 + , (uint) Marshal.SizeOf(typeof(bool)) // stopped + , "mid" + , "sender" + , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_stoppedAlign), "stopped") + , 0 + ), + new GLib.AbiField("sender" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // sender + , "stopped" + , "receiver" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("receiver" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // receiver + , "sender" + , "direction" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("direction" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCRTPTransceiverDirection))) // direction + , "receiver" + , "current_direction" + , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_directionAlign), "direction") + , 0 + ), + new GLib.AbiField("current_direction" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCRTPTransceiverDirection))) // current_direction + , "direction" + , "codec_preferences" + , (long) Marshal.OffsetOf(typeof(GstWebRTCRTPTransceiver_current_directionAlign), "current_direction") + , 0 + ), + new GLib.AbiField("codec_preferences" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // codec_preferences + , "current_direction" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "codec_preferences" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCRTPTransceiver_mlineAlign + { + sbyte f1; + private uint mline; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCRTPTransceiver_stoppedAlign + { + sbyte f1; + private bool stopped; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCRTPTransceiver_directionAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCRTPTransceiverDirection direction; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCRTPTransceiver_current_directionAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCRTPTransceiverDirection current_direction; + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs new file mode 100644 index 0000000..9c1e68f --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs @@ -0,0 +1,31 @@ +// 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.WebRTCRTPTransceiverDirectionGType))] + public enum WebRTCRTPTransceiverDirection { + + None = 0, + Inactive = 1, + Sendonly = 2, + Recvonly = 3, + Sendrecv = 4, + } + + internal class WebRTCRTPTransceiverDirectionGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_rtp_transceiver_direction_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_rtp_transceiver_direction_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCSDPType.cs b/sources/generated/Gst.WebRTC/WebRTCSDPType.cs new file mode 100644 index 0000000..b39f567 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCSDPType.cs @@ -0,0 +1,30 @@ +// 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.WebRTCSDPTypeGType))] + public enum WebRTCSDPType { + + Offer = 1, + Pranswer = 2, + Answer = 3, + Rollback = 4, + } + + internal class WebRTCSDPTypeGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_sdp_type_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_sdp_type_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs b/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs new file mode 100644 index 0000000..c34ed23 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs @@ -0,0 +1,83 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct WebRTCSessionDescription : IEquatable<WebRTCSessionDescription> { + + public Gst.WebRTC.WebRTCSDPType Type; + private IntPtr _sdp; + public Gst.Sdp.SDPMessage Sdp { + get { + return _sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (_sdp, typeof (Gst.Sdp.SDPMessage), false); + } + set { + _sdp = value == null ? IntPtr.Zero : value.Handle; + } + } + + public static Gst.WebRTC.WebRTCSessionDescription Zero = new Gst.WebRTC.WebRTCSessionDescription (); + + public static Gst.WebRTC.WebRTCSessionDescription New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.WebRTC.WebRTCSessionDescription.Zero; + return (Gst.WebRTC.WebRTCSessionDescription) Marshal.PtrToStructure (raw, typeof (Gst.WebRTC.WebRTCSessionDescription)); + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_session_description_new(int type, IntPtr sdp); + + public static WebRTCSessionDescription New(Gst.WebRTC.WebRTCSDPType type, Gst.Sdp.SDPMessage sdp) + { + WebRTCSessionDescription result = WebRTCSessionDescription.New (gst_webrtc_session_description_new((int) type, sdp == null ? IntPtr.Zero : sdp.Handle)); + return result; + } + + [DllImport("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_session_description_get_type(); + + public static GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_session_description_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + public bool Equals (WebRTCSessionDescription other) + { + return true && Type.Equals (other.Type) && Sdp.Equals (other.Sdp); + } + + public override bool Equals (object other) + { + return other is WebRTCSessionDescription && Equals ((WebRTCSessionDescription) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Sdp.GetHashCode (); + } + + public static explicit operator GLib.Value (Gst.WebRTC.WebRTCSessionDescription boxed) + { + GLib.Value val = GLib.Value.Empty; + val.Init (Gst.WebRTC.WebRTCSessionDescription.GType); + val.Val = boxed; + return val; + } + + public static explicit operator Gst.WebRTC.WebRTCSessionDescription (GLib.Value val) + { + return (Gst.WebRTC.WebRTCSessionDescription) val.Val; + } +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs b/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs new file mode 100644 index 0000000..ccad44b --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs @@ -0,0 +1,32 @@ +// 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.WebRTCSignalingStateGType))] + public enum WebRTCSignalingState { + + Stable = 0, + Closed = 1, + HaveLocalOffer = 2, + HaveRemoteOffer = 3, + HaveLocalPranswer = 4, + HaveRemotePranswer = 5, + } + + internal class WebRTCSignalingStateGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_signaling_state_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_signaling_state_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.WebRTC/WebRTCStatsType.cs b/sources/generated/Gst.WebRTC/WebRTCStatsType.cs new file mode 100644 index 0000000..b8916f4 --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCStatsType.cs @@ -0,0 +1,40 @@ +// 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.WebRTCStatsTypeGType))] + public enum WebRTCStatsType { + + Codec = 1, + InboundRtp = 2, + OutboundRtp = 3, + RemoteInboundRtp = 4, + RemoteOutboundRtp = 5, + Csrc = 6, + PeerConnection = 7, + DataChannel = 8, + Stream = 9, + Transport = 10, + CandidatePair = 11, + LocalCandidate = 12, + RemoteCandidate = 13, + Certificate = 14, + } + + internal class WebRTCStatsTypeGType { + [DllImport ("libgstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_stats_type_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_webrtc_stats_type_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/GtkSharp/ObjectManager.cs b/sources/generated/GtkSharp/ObjectManager.cs index ba47db2..6b410a6 100644 --- a/sources/generated/GtkSharp/ObjectManager.cs +++ b/sources/generated/GtkSharp/ObjectManager.cs @@ -69,6 +69,11 @@ namespace GtkSharp.GstreamerSharp { GLib.GType.Register (Gst.Video.VideoEncoder.GType, typeof (Gst.Video.VideoEncoder)); GLib.GType.Register (Gst.Video.VideoFilter.GType, typeof (Gst.Video.VideoFilter)); GLib.GType.Register (Gst.Video.VideoSink.GType, typeof (Gst.Video.VideoSink)); + GLib.GType.Register (Gst.WebRTC.WebRTCDTLSTransport.GType, typeof (Gst.WebRTC.WebRTCDTLSTransport)); + GLib.GType.Register (Gst.WebRTC.WebRTCICETransport.GType, typeof (Gst.WebRTC.WebRTCICETransport)); + GLib.GType.Register (Gst.WebRTC.WebRTCRTPReceiver.GType, typeof (Gst.WebRTC.WebRTCRTPReceiver)); + GLib.GType.Register (Gst.WebRTC.WebRTCRTPSender.GType, typeof (Gst.WebRTC.WebRTCRTPSender)); + GLib.GType.Register (Gst.WebRTC.WebRTCRTPTransceiver.GType, typeof (Gst.WebRTC.WebRTCRTPTransceiver)); } } } diff --git a/sources/generated/gstreamer-sharp-abi.c b/sources/generated/gstreamer-sharp-abi.c index 1e42011..5b7f572 100644 --- a/sources/generated/gstreamer-sharp-abi.c +++ b/sources/generated/gstreamer-sharp-abi.c @@ -21,6 +21,7 @@ #include <gst/video/video.h> #include <gst/video/gstvideoaffinetransformationmeta.h> #include <gst/net/gstnetcontrolmessagemeta.h> +#include <gst/webrtc/webrtc.h> int main (int argc, char *argv[]) { g_print("\"sizeof(GstAllocatorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAllocatorClass)); @@ -944,5 +945,52 @@ int main (int argc, char *argv[]) { g_print("\"GstVideoInfo.fps_d\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, fps_d)); g_print("\"GstVideoInfo.offset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, offset)); g_print("\"GstVideoInfo.stride\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoInfo, stride)); + g_print("\"sizeof(GstWebRTCDTLSTransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDTLSTransportClass)); + g_print("\"GstWebRTCDTLSTransportClass._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransportClass, _padding)); + g_print("\"sizeof(GstWebRTCDTLSTransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDTLSTransport)); + g_print("\"GstWebRTCDTLSTransport.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, transport)); + g_print("\"GstWebRTCDTLSTransport.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, state)); + g_print("\"GstWebRTCDTLSTransport.is_rtcp\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, is_rtcp)); + g_print("\"GstWebRTCDTLSTransport.client\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, client)); + g_print("\"GstWebRTCDTLSTransport.session_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, session_id)); + g_print("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpenc)); + g_print("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpdec)); + g_print("\"GstWebRTCDTLSTransport._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, _padding)); + g_print("\"sizeof(GstWebRTCICETransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransportClass)); + g_print("\"GstWebRTCICETransportClass.gather_candidates\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransportClass, gather_candidates)); + g_print("\"GstWebRTCICETransportClass._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransportClass, _padding)); + g_print("\"sizeof(GstWebRTCICETransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransport)); + g_print("\"GstWebRTCICETransport.role\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, role)); + g_print("\"GstWebRTCICETransport.component\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, component)); + g_print("\"GstWebRTCICETransport.state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, state)); + g_print("\"GstWebRTCICETransport.gathering_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, gathering_state)); + g_print("\"GstWebRTCICETransport.src\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, src)); + g_print("\"GstWebRTCICETransport.sink\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, sink)); + g_print("\"GstWebRTCICETransport._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransport, _padding)); + g_print("\"sizeof(GstWebRTCRTPReceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiverClass)); + g_print("\"GstWebRTCRTPReceiverClass._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiverClass, _padding)); + g_print("\"sizeof(GstWebRTCRTPReceiver)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPReceiver)); + g_print("\"GstWebRTCRTPReceiver.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, transport)); + g_print("\"GstWebRTCRTPReceiver.rtcp_transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, rtcp_transport)); + g_print("\"GstWebRTCRTPReceiver._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPReceiver, _padding)); + g_print("\"sizeof(GstWebRTCRTPSenderClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSenderClass)); + g_print("\"GstWebRTCRTPSenderClass._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSenderClass, _padding)); + g_print("\"sizeof(GstWebRTCRTPSender)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPSender)); + g_print("\"GstWebRTCRTPSender.transport\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, transport)); + g_print("\"GstWebRTCRTPSender.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._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPSender, _padding)); + g_print("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPTransceiverClass)); + g_print("\"GstWebRTCRTPTransceiverClass._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiverClass, _padding)); + g_print("\"sizeof(GstWebRTCRTPTransceiver)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCRTPTransceiver)); + g_print("\"GstWebRTCRTPTransceiver.mline\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, mline)); + g_print("\"GstWebRTCRTPTransceiver.mid\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, mid)); + g_print("\"GstWebRTCRTPTransceiver.stopped\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, stopped)); + g_print("\"GstWebRTCRTPTransceiver.sender\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, sender)); + g_print("\"GstWebRTCRTPTransceiver.receiver\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, receiver)); + g_print("\"GstWebRTCRTPTransceiver.direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, direction)); + g_print("\"GstWebRTCRTPTransceiver.current_direction\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, current_direction)); + g_print("\"GstWebRTCRTPTransceiver.codec_preferences\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, codec_preferences)); + g_print("\"GstWebRTCRTPTransceiver._padding\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCRTPTransceiver, _padding)); return 0; } diff --git a/sources/generated/gstreamer-sharp-abi.cs b/sources/generated/gstreamer-sharp-abi.cs index 27332da..df93275 100644 --- a/sources/generated/gstreamer-sharp-abi.cs +++ b/sources/generated/gstreamer-sharp-abi.cs @@ -939,6 +939,53 @@ namespace AbiTester { Console.WriteLine("\"GstVideoInfo.fps_d\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("fps_d") + "\""); Console.WriteLine("\"GstVideoInfo.offset\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("offset") + "\""); Console.WriteLine("\"GstVideoInfo.stride\": \"" + Gst.Video.VideoInfo.abi_info.GetFieldOffset("stride") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCDTLSTransportClass)\": \"" + Gst.WebRTC.WebRTCDTLSTransport.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransportClass._padding\": \"" + Gst.WebRTC.WebRTCDTLSTransport.class_abi.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCDTLSTransport)\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.Size + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.transport\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("transport") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.state\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("state") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.is_rtcp\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("is_rtcp") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.client\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("client") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.session_id\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("session_id") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpenc") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpdec") + "\""); + Console.WriteLine("\"GstWebRTCDTLSTransport._padding\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCICETransportClass)\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCICETransportClass.gather_candidates\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.GetFieldOffset("gather_candidates") + "\""); + Console.WriteLine("\"GstWebRTCICETransportClass._padding\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCICETransport)\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.Size + "\""); + Console.WriteLine("\"GstWebRTCICETransport.role\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("role") + "\""); + Console.WriteLine("\"GstWebRTCICETransport.component\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("component") + "\""); + Console.WriteLine("\"GstWebRTCICETransport.state\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("state") + "\""); + Console.WriteLine("\"GstWebRTCICETransport.gathering_state\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("gathering_state") + "\""); + Console.WriteLine("\"GstWebRTCICETransport.src\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("src") + "\""); + Console.WriteLine("\"GstWebRTCICETransport.sink\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("sink") + "\""); + Console.WriteLine("\"GstWebRTCICETransport._padding\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPReceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCRTPReceiverClass._padding\": \"" + Gst.WebRTC.WebRTCRTPReceiver.class_abi.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPReceiver)\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.Size + "\""); + Console.WriteLine("\"GstWebRTCRTPReceiver.transport\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("transport") + "\""); + Console.WriteLine("\"GstWebRTCRTPReceiver.rtcp_transport\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("rtcp_transport") + "\""); + Console.WriteLine("\"GstWebRTCRTPReceiver._padding\": \"" + Gst.WebRTC.WebRTCRTPReceiver.abi_info.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPSenderClass)\": \"" + Gst.WebRTC.WebRTCRTPSender.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCRTPSenderClass._padding\": \"" + Gst.WebRTC.WebRTCRTPSender.class_abi.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPSender)\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.Size + "\""); + 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._padding\": \"" + Gst.WebRTC.WebRTCRTPSender.abi_info.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPTransceiverClass)\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiverClass._padding\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.class_abi.GetFieldOffset("_padding") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCRTPTransceiver)\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.Size + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.mline\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("mline") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.mid\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("mid") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.stopped\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("stopped") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.sender\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("sender") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.receiver\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("receiver") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.direction\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("direction") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.current_direction\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("current_direction") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver.codec_preferences\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("codec_preferences") + "\""); + Console.WriteLine("\"GstWebRTCRTPTransceiver._padding\": \"" + Gst.WebRTC.WebRTCRTPTransceiver.abi_info.GetFieldOffset("_padding") + "\""); } } } diff --git a/sources/generated/gstreamer-sharp-api.xml b/sources/generated/gstreamer-sharp-api.xml index d7bf61f..53e047e 100644 --- a/sources/generated/gstreamer-sharp-api.xml +++ b/sources/generated/gstreamer-sharp-api.xml @@ -28814,4 +28814,305 @@ <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_Y_TILES_SHIFT" /> </object> </namespace> + <namespace name="Gst.WebRTC" library="libgstwebrtc-1.0-0.dll"> + <enum name="WebRTCDTLSSetup" cname="GstWebRTCDTLSSetup" type="enum" gtype="gst_webrtc_dtls_setup_get_type"> + <member cname="GST_WEBRTC_DTLS_SETUP_NONE" name="None" value="0" /> + <member cname="GST_WEBRTC_DTLS_SETUP_ACTPASS" name="Actpass" value="1" /> + <member cname="GST_WEBRTC_DTLS_SETUP_ACTIVE" name="Active" value="2" /> + <member cname="GST_WEBRTC_DTLS_SETUP_PASSIVE" name="Passive" value="3" /> + </enum> + <enum name="WebRTCDTLSTransportState" cname="GstWebRTCDTLSTransportState" type="enum" gtype="gst_webrtc_dtls_transport_state_get_type"> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" name="New" value="0" /> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" name="Closed" value="1" /> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" name="Failed" value="2" /> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" name="Connecting" value="3" /> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" name="Connected" value="4" /> + </enum> + <enum name="WebRTCICEComponent" cname="GstWebRTCICEComponent" type="enum" gtype="gst_webrtc_ice_component_get_type"> + <member cname="GST_WEBRTC_ICE_COMPONENT_RTP" name="Rtp" value="0" /> + <member cname="GST_WEBRTC_ICE_COMPONENT_RTCP" name="Rtcp" value="1" /> + </enum> + <enum name="WebRTCICEConnectionState" cname="GstWebRTCICEConnectionState" type="enum" gtype="gst_webrtc_ice_connection_state_get_type"> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" name="New" value="0" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" name="Checking" value="1" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" name="Connected" value="2" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" name="Completed" value="3" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" name="Failed" value="4" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="5" /> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" name="Closed" value="6" /> + </enum> + <enum name="WebRTCICEGatheringState" cname="GstWebRTCICEGatheringState" type="enum" gtype="gst_webrtc_ice_gathering_state_get_type"> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_NEW" name="New" value="0" /> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" name="Gathering" value="1" /> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" name="Complete" value="2" /> + </enum> + <enum name="WebRTCICERole" cname="GstWebRTCICERole" type="enum" gtype="gst_webrtc_ice_role_get_type"> + <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLED" name="Controlled" value="0" /> + <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLING" name="Controlling" value="1" /> + </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" /> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" name="Connected" value="2" /> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="3" /> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" name="Failed" value="4" /> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" name="Closed" value="5" /> + </enum> + <enum name="WebRTCRTPTransceiverDirection" cname="GstWebRTCRTPTransceiverDirection" type="enum" gtype="gst_webrtc_rtp_transceiver_direction_get_type"> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" name="None" value="0" /> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" name="Inactive" value="1" /> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" name="Sendonly" value="2" /> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" name="Recvonly" value="3" /> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" name="Sendrecv" value="4" /> + </enum> + <enum name="WebRTCSDPType" cname="GstWebRTCSDPType" type="enum" gtype="gst_webrtc_sdp_type_get_type"> + <member cname="GST_WEBRTC_SDP_TYPE_OFFER" name="Offer" value="1" /> + <member cname="GST_WEBRTC_SDP_TYPE_PRANSWER" name="Pranswer" value="2" /> + <member cname="GST_WEBRTC_SDP_TYPE_ANSWER" name="Answer" value="3" /> + <member cname="GST_WEBRTC_SDP_TYPE_ROLLBACK" name="Rollback" value="4" /> + </enum> + <enum name="WebRTCSignalingState" cname="GstWebRTCSignalingState" type="enum" gtype="gst_webrtc_signaling_state_get_type"> + <member cname="GST_WEBRTC_SIGNALING_STATE_STABLE" name="Stable" value="0" /> + <member cname="GST_WEBRTC_SIGNALING_STATE_CLOSED" name="Closed" value="1" /> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" name="HaveLocalOffer" value="2" /> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" name="HaveRemoteOffer" value="3" /> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" name="HaveLocalPranswer" value="4" /> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" name="HaveRemotePranswer" value="5" /> + </enum> + <enum name="WebRTCStatsType" cname="GstWebRTCStatsType" type="enum" gtype="gst_webrtc_stats_type_get_type"> + <member cname="GST_WEBRTC_STATS_CODEC" name="Codec" value="1" /> + <member cname="GST_WEBRTC_STATS_INBOUND_RTP" name="InboundRtp" value="2" /> + <member cname="GST_WEBRTC_STATS_OUTBOUND_RTP" name="OutboundRtp" value="3" /> + <member cname="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" name="RemoteInboundRtp" value="4" /> + <member cname="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" name="RemoteOutboundRtp" value="5" /> + <member cname="GST_WEBRTC_STATS_CSRC" name="Csrc" value="6" /> + <member cname="GST_WEBRTC_STATS_PEER_CONNECTION" name="PeerConnection" value="7" /> + <member cname="GST_WEBRTC_STATS_DATA_CHANNEL" name="DataChannel" value="8" /> + <member cname="GST_WEBRTC_STATS_STREAM" name="Stream" value="9" /> + <member cname="GST_WEBRTC_STATS_TRANSPORT" name="Transport" value="10" /> + <member cname="GST_WEBRTC_STATS_CANDIDATE_PAIR" name="CandidatePair" value="11" /> + <member cname="GST_WEBRTC_STATS_LOCAL_CANDIDATE" name="LocalCandidate" value="12" /> + <member cname="GST_WEBRTC_STATS_REMOTE_CANDIDATE" name="RemoteCandidate" value="13" /> + <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14" /> + </enum> + <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCDTLSTransportClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBinClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </class_struct> + <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true"> + <return-type type="GType" /> + </method> + <constructor cname="gst_webrtc_dtls_transport_new"> + <parameters> + <parameter name="session_id" type="guint" /> + <parameter name="rtcp" type="gboolean" /> + </parameters> + </constructor> + <method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport"> + <return-type type="void" /> + <parameters> + <parameter name="ice" type="GstWebRTCICETransport*" /> + </parameters> + </method> + <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" /> + <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" /> + <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" /> + <property name="Rtcp" cname="rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true" /> + <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true" /> + <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false" /> + <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false" /> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" /> + <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*" /> + <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState" /> + <field cname="is_rtcp" access="public" writeable="false" readable="true" is_callback="false" name="IsRtcp" type="gboolean" /> + <field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean" /> + <field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint" /> + <field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*" /> + <field cname="dtlssrtpdec" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpdec" type="GstElement*" /> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </object> + <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCICETransportClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBinClass"> + <warning>missing glib:type-name</warning> + </field> + <method vm="gather_candidates" /> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </class_struct> + <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true"> + <return-type type="GType" /> + </method> + <virtual_method name="GatherCandidates" cname="gather_candidates"> + <return-type type="gboolean" /> + <parameters /> + </virtual_method> + <method name="ConnectionStateChange" cname="gst_webrtc_ice_transport_connection_state_change"> + <return-type type="void" /> + <parameters> + <parameter name="new_state" type="GstWebRTCICEConnectionState" /> + </parameters> + </method> + <method name="GatheringStateChange" cname="gst_webrtc_ice_transport_gathering_state_change"> + <return-type type="void" /> + <parameters> + <parameter name="new_state" type="GstWebRTCICEGatheringState" /> + </parameters> + </method> + <method name="NewCandidate" cname="gst_webrtc_ice_transport_new_candidate"> + <return-type type="void" /> + <parameters> + <parameter name="stream_id" type="guint" /> + <parameter name="component" type="GstWebRTCICEComponent" /> + <parameter name="attr" type="const-gchar*" /> + </parameters> + </method> + <method name="SelectedPairChange" cname="gst_webrtc_ice_transport_selected_pair_change"> + <return-type type="void" /> + <parameters /> + </method> + <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true" /> + <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false" /> + <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false" /> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" /> + <field cname="role" access="public" writeable="false" readable="true" is_callback="false" name="Role" type="GstWebRTCICERole" /> + <field cname="component" access="public" writeable="false" readable="true" is_callback="false" name="ComponentField" type="GstWebRTCICEComponent" /> + <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCICEConnectionState" /> + <field cname="gathering_state" access="public" writeable="false" readable="true" is_callback="false" name="GatheringStateField" type="GstWebRTCICEGatheringState" /> + <field cname="src" access="public" writeable="false" readable="true" is_callback="false" name="Src" type="GstElement*" /> + <field cname="sink" access="public" writeable="false" readable="true" is_callback="false" name="Sink" type="GstElement*" /> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + <signal name="OnNewCandidate" cname="on-new-candidate" when="last"> + <return-type type="void" /> + <parameters> + <parameter name="_object" type="const-gchar*" /> + </parameters> + </signal> + <signal name="OnSelectedCandidatePairChange" cname="on-selected-candidate-pair-change" when="last"> + <return-type type="void" /> + <parameters /> + </signal> + </object> + <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCRTPReceiverClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true"> + <return-type type="GType" /> + </method> + <constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor="" /> + <method name="SetRtcpTransport" cname="gst_webrtc_rtp_receiver_set_rtcp_transport"> + <return-type type="void" /> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*" /> + </parameters> + </method> + <method name="SetTransport" cname="gst_webrtc_rtp_receiver_set_transport"> + <return-type type="void" /> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*" /> + </parameters> + </method> + <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="_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"> + <class_struct cname="GstWebRTCRTPSenderClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true"> + <return-type type="GType" /> + </method> + <constructor cname="gst_webrtc_rtp_sender_new" disable_void_ctor="" /> + <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport"> + <return-type type="void" /> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*" /> + </parameters> + </method> + <method name="SetTransport" cname="gst_webrtc_rtp_sender_set_transport"> + <return-type type="void" /> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*" /> + </parameters> + </method> + <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="_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"> + <class_struct cname="GstWebRTCRTPTransceiverClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true"> + <return-type type="GType" /> + </method> + <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true" /> + <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true" /> + <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true" /> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*" hidden="true" /> + <field cname="mline" access="public" writeable="false" readable="true" is_callback="false" name="Mline" type="guint" /> + <field cname="mid" access="public" writeable="false" readable="true" is_callback="false" name="Mid" type="gchar*" /> + <field cname="stopped" access="public" writeable="false" readable="true" is_callback="false" name="Stopped" type="gboolean" /> + <field cname="sender" access="public" writeable="false" readable="true" is_callback="false" name="SenderField" type="GstWebRTCRTPSender*" /> + <field cname="receiver" access="public" writeable="false" readable="true" is_callback="false" name="ReceiverField" type="GstWebRTCRTPReceiver*" /> + <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="Direction" type="GstWebRTCRTPTransceiverDirection" /> + <field cname="current_direction" access="public" writeable="false" readable="true" is_callback="false" name="CurrentDirection" type="GstWebRTCRTPTransceiverDirection" /> + <field cname="codec_preferences" access="public" writeable="false" readable="true" is_callback="false" name="CodecPreferences" type="GstCaps*"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4" /> + </object> + <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false"> + <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true"> + <return-type type="GType" /> + </method> + <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstWebRTCSDPType" /> + <field cname="sdp" access="public" writeable="true" readable="true" is_callback="false" name="Sdp" type="GstSDPMessage*"> + <warning>missing glib:type-name</warning> + </field> + <constructor cname="gst_webrtc_session_description_new"> + <parameters> + <parameter name="type" type="GstWebRTCSDPType" /> + <parameter name="sdp" type="GstSDPMessage*"> + <warning>missing glib:type-name</warning> + </parameter> + </parameters> + </constructor> + <method name="Copy" cname="gst_webrtc_session_description_copy"> + <return-type type="GstWebRTCSessionDescription*" owned="true"> + <warning>missing glib:type-name</warning> + </return-type> + <parameters /> + </method> + <method name="Free" cname="gst_webrtc_session_description_free"> + <return-type type="void" /> + <parameters /> + </method> + </boxed> + <object name="Global" cname="GstWebRTCGlobal" opaque="true"> + <method name="WebrtcSdpTypeToString" cname="gst_webrtc_sdp_type_to_string" shared="true"> + <return-type type="const-gchar*" /> + <parameters> + <parameter name="type" type="GstWebRTCSDPType" /> + </parameters> + </method> + </object> + <object name="Constants" cname="GstWebRTCConstants" opaque="true" /> + </namespace> </api>
\ No newline at end of file diff --git a/sources/generated/meson.build b/sources/generated/meson.build index 5a82c3c..942ef08 100644 --- a/sources/generated/meson.build +++ b/sources/generated/meson.build @@ -722,6 +722,26 @@ generated_sources = [ 'Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs', 'Gst.Audio/AudioStreamAlign.cs', 'Gst.Video/VideoOverlayProperties.cs', + 'Gst.WebRTC/WebRTCPeerConnectionState.cs', + 'Gst.WebRTC/WebRTCSessionDescription.cs', + 'Gst.WebRTC/WebRTCICEGatheringState.cs', + 'Gst.WebRTC/WebRTCRTPTransceiverDirection.cs', + 'Gst.WebRTC/WebRTCRTPTransceiver.cs', + 'Gst.WebRTC/OnNewCandidateHandler.cs', + 'Gst.WebRTC/WebRTCICERole.cs', + 'Gst.WebRTC/Global.cs', + 'Gst.WebRTC/WebRTCICEComponent.cs', + 'Gst.WebRTC/WebRTCICEConnectionState.cs', + 'Gst.WebRTC/WebRTCDTLSTransport.cs', + 'Gst.WebRTC/WebRTCICETransport.cs', + 'Gst.WebRTC/WebRTCSDPType.cs', + 'Gst.WebRTC/WebRTCRTPSender.cs', + 'Gst.WebRTC/WebRTCSignalingState.cs', + 'Gst.WebRTC/WebRTCDTLSTransportState.cs', + 'Gst.WebRTC/WebRTCDTLSSetup.cs', + 'Gst.WebRTC/WebRTCRTPReceiver.cs', + 'Gst.WebRTC/WebRTCStatsType.cs', + 'Gst.WebRTC/Constants.cs', ] run_target('update_gstreamer_code', diff --git a/sources/gstreamer-sharp-api.raw b/sources/gstreamer-sharp-api.raw index 23c852e..d132b09 100644 --- a/sources/gstreamer-sharp-api.raw +++ b/sources/gstreamer-sharp-api.raw @@ -29184,4 +29184,305 @@ <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_Y_TILES_SHIFT"/> </object> </namespace> + <namespace name="GstWebRTC" library="gstwebrtc-1.0"> + <enum name="WebRTCDTLSSetup" cname="GstWebRTCDTLSSetup" type="enum" gtype="gst_webrtc_dtls_setup_get_type"> + <member cname="GST_WEBRTC_DTLS_SETUP_NONE" name="None" value="0"/> + <member cname="GST_WEBRTC_DTLS_SETUP_ACTPASS" name="Actpass" value="1"/> + <member cname="GST_WEBRTC_DTLS_SETUP_ACTIVE" name="Active" value="2"/> + <member cname="GST_WEBRTC_DTLS_SETUP_PASSIVE" name="Passive" value="3"/> + </enum> + <enum name="WebRTCDTLSTransportState" cname="GstWebRTCDTLSTransportState" type="enum" gtype="gst_webrtc_dtls_transport_state_get_type"> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" name="New" value="0"/> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" name="Closed" value="1"/> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" name="Failed" value="2"/> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" name="Connecting" value="3"/> + <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" name="Connected" value="4"/> + </enum> + <enum name="WebRTCICEComponent" cname="GstWebRTCICEComponent" type="enum" gtype="gst_webrtc_ice_component_get_type"> + <member cname="GST_WEBRTC_ICE_COMPONENT_RTP" name="Rtp" value="0"/> + <member cname="GST_WEBRTC_ICE_COMPONENT_RTCP" name="Rtcp" value="1"/> + </enum> + <enum name="WebRTCICEConnectionState" cname="GstWebRTCICEConnectionState" type="enum" gtype="gst_webrtc_ice_connection_state_get_type"> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" name="New" value="0"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" name="Checking" value="1"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" name="Connected" value="2"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" name="Completed" value="3"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" name="Failed" value="4"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="5"/> + <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" name="Closed" value="6"/> + </enum> + <enum name="WebRTCICEGatheringState" cname="GstWebRTCICEGatheringState" type="enum" gtype="gst_webrtc_ice_gathering_state_get_type"> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_NEW" name="New" value="0"/> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" name="Gathering" value="1"/> + <member cname="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" name="Complete" value="2"/> + </enum> + <enum name="WebRTCICERole" cname="GstWebRTCICERole" type="enum" gtype="gst_webrtc_ice_role_get_type"> + <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLED" name="Controlled" value="0"/> + <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLING" name="Controlling" value="1"/> + </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"/> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" name="Connected" value="2"/> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="3"/> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" name="Failed" value="4"/> + <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" name="Closed" value="5"/> + </enum> + <enum name="WebRTCRTPTransceiverDirection" cname="GstWebRTCRTPTransceiverDirection" type="enum" gtype="gst_webrtc_rtp_transceiver_direction_get_type"> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" name="None" value="0"/> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" name="Inactive" value="1"/> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" name="Sendonly" value="2"/> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" name="Recvonly" value="3"/> + <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" name="Sendrecv" value="4"/> + </enum> + <enum name="WebRTCSDPType" cname="GstWebRTCSDPType" type="enum" gtype="gst_webrtc_sdp_type_get_type"> + <member cname="GST_WEBRTC_SDP_TYPE_OFFER" name="Offer" value="1"/> + <member cname="GST_WEBRTC_SDP_TYPE_PRANSWER" name="Pranswer" value="2"/> + <member cname="GST_WEBRTC_SDP_TYPE_ANSWER" name="Answer" value="3"/> + <member cname="GST_WEBRTC_SDP_TYPE_ROLLBACK" name="Rollback" value="4"/> + </enum> + <enum name="WebRTCSignalingState" cname="GstWebRTCSignalingState" type="enum" gtype="gst_webrtc_signaling_state_get_type"> + <member cname="GST_WEBRTC_SIGNALING_STATE_STABLE" name="Stable" value="0"/> + <member cname="GST_WEBRTC_SIGNALING_STATE_CLOSED" name="Closed" value="1"/> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" name="HaveLocalOffer" value="2"/> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" name="HaveRemoteOffer" value="3"/> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" name="HaveLocalPranswer" value="4"/> + <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" name="HaveRemotePranswer" value="5"/> + </enum> + <enum name="WebRTCStatsType" cname="GstWebRTCStatsType" type="enum" gtype="gst_webrtc_stats_type_get_type"> + <member cname="GST_WEBRTC_STATS_CODEC" name="Codec" value="1"/> + <member cname="GST_WEBRTC_STATS_INBOUND_RTP" name="InboundRtp" value="2"/> + <member cname="GST_WEBRTC_STATS_OUTBOUND_RTP" name="OutboundRtp" value="3"/> + <member cname="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" name="RemoteInboundRtp" value="4"/> + <member cname="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" name="RemoteOutboundRtp" value="5"/> + <member cname="GST_WEBRTC_STATS_CSRC" name="Csrc" value="6"/> + <member cname="GST_WEBRTC_STATS_PEER_CONNECTION" name="PeerConnection" value="7"/> + <member cname="GST_WEBRTC_STATS_DATA_CHANNEL" name="DataChannel" value="8"/> + <member cname="GST_WEBRTC_STATS_STREAM" name="Stream" value="9"/> + <member cname="GST_WEBRTC_STATS_TRANSPORT" name="Transport" value="10"/> + <member cname="GST_WEBRTC_STATS_CANDIDATE_PAIR" name="CandidatePair" value="11"/> + <member cname="GST_WEBRTC_STATS_LOCAL_CANDIDATE" name="LocalCandidate" value="12"/> + <member cname="GST_WEBRTC_STATS_REMOTE_CANDIDATE" name="RemoteCandidate" value="13"/> + <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14"/> + </enum> + <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCDTLSTransportClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBinClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </class_struct> + <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true"> + <return-type type="GType"/> + </method> + <constructor cname="gst_webrtc_dtls_transport_new"> + <parameters> + <parameter name="session_id" type="guint"/> + <parameter name="rtcp" type="gboolean"/> + </parameters> + </constructor> + <method name="SetTransport" cname="gst_webrtc_dtls_transport_set_transport"> + <return-type type="void"/> + <parameters> + <parameter name="ice" type="GstWebRTCICETransport*"/> + </parameters> + </method> + <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/> + <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/> + <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false"/> + <property name="Rtcp" cname="rtcp" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true"/> + <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/> + <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false"/> + <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false"/> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/> + <field cname="transport" access="public" writeable="false" readable="true" is_callback="false" name="TransportField" type="GstWebRTCICETransport*"/> + <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCDTLSTransportState"/> + <field cname="is_rtcp" access="public" writeable="false" readable="true" is_callback="false" name="IsRtcp" type="gboolean"/> + <field cname="client" access="public" writeable="false" readable="true" is_callback="false" name="ClientField" type="gboolean"/> + <field cname="session_id" access="public" writeable="false" readable="true" is_callback="false" name="SessionIdField" type="guint"/> + <field cname="dtlssrtpenc" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpenc" type="GstElement*"/> + <field cname="dtlssrtpdec" access="public" writeable="false" readable="true" is_callback="false" name="Dtlssrtpdec" type="GstElement*"/> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </object> + <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCICETransportClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstBinClass"> + <warning>missing glib:type-name</warning> + </field> + <method vm="gather_candidates"/> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </class_struct> + <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true"> + <return-type type="GType"/> + </method> + <virtual_method name="GatherCandidates" cname="gather_candidates"> + <return-type type="gboolean"/> + <parameters/> + </virtual_method> + <method name="ConnectionStateChange" cname="gst_webrtc_ice_transport_connection_state_change"> + <return-type type="void"/> + <parameters> + <parameter name="new_state" type="GstWebRTCICEConnectionState"/> + </parameters> + </method> + <method name="GatheringStateChange" cname="gst_webrtc_ice_transport_gathering_state_change"> + <return-type type="void"/> + <parameters> + <parameter name="new_state" type="GstWebRTCICEGatheringState"/> + </parameters> + </method> + <method name="NewCandidate" cname="gst_webrtc_ice_transport_new_candidate"> + <return-type type="void"/> + <parameters> + <parameter name="stream_id" type="guint"/> + <parameter name="component" type="GstWebRTCICEComponent"/> + <parameter name="attr" type="const-gchar*"/> + </parameters> + </method> + <method name="SelectedPairChange" cname="gst_webrtc_ice_transport_selected_pair_change"> + <return-type type="void"/> + <parameters/> + </method> + <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true"/> + <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false"/> + <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false"/> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/> + <field cname="role" access="public" writeable="false" readable="true" is_callback="false" name="Role" type="GstWebRTCICERole"/> + <field cname="component" access="public" writeable="false" readable="true" is_callback="false" name="ComponentField" type="GstWebRTCICEComponent"/> + <field cname="state" access="public" writeable="false" readable="true" is_callback="false" name="StateField" type="GstWebRTCICEConnectionState"/> + <field cname="gathering_state" access="public" writeable="false" readable="true" is_callback="false" name="GatheringStateField" type="GstWebRTCICEGatheringState"/> + <field cname="src" access="public" writeable="false" readable="true" is_callback="false" name="Src" type="GstElement*"/> + <field cname="sink" access="public" writeable="false" readable="true" is_callback="false" name="Sink" type="GstElement*"/> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + <signal name="OnNewCandidate" cname="on-new-candidate" when="last"> + <return-type type="void"/> + <parameters> + <parameter name="_object" type="const-gchar*"/> + </parameters> + </signal> + <signal name="OnSelectedCandidatePairChange" cname="on-selected-candidate-pair-change" when="last"> + <return-type type="void"/> + <parameters/> + </signal> + </object> + <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject"> + <class_struct cname="GstWebRTCRTPReceiverClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true"> + <return-type type="GType"/> + </method> + <constructor cname="gst_webrtc_rtp_receiver_new" disable_void_ctor=""/> + <method name="SetRtcpTransport" cname="gst_webrtc_rtp_receiver_set_rtcp_transport"> + <return-type type="void"/> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*"/> + </parameters> + </method> + <method name="SetTransport" cname="gst_webrtc_rtp_receiver_set_transport"> + <return-type type="void"/> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*"/> + </parameters> + </method> + <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="_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"> + <class_struct cname="GstWebRTCRTPSenderClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true"> + <return-type type="GType"/> + </method> + <constructor cname="gst_webrtc_rtp_sender_new" disable_void_ctor=""/> + <method name="SetRtcpTransport" cname="gst_webrtc_rtp_sender_set_rtcp_transport"> + <return-type type="void"/> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*"/> + </parameters> + </method> + <method name="SetTransport" cname="gst_webrtc_rtp_sender_set_transport"> + <return-type type="void"/> + <parameters> + <parameter name="transport" type="GstWebRTCDTLSTransport*"/> + </parameters> + </method> + <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="_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"> + <class_struct cname="GstWebRTCRTPTransceiverClass"> + <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstObjectClass"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </class_struct> + <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true"> + <return-type type="GType"/> + </method> + <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/> + <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true"/> + <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true"/> + <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstObject*"/> + <field cname="mline" access="public" writeable="false" readable="true" is_callback="false" name="Mline" type="guint"/> + <field cname="mid" access="public" writeable="false" readable="true" is_callback="false" name="Mid" type="gchar*"/> + <field cname="stopped" access="public" writeable="false" readable="true" is_callback="false" name="Stopped" type="gboolean"/> + <field cname="sender" access="public" writeable="false" readable="true" is_callback="false" name="SenderField" type="GstWebRTCRTPSender*"/> + <field cname="receiver" access="public" writeable="false" readable="true" is_callback="false" name="ReceiverField" type="GstWebRTCRTPReceiver*"/> + <field cname="direction" access="public" writeable="false" readable="true" is_callback="false" name="Direction" type="GstWebRTCRTPTransceiverDirection"/> + <field cname="current_direction" access="public" writeable="false" readable="true" is_callback="false" name="CurrentDirection" type="GstWebRTCRTPTransceiverDirection"/> + <field cname="codec_preferences" access="public" writeable="false" readable="true" is_callback="false" name="CodecPreferences" type="GstCaps*"> + <warning>missing glib:type-name</warning> + </field> + <field cname="_padding" access="public" writeable="false" readable="true" is_callback="false" name="_Padding" type="gpointer" array="true" array_len="4"/> + </object> + <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false"> + <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true"> + <return-type type="GType"/> + </method> + <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstWebRTCSDPType"/> + <field cname="sdp" access="public" writeable="true" readable="true" is_callback="false" name="Sdp" type="GstSDPMessage*"> + <warning>missing glib:type-name</warning> + </field> + <constructor cname="gst_webrtc_session_description_new"> + <parameters> + <parameter name="type" type="GstWebRTCSDPType"/> + <parameter name="sdp" type="GstSDPMessage*"> + <warning>missing glib:type-name</warning> + </parameter> + </parameters> + </constructor> + <method name="Copy" cname="gst_webrtc_session_description_copy"> + <return-type type="GstWebRTCSessionDescription*" owned="true"> + <warning>missing glib:type-name</warning> + </return-type> + <parameters/> + </method> + <method name="Free" cname="gst_webrtc_session_description_free"> + <return-type type="void"/> + <parameters/> + </method> + </boxed> + <object name="Global" cname="GstWebRTCGlobal" opaque="true"> + <method name="WebrtcSdpTypeToString" cname="gst_webrtc_sdp_type_to_string" shared="true"> + <return-type type="const-gchar*"/> + <parameters> + <parameter name="type" type="GstWebRTCSDPType"/> + </parameters> + </method> + </object> + <object name="Constants" cname="GstWebRTCConstants" opaque="true"/> + </namespace> </api> diff --git a/sources/gstreamer-sharp.dll.config b/sources/gstreamer-sharp.dll.config index cb98e23..63059b3 100644 --- a/sources/gstreamer-sharp.dll.config +++ b/sources/gstreamer-sharp.dll.config @@ -12,6 +12,7 @@ <dllmap dll="libgstrtp-1.0-0.dll" target="libgstrtp-1.0.so.0" os="linux"/> <dllmap dll="libgstrtsp-1.0-0.dll" target="libgstrtsp-1.0.so.0" os="linux"/> <dllmap dll="libgstsdp-1.0-0.dll" target="libgstsdp-1.0.so.0" os="linux"/> + <dllmap dll="libgstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.so.0" os="linux"/> <dllmap dll="libgstcontroller-1.0-0.dll" target="libgstcontroller-1.0.so.0" os="linux"/> <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0.so.0" os="linux"/> <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0" os="linux"/> @@ -29,6 +30,7 @@ <dllmap dll="libgstrtp-1.0-0.dll" target="libgstrtp-1.0.dylib" os="osx"/> <dllmap dll="libgstrtsp-1.0-0.dll" target="libgstrtsp-1.0.dylib" os="osx"/> <dllmap dll="libgstsdp-1.0-0.dll" target="libgstsdp-1.0.dylib" os="osx"/> + <dllmap dll="libgstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.dylib" os="osx"/> <dllmap dll="libgstcontroller-1.0-0.dll" target="libgstcontroller-1.0.dylib" os="osx"/> <dllmap dll="libglib-2.0-0.dll" target="libglib-2.0.dylib" os="osx"/> <dllmap dll="libgobject-2.0-0.dll" target="libgobject-2.0.dylib" os="osx"/> diff --git a/sources/gstreamer-sharp.metadata b/sources/gstreamer-sharp.metadata index d710b4a..fb726b2 100644 --- a/sources/gstreamer-sharp.metadata +++ b/sources/gstreamer-sharp.metadata @@ -243,6 +243,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA <attr path="/api/namespace[@name='GstRtp']" name="name">Gst.Rtp</attr> <attr path="/api/namespace[@name='GstRtsp']" name="name">Gst.Rtsp</attr> <attr path="/api/namespace[@name='GstSdp']" name="name">Gst.Sdp</attr> + <attr path="/api/namespace[@name='GstWebRTC']" name="name">Gst.WebRTC</attr> <attr path="/api/namespace" name="library">libgstreamer-1.0-0.dll</attr> <attr path="/api/namespace[@name='Gst.Base']" name="library">libgstbase-1.0-0.dll</attr> @@ -258,6 +259,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA <attr path="/api/namespace[@name='Gst.Rtp']" name="library">libgstrtp-1.0-0.dll</attr> <attr path="/api/namespace[@name='Gst.Rtsp']" name="library">libgstrtsp-1.0-0.dll</attr> <attr path="/api/namespace[@name='Gst.Sdp']" name="library">libgstsdp-1.0-0.dll</attr> + <attr path="/api/namespace[@name='Gst.WebRTC']" name="library">libgstwebrtc-1.0-0.dll</attr> <!-- DoubleRange and Fraction are in Value.cs --> <attr path="//struct[@name='DoubleRange' or @name='Fraction' or @name='IntRange' or @name='FractionRange']" name="hidden">true</attr> diff --git a/sources/meson.build b/sources/meson.build index 2eea172..6b44a7d 100644 --- a/sources/meson.build +++ b/sources/meson.build @@ -1,7 +1,7 @@ raw_api_fname = join_paths(meson.current_source_dir(), meson.project_name() + '-api.raw') metadata = files(meson.project_name() + '.metadata') -abi_includes = 'glib.h,gst/gst.h,gst/video/video.h,gst/audio/audio.h,gst/rtsp/rtsp.h,gst/app/app.h,gst/audio/audio.h,gst/base/base.h,gst/controller/controller.h,gst/fft/fft.h,gst/net/net.h,gst/pbutils/gstaudiovisualizer.h,gst/pbutils/pbutils.h,gst/rtp/rtp.h,gst/rtsp/rtsp.h,gst/sdp/sdp.h,gst/tag/tag.h,gst/video/video.h,gst/video/gstvideoaffinetransformationmeta.h,gst/net/gstnetcontrolmessagemeta.h' +abi_includes = 'glib.h,gst/gst.h,gst/video/video.h,gst/audio/audio.h,gst/rtsp/rtsp.h,gst/app/app.h,gst/audio/audio.h,gst/base/base.h,gst/controller/controller.h,gst/fft/fft.h,gst/net/net.h,gst/pbutils/gstaudiovisualizer.h,gst/pbutils/pbutils.h,gst/rtp/rtp.h,gst/rtsp/rtsp.h,gst/sdp/sdp.h,gst/tag/tag.h,gst/video/video.h,gst/video/gstvideoaffinetransformationmeta.h,gst/net/gstnetcontrolmessagemeta.h,gst/webrtc/webrtc.h' sources = [ 'custom/Adapter.cs', @@ -43,7 +43,7 @@ gst_sharp_dep = declare_dependency(dependencies: [glib_sharp_dep, gio_sharp_dep] if add_languages('c', required: false) and csc.get_id() == 'mono' c_abi_exe = executable('gst_sharp_c_abi', c_abi, - cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-unsafe'], + c_args: ['-DGST_USE_UNSTABLE_API'], dependencies: [gst_deps]) cs_abi_exe = executable('gst_sharp_cs_abi', cs_abi, |