1#![allow(unused_imports)]
2#![allow(clippy::all)]
3use super::*;
4use wasm_bindgen::prelude::*;
5#[wasm_bindgen]
6extern "C" {
7 # [wasm_bindgen (extends = :: js_sys :: Object , js_name = VideoFrame , typescript_type = "VideoFrame")]
8 #[derive(Debug, Clone, PartialEq, Eq)]
9 #[doc = "The `VideoFrame` class."]
10 #[doc = ""]
11 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame)"]
12 #[doc = ""]
13 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
14 pub type VideoFrame;
15 #[cfg(feature = "VideoPixelFormat")]
16 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = format)]
17 #[doc = "Getter for the `format` field of this object."]
18 #[doc = ""]
19 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/format)"]
20 #[doc = ""]
21 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoPixelFormat`*"]
22 pub fn format(this: &VideoFrame) -> Option<VideoPixelFormat>;
23 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = codedWidth)]
24 #[doc = "Getter for the `codedWidth` field of this object."]
25 #[doc = ""]
26 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/codedWidth)"]
27 #[doc = ""]
28 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
29 pub fn coded_width(this: &VideoFrame) -> u32;
30 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = codedHeight)]
31 #[doc = "Getter for the `codedHeight` field of this object."]
32 #[doc = ""]
33 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/codedHeight)"]
34 #[doc = ""]
35 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
36 pub fn coded_height(this: &VideoFrame) -> u32;
37 #[cfg(feature = "DomRectReadOnly")]
38 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = codedRect)]
39 #[doc = "Getter for the `codedRect` field of this object."]
40 #[doc = ""]
41 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/codedRect)"]
42 #[doc = ""]
43 #[doc = "*This API requires the following crate features to be activated: `DomRectReadOnly`, `VideoFrame`*"]
44 pub fn coded_rect(this: &VideoFrame) -> Option<DomRectReadOnly>;
45 #[cfg(feature = "DomRectReadOnly")]
46 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = visibleRect)]
47 #[doc = "Getter for the `visibleRect` field of this object."]
48 #[doc = ""]
49 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/visibleRect)"]
50 #[doc = ""]
51 #[doc = "*This API requires the following crate features to be activated: `DomRectReadOnly`, `VideoFrame`*"]
52 pub fn visible_rect(this: &VideoFrame) -> Option<DomRectReadOnly>;
53 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = displayWidth)]
54 #[doc = "Getter for the `displayWidth` field of this object."]
55 #[doc = ""]
56 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/displayWidth)"]
57 #[doc = ""]
58 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
59 pub fn display_width(this: &VideoFrame) -> u32;
60 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = displayHeight)]
61 #[doc = "Getter for the `displayHeight` field of this object."]
62 #[doc = ""]
63 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/displayHeight)"]
64 #[doc = ""]
65 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
66 pub fn display_height(this: &VideoFrame) -> u32;
67 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = duration)]
68 #[doc = "Getter for the `duration` field of this object."]
69 #[doc = ""]
70 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/duration)"]
71 #[doc = ""]
72 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
73 pub fn duration(this: &VideoFrame) -> Option<f64>;
74 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = timestamp)]
75 #[doc = "Getter for the `timestamp` field of this object."]
76 #[doc = ""]
77 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/timestamp)"]
78 #[doc = ""]
79 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
80 pub fn timestamp(this: &VideoFrame) -> f64;
81 #[cfg(feature = "VideoColorSpace")]
82 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = colorSpace)]
83 #[doc = "Getter for the `colorSpace` field of this object."]
84 #[doc = ""]
85 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/colorSpace)"]
86 #[doc = ""]
87 #[doc = "*This API requires the following crate features to be activated: `VideoColorSpace`, `VideoFrame`*"]
88 pub fn color_space(this: &VideoFrame) -> VideoColorSpace;
89 #[cfg(web_sys_unstable_apis)]
90 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = rotation)]
91 #[doc = "Getter for the `rotation` field of this object."]
92 #[doc = ""]
93 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/rotation)"]
94 #[doc = ""]
95 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
96 #[doc = ""]
97 #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
98 #[doc = "[described in the `wasm-bindgen` guide](https://wasm-bindgen.github.io/wasm-bindgen/web-sys/unstable-apis.html)*"]
99 pub fn rotation(this: &VideoFrame) -> f64;
100 #[cfg(web_sys_unstable_apis)]
101 # [wasm_bindgen (structural , method , getter , js_class = "VideoFrame" , js_name = flip)]
102 #[doc = "Getter for the `flip` field of this object."]
103 #[doc = ""]
104 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/flip)"]
105 #[doc = ""]
106 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
107 #[doc = ""]
108 #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
109 #[doc = "[described in the `wasm-bindgen` guide](https://wasm-bindgen.github.io/wasm-bindgen/web-sys/unstable-apis.html)*"]
110 pub fn flip(this: &VideoFrame) -> bool;
111 #[cfg(feature = "HtmlImageElement")]
112 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
113 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
114 #[doc = ""]
115 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
116 #[doc = ""]
117 #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `VideoFrame`*"]
118 pub fn new_with_html_image_element(image: &HtmlImageElement) -> Result<VideoFrame, JsValue>;
119 #[cfg(feature = "SvgImageElement")]
120 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
121 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
122 #[doc = ""]
123 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
124 #[doc = ""]
125 #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `VideoFrame`*"]
126 pub fn new_with_svg_image_element(image: &SvgImageElement) -> Result<VideoFrame, JsValue>;
127 #[cfg(feature = "HtmlCanvasElement")]
128 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
129 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
130 #[doc = ""]
131 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
132 #[doc = ""]
133 #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `VideoFrame`*"]
134 pub fn new_with_html_canvas_element(image: &HtmlCanvasElement) -> Result<VideoFrame, JsValue>;
135 #[cfg(feature = "HtmlVideoElement")]
136 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
137 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
138 #[doc = ""]
139 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
140 #[doc = ""]
141 #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `VideoFrame`*"]
142 pub fn new_with_html_video_element(image: &HtmlVideoElement) -> Result<VideoFrame, JsValue>;
143 #[cfg(feature = "ImageBitmap")]
144 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
145 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
146 #[doc = ""]
147 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
148 #[doc = ""]
149 #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `VideoFrame`*"]
150 pub fn new_with_image_bitmap(image: &ImageBitmap) -> Result<VideoFrame, JsValue>;
151 #[cfg(feature = "OffscreenCanvas")]
152 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
153 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
154 #[doc = ""]
155 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
156 #[doc = ""]
157 #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `VideoFrame`*"]
158 pub fn new_with_offscreen_canvas(image: &OffscreenCanvas) -> Result<VideoFrame, JsValue>;
159 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
160 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
161 #[doc = ""]
162 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
163 #[doc = ""]
164 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
165 pub fn new_with_video_frame(image: &VideoFrame) -> Result<VideoFrame, JsValue>;
166 #[cfg(all(feature = "HtmlImageElement", feature = "VideoFrameInit",))]
167 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
168 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
169 #[doc = ""]
170 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
171 #[doc = ""]
172 #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `VideoFrame`, `VideoFrameInit`*"]
173 pub fn new_with_html_image_element_and_video_frame_init(
174 image: &HtmlImageElement,
175 init: &VideoFrameInit,
176 ) -> Result<VideoFrame, JsValue>;
177 #[cfg(all(feature = "SvgImageElement", feature = "VideoFrameInit",))]
178 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
179 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
180 #[doc = ""]
181 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
182 #[doc = ""]
183 #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `VideoFrame`, `VideoFrameInit`*"]
184 pub fn new_with_svg_image_element_and_video_frame_init(
185 image: &SvgImageElement,
186 init: &VideoFrameInit,
187 ) -> Result<VideoFrame, JsValue>;
188 #[cfg(all(feature = "HtmlCanvasElement", feature = "VideoFrameInit",))]
189 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
190 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
191 #[doc = ""]
192 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
193 #[doc = ""]
194 #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `VideoFrame`, `VideoFrameInit`*"]
195 pub fn new_with_html_canvas_element_and_video_frame_init(
196 image: &HtmlCanvasElement,
197 init: &VideoFrameInit,
198 ) -> Result<VideoFrame, JsValue>;
199 #[cfg(all(feature = "HtmlVideoElement", feature = "VideoFrameInit",))]
200 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
201 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
202 #[doc = ""]
203 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
204 #[doc = ""]
205 #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `VideoFrame`, `VideoFrameInit`*"]
206 pub fn new_with_html_video_element_and_video_frame_init(
207 image: &HtmlVideoElement,
208 init: &VideoFrameInit,
209 ) -> Result<VideoFrame, JsValue>;
210 #[cfg(all(feature = "ImageBitmap", feature = "VideoFrameInit",))]
211 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
212 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
213 #[doc = ""]
214 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
215 #[doc = ""]
216 #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `VideoFrame`, `VideoFrameInit`*"]
217 pub fn new_with_image_bitmap_and_video_frame_init(
218 image: &ImageBitmap,
219 init: &VideoFrameInit,
220 ) -> Result<VideoFrame, JsValue>;
221 #[cfg(all(feature = "OffscreenCanvas", feature = "VideoFrameInit",))]
222 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
223 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
224 #[doc = ""]
225 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
226 #[doc = ""]
227 #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `VideoFrame`, `VideoFrameInit`*"]
228 pub fn new_with_offscreen_canvas_and_video_frame_init(
229 image: &OffscreenCanvas,
230 init: &VideoFrameInit,
231 ) -> Result<VideoFrame, JsValue>;
232 #[cfg(feature = "VideoFrameInit")]
233 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
234 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
235 #[doc = ""]
236 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
237 #[doc = ""]
238 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameInit`*"]
239 pub fn new_with_video_frame_and_video_frame_init(
240 image: &VideoFrame,
241 init: &VideoFrameInit,
242 ) -> Result<VideoFrame, JsValue>;
243 #[cfg(feature = "VideoFrameBufferInit")]
244 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
245 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
246 #[doc = ""]
247 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
248 #[doc = ""]
249 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameBufferInit`*"]
250 pub fn new_with_buffer_source_and_video_frame_buffer_init(
251 data: &::js_sys::Object,
252 init: &VideoFrameBufferInit,
253 ) -> Result<VideoFrame, JsValue>;
254 #[cfg(feature = "VideoFrameBufferInit")]
255 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
256 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
257 #[doc = ""]
258 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
259 #[doc = ""]
260 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameBufferInit`*"]
261 pub fn new_with_u8_slice_and_video_frame_buffer_init(
262 data: &mut [u8],
263 init: &VideoFrameBufferInit,
264 ) -> Result<VideoFrame, JsValue>;
265 #[cfg(feature = "VideoFrameBufferInit")]
266 #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
267 #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
268 #[doc = ""]
269 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
270 #[doc = ""]
271 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameBufferInit`*"]
272 pub fn new_with_u8_array_and_video_frame_buffer_init(
273 data: &::js_sys::Uint8Array,
274 init: &VideoFrameBufferInit,
275 ) -> Result<VideoFrame, JsValue>;
276 # [wasm_bindgen (catch , method , structural , js_class = "VideoFrame" , js_name = allocationSize)]
277 #[doc = "The `allocationSize()` method."]
278 #[doc = ""]
279 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/allocationSize)"]
280 #[doc = ""]
281 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
282 pub fn allocation_size(this: &VideoFrame) -> Result<u32, JsValue>;
283 #[cfg(feature = "VideoFrameCopyToOptions")]
284 # [wasm_bindgen (catch , method , structural , js_class = "VideoFrame" , js_name = allocationSize)]
285 #[doc = "The `allocationSize()` method."]
286 #[doc = ""]
287 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/allocationSize)"]
288 #[doc = ""]
289 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameCopyToOptions`*"]
290 pub fn allocation_size_with_options(
291 this: &VideoFrame,
292 options: &VideoFrameCopyToOptions,
293 ) -> Result<u32, JsValue>;
294 # [wasm_bindgen (catch , method , structural , js_class = "VideoFrame" , js_name = clone)]
295 #[doc = "The `clone()` method."]
296 #[doc = ""]
297 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/clone)"]
298 #[doc = ""]
299 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
300 pub fn clone(this: &VideoFrame) -> Result<VideoFrame, JsValue>;
301 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = close)]
302 #[doc = "The `close()` method."]
303 #[doc = ""]
304 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/close)"]
305 #[doc = ""]
306 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
307 pub fn close(this: &VideoFrame);
308 #[cfg(feature = "PlaneLayout")]
309 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
310 #[doc = "The `copyTo()` method."]
311 #[doc = ""]
312 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
313 #[doc = ""]
314 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`*"]
315 pub fn copy_to_with_buffer_source(
316 this: &VideoFrame,
317 destination: &::js_sys::Object,
318 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
319 #[cfg(feature = "PlaneLayout")]
320 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
321 #[doc = "The `copyTo()` method."]
322 #[doc = ""]
323 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
324 #[doc = ""]
325 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`*"]
326 pub fn copy_to_with_u8_slice(
327 this: &VideoFrame,
328 destination: &mut [u8],
329 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
330 #[cfg(feature = "PlaneLayout")]
331 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
332 #[doc = "The `copyTo()` method."]
333 #[doc = ""]
334 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
335 #[doc = ""]
336 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`*"]
337 pub fn copy_to_with_u8_array(
338 this: &VideoFrame,
339 destination: &::js_sys::Uint8Array,
340 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
341 #[cfg(all(feature = "PlaneLayout", feature = "VideoFrameCopyToOptions",))]
342 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
343 #[doc = "The `copyTo()` method."]
344 #[doc = ""]
345 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
346 #[doc = ""]
347 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`, `VideoFrameCopyToOptions`*"]
348 pub fn copy_to_with_buffer_source_and_options(
349 this: &VideoFrame,
350 destination: &::js_sys::Object,
351 options: &VideoFrameCopyToOptions,
352 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
353 #[cfg(all(feature = "PlaneLayout", feature = "VideoFrameCopyToOptions",))]
354 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
355 #[doc = "The `copyTo()` method."]
356 #[doc = ""]
357 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
358 #[doc = ""]
359 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`, `VideoFrameCopyToOptions`*"]
360 pub fn copy_to_with_u8_slice_and_options(
361 this: &VideoFrame,
362 destination: &mut [u8],
363 options: &VideoFrameCopyToOptions,
364 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
365 #[cfg(all(feature = "PlaneLayout", feature = "VideoFrameCopyToOptions",))]
366 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = copyTo)]
367 #[doc = "The `copyTo()` method."]
368 #[doc = ""]
369 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/copyTo)"]
370 #[doc = ""]
371 #[doc = "*This API requires the following crate features to be activated: `PlaneLayout`, `VideoFrame`, `VideoFrameCopyToOptions`*"]
372 pub fn copy_to_with_u8_array_and_options(
373 this: &VideoFrame,
374 destination: &::js_sys::Uint8Array,
375 options: &VideoFrameCopyToOptions,
376 ) -> ::js_sys::Promise<::js_sys::Array<PlaneLayout>>;
377 #[cfg(web_sys_unstable_apis)]
378 #[cfg(feature = "VideoFrameMetadata")]
379 # [wasm_bindgen (method , structural , js_class = "VideoFrame" , js_name = metadata)]
380 #[doc = "The `metadata()` method."]
381 #[doc = ""]
382 #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/metadata)"]
383 #[doc = ""]
384 #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameMetadata`*"]
385 #[doc = ""]
386 #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
387 #[doc = "[described in the `wasm-bindgen` guide](https://wasm-bindgen.github.io/wasm-bindgen/web-sys/unstable-apis.html)*"]
388 pub fn metadata(this: &VideoFrame) -> VideoFrameMetadata;
389}