Skip to main content

web_sys/features/
gen_VideoFrame.rs

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}