maxcountryman_web_sys/features/
gen_RtcPeerConnection.rs

1#![allow(unused_imports)]
2use super::*;
3use wasm_bindgen::prelude::*;
4#[wasm_bindgen]
5extern "C" {
6    # [wasm_bindgen (extends = EventTarget , extends = :: js_sys :: Object , js_name = RTCPeerConnection , typescript_type = "RTCPeerConnection")]
7    #[derive(Debug, Clone, PartialEq, Eq)]
8    #[doc = "The `RtcPeerConnection` class."]
9    #[doc = ""]
10    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection)"]
11    #[doc = ""]
12    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
13    pub type RtcPeerConnection;
14    #[cfg(feature = "RtcSessionDescription")]
15    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = localDescription)]
16    #[doc = "Getter for the `localDescription` field of this object."]
17    #[doc = ""]
18    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/localDescription)"]
19    #[doc = ""]
20    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
21    pub fn local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
22    #[cfg(feature = "RtcSessionDescription")]
23    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = currentLocalDescription)]
24    #[doc = "Getter for the `currentLocalDescription` field of this object."]
25    #[doc = ""]
26    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentLocalDescription)"]
27    #[doc = ""]
28    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
29    pub fn current_local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
30    #[cfg(feature = "RtcSessionDescription")]
31    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = pendingLocalDescription)]
32    #[doc = "Getter for the `pendingLocalDescription` field of this object."]
33    #[doc = ""]
34    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingLocalDescription)"]
35    #[doc = ""]
36    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
37    pub fn pending_local_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
38    #[cfg(feature = "RtcSessionDescription")]
39    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = remoteDescription)]
40    #[doc = "Getter for the `remoteDescription` field of this object."]
41    #[doc = ""]
42    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/remoteDescription)"]
43    #[doc = ""]
44    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
45    pub fn remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
46    #[cfg(feature = "RtcSessionDescription")]
47    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = currentRemoteDescription)]
48    #[doc = "Getter for the `currentRemoteDescription` field of this object."]
49    #[doc = ""]
50    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentRemoteDescription)"]
51    #[doc = ""]
52    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
53    pub fn current_remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
54    #[cfg(feature = "RtcSessionDescription")]
55    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = pendingRemoteDescription)]
56    #[doc = "Getter for the `pendingRemoteDescription` field of this object."]
57    #[doc = ""]
58    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingRemoteDescription)"]
59    #[doc = ""]
60    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescription`*"]
61    pub fn pending_remote_description(this: &RtcPeerConnection) -> Option<RtcSessionDescription>;
62    #[cfg(feature = "RtcSignalingState")]
63    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = signalingState)]
64    #[doc = "Getter for the `signalingState` field of this object."]
65    #[doc = ""]
66    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/signalingState)"]
67    #[doc = ""]
68    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSignalingState`*"]
69    pub fn signaling_state(this: &RtcPeerConnection) -> RtcSignalingState;
70    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = canTrickleIceCandidates)]
71    #[doc = "Getter for the `canTrickleIceCandidates` field of this object."]
72    #[doc = ""]
73    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/canTrickleIceCandidates)"]
74    #[doc = ""]
75    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
76    pub fn can_trickle_ice_candidates(this: &RtcPeerConnection) -> Option<bool>;
77    #[cfg(feature = "RtcIceGatheringState")]
78    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = iceGatheringState)]
79    #[doc = "Getter for the `iceGatheringState` field of this object."]
80    #[doc = ""]
81    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState)"]
82    #[doc = ""]
83    #[doc = "*This API requires the following crate features to be activated: `RtcIceGatheringState`, `RtcPeerConnection`*"]
84    pub fn ice_gathering_state(this: &RtcPeerConnection) -> RtcIceGatheringState;
85    #[cfg(feature = "RtcIceConnectionState")]
86    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = iceConnectionState)]
87    #[doc = "Getter for the `iceConnectionState` field of this object."]
88    #[doc = ""]
89    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState)"]
90    #[doc = ""]
91    #[doc = "*This API requires the following crate features to be activated: `RtcIceConnectionState`, `RtcPeerConnection`*"]
92    pub fn ice_connection_state(this: &RtcPeerConnection) -> RtcIceConnectionState;
93    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = peerIdentity)]
94    #[doc = "Getter for the `peerIdentity` field of this object."]
95    #[doc = ""]
96    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/peerIdentity)"]
97    #[doc = ""]
98    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
99    pub fn peer_identity(this: &RtcPeerConnection) -> ::js_sys::Promise;
100    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = idpLoginUrl)]
101    #[doc = "Getter for the `idpLoginUrl` field of this object."]
102    #[doc = ""]
103    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/idpLoginUrl)"]
104    #[doc = ""]
105    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
106    pub fn idp_login_url(this: &RtcPeerConnection) -> Option<String>;
107    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onnegotiationneeded)]
108    #[doc = "Getter for the `onnegotiationneeded` field of this object."]
109    #[doc = ""]
110    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onnegotiationneeded)"]
111    #[doc = ""]
112    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
113    pub fn onnegotiationneeded(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
114    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onnegotiationneeded)]
115    #[doc = "Setter for the `onnegotiationneeded` field of this object."]
116    #[doc = ""]
117    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onnegotiationneeded)"]
118    #[doc = ""]
119    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
120    pub fn set_onnegotiationneeded(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
121    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onicecandidate)]
122    #[doc = "Getter for the `onicecandidate` field of this object."]
123    #[doc = ""]
124    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicecandidate)"]
125    #[doc = ""]
126    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
127    pub fn onicecandidate(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
128    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onicecandidate)]
129    #[doc = "Setter for the `onicecandidate` field of this object."]
130    #[doc = ""]
131    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicecandidate)"]
132    #[doc = ""]
133    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
134    pub fn set_onicecandidate(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
135    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onsignalingstatechange)]
136    #[doc = "Getter for the `onsignalingstatechange` field of this object."]
137    #[doc = ""]
138    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onsignalingstatechange)"]
139    #[doc = ""]
140    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
141    pub fn onsignalingstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
142    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onsignalingstatechange)]
143    #[doc = "Setter for the `onsignalingstatechange` field of this object."]
144    #[doc = ""]
145    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onsignalingstatechange)"]
146    #[doc = ""]
147    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
148    pub fn set_onsignalingstatechange(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
149    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onaddstream)]
150    #[doc = "Getter for the `onaddstream` field of this object."]
151    #[doc = ""]
152    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddstream)"]
153    #[doc = ""]
154    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
155    pub fn onaddstream(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
156    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onaddstream)]
157    #[doc = "Setter for the `onaddstream` field of this object."]
158    #[doc = ""]
159    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddstream)"]
160    #[doc = ""]
161    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
162    pub fn set_onaddstream(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
163    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onaddtrack)]
164    #[doc = "Getter for the `onaddtrack` field of this object."]
165    #[doc = ""]
166    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddtrack)"]
167    #[doc = ""]
168    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
169    pub fn onaddtrack(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
170    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onaddtrack)]
171    #[doc = "Setter for the `onaddtrack` field of this object."]
172    #[doc = ""]
173    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onaddtrack)"]
174    #[doc = ""]
175    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
176    pub fn set_onaddtrack(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
177    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = ontrack)]
178    #[doc = "Getter for the `ontrack` field of this object."]
179    #[doc = ""]
180    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack)"]
181    #[doc = ""]
182    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
183    pub fn ontrack(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
184    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = ontrack)]
185    #[doc = "Setter for the `ontrack` field of this object."]
186    #[doc = ""]
187    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack)"]
188    #[doc = ""]
189    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
190    pub fn set_ontrack(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
191    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onremovestream)]
192    #[doc = "Getter for the `onremovestream` field of this object."]
193    #[doc = ""]
194    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onremovestream)"]
195    #[doc = ""]
196    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
197    pub fn onremovestream(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
198    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onremovestream)]
199    #[doc = "Setter for the `onremovestream` field of this object."]
200    #[doc = ""]
201    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onremovestream)"]
202    #[doc = ""]
203    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
204    pub fn set_onremovestream(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
205    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = oniceconnectionstatechange)]
206    #[doc = "Getter for the `oniceconnectionstatechange` field of this object."]
207    #[doc = ""]
208    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/oniceconnectionstatechange)"]
209    #[doc = ""]
210    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
211    pub fn oniceconnectionstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
212    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = oniceconnectionstatechange)]
213    #[doc = "Setter for the `oniceconnectionstatechange` field of this object."]
214    #[doc = ""]
215    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/oniceconnectionstatechange)"]
216    #[doc = ""]
217    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
218    pub fn set_oniceconnectionstatechange(
219        this: &RtcPeerConnection,
220        value: Option<&::js_sys::Function>,
221    );
222    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onicegatheringstatechange)]
223    #[doc = "Getter for the `onicegatheringstatechange` field of this object."]
224    #[doc = ""]
225    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicegatheringstatechange)"]
226    #[doc = ""]
227    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
228    pub fn onicegatheringstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
229    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onicegatheringstatechange)]
230    #[doc = "Setter for the `onicegatheringstatechange` field of this object."]
231    #[doc = ""]
232    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onicegatheringstatechange)"]
233    #[doc = ""]
234    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
235    pub fn set_onicegatheringstatechange(
236        this: &RtcPeerConnection,
237        value: Option<&::js_sys::Function>,
238    );
239    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = ondatachannel)]
240    #[doc = "Getter for the `ondatachannel` field of this object."]
241    #[doc = ""]
242    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ondatachannel)"]
243    #[doc = ""]
244    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
245    pub fn ondatachannel(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
246    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = ondatachannel)]
247    #[doc = "Setter for the `ondatachannel` field of this object."]
248    #[doc = ""]
249    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ondatachannel)"]
250    #[doc = ""]
251    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
252    pub fn set_ondatachannel(this: &RtcPeerConnection, value: Option<&::js_sys::Function>);
253    #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
254    #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
255    #[doc = ""]
256    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
257    #[doc = ""]
258    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
259    pub fn new() -> Result<RtcPeerConnection, JsValue>;
260    #[cfg(feature = "RtcConfiguration")]
261    #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
262    #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
263    #[doc = ""]
264    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
265    #[doc = ""]
266    #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
267    pub fn new_with_configuration(
268        configuration: &RtcConfiguration,
269    ) -> Result<RtcPeerConnection, JsValue>;
270    #[cfg(feature = "RtcConfiguration")]
271    #[wasm_bindgen(catch, constructor, js_class = "RTCPeerConnection")]
272    #[doc = "The `new RtcPeerConnection(..)` constructor, creating a new instance of `RtcPeerConnection`."]
273    #[doc = ""]
274    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection)"]
275    #[doc = ""]
276    #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
277    pub fn new_with_configuration_and_constraints(
278        configuration: &RtcConfiguration,
279        constraints: Option<&::js_sys::Object>,
280    ) -> Result<RtcPeerConnection, JsValue>;
281    #[cfg(feature = "RtcIceCandidateInit")]
282    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addIceCandidate)]
283    #[doc = "The `addIceCandidate()` method."]
284    #[doc = ""]
285    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
286    #[doc = ""]
287    #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidateInit`, `RtcPeerConnection`*"]
288    pub fn add_ice_candidate_with_opt_rtc_ice_candidate_init(
289        this: &RtcPeerConnection,
290        candidate: Option<&RtcIceCandidateInit>,
291    ) -> ::js_sys::Promise;
292    #[cfg(feature = "RtcIceCandidate")]
293    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addIceCandidate)]
294    #[doc = "The `addIceCandidate()` method."]
295    #[doc = ""]
296    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
297    #[doc = ""]
298    #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidate`, `RtcPeerConnection`*"]
299    pub fn add_ice_candidate_with_opt_rtc_ice_candidate(
300        this: &RtcPeerConnection,
301        candidate: Option<&RtcIceCandidate>,
302    ) -> ::js_sys::Promise;
303    #[cfg(feature = "RtcIceCandidate")]
304    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addIceCandidate)]
305    #[doc = "The `addIceCandidate()` method."]
306    #[doc = ""]
307    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addIceCandidate)"]
308    #[doc = ""]
309    #[doc = "*This API requires the following crate features to be activated: `RtcIceCandidate`, `RtcPeerConnection`*"]
310    pub fn add_ice_candidate_with_rtc_ice_candidate_and_success_callback_and_failure_callback(
311        this: &RtcPeerConnection,
312        candidate: &RtcIceCandidate,
313        success_callback: &::js_sys::Function,
314        failure_callback: &::js_sys::Function,
315    ) -> ::js_sys::Promise;
316    #[cfg(feature = "MediaStream")]
317    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addStream)]
318    #[doc = "The `addStream()` method."]
319    #[doc = ""]
320    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addStream)"]
321    #[doc = ""]
322    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `RtcPeerConnection`*"]
323    pub fn add_stream(this: &RtcPeerConnection, stream: &MediaStream);
324    #[cfg(all(
325        feature = "MediaStream",
326        feature = "MediaStreamTrack",
327        feature = "RtcRtpSender",
328    ))]
329    # [wasm_bindgen (method , structural , variadic , js_class = "RTCPeerConnection" , js_name = addTrack)]
330    #[doc = "The `addTrack()` method."]
331    #[doc = ""]
332    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
333    #[doc = ""]
334    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
335    pub fn add_track(
336        this: &RtcPeerConnection,
337        track: &MediaStreamTrack,
338        stream: &MediaStream,
339        more_streams: &::js_sys::Array,
340    ) -> RtcRtpSender;
341    #[cfg(all(
342        feature = "MediaStream",
343        feature = "MediaStreamTrack",
344        feature = "RtcRtpSender",
345    ))]
346    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
347    #[doc = "The `addTrack()` method."]
348    #[doc = ""]
349    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
350    #[doc = ""]
351    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
352    pub fn add_track_0(
353        this: &RtcPeerConnection,
354        track: &MediaStreamTrack,
355        stream: &MediaStream,
356    ) -> RtcRtpSender;
357    #[cfg(all(
358        feature = "MediaStream",
359        feature = "MediaStreamTrack",
360        feature = "RtcRtpSender",
361    ))]
362    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
363    #[doc = "The `addTrack()` method."]
364    #[doc = ""]
365    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
366    #[doc = ""]
367    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
368    pub fn add_track_1(
369        this: &RtcPeerConnection,
370        track: &MediaStreamTrack,
371        stream: &MediaStream,
372        more_streams_1: &MediaStream,
373    ) -> RtcRtpSender;
374    #[cfg(all(
375        feature = "MediaStream",
376        feature = "MediaStreamTrack",
377        feature = "RtcRtpSender",
378    ))]
379    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
380    #[doc = "The `addTrack()` method."]
381    #[doc = ""]
382    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
383    #[doc = ""]
384    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
385    pub fn add_track_2(
386        this: &RtcPeerConnection,
387        track: &MediaStreamTrack,
388        stream: &MediaStream,
389        more_streams_1: &MediaStream,
390        more_streams_2: &MediaStream,
391    ) -> RtcRtpSender;
392    #[cfg(all(
393        feature = "MediaStream",
394        feature = "MediaStreamTrack",
395        feature = "RtcRtpSender",
396    ))]
397    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
398    #[doc = "The `addTrack()` method."]
399    #[doc = ""]
400    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
401    #[doc = ""]
402    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
403    pub fn add_track_3(
404        this: &RtcPeerConnection,
405        track: &MediaStreamTrack,
406        stream: &MediaStream,
407        more_streams_1: &MediaStream,
408        more_streams_2: &MediaStream,
409        more_streams_3: &MediaStream,
410    ) -> RtcRtpSender;
411    #[cfg(all(
412        feature = "MediaStream",
413        feature = "MediaStreamTrack",
414        feature = "RtcRtpSender",
415    ))]
416    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
417    #[doc = "The `addTrack()` method."]
418    #[doc = ""]
419    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
420    #[doc = ""]
421    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
422    pub fn add_track_4(
423        this: &RtcPeerConnection,
424        track: &MediaStreamTrack,
425        stream: &MediaStream,
426        more_streams_1: &MediaStream,
427        more_streams_2: &MediaStream,
428        more_streams_3: &MediaStream,
429        more_streams_4: &MediaStream,
430    ) -> RtcRtpSender;
431    #[cfg(all(
432        feature = "MediaStream",
433        feature = "MediaStreamTrack",
434        feature = "RtcRtpSender",
435    ))]
436    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
437    #[doc = "The `addTrack()` method."]
438    #[doc = ""]
439    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
440    #[doc = ""]
441    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
442    pub fn add_track_5(
443        this: &RtcPeerConnection,
444        track: &MediaStreamTrack,
445        stream: &MediaStream,
446        more_streams_1: &MediaStream,
447        more_streams_2: &MediaStream,
448        more_streams_3: &MediaStream,
449        more_streams_4: &MediaStream,
450        more_streams_5: &MediaStream,
451    ) -> RtcRtpSender;
452    #[cfg(all(
453        feature = "MediaStream",
454        feature = "MediaStreamTrack",
455        feature = "RtcRtpSender",
456    ))]
457    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
458    #[doc = "The `addTrack()` method."]
459    #[doc = ""]
460    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
461    #[doc = ""]
462    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
463    pub fn add_track_6(
464        this: &RtcPeerConnection,
465        track: &MediaStreamTrack,
466        stream: &MediaStream,
467        more_streams_1: &MediaStream,
468        more_streams_2: &MediaStream,
469        more_streams_3: &MediaStream,
470        more_streams_4: &MediaStream,
471        more_streams_5: &MediaStream,
472        more_streams_6: &MediaStream,
473    ) -> RtcRtpSender;
474    #[cfg(all(
475        feature = "MediaStream",
476        feature = "MediaStreamTrack",
477        feature = "RtcRtpSender",
478    ))]
479    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTrack)]
480    #[doc = "The `addTrack()` method."]
481    #[doc = ""]
482    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack)"]
483    #[doc = ""]
484    #[doc = "*This API requires the following crate features to be activated: `MediaStream`, `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpSender`*"]
485    pub fn add_track_7(
486        this: &RtcPeerConnection,
487        track: &MediaStreamTrack,
488        stream: &MediaStream,
489        more_streams_1: &MediaStream,
490        more_streams_2: &MediaStream,
491        more_streams_3: &MediaStream,
492        more_streams_4: &MediaStream,
493        more_streams_5: &MediaStream,
494        more_streams_6: &MediaStream,
495        more_streams_7: &MediaStream,
496    ) -> RtcRtpSender;
497    #[cfg(all(feature = "MediaStreamTrack", feature = "RtcRtpTransceiver",))]
498    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTransceiver)]
499    #[doc = "The `addTransceiver()` method."]
500    #[doc = ""]
501    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
502    #[doc = ""]
503    #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpTransceiver`*"]
504    pub fn add_transceiver_with_media_stream_track(
505        this: &RtcPeerConnection,
506        track_or_kind: &MediaStreamTrack,
507    ) -> RtcRtpTransceiver;
508    #[cfg(feature = "RtcRtpTransceiver")]
509    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTransceiver)]
510    #[doc = "The `addTransceiver()` method."]
511    #[doc = ""]
512    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
513    #[doc = ""]
514    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpTransceiver`*"]
515    pub fn add_transceiver_with_str(
516        this: &RtcPeerConnection,
517        track_or_kind: &str,
518    ) -> RtcRtpTransceiver;
519    #[cfg(all(
520        feature = "MediaStreamTrack",
521        feature = "RtcRtpTransceiver",
522        feature = "RtcRtpTransceiverInit",
523    ))]
524    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTransceiver)]
525    #[doc = "The `addTransceiver()` method."]
526    #[doc = ""]
527    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
528    #[doc = ""]
529    #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`, `RtcRtpTransceiver`, `RtcRtpTransceiverInit`*"]
530    pub fn add_transceiver_with_media_stream_track_and_init(
531        this: &RtcPeerConnection,
532        track_or_kind: &MediaStreamTrack,
533        init: &RtcRtpTransceiverInit,
534    ) -> RtcRtpTransceiver;
535    #[cfg(all(feature = "RtcRtpTransceiver", feature = "RtcRtpTransceiverInit",))]
536    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = addTransceiver)]
537    #[doc = "The `addTransceiver()` method."]
538    #[doc = ""]
539    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver)"]
540    #[doc = ""]
541    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpTransceiver`, `RtcRtpTransceiverInit`*"]
542    pub fn add_transceiver_with_str_and_init(
543        this: &RtcPeerConnection,
544        track_or_kind: &str,
545        init: &RtcRtpTransceiverInit,
546    ) -> RtcRtpTransceiver;
547    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = close)]
548    #[doc = "The `close()` method."]
549    #[doc = ""]
550    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/close)"]
551    #[doc = ""]
552    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
553    pub fn close(this: &RtcPeerConnection);
554    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createAnswer)]
555    #[doc = "The `createAnswer()` method."]
556    #[doc = ""]
557    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
558    #[doc = ""]
559    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
560    pub fn create_answer(this: &RtcPeerConnection) -> ::js_sys::Promise;
561    #[cfg(feature = "RtcAnswerOptions")]
562    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createAnswer)]
563    #[doc = "The `createAnswer()` method."]
564    #[doc = ""]
565    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
566    #[doc = ""]
567    #[doc = "*This API requires the following crate features to be activated: `RtcAnswerOptions`, `RtcPeerConnection`*"]
568    pub fn create_answer_with_rtc_answer_options(
569        this: &RtcPeerConnection,
570        options: &RtcAnswerOptions,
571    ) -> ::js_sys::Promise;
572    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createAnswer)]
573    #[doc = "The `createAnswer()` method."]
574    #[doc = ""]
575    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createAnswer)"]
576    #[doc = ""]
577    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
578    pub fn create_answer_with_success_callback_and_failure_callback(
579        this: &RtcPeerConnection,
580        success_callback: &::js_sys::Function,
581        failure_callback: &::js_sys::Function,
582    ) -> ::js_sys::Promise;
583    #[cfg(feature = "RtcDataChannel")]
584    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createDataChannel)]
585    #[doc = "The `createDataChannel()` method."]
586    #[doc = ""]
587    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel)"]
588    #[doc = ""]
589    #[doc = "*This API requires the following crate features to be activated: `RtcDataChannel`, `RtcPeerConnection`*"]
590    pub fn create_data_channel(this: &RtcPeerConnection, label: &str) -> RtcDataChannel;
591    #[cfg(all(feature = "RtcDataChannel", feature = "RtcDataChannelInit",))]
592    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createDataChannel)]
593    #[doc = "The `createDataChannel()` method."]
594    #[doc = ""]
595    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel)"]
596    #[doc = ""]
597    #[doc = "*This API requires the following crate features to be activated: `RtcDataChannel`, `RtcDataChannelInit`, `RtcPeerConnection`*"]
598    pub fn create_data_channel_with_data_channel_dict(
599        this: &RtcPeerConnection,
600        label: &str,
601        data_channel_dict: &RtcDataChannelInit,
602    ) -> RtcDataChannel;
603    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createOffer)]
604    #[doc = "The `createOffer()` method."]
605    #[doc = ""]
606    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
607    #[doc = ""]
608    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
609    pub fn create_offer(this: &RtcPeerConnection) -> ::js_sys::Promise;
610    #[cfg(feature = "RtcOfferOptions")]
611    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createOffer)]
612    #[doc = "The `createOffer()` method."]
613    #[doc = ""]
614    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
615    #[doc = ""]
616    #[doc = "*This API requires the following crate features to be activated: `RtcOfferOptions`, `RtcPeerConnection`*"]
617    pub fn create_offer_with_rtc_offer_options(
618        this: &RtcPeerConnection,
619        options: &RtcOfferOptions,
620    ) -> ::js_sys::Promise;
621    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createOffer)]
622    #[doc = "The `createOffer()` method."]
623    #[doc = ""]
624    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
625    #[doc = ""]
626    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
627    pub fn create_offer_with_callback_and_failure_callback(
628        this: &RtcPeerConnection,
629        success_callback: &::js_sys::Function,
630        failure_callback: &::js_sys::Function,
631    ) -> ::js_sys::Promise;
632    #[cfg(feature = "RtcOfferOptions")]
633    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = createOffer)]
634    #[doc = "The `createOffer()` method."]
635    #[doc = ""]
636    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createOffer)"]
637    #[doc = ""]
638    #[doc = "*This API requires the following crate features to be activated: `RtcOfferOptions`, `RtcPeerConnection`*"]
639    pub fn create_offer_with_callback_and_failure_callback_and_options(
640        this: &RtcPeerConnection,
641        success_callback: &::js_sys::Function,
642        failure_callback: &::js_sys::Function,
643        options: &RtcOfferOptions,
644    ) -> ::js_sys::Promise;
645    # [wasm_bindgen (catch , static_method_of = RtcPeerConnection , js_class = "RTCPeerConnection" , js_name = generateCertificate)]
646    #[doc = "The `generateCertificate()` method."]
647    #[doc = ""]
648    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate)"]
649    #[doc = ""]
650    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
651    pub fn generate_certificate_with_object(
652        keygen_algorithm: &::js_sys::Object,
653    ) -> Result<::js_sys::Promise, JsValue>;
654    # [wasm_bindgen (catch , static_method_of = RtcPeerConnection , js_class = "RTCPeerConnection" , js_name = generateCertificate)]
655    #[doc = "The `generateCertificate()` method."]
656    #[doc = ""]
657    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate)"]
658    #[doc = ""]
659    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
660    pub fn generate_certificate_with_str(
661        keygen_algorithm: &str,
662    ) -> Result<::js_sys::Promise, JsValue>;
663    #[cfg(feature = "RtcConfiguration")]
664    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getConfiguration)]
665    #[doc = "The `getConfiguration()` method."]
666    #[doc = ""]
667    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getConfiguration)"]
668    #[doc = ""]
669    #[doc = "*This API requires the following crate features to be activated: `RtcConfiguration`, `RtcPeerConnection`*"]
670    pub fn get_configuration(this: &RtcPeerConnection) -> RtcConfiguration;
671    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getIdentityAssertion)]
672    #[doc = "The `getIdentityAssertion()` method."]
673    #[doc = ""]
674    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getIdentityAssertion)"]
675    #[doc = ""]
676    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
677    pub fn get_identity_assertion(this: &RtcPeerConnection) -> ::js_sys::Promise;
678    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getLocalStreams)]
679    #[doc = "The `getLocalStreams()` method."]
680    #[doc = ""]
681    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getLocalStreams)"]
682    #[doc = ""]
683    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
684    pub fn get_local_streams(this: &RtcPeerConnection) -> ::js_sys::Array;
685    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getReceivers)]
686    #[doc = "The `getReceivers()` method."]
687    #[doc = ""]
688    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getReceivers)"]
689    #[doc = ""]
690    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
691    pub fn get_receivers(this: &RtcPeerConnection) -> ::js_sys::Array;
692    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getRemoteStreams)]
693    #[doc = "The `getRemoteStreams()` method."]
694    #[doc = ""]
695    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getRemoteStreams)"]
696    #[doc = ""]
697    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
698    pub fn get_remote_streams(this: &RtcPeerConnection) -> ::js_sys::Array;
699    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getSenders)]
700    #[doc = "The `getSenders()` method."]
701    #[doc = ""]
702    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getSenders)"]
703    #[doc = ""]
704    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
705    pub fn get_senders(this: &RtcPeerConnection) -> ::js_sys::Array;
706    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getStats)]
707    #[doc = "The `getStats()` method."]
708    #[doc = ""]
709    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
710    #[doc = ""]
711    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
712    pub fn get_stats(this: &RtcPeerConnection) -> ::js_sys::Promise;
713    #[cfg(feature = "MediaStreamTrack")]
714    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getStats)]
715    #[doc = "The `getStats()` method."]
716    #[doc = ""]
717    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
718    #[doc = ""]
719    #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`*"]
720    pub fn get_stats_with_selector(
721        this: &RtcPeerConnection,
722        selector: Option<&MediaStreamTrack>,
723    ) -> ::js_sys::Promise;
724    #[cfg(feature = "MediaStreamTrack")]
725    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getStats)]
726    #[doc = "The `getStats()` method."]
727    #[doc = ""]
728    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats)"]
729    #[doc = ""]
730    #[doc = "*This API requires the following crate features to be activated: `MediaStreamTrack`, `RtcPeerConnection`*"]
731    pub fn get_stats_with_selector_and_success_callback_and_failure_callback(
732        this: &RtcPeerConnection,
733        selector: Option<&MediaStreamTrack>,
734        success_callback: &::js_sys::Function,
735        failure_callback: &::js_sys::Function,
736    ) -> ::js_sys::Promise;
737    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = getTransceivers)]
738    #[doc = "The `getTransceivers()` method."]
739    #[doc = ""]
740    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getTransceivers)"]
741    #[doc = ""]
742    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
743    pub fn get_transceivers(this: &RtcPeerConnection) -> ::js_sys::Array;
744    #[cfg(feature = "RtcRtpSender")]
745    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = removeTrack)]
746    #[doc = "The `removeTrack()` method."]
747    #[doc = ""]
748    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/removeTrack)"]
749    #[doc = ""]
750    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcRtpSender`*"]
751    pub fn remove_track(this: &RtcPeerConnection, sender: &RtcRtpSender);
752    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setIdentityProvider)]
753    #[doc = "The `setIdentityProvider()` method."]
754    #[doc = ""]
755    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setIdentityProvider)"]
756    #[doc = ""]
757    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
758    pub fn set_identity_provider(this: &RtcPeerConnection, provider: &str);
759    #[cfg(feature = "RtcIdentityProviderOptions")]
760    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setIdentityProvider)]
761    #[doc = "The `setIdentityProvider()` method."]
762    #[doc = ""]
763    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setIdentityProvider)"]
764    #[doc = ""]
765    #[doc = "*This API requires the following crate features to be activated: `RtcIdentityProviderOptions`, `RtcPeerConnection`*"]
766    pub fn set_identity_provider_with_options(
767        this: &RtcPeerConnection,
768        provider: &str,
769        options: &RtcIdentityProviderOptions,
770    );
771    #[cfg(feature = "RtcSessionDescriptionInit")]
772    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setLocalDescription)]
773    #[doc = "The `setLocalDescription()` method."]
774    #[doc = ""]
775    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setLocalDescription)"]
776    #[doc = ""]
777    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
778    pub fn set_local_description(
779        this: &RtcPeerConnection,
780        description: &RtcSessionDescriptionInit,
781    ) -> ::js_sys::Promise;
782    #[cfg(feature = "RtcSessionDescriptionInit")]
783    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setLocalDescription)]
784    #[doc = "The `setLocalDescription()` method."]
785    #[doc = ""]
786    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setLocalDescription)"]
787    #[doc = ""]
788    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
789    pub fn set_local_description_with_success_callback_and_failure_callback(
790        this: &RtcPeerConnection,
791        description: &RtcSessionDescriptionInit,
792        success_callback: &::js_sys::Function,
793        failure_callback: &::js_sys::Function,
794    ) -> ::js_sys::Promise;
795    #[cfg(feature = "RtcSessionDescriptionInit")]
796    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setRemoteDescription)]
797    #[doc = "The `setRemoteDescription()` method."]
798    #[doc = ""]
799    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setRemoteDescription)"]
800    #[doc = ""]
801    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
802    pub fn set_remote_description(
803        this: &RtcPeerConnection,
804        description: &RtcSessionDescriptionInit,
805    ) -> ::js_sys::Promise;
806    #[cfg(feature = "RtcSessionDescriptionInit")]
807    # [wasm_bindgen (method , structural , js_class = "RTCPeerConnection" , js_name = setRemoteDescription)]
808    #[doc = "The `setRemoteDescription()` method."]
809    #[doc = ""]
810    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setRemoteDescription)"]
811    #[doc = ""]
812    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcSessionDescriptionInit`*"]
813    pub fn set_remote_description_with_success_callback_and_failure_callback(
814        this: &RtcPeerConnection,
815        description: &RtcSessionDescriptionInit,
816        success_callback: &::js_sys::Function,
817        failure_callback: &::js_sys::Function,
818    ) -> ::js_sys::Promise;
819}