Skip to main content

web_sys/features/
gen_RtcPeerConnection.rs

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