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