1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gobject_sys as gobject;
17use gstreamer_base_sys as gst_base;
18use gstreamer_sys as gst;
19
20#[cfg(unix)]
21#[allow(unused_imports)]
22use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
23#[allow(unused_imports)]
24use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
25#[allow(unused_imports)]
26use std::ffi::{
27 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
28};
29
30#[allow(unused_imports)]
31use glib::{gboolean, gconstpointer, gpointer, GType};
32
33pub type GstAncillaryMetaField = c_int;
35pub const GST_ANCILLARY_META_FIELD_PROGRESSIVE: GstAncillaryMetaField = 0;
36pub const GST_ANCILLARY_META_FIELD_INTERLACED_FIRST: GstAncillaryMetaField = 16;
37pub const GST_ANCILLARY_META_FIELD_INTERLACED_SECOND: GstAncillaryMetaField = 17;
38
39pub type GstColorBalanceType = c_int;
40pub const GST_COLOR_BALANCE_HARDWARE: GstColorBalanceType = 0;
41pub const GST_COLOR_BALANCE_SOFTWARE: GstColorBalanceType = 1;
42
43pub type GstNavigationCommand = c_int;
44pub const GST_NAVIGATION_COMMAND_INVALID: GstNavigationCommand = 0;
45pub const GST_NAVIGATION_COMMAND_MENU1: GstNavigationCommand = 1;
46pub const GST_NAVIGATION_COMMAND_MENU2: GstNavigationCommand = 2;
47pub const GST_NAVIGATION_COMMAND_MENU3: GstNavigationCommand = 3;
48pub const GST_NAVIGATION_COMMAND_MENU4: GstNavigationCommand = 4;
49pub const GST_NAVIGATION_COMMAND_MENU5: GstNavigationCommand = 5;
50pub const GST_NAVIGATION_COMMAND_MENU6: GstNavigationCommand = 6;
51pub const GST_NAVIGATION_COMMAND_MENU7: GstNavigationCommand = 7;
52pub const GST_NAVIGATION_COMMAND_LEFT: GstNavigationCommand = 20;
53pub const GST_NAVIGATION_COMMAND_RIGHT: GstNavigationCommand = 21;
54pub const GST_NAVIGATION_COMMAND_UP: GstNavigationCommand = 22;
55pub const GST_NAVIGATION_COMMAND_DOWN: GstNavigationCommand = 23;
56pub const GST_NAVIGATION_COMMAND_ACTIVATE: GstNavigationCommand = 24;
57pub const GST_NAVIGATION_COMMAND_PREV_ANGLE: GstNavigationCommand = 30;
58pub const GST_NAVIGATION_COMMAND_NEXT_ANGLE: GstNavigationCommand = 31;
59
60pub type GstNavigationEventType = c_int;
61pub const GST_NAVIGATION_EVENT_INVALID: GstNavigationEventType = 0;
62pub const GST_NAVIGATION_EVENT_KEY_PRESS: GstNavigationEventType = 1;
63pub const GST_NAVIGATION_EVENT_KEY_RELEASE: GstNavigationEventType = 2;
64pub const GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS: GstNavigationEventType = 3;
65pub const GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE: GstNavigationEventType = 4;
66pub const GST_NAVIGATION_EVENT_MOUSE_MOVE: GstNavigationEventType = 5;
67pub const GST_NAVIGATION_EVENT_COMMAND: GstNavigationEventType = 6;
68#[cfg(feature = "v1_18")]
69#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
70pub const GST_NAVIGATION_EVENT_MOUSE_SCROLL: GstNavigationEventType = 7;
71#[cfg(feature = "v1_22")]
72#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
73pub const GST_NAVIGATION_EVENT_TOUCH_DOWN: GstNavigationEventType = 8;
74#[cfg(feature = "v1_22")]
75#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
76pub const GST_NAVIGATION_EVENT_TOUCH_MOTION: GstNavigationEventType = 9;
77#[cfg(feature = "v1_22")]
78#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
79pub const GST_NAVIGATION_EVENT_TOUCH_UP: GstNavigationEventType = 10;
80#[cfg(feature = "v1_22")]
81#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
82pub const GST_NAVIGATION_EVENT_TOUCH_FRAME: GstNavigationEventType = 11;
83#[cfg(feature = "v1_22")]
84#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
85pub const GST_NAVIGATION_EVENT_TOUCH_CANCEL: GstNavigationEventType = 12;
86#[cfg(feature = "v1_26")]
87#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
88pub const GST_NAVIGATION_EVENT_MOUSE_DOUBLE_CLICK: GstNavigationEventType = 13;
89
90pub type GstNavigationMessageType = c_int;
91pub const GST_NAVIGATION_MESSAGE_INVALID: GstNavigationMessageType = 0;
92pub const GST_NAVIGATION_MESSAGE_MOUSE_OVER: GstNavigationMessageType = 1;
93pub const GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED: GstNavigationMessageType = 2;
94pub const GST_NAVIGATION_MESSAGE_ANGLES_CHANGED: GstNavigationMessageType = 3;
95pub const GST_NAVIGATION_MESSAGE_EVENT: GstNavigationMessageType = 4;
96
97pub type GstNavigationQueryType = c_int;
98pub const GST_NAVIGATION_QUERY_INVALID: GstNavigationQueryType = 0;
99pub const GST_NAVIGATION_QUERY_COMMANDS: GstNavigationQueryType = 1;
100pub const GST_NAVIGATION_QUERY_ANGLES: GstNavigationQueryType = 2;
101
102pub type GstVideoAFDSpec = c_int;
103pub const GST_VIDEO_AFD_SPEC_DVB_ETSI: GstVideoAFDSpec = 0;
104pub const GST_VIDEO_AFD_SPEC_ATSC_A53: GstVideoAFDSpec = 1;
105pub const GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1: GstVideoAFDSpec = 2;
106
107pub type GstVideoAFDValue = c_int;
108pub const GST_VIDEO_AFD_UNAVAILABLE: GstVideoAFDValue = 0;
109pub const GST_VIDEO_AFD_16_9_TOP_ALIGNED: GstVideoAFDValue = 2;
110pub const GST_VIDEO_AFD_14_9_TOP_ALIGNED: GstVideoAFDValue = 3;
111pub const GST_VIDEO_AFD_GREATER_THAN_16_9: GstVideoAFDValue = 4;
112pub const GST_VIDEO_AFD_4_3_FULL_16_9_FULL: GstVideoAFDValue = 8;
113pub const GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR: GstVideoAFDValue = 9;
114pub const GST_VIDEO_AFD_16_9_LETTER_16_9_FULL: GstVideoAFDValue = 10;
115pub const GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR: GstVideoAFDValue = 11;
116pub const GST_VIDEO_AFD_4_3_FULL_14_9_CENTER: GstVideoAFDValue = 13;
117pub const GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER: GstVideoAFDValue = 14;
118pub const GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER: GstVideoAFDValue = 15;
119
120pub type GstVideoAlphaMode = c_int;
121pub const GST_VIDEO_ALPHA_MODE_COPY: GstVideoAlphaMode = 0;
122pub const GST_VIDEO_ALPHA_MODE_SET: GstVideoAlphaMode = 1;
123pub const GST_VIDEO_ALPHA_MODE_MULT: GstVideoAlphaMode = 2;
124
125pub type GstVideoAncillaryDID = c_int;
126pub const GST_VIDEO_ANCILLARY_DID_UNDEFINED: GstVideoAncillaryDID = 0;
127pub const GST_VIDEO_ANCILLARY_DID_DELETION: GstVideoAncillaryDID = 128;
128pub const GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST: GstVideoAncillaryDID = 160;
129pub const GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST: GstVideoAncillaryDID = 167;
130pub const GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST: GstVideoAncillaryDID = 224;
131pub const GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST: GstVideoAncillaryDID = 231;
132pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST: GstVideoAncillaryDID = 236;
133pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST: GstVideoAncillaryDID = 239;
134pub const GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION: GstVideoAncillaryDID = 240;
135pub const GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION: GstVideoAncillaryDID = 244;
136pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST: GstVideoAncillaryDID = 248;
137pub const GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST: GstVideoAncillaryDID = 255;
138
139pub type GstVideoAncillaryDID16 = c_int;
140pub const GST_VIDEO_ANCILLARY_DID16_S334_EIA_708: GstVideoAncillaryDID16 = 24833;
141pub const GST_VIDEO_ANCILLARY_DID16_S334_EIA_608: GstVideoAncillaryDID16 = 24834;
142pub const GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR: GstVideoAncillaryDID16 = 16645;
143
144pub type GstVideoCaptionType = c_int;
145pub const GST_VIDEO_CAPTION_TYPE_UNKNOWN: GstVideoCaptionType = 0;
146pub const GST_VIDEO_CAPTION_TYPE_CEA608_RAW: GstVideoCaptionType = 1;
147pub const GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A: GstVideoCaptionType = 2;
148pub const GST_VIDEO_CAPTION_TYPE_CEA708_RAW: GstVideoCaptionType = 3;
149pub const GST_VIDEO_CAPTION_TYPE_CEA708_CDP: GstVideoCaptionType = 4;
150
151pub type GstVideoChromaMethod = c_int;
152pub const GST_VIDEO_CHROMA_METHOD_NEAREST: GstVideoChromaMethod = 0;
153pub const GST_VIDEO_CHROMA_METHOD_LINEAR: GstVideoChromaMethod = 1;
154
155pub type GstVideoChromaMode = c_int;
156pub const GST_VIDEO_CHROMA_MODE_FULL: GstVideoChromaMode = 0;
157pub const GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY: GstVideoChromaMode = 1;
158pub const GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY: GstVideoChromaMode = 2;
159pub const GST_VIDEO_CHROMA_MODE_NONE: GstVideoChromaMode = 3;
160
161pub type GstVideoColorMatrix = c_int;
162pub const GST_VIDEO_COLOR_MATRIX_UNKNOWN: GstVideoColorMatrix = 0;
163pub const GST_VIDEO_COLOR_MATRIX_RGB: GstVideoColorMatrix = 1;
164pub const GST_VIDEO_COLOR_MATRIX_FCC: GstVideoColorMatrix = 2;
165pub const GST_VIDEO_COLOR_MATRIX_BT709: GstVideoColorMatrix = 3;
166pub const GST_VIDEO_COLOR_MATRIX_BT601: GstVideoColorMatrix = 4;
167pub const GST_VIDEO_COLOR_MATRIX_SMPTE240M: GstVideoColorMatrix = 5;
168pub const GST_VIDEO_COLOR_MATRIX_BT2020: GstVideoColorMatrix = 6;
169
170pub type GstVideoColorPrimaries = c_int;
171pub const GST_VIDEO_COLOR_PRIMARIES_UNKNOWN: GstVideoColorPrimaries = 0;
172pub const GST_VIDEO_COLOR_PRIMARIES_BT709: GstVideoColorPrimaries = 1;
173pub const GST_VIDEO_COLOR_PRIMARIES_BT470M: GstVideoColorPrimaries = 2;
174pub const GST_VIDEO_COLOR_PRIMARIES_BT470BG: GstVideoColorPrimaries = 3;
175pub const GST_VIDEO_COLOR_PRIMARIES_SMPTE170M: GstVideoColorPrimaries = 4;
176pub const GST_VIDEO_COLOR_PRIMARIES_SMPTE240M: GstVideoColorPrimaries = 5;
177pub const GST_VIDEO_COLOR_PRIMARIES_FILM: GstVideoColorPrimaries = 6;
178pub const GST_VIDEO_COLOR_PRIMARIES_BT2020: GstVideoColorPrimaries = 7;
179pub const GST_VIDEO_COLOR_PRIMARIES_ADOBERGB: GstVideoColorPrimaries = 8;
180pub const GST_VIDEO_COLOR_PRIMARIES_SMPTEST428: GstVideoColorPrimaries = 9;
181pub const GST_VIDEO_COLOR_PRIMARIES_SMPTERP431: GstVideoColorPrimaries = 10;
182pub const GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432: GstVideoColorPrimaries = 11;
183pub const GST_VIDEO_COLOR_PRIMARIES_EBU3213: GstVideoColorPrimaries = 12;
184
185pub type GstVideoColorRange = c_int;
186pub const GST_VIDEO_COLOR_RANGE_UNKNOWN: GstVideoColorRange = 0;
187pub const GST_VIDEO_COLOR_RANGE_0_255: GstVideoColorRange = 1;
188pub const GST_VIDEO_COLOR_RANGE_16_235: GstVideoColorRange = 2;
189
190pub type GstVideoDitherMethod = c_int;
191pub const GST_VIDEO_DITHER_NONE: GstVideoDitherMethod = 0;
192pub const GST_VIDEO_DITHER_VERTERR: GstVideoDitherMethod = 1;
193pub const GST_VIDEO_DITHER_FLOYD_STEINBERG: GstVideoDitherMethod = 2;
194pub const GST_VIDEO_DITHER_SIERRA_LITE: GstVideoDitherMethod = 3;
195pub const GST_VIDEO_DITHER_BAYER: GstVideoDitherMethod = 4;
196
197pub type GstVideoFieldOrder = c_int;
198pub const GST_VIDEO_FIELD_ORDER_UNKNOWN: GstVideoFieldOrder = 0;
199pub const GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST: GstVideoFieldOrder = 1;
200pub const GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST: GstVideoFieldOrder = 2;
201
202pub type GstVideoFormat = c_int;
203pub const GST_VIDEO_FORMAT_UNKNOWN: GstVideoFormat = 0;
204pub const GST_VIDEO_FORMAT_ENCODED: GstVideoFormat = 1;
205pub const GST_VIDEO_FORMAT_I420: GstVideoFormat = 2;
206pub const GST_VIDEO_FORMAT_YV12: GstVideoFormat = 3;
207pub const GST_VIDEO_FORMAT_YUY2: GstVideoFormat = 4;
208pub const GST_VIDEO_FORMAT_UYVY: GstVideoFormat = 5;
209pub const GST_VIDEO_FORMAT_AYUV: GstVideoFormat = 6;
210pub const GST_VIDEO_FORMAT_RGBx: GstVideoFormat = 7;
211pub const GST_VIDEO_FORMAT_BGRx: GstVideoFormat = 8;
212pub const GST_VIDEO_FORMAT_xRGB: GstVideoFormat = 9;
213pub const GST_VIDEO_FORMAT_xBGR: GstVideoFormat = 10;
214pub const GST_VIDEO_FORMAT_RGBA: GstVideoFormat = 11;
215pub const GST_VIDEO_FORMAT_BGRA: GstVideoFormat = 12;
216pub const GST_VIDEO_FORMAT_ARGB: GstVideoFormat = 13;
217pub const GST_VIDEO_FORMAT_ABGR: GstVideoFormat = 14;
218pub const GST_VIDEO_FORMAT_RGB: GstVideoFormat = 15;
219pub const GST_VIDEO_FORMAT_BGR: GstVideoFormat = 16;
220pub const GST_VIDEO_FORMAT_Y41B: GstVideoFormat = 17;
221pub const GST_VIDEO_FORMAT_Y42B: GstVideoFormat = 18;
222pub const GST_VIDEO_FORMAT_YVYU: GstVideoFormat = 19;
223pub const GST_VIDEO_FORMAT_Y444: GstVideoFormat = 20;
224pub const GST_VIDEO_FORMAT_v210: GstVideoFormat = 21;
225pub const GST_VIDEO_FORMAT_v216: GstVideoFormat = 22;
226pub const GST_VIDEO_FORMAT_NV12: GstVideoFormat = 23;
227pub const GST_VIDEO_FORMAT_NV21: GstVideoFormat = 24;
228pub const GST_VIDEO_FORMAT_GRAY8: GstVideoFormat = 25;
229pub const GST_VIDEO_FORMAT_GRAY16_BE: GstVideoFormat = 26;
230pub const GST_VIDEO_FORMAT_GRAY16_LE: GstVideoFormat = 27;
231pub const GST_VIDEO_FORMAT_v308: GstVideoFormat = 28;
232pub const GST_VIDEO_FORMAT_RGB16: GstVideoFormat = 29;
233pub const GST_VIDEO_FORMAT_BGR16: GstVideoFormat = 30;
234pub const GST_VIDEO_FORMAT_RGB15: GstVideoFormat = 31;
235pub const GST_VIDEO_FORMAT_BGR15: GstVideoFormat = 32;
236pub const GST_VIDEO_FORMAT_UYVP: GstVideoFormat = 33;
237pub const GST_VIDEO_FORMAT_A420: GstVideoFormat = 34;
238pub const GST_VIDEO_FORMAT_RGB8P: GstVideoFormat = 35;
239pub const GST_VIDEO_FORMAT_YUV9: GstVideoFormat = 36;
240pub const GST_VIDEO_FORMAT_YVU9: GstVideoFormat = 37;
241pub const GST_VIDEO_FORMAT_IYU1: GstVideoFormat = 38;
242pub const GST_VIDEO_FORMAT_ARGB64: GstVideoFormat = 39;
243pub const GST_VIDEO_FORMAT_AYUV64: GstVideoFormat = 40;
244pub const GST_VIDEO_FORMAT_r210: GstVideoFormat = 41;
245pub const GST_VIDEO_FORMAT_I420_10BE: GstVideoFormat = 42;
246pub const GST_VIDEO_FORMAT_I420_10LE: GstVideoFormat = 43;
247pub const GST_VIDEO_FORMAT_I422_10BE: GstVideoFormat = 44;
248pub const GST_VIDEO_FORMAT_I422_10LE: GstVideoFormat = 45;
249pub const GST_VIDEO_FORMAT_Y444_10BE: GstVideoFormat = 46;
250pub const GST_VIDEO_FORMAT_Y444_10LE: GstVideoFormat = 47;
251pub const GST_VIDEO_FORMAT_GBR: GstVideoFormat = 48;
252pub const GST_VIDEO_FORMAT_GBR_10BE: GstVideoFormat = 49;
253pub const GST_VIDEO_FORMAT_GBR_10LE: GstVideoFormat = 50;
254pub const GST_VIDEO_FORMAT_NV16: GstVideoFormat = 51;
255pub const GST_VIDEO_FORMAT_NV24: GstVideoFormat = 52;
256pub const GST_VIDEO_FORMAT_NV12_64Z32: GstVideoFormat = 53;
257pub const GST_VIDEO_FORMAT_A420_10BE: GstVideoFormat = 54;
258pub const GST_VIDEO_FORMAT_A420_10LE: GstVideoFormat = 55;
259pub const GST_VIDEO_FORMAT_A422_10BE: GstVideoFormat = 56;
260pub const GST_VIDEO_FORMAT_A422_10LE: GstVideoFormat = 57;
261pub const GST_VIDEO_FORMAT_A444_10BE: GstVideoFormat = 58;
262pub const GST_VIDEO_FORMAT_A444_10LE: GstVideoFormat = 59;
263pub const GST_VIDEO_FORMAT_NV61: GstVideoFormat = 60;
264pub const GST_VIDEO_FORMAT_P010_10BE: GstVideoFormat = 61;
265pub const GST_VIDEO_FORMAT_P010_10LE: GstVideoFormat = 62;
266pub const GST_VIDEO_FORMAT_IYU2: GstVideoFormat = 63;
267pub const GST_VIDEO_FORMAT_VYUY: GstVideoFormat = 64;
268pub const GST_VIDEO_FORMAT_GBRA: GstVideoFormat = 65;
269pub const GST_VIDEO_FORMAT_GBRA_10BE: GstVideoFormat = 66;
270pub const GST_VIDEO_FORMAT_GBRA_10LE: GstVideoFormat = 67;
271pub const GST_VIDEO_FORMAT_GBR_12BE: GstVideoFormat = 68;
272pub const GST_VIDEO_FORMAT_GBR_12LE: GstVideoFormat = 69;
273pub const GST_VIDEO_FORMAT_GBRA_12BE: GstVideoFormat = 70;
274pub const GST_VIDEO_FORMAT_GBRA_12LE: GstVideoFormat = 71;
275pub const GST_VIDEO_FORMAT_I420_12BE: GstVideoFormat = 72;
276pub const GST_VIDEO_FORMAT_I420_12LE: GstVideoFormat = 73;
277pub const GST_VIDEO_FORMAT_I422_12BE: GstVideoFormat = 74;
278pub const GST_VIDEO_FORMAT_I422_12LE: GstVideoFormat = 75;
279pub const GST_VIDEO_FORMAT_Y444_12BE: GstVideoFormat = 76;
280pub const GST_VIDEO_FORMAT_Y444_12LE: GstVideoFormat = 77;
281pub const GST_VIDEO_FORMAT_GRAY10_LE32: GstVideoFormat = 78;
282pub const GST_VIDEO_FORMAT_NV12_10LE32: GstVideoFormat = 79;
283pub const GST_VIDEO_FORMAT_NV16_10LE32: GstVideoFormat = 80;
284pub const GST_VIDEO_FORMAT_NV12_10LE40: GstVideoFormat = 81;
285pub const GST_VIDEO_FORMAT_Y210: GstVideoFormat = 82;
286pub const GST_VIDEO_FORMAT_Y410: GstVideoFormat = 83;
287pub const GST_VIDEO_FORMAT_VUYA: GstVideoFormat = 84;
288pub const GST_VIDEO_FORMAT_BGR10A2_LE: GstVideoFormat = 85;
289pub const GST_VIDEO_FORMAT_RGB10A2_LE: GstVideoFormat = 86;
290pub const GST_VIDEO_FORMAT_Y444_16BE: GstVideoFormat = 87;
291pub const GST_VIDEO_FORMAT_Y444_16LE: GstVideoFormat = 88;
292pub const GST_VIDEO_FORMAT_P016_BE: GstVideoFormat = 89;
293pub const GST_VIDEO_FORMAT_P016_LE: GstVideoFormat = 90;
294pub const GST_VIDEO_FORMAT_P012_BE: GstVideoFormat = 91;
295pub const GST_VIDEO_FORMAT_P012_LE: GstVideoFormat = 92;
296pub const GST_VIDEO_FORMAT_Y212_BE: GstVideoFormat = 93;
297pub const GST_VIDEO_FORMAT_Y212_LE: GstVideoFormat = 94;
298pub const GST_VIDEO_FORMAT_Y412_BE: GstVideoFormat = 95;
299pub const GST_VIDEO_FORMAT_Y412_LE: GstVideoFormat = 96;
300#[cfg(feature = "v1_18")]
301#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
302pub const GST_VIDEO_FORMAT_NV12_4L4: GstVideoFormat = 97;
303#[cfg(feature = "v1_18")]
304#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
305pub const GST_VIDEO_FORMAT_NV12_32L32: GstVideoFormat = 98;
306#[cfg(feature = "v1_20")]
307#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
308pub const GST_VIDEO_FORMAT_RGBP: GstVideoFormat = 99;
309#[cfg(feature = "v1_20")]
310#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
311pub const GST_VIDEO_FORMAT_BGRP: GstVideoFormat = 100;
312#[cfg(feature = "v1_20")]
313#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
314pub const GST_VIDEO_FORMAT_AV12: GstVideoFormat = 101;
315#[cfg(feature = "v1_20")]
316#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
317pub const GST_VIDEO_FORMAT_ARGB64_LE: GstVideoFormat = 102;
318#[cfg(feature = "v1_20")]
319#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
320pub const GST_VIDEO_FORMAT_ARGB64_BE: GstVideoFormat = 103;
321#[cfg(feature = "v1_20")]
322#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
323pub const GST_VIDEO_FORMAT_RGBA64_LE: GstVideoFormat = 104;
324#[cfg(feature = "v1_20")]
325#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
326pub const GST_VIDEO_FORMAT_RGBA64_BE: GstVideoFormat = 105;
327#[cfg(feature = "v1_20")]
328#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
329pub const GST_VIDEO_FORMAT_BGRA64_LE: GstVideoFormat = 106;
330#[cfg(feature = "v1_20")]
331#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
332pub const GST_VIDEO_FORMAT_BGRA64_BE: GstVideoFormat = 107;
333#[cfg(feature = "v1_20")]
334#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
335pub const GST_VIDEO_FORMAT_ABGR64_LE: GstVideoFormat = 108;
336#[cfg(feature = "v1_20")]
337#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
338pub const GST_VIDEO_FORMAT_ABGR64_BE: GstVideoFormat = 109;
339#[cfg(feature = "v1_22")]
340#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
341pub const GST_VIDEO_FORMAT_NV12_16L32S: GstVideoFormat = 110;
342#[cfg(feature = "v1_22")]
343#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
344pub const GST_VIDEO_FORMAT_NV12_8L128: GstVideoFormat = 111;
345#[cfg(feature = "v1_22")]
346#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
347pub const GST_VIDEO_FORMAT_NV12_10BE_8L128: GstVideoFormat = 112;
348#[cfg(feature = "v1_24")]
349#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
350pub const GST_VIDEO_FORMAT_NV12_10LE40_4L4: GstVideoFormat = 113;
351#[cfg(feature = "v1_24")]
352#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
353pub const GST_VIDEO_FORMAT_DMA_DRM: GstVideoFormat = 114;
354#[cfg(feature = "v1_24")]
355#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
356pub const GST_VIDEO_FORMAT_MT2110T: GstVideoFormat = 115;
357#[cfg(feature = "v1_24")]
358#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
359pub const GST_VIDEO_FORMAT_MT2110R: GstVideoFormat = 116;
360#[cfg(feature = "v1_24")]
361#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
362pub const GST_VIDEO_FORMAT_A422: GstVideoFormat = 117;
363#[cfg(feature = "v1_24")]
364#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
365pub const GST_VIDEO_FORMAT_A444: GstVideoFormat = 118;
366#[cfg(feature = "v1_24")]
367#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
368pub const GST_VIDEO_FORMAT_A444_12LE: GstVideoFormat = 119;
369#[cfg(feature = "v1_24")]
370#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
371pub const GST_VIDEO_FORMAT_A444_12BE: GstVideoFormat = 120;
372#[cfg(feature = "v1_24")]
373#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
374pub const GST_VIDEO_FORMAT_A422_12LE: GstVideoFormat = 121;
375#[cfg(feature = "v1_24")]
376#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
377pub const GST_VIDEO_FORMAT_A422_12BE: GstVideoFormat = 122;
378#[cfg(feature = "v1_24")]
379#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
380pub const GST_VIDEO_FORMAT_A420_12LE: GstVideoFormat = 123;
381#[cfg(feature = "v1_24")]
382#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
383pub const GST_VIDEO_FORMAT_A420_12BE: GstVideoFormat = 124;
384#[cfg(feature = "v1_24")]
385#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
386pub const GST_VIDEO_FORMAT_A444_16LE: GstVideoFormat = 125;
387#[cfg(feature = "v1_24")]
388#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
389pub const GST_VIDEO_FORMAT_A444_16BE: GstVideoFormat = 126;
390#[cfg(feature = "v1_24")]
391#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
392pub const GST_VIDEO_FORMAT_A422_16LE: GstVideoFormat = 127;
393#[cfg(feature = "v1_24")]
394#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
395pub const GST_VIDEO_FORMAT_A422_16BE: GstVideoFormat = 128;
396#[cfg(feature = "v1_24")]
397#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
398pub const GST_VIDEO_FORMAT_A420_16LE: GstVideoFormat = 129;
399#[cfg(feature = "v1_24")]
400#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
401pub const GST_VIDEO_FORMAT_A420_16BE: GstVideoFormat = 130;
402#[cfg(feature = "v1_24")]
403#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
404pub const GST_VIDEO_FORMAT_GBR_16LE: GstVideoFormat = 131;
405#[cfg(feature = "v1_24")]
406#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
407pub const GST_VIDEO_FORMAT_GBR_16BE: GstVideoFormat = 132;
408#[cfg(feature = "v1_24")]
409#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
410pub const GST_VIDEO_FORMAT_RBGA: GstVideoFormat = 133;
411#[cfg(feature = "v1_26")]
412#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
413pub const GST_VIDEO_FORMAT_Y216_LE: GstVideoFormat = 134;
414#[cfg(feature = "v1_26")]
415#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
416pub const GST_VIDEO_FORMAT_Y216_BE: GstVideoFormat = 135;
417#[cfg(feature = "v1_26")]
418#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
419pub const GST_VIDEO_FORMAT_Y416_LE: GstVideoFormat = 136;
420#[cfg(feature = "v1_26")]
421#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
422pub const GST_VIDEO_FORMAT_Y416_BE: GstVideoFormat = 137;
423#[cfg(feature = "v1_26")]
424#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
425pub const GST_VIDEO_FORMAT_GRAY10_LE16: GstVideoFormat = 138;
426
427pub type GstVideoGLTextureOrientation = c_int;
428pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL: GstVideoGLTextureOrientation = 0;
429pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP: GstVideoGLTextureOrientation = 1;
430pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL: GstVideoGLTextureOrientation = 2;
431pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP: GstVideoGLTextureOrientation = 3;
432
433pub type GstVideoGLTextureType = c_int;
434pub const GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE: GstVideoGLTextureType = 0;
435pub const GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA: GstVideoGLTextureType = 1;
436pub const GST_VIDEO_GL_TEXTURE_TYPE_RGB16: GstVideoGLTextureType = 2;
437pub const GST_VIDEO_GL_TEXTURE_TYPE_RGB: GstVideoGLTextureType = 3;
438pub const GST_VIDEO_GL_TEXTURE_TYPE_RGBA: GstVideoGLTextureType = 4;
439pub const GST_VIDEO_GL_TEXTURE_TYPE_R: GstVideoGLTextureType = 5;
440pub const GST_VIDEO_GL_TEXTURE_TYPE_RG: GstVideoGLTextureType = 6;
441
442pub type GstVideoGammaMode = c_int;
443pub const GST_VIDEO_GAMMA_MODE_NONE: GstVideoGammaMode = 0;
444pub const GST_VIDEO_GAMMA_MODE_REMAP: GstVideoGammaMode = 1;
445
446pub type GstVideoInterlaceMode = c_int;
447pub const GST_VIDEO_INTERLACE_MODE_PROGRESSIVE: GstVideoInterlaceMode = 0;
448pub const GST_VIDEO_INTERLACE_MODE_INTERLEAVED: GstVideoInterlaceMode = 1;
449pub const GST_VIDEO_INTERLACE_MODE_MIXED: GstVideoInterlaceMode = 2;
450pub const GST_VIDEO_INTERLACE_MODE_FIELDS: GstVideoInterlaceMode = 3;
451pub const GST_VIDEO_INTERLACE_MODE_ALTERNATE: GstVideoInterlaceMode = 4;
452
453pub type GstVideoMatrixMode = c_int;
454pub const GST_VIDEO_MATRIX_MODE_FULL: GstVideoMatrixMode = 0;
455pub const GST_VIDEO_MATRIX_MODE_INPUT_ONLY: GstVideoMatrixMode = 1;
456pub const GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY: GstVideoMatrixMode = 2;
457pub const GST_VIDEO_MATRIX_MODE_NONE: GstVideoMatrixMode = 3;
458
459pub type GstVideoMultiviewFramePacking = c_int;
460pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE: GstVideoMultiviewFramePacking = -1;
461pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO: GstVideoMultiviewFramePacking = 0;
462pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT: GstVideoMultiviewFramePacking = 1;
463pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT: GstVideoMultiviewFramePacking = 2;
464pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE: GstVideoMultiviewFramePacking = 3;
465pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX: GstVideoMultiviewFramePacking =
466 4;
467pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED: GstVideoMultiviewFramePacking = 5;
468pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED: GstVideoMultiviewFramePacking = 6;
469pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM: GstVideoMultiviewFramePacking = 7;
470pub const GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD: GstVideoMultiviewFramePacking = 8;
471
472pub type GstVideoMultiviewMode = c_int;
473pub const GST_VIDEO_MULTIVIEW_MODE_NONE: GstVideoMultiviewMode = -1;
474pub const GST_VIDEO_MULTIVIEW_MODE_MONO: GstVideoMultiviewMode = 0;
475pub const GST_VIDEO_MULTIVIEW_MODE_LEFT: GstVideoMultiviewMode = 1;
476pub const GST_VIDEO_MULTIVIEW_MODE_RIGHT: GstVideoMultiviewMode = 2;
477pub const GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE: GstVideoMultiviewMode = 3;
478pub const GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX: GstVideoMultiviewMode = 4;
479pub const GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED: GstVideoMultiviewMode = 5;
480pub const GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED: GstVideoMultiviewMode = 6;
481pub const GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM: GstVideoMultiviewMode = 7;
482pub const GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD: GstVideoMultiviewMode = 8;
483pub const GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME: GstVideoMultiviewMode = 32;
484pub const GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME: GstVideoMultiviewMode = 33;
485pub const GST_VIDEO_MULTIVIEW_MODE_SEPARATED: GstVideoMultiviewMode = 34;
486
487pub type GstVideoOrientationMethod = c_int;
488pub const GST_VIDEO_ORIENTATION_IDENTITY: GstVideoOrientationMethod = 0;
489pub const GST_VIDEO_ORIENTATION_90R: GstVideoOrientationMethod = 1;
490pub const GST_VIDEO_ORIENTATION_180: GstVideoOrientationMethod = 2;
491pub const GST_VIDEO_ORIENTATION_90L: GstVideoOrientationMethod = 3;
492pub const GST_VIDEO_ORIENTATION_HORIZ: GstVideoOrientationMethod = 4;
493pub const GST_VIDEO_ORIENTATION_VERT: GstVideoOrientationMethod = 5;
494pub const GST_VIDEO_ORIENTATION_UL_LR: GstVideoOrientationMethod = 6;
495pub const GST_VIDEO_ORIENTATION_UR_LL: GstVideoOrientationMethod = 7;
496pub const GST_VIDEO_ORIENTATION_AUTO: GstVideoOrientationMethod = 8;
497pub const GST_VIDEO_ORIENTATION_CUSTOM: GstVideoOrientationMethod = 9;
498
499pub type GstVideoPrimariesMode = c_int;
500pub const GST_VIDEO_PRIMARIES_MODE_NONE: GstVideoPrimariesMode = 0;
501pub const GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY: GstVideoPrimariesMode = 1;
502pub const GST_VIDEO_PRIMARIES_MODE_FAST: GstVideoPrimariesMode = 2;
503
504pub type GstVideoResamplerMethod = c_int;
505pub const GST_VIDEO_RESAMPLER_METHOD_NEAREST: GstVideoResamplerMethod = 0;
506pub const GST_VIDEO_RESAMPLER_METHOD_LINEAR: GstVideoResamplerMethod = 1;
507pub const GST_VIDEO_RESAMPLER_METHOD_CUBIC: GstVideoResamplerMethod = 2;
508pub const GST_VIDEO_RESAMPLER_METHOD_SINC: GstVideoResamplerMethod = 3;
509pub const GST_VIDEO_RESAMPLER_METHOD_LANCZOS: GstVideoResamplerMethod = 4;
510
511pub type GstVideoTileMode = c_int;
512pub const GST_VIDEO_TILE_MODE_UNKNOWN: GstVideoTileMode = 0;
513pub const GST_VIDEO_TILE_MODE_ZFLIPZ_2X2: GstVideoTileMode = 65536;
514#[cfg(feature = "v1_18")]
515#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
516pub const GST_VIDEO_TILE_MODE_LINEAR: GstVideoTileMode = 131072;
517
518pub type GstVideoTileType = c_int;
519pub const GST_VIDEO_TILE_TYPE_INDEXED: GstVideoTileType = 0;
520
521pub type GstVideoTransferFunction = c_int;
522pub const GST_VIDEO_TRANSFER_UNKNOWN: GstVideoTransferFunction = 0;
523pub const GST_VIDEO_TRANSFER_GAMMA10: GstVideoTransferFunction = 1;
524pub const GST_VIDEO_TRANSFER_GAMMA18: GstVideoTransferFunction = 2;
525pub const GST_VIDEO_TRANSFER_GAMMA20: GstVideoTransferFunction = 3;
526pub const GST_VIDEO_TRANSFER_GAMMA22: GstVideoTransferFunction = 4;
527pub const GST_VIDEO_TRANSFER_BT709: GstVideoTransferFunction = 5;
528pub const GST_VIDEO_TRANSFER_SMPTE240M: GstVideoTransferFunction = 6;
529pub const GST_VIDEO_TRANSFER_SRGB: GstVideoTransferFunction = 7;
530pub const GST_VIDEO_TRANSFER_GAMMA28: GstVideoTransferFunction = 8;
531pub const GST_VIDEO_TRANSFER_LOG100: GstVideoTransferFunction = 9;
532pub const GST_VIDEO_TRANSFER_LOG316: GstVideoTransferFunction = 10;
533pub const GST_VIDEO_TRANSFER_BT2020_12: GstVideoTransferFunction = 11;
534pub const GST_VIDEO_TRANSFER_ADOBERGB: GstVideoTransferFunction = 12;
535pub const GST_VIDEO_TRANSFER_BT2020_10: GstVideoTransferFunction = 13;
536pub const GST_VIDEO_TRANSFER_SMPTE2084: GstVideoTransferFunction = 14;
537pub const GST_VIDEO_TRANSFER_ARIB_STD_B67: GstVideoTransferFunction = 15;
538#[cfg(feature = "v1_18")]
539#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
540pub const GST_VIDEO_TRANSFER_BT601: GstVideoTransferFunction = 16;
541
542pub type GstVideoVBIParserResult = c_int;
543pub const GST_VIDEO_VBI_PARSER_RESULT_DONE: GstVideoVBIParserResult = 0;
544pub const GST_VIDEO_VBI_PARSER_RESULT_OK: GstVideoVBIParserResult = 1;
545pub const GST_VIDEO_VBI_PARSER_RESULT_ERROR: GstVideoVBIParserResult = 2;
546
547pub const GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META: &[u8] =
549 b"GstBufferPoolOptionVideoAffineTransformation\0";
550pub const GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT: &[u8] = b"GstBufferPoolOptionVideoAlignment\0";
551pub const GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META: &[u8] =
552 b"GstBufferPoolOptionVideoGLTextureUploadMeta\0";
553pub const GST_BUFFER_POOL_OPTION_VIDEO_META: &[u8] = b"GstBufferPoolOptionVideoMeta\0";
554pub const GST_CAPS_FEATURE_FORMAT_INTERLACED: &[u8] = b"format:Interlaced\0";
555pub const GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META: &[u8] =
556 b"meta:GstVideoAffineTransformation\0";
557pub const GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META: &[u8] =
558 b"meta:GstVideoGLTextureUploadMeta\0";
559pub const GST_CAPS_FEATURE_META_GST_VIDEO_META: &[u8] = b"meta:GstVideoMeta\0";
560pub const GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION: &[u8] =
561 b"meta:GstVideoOverlayComposition\0";
562pub const GST_META_TAG_VIDEO_COLORSPACE_STR: &[u8] = b"colorspace\0";
563pub const GST_META_TAG_VIDEO_ORIENTATION_STR: &[u8] = b"orientation\0";
564pub const GST_META_TAG_VIDEO_SIZE_STR: &[u8] = b"size\0";
565pub const GST_META_TAG_VIDEO_STR: &[u8] = b"video\0";
566pub const GST_VIDEO_COLORIMETRY_BT2020: &[u8] = b"bt2020\0";
567pub const GST_VIDEO_COLORIMETRY_BT2020_10: &[u8] = b"bt2020-10\0";
568pub const GST_VIDEO_COLORIMETRY_BT2100_HLG: &[u8] = b"bt2100-hlg\0";
569pub const GST_VIDEO_COLORIMETRY_BT2100_PQ: &[u8] = b"bt2100-pq\0";
570pub const GST_VIDEO_COLORIMETRY_BT601: &[u8] = b"bt601\0";
571pub const GST_VIDEO_COLORIMETRY_BT709: &[u8] = b"bt709\0";
572pub const GST_VIDEO_COLORIMETRY_SMPTE240M: &[u8] = b"smpte240m\0";
573pub const GST_VIDEO_COLORIMETRY_SRGB: &[u8] = b"sRGB\0";
574pub const GST_VIDEO_COMP_A: c_int = 3;
575pub const GST_VIDEO_COMP_B: c_int = 2;
576pub const GST_VIDEO_COMP_G: c_int = 1;
577pub const GST_VIDEO_COMP_INDEX: c_int = 0;
578pub const GST_VIDEO_COMP_PALETTE: c_int = 1;
579pub const GST_VIDEO_COMP_R: c_int = 0;
580pub const GST_VIDEO_COMP_U: c_int = 1;
581pub const GST_VIDEO_COMP_V: c_int = 2;
582pub const GST_VIDEO_COMP_Y: c_int = 0;
583pub const GST_VIDEO_CONVERTER_OPT_ALPHA_MODE: &[u8] = b"GstVideoConverter.alpha-mode\0";
584pub const GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE: &[u8] = b"GstVideoConverter.alpha-value\0";
585pub const GST_VIDEO_CONVERTER_OPT_ASYNC_TASKS: &[u8] = b"GstVideoConverter.async-tasks\0";
586pub const GST_VIDEO_CONVERTER_OPT_BORDER_ARGB: &[u8] = b"GstVideoConverter.border-argb\0";
587pub const GST_VIDEO_CONVERTER_OPT_CHROMA_MODE: &[u8] = b"GstVideoConverter.chroma-mode\0";
588pub const GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD: &[u8] =
589 b"GstVideoConverter.chroma-resampler-method\0";
590pub const GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT: &[u8] = b"GstVideoConverter.dest-height\0";
591pub const GST_VIDEO_CONVERTER_OPT_DEST_WIDTH: &[u8] = b"GstVideoConverter.dest-width\0";
592pub const GST_VIDEO_CONVERTER_OPT_DEST_X: &[u8] = b"GstVideoConverter.dest-x\0";
593pub const GST_VIDEO_CONVERTER_OPT_DEST_Y: &[u8] = b"GstVideoConverter.dest-y\0";
594pub const GST_VIDEO_CONVERTER_OPT_DITHER_METHOD: &[u8] = b"GstVideoConverter.dither-method\0";
595pub const GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION: &[u8] =
596 b"GstVideoConverter.dither-quantization\0";
597pub const GST_VIDEO_CONVERTER_OPT_FILL_BORDER: &[u8] = b"GstVideoConverter.fill-border\0";
598pub const GST_VIDEO_CONVERTER_OPT_GAMMA_MODE: &[u8] = b"GstVideoConverter.gamma-mode\0";
599pub const GST_VIDEO_CONVERTER_OPT_MATRIX_MODE: &[u8] = b"GstVideoConverter.matrix-mode\0";
600pub const GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE: &[u8] = b"GstVideoConverter.primaries-mode\0";
601pub const GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD: &[u8] = b"GstVideoConverter.resampler-method\0";
602pub const GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS: &[u8] = b"GstVideoConverter.resampler-taps\0";
603pub const GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT: &[u8] = b"GstVideoConverter.src-height\0";
604pub const GST_VIDEO_CONVERTER_OPT_SRC_WIDTH: &[u8] = b"GstVideoConverter.src-width\0";
605pub const GST_VIDEO_CONVERTER_OPT_SRC_X: &[u8] = b"GstVideoConverter.src-x\0";
606pub const GST_VIDEO_CONVERTER_OPT_SRC_Y: &[u8] = b"GstVideoConverter.src-y\0";
607pub const GST_VIDEO_CONVERTER_OPT_THREADS: &[u8] = b"GstVideoConverter.threads\0";
608pub const GST_VIDEO_DECODER_MAX_ERRORS: c_int = -1;
609pub const GST_VIDEO_DECODER_SINK_NAME: &[u8] = b"sink\0";
610pub const GST_VIDEO_DECODER_SRC_NAME: &[u8] = b"src\0";
611pub const GST_VIDEO_ENCODER_SINK_NAME: &[u8] = b"sink\0";
612pub const GST_VIDEO_ENCODER_SRC_NAME: &[u8] = b"src\0";
613pub const GST_VIDEO_FORMAT_LAST: c_int = 139;
614pub const GST_VIDEO_FPS_RANGE: &[u8] = b"(fraction) [ 0, max ]\0";
615pub const GST_VIDEO_MAX_COMPONENTS: c_int = 4;
616pub const GST_VIDEO_MAX_PLANES: c_int = 4;
617pub const GST_VIDEO_RESAMPLER_OPT_CUBIC_B: &[u8] = b"GstVideoResampler.cubic-b\0";
618pub const GST_VIDEO_RESAMPLER_OPT_CUBIC_C: &[u8] = b"GstVideoResampler.cubic-c\0";
619pub const GST_VIDEO_RESAMPLER_OPT_ENVELOPE: &[u8] = b"GstVideoResampler.envelope\0";
620pub const GST_VIDEO_RESAMPLER_OPT_MAX_TAPS: &[u8] = b"GstVideoResampler.max-taps\0";
621pub const GST_VIDEO_RESAMPLER_OPT_SHARPEN: &[u8] = b"GstVideoResampler.sharpen\0";
622pub const GST_VIDEO_RESAMPLER_OPT_SHARPNESS: &[u8] = b"GstVideoResampler.sharpness\0";
623pub const GST_VIDEO_SCALER_OPT_DITHER_METHOD: &[u8] = b"GstVideoScaler.dither-method\0";
624pub const GST_VIDEO_SIZE_RANGE: &[u8] = b"(int) [ 1, max ]\0";
625pub const GST_VIDEO_TILE_TYPE_MASK: c_int = 65535;
626pub const GST_VIDEO_TILE_TYPE_SHIFT: c_int = 16;
627pub const GST_VIDEO_TILE_X_TILES_MASK: c_int = 65535;
628pub const GST_VIDEO_TILE_Y_TILES_SHIFT: c_int = 16;
629
630pub type GstNavigationModifierType = c_uint;
632pub const GST_NAVIGATION_MODIFIER_NONE: GstNavigationModifierType = 0;
633pub const GST_NAVIGATION_MODIFIER_SHIFT_MASK: GstNavigationModifierType = 1;
634pub const GST_NAVIGATION_MODIFIER_LOCK_MASK: GstNavigationModifierType = 2;
635pub const GST_NAVIGATION_MODIFIER_CONTROL_MASK: GstNavigationModifierType = 4;
636pub const GST_NAVIGATION_MODIFIER_MOD1_MASK: GstNavigationModifierType = 8;
637pub const GST_NAVIGATION_MODIFIER_MOD2_MASK: GstNavigationModifierType = 16;
638pub const GST_NAVIGATION_MODIFIER_MOD3_MASK: GstNavigationModifierType = 32;
639pub const GST_NAVIGATION_MODIFIER_MOD4_MASK: GstNavigationModifierType = 64;
640pub const GST_NAVIGATION_MODIFIER_MOD5_MASK: GstNavigationModifierType = 128;
641pub const GST_NAVIGATION_MODIFIER_BUTTON1_MASK: GstNavigationModifierType = 256;
642pub const GST_NAVIGATION_MODIFIER_BUTTON2_MASK: GstNavigationModifierType = 512;
643pub const GST_NAVIGATION_MODIFIER_BUTTON3_MASK: GstNavigationModifierType = 1024;
644pub const GST_NAVIGATION_MODIFIER_BUTTON4_MASK: GstNavigationModifierType = 2048;
645pub const GST_NAVIGATION_MODIFIER_BUTTON5_MASK: GstNavigationModifierType = 4096;
646pub const GST_NAVIGATION_MODIFIER_SUPER_MASK: GstNavigationModifierType = 67108864;
647pub const GST_NAVIGATION_MODIFIER_HYPER_MASK: GstNavigationModifierType = 134217728;
648pub const GST_NAVIGATION_MODIFIER_META_MASK: GstNavigationModifierType = 268435456;
649pub const GST_NAVIGATION_MODIFIER_MASK: GstNavigationModifierType = 469770239;
650
651pub type GstVideoBufferFlags = c_uint;
652pub const GST_VIDEO_BUFFER_FLAG_INTERLACED: GstVideoBufferFlags = 1048576;
653pub const GST_VIDEO_BUFFER_FLAG_TFF: GstVideoBufferFlags = 2097152;
654pub const GST_VIDEO_BUFFER_FLAG_RFF: GstVideoBufferFlags = 4194304;
655pub const GST_VIDEO_BUFFER_FLAG_ONEFIELD: GstVideoBufferFlags = 8388608;
656pub const GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW: GstVideoBufferFlags = 16777216;
657pub const GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE: GstVideoBufferFlags = 33554432;
658pub const GST_VIDEO_BUFFER_FLAG_TOP_FIELD: GstVideoBufferFlags = 10485760;
659pub const GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD: GstVideoBufferFlags = 8388608;
660pub const GST_VIDEO_BUFFER_FLAG_MARKER: GstVideoBufferFlags = 512;
661pub const GST_VIDEO_BUFFER_FLAG_LAST: GstVideoBufferFlags = 268435456;
662
663pub type GstVideoChromaFlags = c_uint;
664pub const GST_VIDEO_CHROMA_FLAG_NONE: GstVideoChromaFlags = 0;
665pub const GST_VIDEO_CHROMA_FLAG_INTERLACED: GstVideoChromaFlags = 1;
666
667pub type GstVideoChromaSite = c_uint;
668pub const GST_VIDEO_CHROMA_SITE_UNKNOWN: GstVideoChromaSite = 0;
669pub const GST_VIDEO_CHROMA_SITE_NONE: GstVideoChromaSite = 1;
670pub const GST_VIDEO_CHROMA_SITE_H_COSITED: GstVideoChromaSite = 2;
671pub const GST_VIDEO_CHROMA_SITE_V_COSITED: GstVideoChromaSite = 4;
672pub const GST_VIDEO_CHROMA_SITE_ALT_LINE: GstVideoChromaSite = 8;
673pub const GST_VIDEO_CHROMA_SITE_COSITED: GstVideoChromaSite = 6;
674pub const GST_VIDEO_CHROMA_SITE_JPEG: GstVideoChromaSite = 1;
675pub const GST_VIDEO_CHROMA_SITE_MPEG2: GstVideoChromaSite = 2;
676pub const GST_VIDEO_CHROMA_SITE_DV: GstVideoChromaSite = 14;
677
678pub type GstVideoCodecFrameFlags = c_uint;
679pub const GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY: GstVideoCodecFrameFlags = 1;
680pub const GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT: GstVideoCodecFrameFlags = 2;
681pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME: GstVideoCodecFrameFlags = 4;
682pub const GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS: GstVideoCodecFrameFlags = 8;
683#[cfg(feature = "v1_20")]
684#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
685pub const GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED: GstVideoCodecFrameFlags = 16;
686
687pub type GstVideoDecoderRequestSyncPointFlags = c_uint;
688pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT: GstVideoDecoderRequestSyncPointFlags =
689 1;
690pub const GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT:
691 GstVideoDecoderRequestSyncPointFlags = 2;
692
693pub type GstVideoDitherFlags = c_uint;
694pub const GST_VIDEO_DITHER_FLAG_NONE: GstVideoDitherFlags = 0;
695pub const GST_VIDEO_DITHER_FLAG_INTERLACED: GstVideoDitherFlags = 1;
696pub const GST_VIDEO_DITHER_FLAG_QUANTIZE: GstVideoDitherFlags = 2;
697
698pub type GstVideoFlags = c_uint;
699pub const GST_VIDEO_FLAG_NONE: GstVideoFlags = 0;
700pub const GST_VIDEO_FLAG_VARIABLE_FPS: GstVideoFlags = 1;
701pub const GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA: GstVideoFlags = 2;
702
703pub type GstVideoFormatFlags = c_uint;
704pub const GST_VIDEO_FORMAT_FLAG_YUV: GstVideoFormatFlags = 1;
705pub const GST_VIDEO_FORMAT_FLAG_RGB: GstVideoFormatFlags = 2;
706pub const GST_VIDEO_FORMAT_FLAG_GRAY: GstVideoFormatFlags = 4;
707pub const GST_VIDEO_FORMAT_FLAG_ALPHA: GstVideoFormatFlags = 8;
708pub const GST_VIDEO_FORMAT_FLAG_LE: GstVideoFormatFlags = 16;
709pub const GST_VIDEO_FORMAT_FLAG_PALETTE: GstVideoFormatFlags = 32;
710pub const GST_VIDEO_FORMAT_FLAG_COMPLEX: GstVideoFormatFlags = 64;
711pub const GST_VIDEO_FORMAT_FLAG_UNPACK: GstVideoFormatFlags = 128;
712pub const GST_VIDEO_FORMAT_FLAG_TILED: GstVideoFormatFlags = 256;
713#[cfg(feature = "v1_22")]
714#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
715pub const GST_VIDEO_FORMAT_FLAG_SUBTILES: GstVideoFormatFlags = 512;
716
717pub type GstVideoFrameFlags = c_uint;
718pub const GST_VIDEO_FRAME_FLAG_NONE: GstVideoFrameFlags = 0;
719pub const GST_VIDEO_FRAME_FLAG_INTERLACED: GstVideoFrameFlags = 1;
720pub const GST_VIDEO_FRAME_FLAG_TFF: GstVideoFrameFlags = 2;
721pub const GST_VIDEO_FRAME_FLAG_RFF: GstVideoFrameFlags = 4;
722pub const GST_VIDEO_FRAME_FLAG_ONEFIELD: GstVideoFrameFlags = 8;
723pub const GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW: GstVideoFrameFlags = 16;
724pub const GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE: GstVideoFrameFlags = 32;
725pub const GST_VIDEO_FRAME_FLAG_TOP_FIELD: GstVideoFrameFlags = 10;
726pub const GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD: GstVideoFrameFlags = 8;
727
728pub type GstVideoFrameMapFlags = c_uint;
729pub const GST_VIDEO_FRAME_MAP_FLAG_NO_REF: GstVideoFrameMapFlags = 65536;
730pub const GST_VIDEO_FRAME_MAP_FLAG_LAST: GstVideoFrameMapFlags = 16777216;
731
732pub type GstVideoMultiviewFlags = c_uint;
733pub const GST_VIDEO_MULTIVIEW_FLAGS_NONE: GstVideoMultiviewFlags = 0;
734pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST: GstVideoMultiviewFlags = 1;
735pub const GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED: GstVideoMultiviewFlags = 2;
736pub const GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED: GstVideoMultiviewFlags = 4;
737pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED: GstVideoMultiviewFlags = 8;
738pub const GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED: GstVideoMultiviewFlags = 16;
739pub const GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT: GstVideoMultiviewFlags = 16384;
740pub const GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO: GstVideoMultiviewFlags = 32768;
741
742pub type GstVideoOverlayFormatFlags = c_uint;
743pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE: GstVideoOverlayFormatFlags = 0;
744pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA: GstVideoOverlayFormatFlags = 1;
745pub const GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA: GstVideoOverlayFormatFlags = 2;
746
747pub type GstVideoPackFlags = c_uint;
748pub const GST_VIDEO_PACK_FLAG_NONE: GstVideoPackFlags = 0;
749pub const GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE: GstVideoPackFlags = 1;
750pub const GST_VIDEO_PACK_FLAG_INTERLACED: GstVideoPackFlags = 2;
751
752pub type GstVideoResamplerFlags = c_uint;
753pub const GST_VIDEO_RESAMPLER_FLAG_NONE: GstVideoResamplerFlags = 0;
754pub const GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS: GstVideoResamplerFlags = 1;
755
756pub type GstVideoScalerFlags = c_uint;
757pub const GST_VIDEO_SCALER_FLAG_NONE: GstVideoScalerFlags = 0;
758pub const GST_VIDEO_SCALER_FLAG_INTERLACED: GstVideoScalerFlags = 1;
759
760pub type GstVideoTimeCodeFlags = c_uint;
761pub const GST_VIDEO_TIME_CODE_FLAGS_NONE: GstVideoTimeCodeFlags = 0;
762pub const GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME: GstVideoTimeCodeFlags = 1;
763pub const GST_VIDEO_TIME_CODE_FLAGS_INTERLACED: GstVideoTimeCodeFlags = 2;
764
765#[derive(Copy, Clone)]
767#[repr(C)]
768pub union GstVideoCodecFrame_abidata {
769 pub ABI: GstVideoCodecFrame_abidata_ABI,
770 pub padding: [gpointer; 20],
771}
772
773impl ::std::fmt::Debug for GstVideoCodecFrame_abidata {
774 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
775 f.debug_struct(&format!("GstVideoCodecFrame_abidata @ {self:p}"))
776 .field("ABI", unsafe { &self.ABI })
777 .finish()
778 }
779}
780
781#[derive(Copy, Clone)]
782#[repr(C)]
783pub union GstVideoInfo_ABI {
784 pub abi: GstVideoInfo_ABI_abi,
785 pub _gst_reserved: [gpointer; 4],
786}
787
788impl ::std::fmt::Debug for GstVideoInfo_ABI {
789 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
790 f.debug_struct(&format!("GstVideoInfo_ABI @ {self:p}"))
791 .field("abi", unsafe { &self.abi })
792 .finish()
793 }
794}
795
796pub type GstVideoAffineTransformationGetMatrix =
798 Option<unsafe extern "C" fn(*mut GstVideoAffineTransformationMeta, *mut c_float) -> gboolean>;
799pub type GstVideoConvertSampleCallback =
800 Option<unsafe extern "C" fn(*mut gst::GstSample, *mut glib::GError, gpointer)>;
801pub type GstVideoFormatPack = Option<
802 unsafe extern "C" fn(
803 *const GstVideoFormatInfo,
804 GstVideoPackFlags,
805 gpointer,
806 c_int,
807 *mut gpointer,
808 *const c_int,
809 GstVideoChromaSite,
810 c_int,
811 c_int,
812 ),
813>;
814pub type GstVideoFormatUnpack = Option<
815 unsafe extern "C" fn(
816 *const GstVideoFormatInfo,
817 GstVideoPackFlags,
818 gpointer,
819 *const gpointer,
820 *const c_int,
821 c_int,
822 c_int,
823 c_int,
824 ),
825>;
826pub type GstVideoGLTextureUpload =
827 Option<unsafe extern "C" fn(*mut GstVideoGLTextureUploadMeta, *mut c_uint) -> gboolean>;
828
829#[derive(Copy, Clone)]
831#[repr(C)]
832pub struct GstAncillaryMeta {
833 pub meta: gst::GstMeta,
834 pub field: GstAncillaryMetaField,
835 pub c_not_y_channel: gboolean,
836 pub line: u16,
837 pub offset: u16,
838 pub DID: u16,
839 pub SDID_block_number: u16,
840 pub data_count: u16,
841 pub data: *mut u16,
842 pub checksum: u16,
843}
844
845impl ::std::fmt::Debug for GstAncillaryMeta {
846 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
847 f.debug_struct(&format!("GstAncillaryMeta @ {self:p}"))
848 .field("meta", &self.meta)
849 .field("field", &self.field)
850 .field("c_not_y_channel", &self.c_not_y_channel)
851 .field("line", &self.line)
852 .field("offset", &self.offset)
853 .field("DID", &self.DID)
854 .field("SDID_block_number", &self.SDID_block_number)
855 .field("data_count", &self.data_count)
856 .field("data", &self.data)
857 .field("checksum", &self.checksum)
858 .finish()
859 }
860}
861
862#[derive(Copy, Clone)]
863#[repr(C)]
864pub struct GstColorBalanceChannelClass {
865 pub parent: gobject::GObjectClass,
866 pub value_changed: Option<unsafe extern "C" fn(*mut GstColorBalanceChannel, c_int)>,
867 pub _gst_reserved: [gpointer; 4],
868}
869
870impl ::std::fmt::Debug for GstColorBalanceChannelClass {
871 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
872 f.debug_struct(&format!("GstColorBalanceChannelClass @ {self:p}"))
873 .field("parent", &self.parent)
874 .field("value_changed", &self.value_changed)
875 .finish()
876 }
877}
878
879#[derive(Copy, Clone)]
880#[repr(C)]
881pub struct GstColorBalanceInterface {
882 pub iface: gobject::GTypeInterface,
883 pub list_channels: Option<unsafe extern "C" fn(*mut GstColorBalance) -> *const glib::GList>,
884 pub set_value:
885 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel, c_int)>,
886 pub get_value:
887 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel) -> c_int>,
888 pub get_balance_type: Option<unsafe extern "C" fn(*mut GstColorBalance) -> GstColorBalanceType>,
889 pub value_changed:
890 Option<unsafe extern "C" fn(*mut GstColorBalance, *mut GstColorBalanceChannel, c_int)>,
891 pub _gst_reserved: [gpointer; 4],
892}
893
894impl ::std::fmt::Debug for GstColorBalanceInterface {
895 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
896 f.debug_struct(&format!("GstColorBalanceInterface @ {self:p}"))
897 .field("iface", &self.iface)
898 .field("list_channels", &self.list_channels)
899 .field("set_value", &self.set_value)
900 .field("get_value", &self.get_value)
901 .field("get_balance_type", &self.get_balance_type)
902 .field("value_changed", &self.value_changed)
903 .finish()
904 }
905}
906
907#[derive(Copy, Clone)]
908#[repr(C)]
909pub struct GstNavigationInterface {
910 pub iface: gobject::GTypeInterface,
911 pub send_event: Option<unsafe extern "C" fn(*mut GstNavigation, *mut gst::GstStructure)>,
912 pub send_event_simple: Option<unsafe extern "C" fn(*mut GstNavigation, *mut gst::GstEvent)>,
913}
914
915impl ::std::fmt::Debug for GstNavigationInterface {
916 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
917 f.debug_struct(&format!("GstNavigationInterface @ {self:p}"))
918 .field("iface", &self.iface)
919 .field("send_event", &self.send_event)
920 .field("send_event_simple", &self.send_event_simple)
921 .finish()
922 }
923}
924
925#[derive(Copy, Clone)]
926#[repr(C)]
927pub struct GstVideoAFDMeta {
928 pub meta: gst::GstMeta,
929 pub field: u8,
930 pub spec: GstVideoAFDSpec,
931 pub afd: GstVideoAFDValue,
932}
933
934impl ::std::fmt::Debug for GstVideoAFDMeta {
935 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
936 f.debug_struct(&format!("GstVideoAFDMeta @ {self:p}"))
937 .field("meta", &self.meta)
938 .field("field", &self.field)
939 .field("spec", &self.spec)
940 .field("afd", &self.afd)
941 .finish()
942 }
943}
944
945#[derive(Copy, Clone)]
946#[repr(C)]
947pub struct GstVideoAffineTransformationMeta {
948 pub meta: gst::GstMeta,
949 pub matrix: [c_float; 16],
950}
951
952impl ::std::fmt::Debug for GstVideoAffineTransformationMeta {
953 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
954 f.debug_struct(&format!("GstVideoAffineTransformationMeta @ {self:p}"))
955 .field("meta", &self.meta)
956 .field("matrix", &self.matrix)
957 .finish()
958 }
959}
960
961#[derive(Copy, Clone)]
962#[repr(C)]
963pub struct GstVideoAggregatorClass {
964 pub parent_class: gst_base::GstAggregatorClass,
965 pub update_caps: Option<
966 unsafe extern "C" fn(*mut GstVideoAggregator, *mut gst::GstCaps) -> *mut gst::GstCaps,
967 >,
968 pub aggregate_frames: Option<
969 unsafe extern "C" fn(
970 *mut GstVideoAggregator,
971 *mut *mut gst::GstBuffer,
972 ) -> gst::GstFlowReturn,
973 >,
974 pub create_output_buffer: Option<
975 unsafe extern "C" fn(
976 *mut GstVideoAggregator,
977 *mut *mut gst::GstBuffer,
978 ) -> gst::GstFlowReturn,
979 >,
980 pub find_best_format: Option<
981 unsafe extern "C" fn(
982 *mut GstVideoAggregator,
983 *mut gst::GstCaps,
984 *mut GstVideoInfo,
985 *mut gboolean,
986 ),
987 >,
988 pub _gst_reserved: [gpointer; 20],
989}
990
991impl ::std::fmt::Debug for GstVideoAggregatorClass {
992 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
993 f.debug_struct(&format!("GstVideoAggregatorClass @ {self:p}"))
994 .field("update_caps", &self.update_caps)
995 .field("aggregate_frames", &self.aggregate_frames)
996 .field("create_output_buffer", &self.create_output_buffer)
997 .field("find_best_format", &self.find_best_format)
998 .finish()
999 }
1000}
1001
1002#[derive(Copy, Clone)]
1003#[repr(C)]
1004pub struct GstVideoAggregatorConvertPadClass {
1005 pub parent_class: GstVideoAggregatorPadClass,
1006 pub create_conversion_info: Option<
1007 unsafe extern "C" fn(
1008 *mut GstVideoAggregatorConvertPad,
1009 *mut GstVideoAggregator,
1010 *mut GstVideoInfo,
1011 ),
1012 >,
1013 pub _gst_reserved: [gpointer; 4],
1014}
1015
1016impl ::std::fmt::Debug for GstVideoAggregatorConvertPadClass {
1017 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1018 f.debug_struct(&format!("GstVideoAggregatorConvertPadClass @ {self:p}"))
1019 .field("parent_class", &self.parent_class)
1020 .field("create_conversion_info", &self.create_conversion_info)
1021 .finish()
1022 }
1023}
1024
1025#[repr(C)]
1026#[allow(dead_code)]
1027pub struct _GstVideoAggregatorConvertPadPrivate {
1028 _data: [u8; 0],
1029 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1030}
1031
1032pub type GstVideoAggregatorConvertPadPrivate = _GstVideoAggregatorConvertPadPrivate;
1033
1034#[derive(Copy, Clone)]
1035#[repr(C)]
1036pub struct GstVideoAggregatorPadClass {
1037 pub parent_class: gst_base::GstAggregatorPadClass,
1038 pub update_conversion_info: Option<unsafe extern "C" fn(*mut GstVideoAggregatorPad)>,
1039 pub prepare_frame: Option<
1040 unsafe extern "C" fn(
1041 *mut GstVideoAggregatorPad,
1042 *mut GstVideoAggregator,
1043 *mut gst::GstBuffer,
1044 *mut GstVideoFrame,
1045 ) -> gboolean,
1046 >,
1047 pub clean_frame: Option<
1048 unsafe extern "C" fn(
1049 *mut GstVideoAggregatorPad,
1050 *mut GstVideoAggregator,
1051 *mut GstVideoFrame,
1052 ),
1053 >,
1054 pub prepare_frame_start: Option<
1055 unsafe extern "C" fn(
1056 *mut GstVideoAggregatorPad,
1057 *mut GstVideoAggregator,
1058 *mut gst::GstBuffer,
1059 *mut GstVideoFrame,
1060 ),
1061 >,
1062 pub prepare_frame_finish: Option<
1063 unsafe extern "C" fn(
1064 *mut GstVideoAggregatorPad,
1065 *mut GstVideoAggregator,
1066 *mut GstVideoFrame,
1067 ),
1068 >,
1069 pub _gst_reserved: [gpointer; 18],
1070}
1071
1072impl ::std::fmt::Debug for GstVideoAggregatorPadClass {
1073 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1074 f.debug_struct(&format!("GstVideoAggregatorPadClass @ {self:p}"))
1075 .field("parent_class", &self.parent_class)
1076 .field("update_conversion_info", &self.update_conversion_info)
1077 .field("prepare_frame", &self.prepare_frame)
1078 .field("clean_frame", &self.clean_frame)
1079 .field("prepare_frame_start", &self.prepare_frame_start)
1080 .field("prepare_frame_finish", &self.prepare_frame_finish)
1081 .field("_gst_reserved", &self._gst_reserved)
1082 .finish()
1083 }
1084}
1085
1086#[repr(C)]
1087#[allow(dead_code)]
1088pub struct _GstVideoAggregatorPadPrivate {
1089 _data: [u8; 0],
1090 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1091}
1092
1093pub type GstVideoAggregatorPadPrivate = _GstVideoAggregatorPadPrivate;
1094
1095#[derive(Copy, Clone)]
1096#[repr(C)]
1097pub struct GstVideoAggregatorParallelConvertPadClass {
1098 pub parent_class: GstVideoAggregatorConvertPadClass,
1099 pub _gst_reserved: [gpointer; 4],
1100}
1101
1102impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPadClass {
1103 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1104 f.debug_struct(&format!(
1105 "GstVideoAggregatorParallelConvertPadClass @ {self:p}"
1106 ))
1107 .field("parent_class", &self.parent_class)
1108 .finish()
1109 }
1110}
1111
1112#[repr(C)]
1113#[allow(dead_code)]
1114pub struct _GstVideoAggregatorPrivate {
1115 _data: [u8; 0],
1116 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1117}
1118
1119pub type GstVideoAggregatorPrivate = _GstVideoAggregatorPrivate;
1120
1121#[derive(Copy, Clone)]
1122#[repr(C)]
1123pub struct GstVideoAlignment {
1124 pub padding_top: c_uint,
1125 pub padding_bottom: c_uint,
1126 pub padding_left: c_uint,
1127 pub padding_right: c_uint,
1128 pub stride_align: [c_uint; 4],
1129}
1130
1131impl ::std::fmt::Debug for GstVideoAlignment {
1132 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1133 f.debug_struct(&format!("GstVideoAlignment @ {self:p}"))
1134 .field("padding_top", &self.padding_top)
1135 .field("padding_bottom", &self.padding_bottom)
1136 .field("padding_left", &self.padding_left)
1137 .field("padding_right", &self.padding_right)
1138 .field("stride_align", &self.stride_align)
1139 .finish()
1140 }
1141}
1142
1143#[derive(Copy, Clone)]
1144#[repr(C)]
1145pub struct GstVideoAncillary {
1146 pub DID: u8,
1147 pub SDID_block_number: u8,
1148 pub data_count: u8,
1149 pub data: [u8; 256],
1150 pub _gst_reserved: [gpointer; 4],
1151}
1152
1153impl ::std::fmt::Debug for GstVideoAncillary {
1154 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1155 f.debug_struct(&format!("GstVideoAncillary @ {self:p}"))
1156 .field("DID", &self.DID)
1157 .field("SDID_block_number", &self.SDID_block_number)
1158 .field("data_count", &self.data_count)
1159 .finish()
1160 }
1161}
1162
1163#[derive(Copy, Clone)]
1164#[repr(C)]
1165pub struct GstVideoBarMeta {
1166 pub meta: gst::GstMeta,
1167 pub field: u8,
1168 pub is_letterbox: gboolean,
1169 pub bar_data1: c_uint,
1170 pub bar_data2: c_uint,
1171}
1172
1173impl ::std::fmt::Debug for GstVideoBarMeta {
1174 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1175 f.debug_struct(&format!("GstVideoBarMeta @ {self:p}"))
1176 .field("meta", &self.meta)
1177 .field("field", &self.field)
1178 .field("is_letterbox", &self.is_letterbox)
1179 .field("bar_data1", &self.bar_data1)
1180 .field("bar_data2", &self.bar_data2)
1181 .finish()
1182 }
1183}
1184
1185#[derive(Copy, Clone)]
1186#[repr(C)]
1187pub struct GstVideoBufferPoolClass {
1188 pub parent_class: gst::GstBufferPoolClass,
1189}
1190
1191impl ::std::fmt::Debug for GstVideoBufferPoolClass {
1192 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1193 f.debug_struct(&format!("GstVideoBufferPoolClass @ {self:p}"))
1194 .field("parent_class", &self.parent_class)
1195 .finish()
1196 }
1197}
1198
1199#[repr(C)]
1200#[allow(dead_code)]
1201pub struct _GstVideoBufferPoolPrivate {
1202 _data: [u8; 0],
1203 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1204}
1205
1206pub type GstVideoBufferPoolPrivate = _GstVideoBufferPoolPrivate;
1207
1208#[derive(Copy, Clone)]
1209#[repr(C)]
1210pub struct GstVideoCaptionMeta {
1211 pub meta: gst::GstMeta,
1212 pub caption_type: GstVideoCaptionType,
1213 pub data: *mut u8,
1214 pub size: size_t,
1215}
1216
1217impl ::std::fmt::Debug for GstVideoCaptionMeta {
1218 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1219 f.debug_struct(&format!("GstVideoCaptionMeta @ {self:p}"))
1220 .field("meta", &self.meta)
1221 .field("caption_type", &self.caption_type)
1222 .field("data", &self.data)
1223 .field("size", &self.size)
1224 .finish()
1225 }
1226}
1227
1228#[repr(C)]
1229#[allow(dead_code)]
1230pub struct _GstVideoChromaResample {
1231 _data: [u8; 0],
1232 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1233}
1234
1235pub type GstVideoChromaResample = _GstVideoChromaResample;
1236
1237#[derive(Copy, Clone)]
1238#[repr(C)]
1239pub struct GstVideoCodecAlphaMeta {
1240 pub meta: gst::GstMeta,
1241 pub buffer: *mut gst::GstBuffer,
1242}
1243
1244impl ::std::fmt::Debug for GstVideoCodecAlphaMeta {
1245 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1246 f.debug_struct(&format!("GstVideoCodecAlphaMeta @ {self:p}"))
1247 .field("meta", &self.meta)
1248 .field("buffer", &self.buffer)
1249 .finish()
1250 }
1251}
1252
1253#[derive(Copy, Clone)]
1254#[repr(C)]
1255pub struct GstVideoCodecFrame {
1256 pub ref_count: c_int,
1257 pub flags: u32,
1258 pub system_frame_number: u32,
1259 pub decode_frame_number: u32,
1260 pub presentation_frame_number: u32,
1261 pub dts: gst::GstClockTime,
1262 pub pts: gst::GstClockTime,
1263 pub duration: gst::GstClockTime,
1264 pub distance_from_sync: c_int,
1265 pub input_buffer: *mut gst::GstBuffer,
1266 pub output_buffer: *mut gst::GstBuffer,
1267 pub deadline: gst::GstClockTime,
1268 pub events: *mut glib::GList,
1269 pub user_data: gpointer,
1270 pub user_data_destroy_notify: glib::GDestroyNotify,
1271 pub abidata: GstVideoCodecFrame_abidata,
1272}
1273
1274impl ::std::fmt::Debug for GstVideoCodecFrame {
1275 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1276 f.debug_struct(&format!("GstVideoCodecFrame @ {self:p}"))
1277 .field("system_frame_number", &self.system_frame_number)
1278 .field("dts", &self.dts)
1279 .field("pts", &self.pts)
1280 .field("duration", &self.duration)
1281 .field("distance_from_sync", &self.distance_from_sync)
1282 .field("input_buffer", &self.input_buffer)
1283 .field("output_buffer", &self.output_buffer)
1284 .field("deadline", &self.deadline)
1285 .field("abidata", &self.abidata)
1286 .finish()
1287 }
1288}
1289
1290#[derive(Copy, Clone)]
1291#[repr(C)]
1292pub struct GstVideoCodecFrame_abidata_ABI {
1293 pub ts: gst::GstClockTime,
1294 pub ts2: gst::GstClockTime,
1295 pub num_subframes: c_uint,
1296 pub subframes_processed: c_uint,
1297}
1298
1299impl ::std::fmt::Debug for GstVideoCodecFrame_abidata_ABI {
1300 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1301 f.debug_struct(&format!("GstVideoCodecFrame_abidata_ABI @ {self:p}"))
1302 .finish()
1303 }
1304}
1305
1306#[derive(Copy, Clone)]
1307#[repr(C)]
1308pub struct GstVideoCodecState {
1309 pub ref_count: c_int,
1310 pub info: GstVideoInfo,
1311 pub caps: *mut gst::GstCaps,
1312 pub codec_data: *mut gst::GstBuffer,
1313 pub allocation_caps: *mut gst::GstCaps,
1314 pub mastering_display_info: *mut GstVideoMasteringDisplayInfo,
1315 pub content_light_level: *mut GstVideoContentLightLevel,
1316 pub padding: [gpointer; 17],
1317}
1318
1319impl ::std::fmt::Debug for GstVideoCodecState {
1320 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1321 f.debug_struct(&format!("GstVideoCodecState @ {self:p}"))
1322 .field("info", &self.info)
1323 .field("caps", &self.caps)
1324 .field("codec_data", &self.codec_data)
1325 .field("allocation_caps", &self.allocation_caps)
1326 .field("mastering_display_info", &self.mastering_display_info)
1327 .field("content_light_level", &self.content_light_level)
1328 .finish()
1329 }
1330}
1331
1332#[derive(Copy, Clone)]
1333#[repr(C)]
1334pub struct GstVideoColorPrimariesInfo {
1335 pub primaries: GstVideoColorPrimaries,
1336 pub Wx: c_double,
1337 pub Wy: c_double,
1338 pub Rx: c_double,
1339 pub Ry: c_double,
1340 pub Gx: c_double,
1341 pub Gy: c_double,
1342 pub Bx: c_double,
1343 pub By: c_double,
1344}
1345
1346impl ::std::fmt::Debug for GstVideoColorPrimariesInfo {
1347 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1348 f.debug_struct(&format!("GstVideoColorPrimariesInfo @ {self:p}"))
1349 .field("primaries", &self.primaries)
1350 .field("Wx", &self.Wx)
1351 .field("Wy", &self.Wy)
1352 .field("Rx", &self.Rx)
1353 .field("Ry", &self.Ry)
1354 .field("Gx", &self.Gx)
1355 .field("Gy", &self.Gy)
1356 .field("Bx", &self.Bx)
1357 .field("By", &self.By)
1358 .finish()
1359 }
1360}
1361
1362#[derive(Copy, Clone)]
1363#[repr(C)]
1364pub struct GstVideoColorimetry {
1365 pub range: GstVideoColorRange,
1366 pub matrix: GstVideoColorMatrix,
1367 pub transfer: GstVideoTransferFunction,
1368 pub primaries: GstVideoColorPrimaries,
1369}
1370
1371impl ::std::fmt::Debug for GstVideoColorimetry {
1372 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1373 f.debug_struct(&format!("GstVideoColorimetry @ {self:p}"))
1374 .field("range", &self.range)
1375 .field("matrix", &self.matrix)
1376 .field("transfer", &self.transfer)
1377 .field("primaries", &self.primaries)
1378 .finish()
1379 }
1380}
1381
1382#[derive(Copy, Clone)]
1383#[repr(C)]
1384pub struct GstVideoContentLightLevel {
1385 pub max_content_light_level: u16,
1386 pub max_frame_average_light_level: u16,
1387 pub _gst_reserved: [gpointer; 4],
1388}
1389
1390impl ::std::fmt::Debug for GstVideoContentLightLevel {
1391 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1392 f.debug_struct(&format!("GstVideoContentLightLevel @ {self:p}"))
1393 .field("max_content_light_level", &self.max_content_light_level)
1394 .field(
1395 "max_frame_average_light_level",
1396 &self.max_frame_average_light_level,
1397 )
1398 .finish()
1399 }
1400}
1401
1402#[repr(C)]
1403#[allow(dead_code)]
1404pub struct _GstVideoConverter {
1405 _data: [u8; 0],
1406 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1407}
1408
1409pub type GstVideoConverter = _GstVideoConverter;
1410
1411#[derive(Copy, Clone)]
1412#[repr(C)]
1413pub struct GstVideoCropMeta {
1414 pub meta: gst::GstMeta,
1415 pub x: c_uint,
1416 pub y: c_uint,
1417 pub width: c_uint,
1418 pub height: c_uint,
1419}
1420
1421impl ::std::fmt::Debug for GstVideoCropMeta {
1422 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1423 f.debug_struct(&format!("GstVideoCropMeta @ {self:p}"))
1424 .field("meta", &self.meta)
1425 .field("x", &self.x)
1426 .field("y", &self.y)
1427 .field("width", &self.width)
1428 .field("height", &self.height)
1429 .finish()
1430 }
1431}
1432
1433#[derive(Copy, Clone)]
1434#[repr(C)]
1435pub struct GstVideoDecoderClass {
1436 pub element_class: gst::GstElementClass,
1437 pub open: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1438 pub close: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1439 pub start: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1440 pub stop: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1441 pub parse: Option<
1442 unsafe extern "C" fn(
1443 *mut GstVideoDecoder,
1444 *mut GstVideoCodecFrame,
1445 *mut gst_base::GstAdapter,
1446 gboolean,
1447 ) -> gst::GstFlowReturn,
1448 >,
1449 pub set_format:
1450 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut GstVideoCodecState) -> gboolean>,
1451 pub reset: Option<unsafe extern "C" fn(*mut GstVideoDecoder, gboolean) -> gboolean>,
1452 pub finish: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gst::GstFlowReturn>,
1453 pub handle_frame: Option<
1454 unsafe extern "C" fn(*mut GstVideoDecoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1455 >,
1456 pub sink_event:
1457 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstEvent) -> gboolean>,
1458 pub src_event:
1459 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstEvent) -> gboolean>,
1460 pub negotiate: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1461 pub decide_allocation:
1462 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1463 pub propose_allocation:
1464 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1465 pub flush: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gboolean>,
1466 pub sink_query:
1467 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1468 pub src_query:
1469 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstQuery) -> gboolean>,
1470 pub getcaps:
1471 Option<unsafe extern "C" fn(*mut GstVideoDecoder, *mut gst::GstCaps) -> *mut gst::GstCaps>,
1472 pub drain: Option<unsafe extern "C" fn(*mut GstVideoDecoder) -> gst::GstFlowReturn>,
1473 pub transform_meta: Option<
1474 unsafe extern "C" fn(
1475 *mut GstVideoDecoder,
1476 *mut GstVideoCodecFrame,
1477 *mut gst::GstMeta,
1478 ) -> gboolean,
1479 >,
1480 pub handle_missing_data: Option<
1481 unsafe extern "C" fn(
1482 *mut GstVideoDecoder,
1483 gst::GstClockTime,
1484 gst::GstClockTime,
1485 ) -> gboolean,
1486 >,
1487 pub padding: [gpointer; 13],
1488}
1489
1490impl ::std::fmt::Debug for GstVideoDecoderClass {
1491 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1492 f.debug_struct(&format!("GstVideoDecoderClass @ {self:p}"))
1493 .field("open", &self.open)
1494 .field("close", &self.close)
1495 .field("start", &self.start)
1496 .field("stop", &self.stop)
1497 .field("parse", &self.parse)
1498 .field("set_format", &self.set_format)
1499 .field("reset", &self.reset)
1500 .field("finish", &self.finish)
1501 .field("handle_frame", &self.handle_frame)
1502 .field("sink_event", &self.sink_event)
1503 .field("src_event", &self.src_event)
1504 .field("negotiate", &self.negotiate)
1505 .field("decide_allocation", &self.decide_allocation)
1506 .field("propose_allocation", &self.propose_allocation)
1507 .field("flush", &self.flush)
1508 .field("sink_query", &self.sink_query)
1509 .field("src_query", &self.src_query)
1510 .field("getcaps", &self.getcaps)
1511 .field("drain", &self.drain)
1512 .field("transform_meta", &self.transform_meta)
1513 .field("handle_missing_data", &self.handle_missing_data)
1514 .finish()
1515 }
1516}
1517
1518#[repr(C)]
1519#[allow(dead_code)]
1520pub struct _GstVideoDecoderPrivate {
1521 _data: [u8; 0],
1522 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1523}
1524
1525pub type GstVideoDecoderPrivate = _GstVideoDecoderPrivate;
1526
1527#[derive(Copy, Clone)]
1528#[repr(C)]
1529pub struct GstVideoDirectionInterface {
1530 pub iface: gobject::GTypeInterface,
1531}
1532
1533impl ::std::fmt::Debug for GstVideoDirectionInterface {
1534 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1535 f.debug_struct(&format!("GstVideoDirectionInterface @ {self:p}"))
1536 .field("iface", &self.iface)
1537 .finish()
1538 }
1539}
1540
1541#[repr(C)]
1542#[allow(dead_code)]
1543pub struct _GstVideoDither {
1544 _data: [u8; 0],
1545 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1546}
1547
1548pub type GstVideoDither = _GstVideoDither;
1549
1550#[derive(Copy, Clone)]
1551#[repr(C)]
1552pub struct GstVideoEncoderClass {
1553 pub element_class: gst::GstElementClass,
1554 pub open: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1555 pub close: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1556 pub start: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1557 pub stop: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1558 pub set_format:
1559 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecState) -> gboolean>,
1560 pub handle_frame: Option<
1561 unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1562 >,
1563 pub reset: Option<unsafe extern "C" fn(*mut GstVideoEncoder, gboolean) -> gboolean>,
1564 pub finish: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gst::GstFlowReturn>,
1565 pub pre_push: Option<
1566 unsafe extern "C" fn(*mut GstVideoEncoder, *mut GstVideoCodecFrame) -> gst::GstFlowReturn,
1567 >,
1568 pub getcaps:
1569 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstCaps) -> *mut gst::GstCaps>,
1570 pub sink_event:
1571 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstEvent) -> gboolean>,
1572 pub src_event:
1573 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstEvent) -> gboolean>,
1574 pub negotiate: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1575 pub decide_allocation:
1576 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1577 pub propose_allocation:
1578 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1579 pub flush: Option<unsafe extern "C" fn(*mut GstVideoEncoder) -> gboolean>,
1580 pub sink_query:
1581 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1582 pub src_query:
1583 Option<unsafe extern "C" fn(*mut GstVideoEncoder, *mut gst::GstQuery) -> gboolean>,
1584 pub transform_meta: Option<
1585 unsafe extern "C" fn(
1586 *mut GstVideoEncoder,
1587 *mut GstVideoCodecFrame,
1588 *mut gst::GstMeta,
1589 ) -> gboolean,
1590 >,
1591 pub _gst_reserved: [gpointer; 16],
1592}
1593
1594impl ::std::fmt::Debug for GstVideoEncoderClass {
1595 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1596 f.debug_struct(&format!("GstVideoEncoderClass @ {self:p}"))
1597 .field("open", &self.open)
1598 .field("close", &self.close)
1599 .field("start", &self.start)
1600 .field("stop", &self.stop)
1601 .field("set_format", &self.set_format)
1602 .field("handle_frame", &self.handle_frame)
1603 .field("reset", &self.reset)
1604 .field("finish", &self.finish)
1605 .field("pre_push", &self.pre_push)
1606 .field("getcaps", &self.getcaps)
1607 .field("sink_event", &self.sink_event)
1608 .field("src_event", &self.src_event)
1609 .field("negotiate", &self.negotiate)
1610 .field("decide_allocation", &self.decide_allocation)
1611 .field("propose_allocation", &self.propose_allocation)
1612 .field("flush", &self.flush)
1613 .field("sink_query", &self.sink_query)
1614 .field("src_query", &self.src_query)
1615 .field("transform_meta", &self.transform_meta)
1616 .finish()
1617 }
1618}
1619
1620#[repr(C)]
1621#[allow(dead_code)]
1622pub struct _GstVideoEncoderPrivate {
1623 _data: [u8; 0],
1624 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1625}
1626
1627pub type GstVideoEncoderPrivate = _GstVideoEncoderPrivate;
1628
1629#[derive(Copy, Clone)]
1630#[repr(C)]
1631pub struct GstVideoFilterClass {
1632 pub parent_class: gst_base::GstBaseTransformClass,
1633 pub set_info: Option<
1634 unsafe extern "C" fn(
1635 *mut GstVideoFilter,
1636 *mut gst::GstCaps,
1637 *mut GstVideoInfo,
1638 *mut gst::GstCaps,
1639 *mut GstVideoInfo,
1640 ) -> gboolean,
1641 >,
1642 pub transform_frame: Option<
1643 unsafe extern "C" fn(
1644 *mut GstVideoFilter,
1645 *mut GstVideoFrame,
1646 *mut GstVideoFrame,
1647 ) -> gst::GstFlowReturn,
1648 >,
1649 pub transform_frame_ip:
1650 Option<unsafe extern "C" fn(*mut GstVideoFilter, *mut GstVideoFrame) -> gst::GstFlowReturn>,
1651 pub _gst_reserved: [gpointer; 4],
1652}
1653
1654impl ::std::fmt::Debug for GstVideoFilterClass {
1655 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1656 f.debug_struct(&format!("GstVideoFilterClass @ {self:p}"))
1657 .field("parent_class", &self.parent_class)
1658 .field("set_info", &self.set_info)
1659 .field("transform_frame", &self.transform_frame)
1660 .field("transform_frame_ip", &self.transform_frame_ip)
1661 .finish()
1662 }
1663}
1664
1665#[derive(Copy, Clone)]
1666#[repr(C)]
1667pub struct GstVideoFormatInfo {
1668 pub format: GstVideoFormat,
1669 pub name: *const c_char,
1670 pub description: *const c_char,
1671 pub flags: GstVideoFormatFlags,
1672 pub bits: c_uint,
1673 pub n_components: c_uint,
1674 pub shift: [c_uint; 4],
1675 pub depth: [c_uint; 4],
1676 pub pixel_stride: [c_int; 4],
1677 pub n_planes: c_uint,
1678 pub plane: [c_uint; 4],
1679 pub poffset: [c_uint; 4],
1680 pub w_sub: [c_uint; 4],
1681 pub h_sub: [c_uint; 4],
1682 pub unpack_format: GstVideoFormat,
1683 pub unpack_func: GstVideoFormatUnpack,
1684 pub pack_lines: c_int,
1685 pub pack_func: GstVideoFormatPack,
1686 pub tile_mode: GstVideoTileMode,
1687 pub tile_ws: c_uint,
1688 pub tile_hs: c_uint,
1689 pub tile_info: [GstVideoTileInfo; 4],
1690}
1691
1692impl ::std::fmt::Debug for GstVideoFormatInfo {
1693 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1694 f.debug_struct(&format!("GstVideoFormatInfo @ {self:p}"))
1695 .field("format", &self.format)
1696 .field("name", &self.name)
1697 .field("description", &self.description)
1698 .field("flags", &self.flags)
1699 .field("bits", &self.bits)
1700 .field("n_components", &self.n_components)
1701 .field("shift", &self.shift)
1702 .field("depth", &self.depth)
1703 .field("pixel_stride", &self.pixel_stride)
1704 .field("n_planes", &self.n_planes)
1705 .field("plane", &self.plane)
1706 .field("poffset", &self.poffset)
1707 .field("w_sub", &self.w_sub)
1708 .field("h_sub", &self.h_sub)
1709 .field("unpack_format", &self.unpack_format)
1710 .field("unpack_func", &self.unpack_func)
1711 .field("pack_lines", &self.pack_lines)
1712 .field("pack_func", &self.pack_func)
1713 .field("tile_mode", &self.tile_mode)
1714 .field("tile_ws", &self.tile_ws)
1715 .field("tile_hs", &self.tile_hs)
1716 .field("tile_info", &self.tile_info)
1717 .finish()
1718 }
1719}
1720
1721#[derive(Copy, Clone)]
1722#[repr(C)]
1723pub struct GstVideoFrame {
1724 pub info: GstVideoInfo,
1725 pub flags: GstVideoFrameFlags,
1726 pub buffer: *mut gst::GstBuffer,
1727 pub meta: gpointer,
1728 pub id: c_int,
1729 pub data: [gpointer; 4],
1730 pub map: [gst::GstMapInfo; 4],
1731 pub _gst_reserved: [gpointer; 4],
1732}
1733
1734impl ::std::fmt::Debug for GstVideoFrame {
1735 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1736 f.debug_struct(&format!("GstVideoFrame @ {self:p}"))
1737 .field("info", &self.info)
1738 .field("flags", &self.flags)
1739 .field("buffer", &self.buffer)
1740 .field("meta", &self.meta)
1741 .field("id", &self.id)
1742 .field("data", &self.data)
1743 .field("map", &self.map)
1744 .finish()
1745 }
1746}
1747
1748#[derive(Copy, Clone)]
1749#[repr(C)]
1750pub struct GstVideoGLTextureUploadMeta {
1751 pub meta: gst::GstMeta,
1752 pub texture_orientation: GstVideoGLTextureOrientation,
1753 pub n_textures: c_uint,
1754 pub texture_type: [GstVideoGLTextureType; 4],
1755 pub buffer: *mut gst::GstBuffer,
1756 pub upload: GstVideoGLTextureUpload,
1757 pub user_data: gpointer,
1758 pub user_data_copy: gobject::GBoxedCopyFunc,
1759 pub user_data_free: gobject::GBoxedFreeFunc,
1760}
1761
1762impl ::std::fmt::Debug for GstVideoGLTextureUploadMeta {
1763 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1764 f.debug_struct(&format!("GstVideoGLTextureUploadMeta @ {self:p}"))
1765 .field("meta", &self.meta)
1766 .field("texture_orientation", &self.texture_orientation)
1767 .field("n_textures", &self.n_textures)
1768 .field("texture_type", &self.texture_type)
1769 .finish()
1770 }
1771}
1772
1773#[derive(Copy, Clone)]
1774#[repr(C)]
1775pub struct GstVideoInfo {
1776 pub finfo: *const GstVideoFormatInfo,
1777 pub interlace_mode: GstVideoInterlaceMode,
1778 pub flags: GstVideoFlags,
1779 pub width: c_int,
1780 pub height: c_int,
1781 pub size: size_t,
1782 pub views: c_int,
1783 pub chroma_site: GstVideoChromaSite,
1784 pub colorimetry: GstVideoColorimetry,
1785 pub par_n: c_int,
1786 pub par_d: c_int,
1787 pub fps_n: c_int,
1788 pub fps_d: c_int,
1789 pub offset: [size_t; 4],
1790 pub stride: [c_int; 4],
1791 pub ABI: GstVideoInfo_ABI,
1792}
1793
1794impl ::std::fmt::Debug for GstVideoInfo {
1795 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1796 f.debug_struct(&format!("GstVideoInfo @ {self:p}"))
1797 .field("finfo", &self.finfo)
1798 .field("interlace_mode", &self.interlace_mode)
1799 .field("flags", &self.flags)
1800 .field("width", &self.width)
1801 .field("height", &self.height)
1802 .field("size", &self.size)
1803 .field("views", &self.views)
1804 .field("chroma_site", &self.chroma_site)
1805 .field("colorimetry", &self.colorimetry)
1806 .field("par_n", &self.par_n)
1807 .field("par_d", &self.par_d)
1808 .field("fps_n", &self.fps_n)
1809 .field("fps_d", &self.fps_d)
1810 .field("offset", &self.offset)
1811 .field("stride", &self.stride)
1812 .field("ABI", &self.ABI)
1813 .finish()
1814 }
1815}
1816
1817#[derive(Copy, Clone)]
1818#[repr(C)]
1819pub struct GstVideoInfoDmaDrm {
1820 pub vinfo: GstVideoInfo,
1821 pub drm_fourcc: u32,
1822 pub drm_modifier: u64,
1823 pub _gst_reserved: [u32; 20],
1824}
1825
1826impl ::std::fmt::Debug for GstVideoInfoDmaDrm {
1827 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1828 f.debug_struct(&format!("GstVideoInfoDmaDrm @ {self:p}"))
1829 .field("vinfo", &self.vinfo)
1830 .field("drm_fourcc", &self.drm_fourcc)
1831 .field("drm_modifier", &self.drm_modifier)
1832 .finish()
1833 }
1834}
1835
1836#[derive(Copy, Clone)]
1837#[repr(C)]
1838pub struct GstVideoInfo_ABI_abi {
1839 pub multiview_mode: GstVideoMultiviewMode,
1840 pub multiview_flags: GstVideoMultiviewFlags,
1841 pub field_order: GstVideoFieldOrder,
1842}
1843
1844impl ::std::fmt::Debug for GstVideoInfo_ABI_abi {
1845 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1846 f.debug_struct(&format!("GstVideoInfo_ABI_abi @ {self:p}"))
1847 .field("multiview_mode", &self.multiview_mode)
1848 .field("multiview_flags", &self.multiview_flags)
1849 .field("field_order", &self.field_order)
1850 .finish()
1851 }
1852}
1853
1854#[derive(Copy, Clone)]
1855#[repr(C)]
1856pub struct GstVideoMasteringDisplayInfo {
1857 pub display_primaries: [GstVideoMasteringDisplayInfoCoordinates; 3],
1858 pub white_point: GstVideoMasteringDisplayInfoCoordinates,
1859 pub max_display_mastering_luminance: u32,
1860 pub min_display_mastering_luminance: u32,
1861 pub _gst_reserved: [gpointer; 4],
1862}
1863
1864impl ::std::fmt::Debug for GstVideoMasteringDisplayInfo {
1865 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1866 f.debug_struct(&format!("GstVideoMasteringDisplayInfo @ {self:p}"))
1867 .field("display_primaries", &self.display_primaries)
1868 .field("white_point", &self.white_point)
1869 .field(
1870 "max_display_mastering_luminance",
1871 &self.max_display_mastering_luminance,
1872 )
1873 .field(
1874 "min_display_mastering_luminance",
1875 &self.min_display_mastering_luminance,
1876 )
1877 .finish()
1878 }
1879}
1880
1881#[derive(Copy, Clone)]
1882#[repr(C)]
1883pub struct GstVideoMasteringDisplayInfoCoordinates {
1884 pub x: u16,
1885 pub y: u16,
1886}
1887
1888impl ::std::fmt::Debug for GstVideoMasteringDisplayInfoCoordinates {
1889 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1890 f.debug_struct(&format!(
1891 "GstVideoMasteringDisplayInfoCoordinates @ {self:p}"
1892 ))
1893 .field("x", &self.x)
1894 .field("y", &self.y)
1895 .finish()
1896 }
1897}
1898
1899#[derive(Copy, Clone)]
1900#[repr(C)]
1901pub struct GstVideoMeta {
1902 pub meta: gst::GstMeta,
1903 pub buffer: *mut gst::GstBuffer,
1904 pub flags: GstVideoFrameFlags,
1905 pub format: GstVideoFormat,
1906 pub id: c_int,
1907 pub width: c_uint,
1908 pub height: c_uint,
1909 pub n_planes: c_uint,
1910 pub offset: [size_t; 4],
1911 pub stride: [c_int; 4],
1912 pub map: Option<
1913 unsafe extern "C" fn(
1914 *mut GstVideoMeta,
1915 c_uint,
1916 *mut gst::GstMapInfo,
1917 *mut gpointer,
1918 *mut c_int,
1919 gst::GstMapFlags,
1920 ) -> gboolean,
1921 >,
1922 pub unmap:
1923 Option<unsafe extern "C" fn(*mut GstVideoMeta, c_uint, *mut gst::GstMapInfo) -> gboolean>,
1924 pub alignment: GstVideoAlignment,
1925}
1926
1927impl ::std::fmt::Debug for GstVideoMeta {
1928 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1929 f.debug_struct(&format!("GstVideoMeta @ {self:p}"))
1930 .field("meta", &self.meta)
1931 .field("buffer", &self.buffer)
1932 .field("flags", &self.flags)
1933 .field("format", &self.format)
1934 .field("id", &self.id)
1935 .field("width", &self.width)
1936 .field("height", &self.height)
1937 .field("n_planes", &self.n_planes)
1938 .field("offset", &self.offset)
1939 .field("stride", &self.stride)
1940 .field("map", &self.map)
1941 .field("unmap", &self.unmap)
1942 .field("alignment", &self.alignment)
1943 .finish()
1944 }
1945}
1946
1947#[derive(Copy, Clone)]
1948#[repr(C)]
1949pub struct GstVideoMetaTransform {
1950 pub in_info: *mut GstVideoInfo,
1951 pub out_info: *mut GstVideoInfo,
1952}
1953
1954impl ::std::fmt::Debug for GstVideoMetaTransform {
1955 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1956 f.debug_struct(&format!("GstVideoMetaTransform @ {self:p}"))
1957 .field("in_info", &self.in_info)
1958 .field("out_info", &self.out_info)
1959 .finish()
1960 }
1961}
1962
1963#[derive(Copy, Clone)]
1964#[repr(C)]
1965pub struct GstVideoOrientationInterface {
1966 pub iface: gobject::GTypeInterface,
1967 pub get_hflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
1968 pub get_vflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
1969 pub get_hcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
1970 pub get_vcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
1971 pub set_hflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
1972 pub set_vflip: Option<unsafe extern "C" fn(*mut GstVideoOrientation, gboolean) -> gboolean>,
1973 pub set_hcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
1974 pub set_vcenter: Option<unsafe extern "C" fn(*mut GstVideoOrientation, c_int) -> gboolean>,
1975}
1976
1977impl ::std::fmt::Debug for GstVideoOrientationInterface {
1978 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1979 f.debug_struct(&format!("GstVideoOrientationInterface @ {self:p}"))
1980 .field("iface", &self.iface)
1981 .field("get_hflip", &self.get_hflip)
1982 .field("get_vflip", &self.get_vflip)
1983 .field("get_hcenter", &self.get_hcenter)
1984 .field("get_vcenter", &self.get_vcenter)
1985 .field("set_hflip", &self.set_hflip)
1986 .field("set_vflip", &self.set_vflip)
1987 .field("set_hcenter", &self.set_hcenter)
1988 .field("set_vcenter", &self.set_vcenter)
1989 .finish()
1990 }
1991}
1992
1993#[repr(C)]
1994#[allow(dead_code)]
1995pub struct GstVideoOverlayComposition {
1996 _data: [u8; 0],
1997 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1998}
1999
2000impl ::std::fmt::Debug for GstVideoOverlayComposition {
2001 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2002 f.debug_struct(&format!("GstVideoOverlayComposition @ {self:p}"))
2003 .finish()
2004 }
2005}
2006
2007#[derive(Copy, Clone)]
2008#[repr(C)]
2009pub struct GstVideoOverlayCompositionMeta {
2010 pub meta: gst::GstMeta,
2011 pub overlay: *mut GstVideoOverlayComposition,
2012}
2013
2014impl ::std::fmt::Debug for GstVideoOverlayCompositionMeta {
2015 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2016 f.debug_struct(&format!("GstVideoOverlayCompositionMeta @ {self:p}"))
2017 .field("meta", &self.meta)
2018 .field("overlay", &self.overlay)
2019 .finish()
2020 }
2021}
2022
2023#[derive(Copy, Clone)]
2024#[repr(C)]
2025pub struct GstVideoOverlayInterface {
2026 pub iface: gobject::GTypeInterface,
2027 pub expose: Option<unsafe extern "C" fn(*mut GstVideoOverlay)>,
2028 pub handle_events: Option<unsafe extern "C" fn(*mut GstVideoOverlay, gboolean)>,
2029 pub set_render_rectangle:
2030 Option<unsafe extern "C" fn(*mut GstVideoOverlay, c_int, c_int, c_int, c_int)>,
2031 pub set_window_handle: Option<unsafe extern "C" fn(*mut GstVideoOverlay, uintptr_t)>,
2032}
2033
2034impl ::std::fmt::Debug for GstVideoOverlayInterface {
2035 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2036 f.debug_struct(&format!("GstVideoOverlayInterface @ {self:p}"))
2037 .field("iface", &self.iface)
2038 .field("expose", &self.expose)
2039 .field("handle_events", &self.handle_events)
2040 .field("set_render_rectangle", &self.set_render_rectangle)
2041 .field("set_window_handle", &self.set_window_handle)
2042 .finish()
2043 }
2044}
2045
2046#[repr(C)]
2047#[allow(dead_code)]
2048pub struct GstVideoOverlayRectangle {
2049 _data: [u8; 0],
2050 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2051}
2052
2053impl ::std::fmt::Debug for GstVideoOverlayRectangle {
2054 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2055 f.debug_struct(&format!("GstVideoOverlayRectangle @ {self:p}"))
2056 .finish()
2057 }
2058}
2059
2060#[derive(Copy, Clone)]
2061#[repr(C)]
2062pub struct GstVideoRectangle {
2063 pub x: c_int,
2064 pub y: c_int,
2065 pub w: c_int,
2066 pub h: c_int,
2067}
2068
2069impl ::std::fmt::Debug for GstVideoRectangle {
2070 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2071 f.debug_struct(&format!("GstVideoRectangle @ {self:p}"))
2072 .field("x", &self.x)
2073 .field("y", &self.y)
2074 .field("w", &self.w)
2075 .field("h", &self.h)
2076 .finish()
2077 }
2078}
2079
2080#[derive(Copy, Clone)]
2081#[repr(C)]
2082pub struct GstVideoRegionOfInterestMeta {
2083 pub meta: gst::GstMeta,
2084 pub roi_type: glib::GQuark,
2085 pub id: c_int,
2086 pub parent_id: c_int,
2087 pub x: c_uint,
2088 pub y: c_uint,
2089 pub w: c_uint,
2090 pub h: c_uint,
2091 pub params: *mut glib::GList,
2092}
2093
2094impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta {
2095 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2096 f.debug_struct(&format!("GstVideoRegionOfInterestMeta @ {self:p}"))
2097 .field("meta", &self.meta)
2098 .field("roi_type", &self.roi_type)
2099 .field("id", &self.id)
2100 .field("parent_id", &self.parent_id)
2101 .field("x", &self.x)
2102 .field("y", &self.y)
2103 .field("w", &self.w)
2104 .field("h", &self.h)
2105 .field("params", &self.params)
2106 .finish()
2107 }
2108}
2109
2110#[derive(Copy, Clone)]
2111#[repr(C)]
2112pub struct GstVideoResampler {
2113 pub in_size: c_int,
2114 pub out_size: c_int,
2115 pub max_taps: c_uint,
2116 pub n_phases: c_uint,
2117 pub offset: *mut u32,
2118 pub phase: *mut u32,
2119 pub n_taps: *mut u32,
2120 pub taps: *mut c_double,
2121 pub _gst_reserved: [gpointer; 4],
2122}
2123
2124impl ::std::fmt::Debug for GstVideoResampler {
2125 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2126 f.debug_struct(&format!("GstVideoResampler @ {self:p}"))
2127 .field("in_size", &self.in_size)
2128 .field("out_size", &self.out_size)
2129 .field("max_taps", &self.max_taps)
2130 .field("n_phases", &self.n_phases)
2131 .field("offset", &self.offset)
2132 .field("phase", &self.phase)
2133 .field("n_taps", &self.n_taps)
2134 .field("taps", &self.taps)
2135 .finish()
2136 }
2137}
2138
2139#[derive(Copy, Clone)]
2140#[repr(C)]
2141pub struct GstVideoSEIUserDataUnregisteredMeta {
2142 pub meta: gst::GstMeta,
2143 pub uuid: [u8; 16],
2144 pub data: *mut u8,
2145 pub size: size_t,
2146}
2147
2148impl ::std::fmt::Debug for GstVideoSEIUserDataUnregisteredMeta {
2149 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2150 f.debug_struct(&format!("GstVideoSEIUserDataUnregisteredMeta @ {self:p}"))
2151 .field("meta", &self.meta)
2152 .field("uuid", &self.uuid)
2153 .field("data", &self.data)
2154 .field("size", &self.size)
2155 .finish()
2156 }
2157}
2158
2159#[repr(C)]
2160#[allow(dead_code)]
2161pub struct _GstVideoScaler {
2162 _data: [u8; 0],
2163 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2164}
2165
2166pub type GstVideoScaler = _GstVideoScaler;
2167
2168#[derive(Copy, Clone)]
2169#[repr(C)]
2170pub struct GstVideoSinkClass {
2171 pub parent_class: gst_base::GstBaseSinkClass,
2172 pub show_frame:
2173 Option<unsafe extern "C" fn(*mut GstVideoSink, *mut gst::GstBuffer) -> gst::GstFlowReturn>,
2174 pub set_info: Option<
2175 unsafe extern "C" fn(*mut GstVideoSink, *mut gst::GstCaps, *const GstVideoInfo) -> gboolean,
2176 >,
2177 pub _gst_reserved: [gpointer; 3],
2178}
2179
2180impl ::std::fmt::Debug for GstVideoSinkClass {
2181 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2182 f.debug_struct(&format!("GstVideoSinkClass @ {self:p}"))
2183 .field("parent_class", &self.parent_class)
2184 .field("show_frame", &self.show_frame)
2185 .field("set_info", &self.set_info)
2186 .finish()
2187 }
2188}
2189
2190#[repr(C)]
2191#[allow(dead_code)]
2192pub struct _GstVideoSinkPrivate {
2193 _data: [u8; 0],
2194 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2195}
2196
2197pub type GstVideoSinkPrivate = _GstVideoSinkPrivate;
2198
2199#[derive(Copy, Clone)]
2200#[repr(C)]
2201pub struct GstVideoTileInfo {
2202 pub width: c_uint,
2203 pub height: c_uint,
2204 pub stride: c_uint,
2205 pub size: c_uint,
2206 pub padding: [u32; 4],
2207}
2208
2209impl ::std::fmt::Debug for GstVideoTileInfo {
2210 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2211 f.debug_struct(&format!("GstVideoTileInfo @ {self:p}"))
2212 .field("width", &self.width)
2213 .field("height", &self.height)
2214 .field("stride", &self.stride)
2215 .field("size", &self.size)
2216 .finish()
2217 }
2218}
2219
2220#[derive(Copy, Clone)]
2221#[repr(C)]
2222pub struct GstVideoTimeCode {
2223 pub config: GstVideoTimeCodeConfig,
2224 pub hours: c_uint,
2225 pub minutes: c_uint,
2226 pub seconds: c_uint,
2227 pub frames: c_uint,
2228 pub field_count: c_uint,
2229}
2230
2231impl ::std::fmt::Debug for GstVideoTimeCode {
2232 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2233 f.debug_struct(&format!("GstVideoTimeCode @ {self:p}"))
2234 .field("config", &self.config)
2235 .field("hours", &self.hours)
2236 .field("minutes", &self.minutes)
2237 .field("seconds", &self.seconds)
2238 .field("frames", &self.frames)
2239 .field("field_count", &self.field_count)
2240 .finish()
2241 }
2242}
2243
2244#[derive(Copy, Clone)]
2245#[repr(C)]
2246pub struct GstVideoTimeCodeConfig {
2247 pub fps_n: c_uint,
2248 pub fps_d: c_uint,
2249 pub flags: GstVideoTimeCodeFlags,
2250 pub latest_daily_jam: *mut glib::GDateTime,
2251}
2252
2253impl ::std::fmt::Debug for GstVideoTimeCodeConfig {
2254 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2255 f.debug_struct(&format!("GstVideoTimeCodeConfig @ {self:p}"))
2256 .field("fps_n", &self.fps_n)
2257 .field("fps_d", &self.fps_d)
2258 .field("flags", &self.flags)
2259 .field("latest_daily_jam", &self.latest_daily_jam)
2260 .finish()
2261 }
2262}
2263
2264#[derive(Copy, Clone)]
2265#[repr(C)]
2266pub struct GstVideoTimeCodeInterval {
2267 pub hours: c_uint,
2268 pub minutes: c_uint,
2269 pub seconds: c_uint,
2270 pub frames: c_uint,
2271}
2272
2273impl ::std::fmt::Debug for GstVideoTimeCodeInterval {
2274 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2275 f.debug_struct(&format!("GstVideoTimeCodeInterval @ {self:p}"))
2276 .field("hours", &self.hours)
2277 .field("minutes", &self.minutes)
2278 .field("seconds", &self.seconds)
2279 .field("frames", &self.frames)
2280 .finish()
2281 }
2282}
2283
2284#[derive(Copy, Clone)]
2285#[repr(C)]
2286pub struct GstVideoTimeCodeMeta {
2287 pub meta: gst::GstMeta,
2288 pub tc: GstVideoTimeCode,
2289}
2290
2291impl ::std::fmt::Debug for GstVideoTimeCodeMeta {
2292 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2293 f.debug_struct(&format!("GstVideoTimeCodeMeta @ {self:p}"))
2294 .field("meta", &self.meta)
2295 .field("tc", &self.tc)
2296 .finish()
2297 }
2298}
2299
2300#[repr(C)]
2301#[allow(dead_code)]
2302pub struct GstVideoVBIEncoder {
2303 _data: [u8; 0],
2304 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2305}
2306
2307impl ::std::fmt::Debug for GstVideoVBIEncoder {
2308 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2309 f.debug_struct(&format!("GstVideoVBIEncoder @ {self:p}"))
2310 .finish()
2311 }
2312}
2313
2314#[repr(C)]
2315#[allow(dead_code)]
2316pub struct GstVideoVBIParser {
2317 _data: [u8; 0],
2318 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2319}
2320
2321impl ::std::fmt::Debug for GstVideoVBIParser {
2322 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2323 f.debug_struct(&format!("GstVideoVBIParser @ {self:p}"))
2324 .finish()
2325 }
2326}
2327
2328#[derive(Copy, Clone)]
2330#[repr(C)]
2331pub struct GstColorBalanceChannel {
2332 pub parent: gobject::GObject,
2333 pub label: *mut c_char,
2334 pub min_value: c_int,
2335 pub max_value: c_int,
2336 pub _gst_reserved: [gpointer; 4],
2337}
2338
2339impl ::std::fmt::Debug for GstColorBalanceChannel {
2340 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2341 f.debug_struct(&format!("GstColorBalanceChannel @ {self:p}"))
2342 .field("parent", &self.parent)
2343 .field("label", &self.label)
2344 .field("min_value", &self.min_value)
2345 .field("max_value", &self.max_value)
2346 .finish()
2347 }
2348}
2349
2350#[derive(Copy, Clone)]
2351#[repr(C)]
2352pub struct GstVideoAggregator {
2353 pub aggregator: gst_base::GstAggregator,
2354 pub info: GstVideoInfo,
2355 pub priv_: *mut GstVideoAggregatorPrivate,
2356 pub _gst_reserved: [gpointer; 20],
2357}
2358
2359impl ::std::fmt::Debug for GstVideoAggregator {
2360 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2361 f.debug_struct(&format!("GstVideoAggregator @ {self:p}"))
2362 .field("aggregator", &self.aggregator)
2363 .field("info", &self.info)
2364 .finish()
2365 }
2366}
2367
2368#[derive(Copy, Clone)]
2369#[repr(C)]
2370pub struct GstVideoAggregatorConvertPad {
2371 pub parent: GstVideoAggregatorPad,
2372 pub priv_: *mut GstVideoAggregatorConvertPadPrivate,
2373 pub _gst_reserved: [gpointer; 4],
2374}
2375
2376impl ::std::fmt::Debug for GstVideoAggregatorConvertPad {
2377 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2378 f.debug_struct(&format!("GstVideoAggregatorConvertPad @ {self:p}"))
2379 .finish()
2380 }
2381}
2382
2383#[derive(Copy, Clone)]
2384#[repr(C)]
2385pub struct GstVideoAggregatorPad {
2386 pub parent: gst_base::GstAggregatorPad,
2387 pub info: GstVideoInfo,
2388 pub priv_: *mut GstVideoAggregatorPadPrivate,
2389 pub _gst_reserved: [gpointer; 4],
2390}
2391
2392impl ::std::fmt::Debug for GstVideoAggregatorPad {
2393 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2394 f.debug_struct(&format!("GstVideoAggregatorPad @ {self:p}"))
2395 .field("parent", &self.parent)
2396 .field("info", &self.info)
2397 .finish()
2398 }
2399}
2400
2401#[derive(Copy, Clone)]
2402#[repr(C)]
2403pub struct GstVideoAggregatorParallelConvertPad {
2404 pub parent_instance: GstVideoAggregatorConvertPad,
2405}
2406
2407impl ::std::fmt::Debug for GstVideoAggregatorParallelConvertPad {
2408 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2409 f.debug_struct(&format!("GstVideoAggregatorParallelConvertPad @ {self:p}"))
2410 .field("parent_instance", &self.parent_instance)
2411 .finish()
2412 }
2413}
2414
2415#[derive(Copy, Clone)]
2416#[repr(C)]
2417pub struct GstVideoBufferPool {
2418 pub bufferpool: gst::GstBufferPool,
2419 pub priv_: *mut GstVideoBufferPoolPrivate,
2420}
2421
2422impl ::std::fmt::Debug for GstVideoBufferPool {
2423 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2424 f.debug_struct(&format!("GstVideoBufferPool @ {self:p}"))
2425 .field("bufferpool", &self.bufferpool)
2426 .field("priv_", &self.priv_)
2427 .finish()
2428 }
2429}
2430
2431#[derive(Copy, Clone)]
2432#[repr(C)]
2433pub struct GstVideoDecoder {
2434 pub element: gst::GstElement,
2435 pub sinkpad: *mut gst::GstPad,
2436 pub srcpad: *mut gst::GstPad,
2437 pub stream_lock: glib::GRecMutex,
2438 pub input_segment: gst::GstSegment,
2439 pub output_segment: gst::GstSegment,
2440 pub priv_: *mut GstVideoDecoderPrivate,
2441 pub padding: [gpointer; 20],
2442}
2443
2444impl ::std::fmt::Debug for GstVideoDecoder {
2445 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2446 f.debug_struct(&format!("GstVideoDecoder @ {self:p}"))
2447 .finish()
2448 }
2449}
2450
2451#[derive(Copy, Clone)]
2452#[repr(C)]
2453pub struct GstVideoEncoder {
2454 pub element: gst::GstElement,
2455 pub sinkpad: *mut gst::GstPad,
2456 pub srcpad: *mut gst::GstPad,
2457 pub stream_lock: glib::GRecMutex,
2458 pub input_segment: gst::GstSegment,
2459 pub output_segment: gst::GstSegment,
2460 pub priv_: *mut GstVideoEncoderPrivate,
2461 pub padding: [gpointer; 20],
2462}
2463
2464impl ::std::fmt::Debug for GstVideoEncoder {
2465 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2466 f.debug_struct(&format!("GstVideoEncoder @ {self:p}"))
2467 .finish()
2468 }
2469}
2470
2471#[derive(Copy, Clone)]
2472#[repr(C)]
2473pub struct GstVideoFilter {
2474 pub element: gst_base::GstBaseTransform,
2475 pub negotiated: gboolean,
2476 pub in_info: GstVideoInfo,
2477 pub out_info: GstVideoInfo,
2478 pub _gst_reserved: [gpointer; 4],
2479}
2480
2481impl ::std::fmt::Debug for GstVideoFilter {
2482 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2483 f.debug_struct(&format!("GstVideoFilter @ {self:p}"))
2484 .field("element", &self.element)
2485 .field("negotiated", &self.negotiated)
2486 .field("in_info", &self.in_info)
2487 .field("out_info", &self.out_info)
2488 .finish()
2489 }
2490}
2491
2492#[repr(C)]
2493#[allow(dead_code)]
2494pub struct GstVideoMultiviewFlagsSet {
2495 _data: [u8; 0],
2496 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2497}
2498
2499impl ::std::fmt::Debug for GstVideoMultiviewFlagsSet {
2500 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2501 f.debug_struct(&format!("GstVideoMultiviewFlagsSet @ {self:p}"))
2502 .finish()
2503 }
2504}
2505
2506#[derive(Copy, Clone)]
2507#[repr(C)]
2508pub struct GstVideoSink {
2509 pub element: gst_base::GstBaseSink,
2510 pub width: c_int,
2511 pub height: c_int,
2512 pub priv_: *mut GstVideoSinkPrivate,
2513 pub _gst_reserved: [gpointer; 4],
2514}
2515
2516impl ::std::fmt::Debug for GstVideoSink {
2517 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2518 f.debug_struct(&format!("GstVideoSink @ {self:p}"))
2519 .field("element", &self.element)
2520 .field("width", &self.width)
2521 .field("height", &self.height)
2522 .finish()
2523 }
2524}
2525
2526#[repr(C)]
2528#[allow(dead_code)]
2529pub struct GstColorBalance {
2530 _data: [u8; 0],
2531 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2532}
2533
2534impl ::std::fmt::Debug for GstColorBalance {
2535 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2536 write!(f, "GstColorBalance @ {self:p}")
2537 }
2538}
2539
2540#[repr(C)]
2541#[allow(dead_code)]
2542pub struct GstNavigation {
2543 _data: [u8; 0],
2544 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2545}
2546
2547impl ::std::fmt::Debug for GstNavigation {
2548 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2549 write!(f, "GstNavigation @ {self:p}")
2550 }
2551}
2552
2553#[repr(C)]
2554#[allow(dead_code)]
2555pub struct GstVideoDirection {
2556 _data: [u8; 0],
2557 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2558}
2559
2560impl ::std::fmt::Debug for GstVideoDirection {
2561 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2562 write!(f, "GstVideoDirection @ {self:p}")
2563 }
2564}
2565
2566#[repr(C)]
2567#[allow(dead_code)]
2568pub struct GstVideoOrientation {
2569 _data: [u8; 0],
2570 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2571}
2572
2573impl ::std::fmt::Debug for GstVideoOrientation {
2574 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2575 write!(f, "GstVideoOrientation @ {self:p}")
2576 }
2577}
2578
2579#[repr(C)]
2580#[allow(dead_code)]
2581pub struct GstVideoOverlay {
2582 _data: [u8; 0],
2583 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2584}
2585
2586impl ::std::fmt::Debug for GstVideoOverlay {
2587 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2588 write!(f, "GstVideoOverlay @ {self:p}")
2589 }
2590}
2591
2592extern "C" {
2593
2594 #[cfg(feature = "v1_24")]
2598 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
2599 pub fn gst_ancillary_meta_field_get_type() -> GType;
2600
2601 pub fn gst_color_balance_type_get_type() -> GType;
2605
2606 pub fn gst_navigation_command_get_type() -> GType;
2610
2611 pub fn gst_navigation_event_type_get_type() -> GType;
2615
2616 pub fn gst_navigation_message_type_get_type() -> GType;
2620
2621 pub fn gst_navigation_query_type_get_type() -> GType;
2625
2626 #[cfg(feature = "v1_18")]
2630 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2631 pub fn gst_video_afd_spec_get_type() -> GType;
2632
2633 #[cfg(feature = "v1_18")]
2637 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2638 pub fn gst_video_afd_value_get_type() -> GType;
2639
2640 pub fn gst_video_alpha_mode_get_type() -> GType;
2644
2645 #[cfg(feature = "v1_16")]
2649 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2650 pub fn gst_video_ancillary_did_get_type() -> GType;
2651
2652 #[cfg(feature = "v1_16")]
2656 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2657 pub fn gst_video_ancillary_di_d16_get_type() -> GType;
2658
2659 #[cfg(feature = "v1_16")]
2663 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2664 pub fn gst_video_caption_type_get_type() -> GType;
2665 #[cfg(feature = "v1_16")]
2666 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2667 pub fn gst_video_caption_type_from_caps(caps: *const gst::GstCaps) -> GstVideoCaptionType;
2668 #[cfg(feature = "v1_16")]
2669 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2670 pub fn gst_video_caption_type_to_caps(type_: GstVideoCaptionType) -> *mut gst::GstCaps;
2671
2672 pub fn gst_video_chroma_method_get_type() -> GType;
2676
2677 pub fn gst_video_chroma_mode_get_type() -> GType;
2681
2682 pub fn gst_video_color_matrix_get_type() -> GType;
2686 #[cfg(feature = "v1_18")]
2687 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2688 pub fn gst_video_color_matrix_from_iso(value: c_uint) -> GstVideoColorMatrix;
2689 pub fn gst_video_color_matrix_get_Kr_Kb(
2690 matrix: GstVideoColorMatrix,
2691 Kr: *mut c_double,
2692 Kb: *mut c_double,
2693 ) -> gboolean;
2694 #[cfg(feature = "v1_18")]
2695 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2696 pub fn gst_video_color_matrix_to_iso(matrix: GstVideoColorMatrix) -> c_uint;
2697
2698 pub fn gst_video_color_primaries_get_type() -> GType;
2702 #[cfg(feature = "v1_18")]
2703 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2704 pub fn gst_video_color_primaries_from_iso(value: c_uint) -> GstVideoColorPrimaries;
2705 pub fn gst_video_color_primaries_get_info(
2706 primaries: GstVideoColorPrimaries,
2707 ) -> *const GstVideoColorPrimariesInfo;
2708 #[cfg(feature = "v1_22")]
2709 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
2710 pub fn gst_video_color_primaries_is_equivalent(
2711 primaries: GstVideoColorPrimaries,
2712 other: GstVideoColorPrimaries,
2713 ) -> gboolean;
2714 #[cfg(feature = "v1_18")]
2715 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2716 pub fn gst_video_color_primaries_to_iso(primaries: GstVideoColorPrimaries) -> c_uint;
2717
2718 pub fn gst_video_color_range_get_type() -> GType;
2722 pub fn gst_video_color_range_offsets(
2723 range: GstVideoColorRange,
2724 info: *const GstVideoFormatInfo,
2725 offset: *mut [c_int; 4],
2726 scale: *mut [c_int; 4],
2727 );
2728
2729 pub fn gst_video_dither_method_get_type() -> GType;
2733
2734 pub fn gst_video_field_order_get_type() -> GType;
2738 pub fn gst_video_field_order_from_string(order: *const c_char) -> GstVideoFieldOrder;
2739 pub fn gst_video_field_order_to_string(order: GstVideoFieldOrder) -> *const c_char;
2740
2741 pub fn gst_video_format_get_type() -> GType;
2745 pub fn gst_video_format_from_fourcc(fourcc: u32) -> GstVideoFormat;
2746 pub fn gst_video_format_from_masks(
2747 depth: c_int,
2748 bpp: c_int,
2749 endianness: c_int,
2750 red_mask: c_uint,
2751 green_mask: c_uint,
2752 blue_mask: c_uint,
2753 alpha_mask: c_uint,
2754 ) -> GstVideoFormat;
2755 pub fn gst_video_format_from_string(format: *const c_char) -> GstVideoFormat;
2756 pub fn gst_video_format_get_info(format: GstVideoFormat) -> *const GstVideoFormatInfo;
2757 pub fn gst_video_format_get_palette(format: GstVideoFormat, size: *mut size_t)
2758 -> gconstpointer;
2759 pub fn gst_video_format_to_fourcc(format: GstVideoFormat) -> u32;
2760 pub fn gst_video_format_to_string(format: GstVideoFormat) -> *const c_char;
2761
2762 #[cfg(feature = "v1_20")]
2766 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2767 pub fn gst_video_gl_texture_orientation_get_type() -> GType;
2768
2769 #[cfg(feature = "v1_20")]
2773 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2774 pub fn gst_video_gl_texture_type_get_type() -> GType;
2775
2776 pub fn gst_video_gamma_mode_get_type() -> GType;
2780
2781 pub fn gst_video_interlace_mode_get_type() -> GType;
2785 pub fn gst_video_interlace_mode_from_string(mode: *const c_char) -> GstVideoInterlaceMode;
2786 pub fn gst_video_interlace_mode_to_string(mode: GstVideoInterlaceMode) -> *const c_char;
2787
2788 pub fn gst_video_matrix_mode_get_type() -> GType;
2792
2793 pub fn gst_video_multiview_frame_packing_get_type() -> GType;
2797
2798 pub fn gst_video_multiview_mode_get_type() -> GType;
2802 pub fn gst_video_multiview_mode_from_caps_string(
2803 caps_mview_mode: *const c_char,
2804 ) -> GstVideoMultiviewMode;
2805 pub fn gst_video_multiview_mode_to_caps_string(
2806 mview_mode: GstVideoMultiviewMode,
2807 ) -> *const c_char;
2808
2809 pub fn gst_video_orientation_method_get_type() -> GType;
2813
2814 pub fn gst_video_primaries_mode_get_type() -> GType;
2818
2819 pub fn gst_video_resampler_method_get_type() -> GType;
2823
2824 pub fn gst_video_tile_mode_get_type() -> GType;
2828
2829 pub fn gst_video_tile_type_get_type() -> GType;
2833
2834 pub fn gst_video_transfer_function_get_type() -> GType;
2838 #[cfg(feature = "v1_20")]
2839 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2840 pub fn gst_video_transfer_function_decode(
2841 func: GstVideoTransferFunction,
2842 val: c_double,
2843 ) -> c_double;
2844 #[cfg(feature = "v1_20")]
2845 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2846 pub fn gst_video_transfer_function_encode(
2847 func: GstVideoTransferFunction,
2848 val: c_double,
2849 ) -> c_double;
2850 #[cfg(feature = "v1_18")]
2851 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2852 pub fn gst_video_transfer_function_from_iso(value: c_uint) -> GstVideoTransferFunction;
2853 #[cfg(feature = "v1_18")]
2854 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2855 pub fn gst_video_transfer_function_is_equivalent(
2856 from_func: GstVideoTransferFunction,
2857 from_bpp: c_uint,
2858 to_func: GstVideoTransferFunction,
2859 to_bpp: c_uint,
2860 ) -> gboolean;
2861 #[cfg(feature = "v1_18")]
2862 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2863 pub fn gst_video_transfer_function_to_iso(func: GstVideoTransferFunction) -> c_uint;
2864
2865 #[cfg(feature = "v1_16")]
2869 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2870 pub fn gst_video_vbi_parser_result_get_type() -> GType;
2871
2872 #[cfg(feature = "v1_22")]
2876 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
2877 pub fn gst_navigation_modifier_type_get_type() -> GType;
2878
2879 pub fn gst_video_buffer_flags_get_type() -> GType;
2883
2884 pub fn gst_video_chroma_flags_get_type() -> GType;
2888
2889 pub fn gst_video_chroma_site_get_type() -> GType;
2893 #[cfg(feature = "v1_20")]
2894 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2895 pub fn gst_video_chroma_site_from_string(s: *const c_char) -> GstVideoChromaSite;
2896 #[cfg(feature = "v1_20")]
2897 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2898 pub fn gst_video_chroma_site_to_string(site: GstVideoChromaSite) -> *mut c_char;
2899
2900 #[cfg(feature = "v1_20")]
2904 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2905 pub fn gst_video_codec_frame_flags_get_type() -> GType;
2906
2907 #[cfg(feature = "v1_20")]
2911 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
2912 pub fn gst_video_decoder_request_sync_point_flags_get_type() -> GType;
2913
2914 pub fn gst_video_dither_flags_get_type() -> GType;
2918
2919 pub fn gst_video_flags_get_type() -> GType;
2923
2924 pub fn gst_video_format_flags_get_type() -> GType;
2928
2929 pub fn gst_video_frame_flags_get_type() -> GType;
2933
2934 pub fn gst_video_frame_map_flags_get_type() -> GType;
2938
2939 pub fn gst_video_multiview_flags_get_type() -> GType;
2943
2944 #[cfg(feature = "v1_16")]
2948 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
2949 pub fn gst_video_overlay_format_flags_get_type() -> GType;
2950
2951 pub fn gst_video_pack_flags_get_type() -> GType;
2955
2956 pub fn gst_video_resampler_flags_get_type() -> GType;
2960
2961 pub fn gst_video_scaler_flags_get_type() -> GType;
2965
2966 #[cfg(feature = "v1_18")]
2970 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2971 pub fn gst_video_time_code_flags_get_type() -> GType;
2972
2973 #[cfg(feature = "v1_24")]
2977 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
2978 pub fn gst_ancillary_meta_get_info() -> *const gst::GstMetaInfo;
2979
2980 #[cfg(feature = "v1_18")]
2984 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
2985 pub fn gst_video_afd_meta_get_info() -> *const gst::GstMetaInfo;
2986
2987 pub fn gst_video_affine_transformation_meta_apply_matrix(
2991 meta: *mut GstVideoAffineTransformationMeta,
2992 matrix: *const [c_float; 16],
2993 );
2994 pub fn gst_video_affine_transformation_meta_get_info() -> *const gst::GstMetaInfo;
2995
2996 pub fn gst_video_alignment_reset(align: *mut GstVideoAlignment);
3000
3001 #[cfg(feature = "v1_18")]
3005 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3006 pub fn gst_video_bar_meta_get_info() -> *const gst::GstMetaInfo;
3007
3008 #[cfg(feature = "v1_16")]
3012 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3013 pub fn gst_video_caption_meta_get_info() -> *const gst::GstMetaInfo;
3014
3015 pub fn gst_video_chroma_resample_free(resample: *mut GstVideoChromaResample);
3019 pub fn gst_video_chroma_resample_get_info(
3020 resample: *mut GstVideoChromaResample,
3021 n_lines: *mut c_uint,
3022 offset: *mut c_int,
3023 );
3024 pub fn gst_video_chroma_resample_new(
3025 method: GstVideoChromaMethod,
3026 site: GstVideoChromaSite,
3027 flags: GstVideoChromaFlags,
3028 format: GstVideoFormat,
3029 h_factor: c_int,
3030 v_factor: c_int,
3031 ) -> *mut GstVideoChromaResample;
3032
3033 #[cfg(feature = "v1_20")]
3037 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3038 pub fn gst_video_codec_alpha_meta_get_info() -> *const gst::GstMetaInfo;
3039
3040 pub fn gst_video_codec_frame_get_type() -> GType;
3044 pub fn gst_video_codec_frame_get_user_data(frame: *mut GstVideoCodecFrame) -> gpointer;
3045 pub fn gst_video_codec_frame_ref(frame: *mut GstVideoCodecFrame) -> *mut GstVideoCodecFrame;
3046 pub fn gst_video_codec_frame_set_user_data(
3047 frame: *mut GstVideoCodecFrame,
3048 user_data: gpointer,
3049 notify: glib::GDestroyNotify,
3050 );
3051 pub fn gst_video_codec_frame_unref(frame: *mut GstVideoCodecFrame);
3052
3053 pub fn gst_video_codec_state_get_type() -> GType;
3057 pub fn gst_video_codec_state_ref(state: *mut GstVideoCodecState) -> *mut GstVideoCodecState;
3058 pub fn gst_video_codec_state_unref(state: *mut GstVideoCodecState);
3059
3060 pub fn gst_video_colorimetry_from_string(
3064 cinfo: *mut GstVideoColorimetry,
3065 color: *const c_char,
3066 ) -> gboolean;
3067 pub fn gst_video_colorimetry_is_equal(
3068 cinfo: *const GstVideoColorimetry,
3069 other: *const GstVideoColorimetry,
3070 ) -> gboolean;
3071 #[cfg(feature = "v1_22")]
3072 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3073 pub fn gst_video_colorimetry_is_equivalent(
3074 cinfo: *const GstVideoColorimetry,
3075 bitdepth: c_uint,
3076 other: *const GstVideoColorimetry,
3077 other_bitdepth: c_uint,
3078 ) -> gboolean;
3079 pub fn gst_video_colorimetry_matches(
3080 cinfo: *const GstVideoColorimetry,
3081 color: *const c_char,
3082 ) -> gboolean;
3083 pub fn gst_video_colorimetry_to_string(cinfo: *const GstVideoColorimetry) -> *mut c_char;
3084
3085 #[cfg(feature = "v1_18")]
3089 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3090 pub fn gst_video_content_light_level_add_to_caps(
3091 linfo: *const GstVideoContentLightLevel,
3092 caps: *mut gst::GstCaps,
3093 ) -> gboolean;
3094 #[cfg(feature = "v1_18")]
3095 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3096 pub fn gst_video_content_light_level_from_caps(
3097 linfo: *mut GstVideoContentLightLevel,
3098 caps: *const gst::GstCaps,
3099 ) -> gboolean;
3100 #[cfg(feature = "v1_18")]
3101 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3102 pub fn gst_video_content_light_level_from_string(
3103 linfo: *mut GstVideoContentLightLevel,
3104 level: *const c_char,
3105 ) -> gboolean;
3106 #[cfg(feature = "v1_18")]
3107 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3108 pub fn gst_video_content_light_level_init(linfo: *mut GstVideoContentLightLevel);
3109 #[cfg(feature = "v1_20")]
3110 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3111 pub fn gst_video_content_light_level_is_equal(
3112 linfo: *const GstVideoContentLightLevel,
3113 other: *const GstVideoContentLightLevel,
3114 ) -> gboolean;
3115 #[cfg(feature = "v1_18")]
3116 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3117 pub fn gst_video_content_light_level_to_string(
3118 linfo: *const GstVideoContentLightLevel,
3119 ) -> *mut c_char;
3120
3121 pub fn gst_video_converter_frame(
3125 convert: *mut GstVideoConverter,
3126 src: *const GstVideoFrame,
3127 dest: *mut GstVideoFrame,
3128 );
3129 #[cfg(feature = "v1_20")]
3130 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3131 pub fn gst_video_converter_frame_finish(convert: *mut GstVideoConverter);
3132 pub fn gst_video_converter_free(convert: *mut GstVideoConverter);
3133 pub fn gst_video_converter_get_config(
3134 convert: *mut GstVideoConverter,
3135 ) -> *const gst::GstStructure;
3136 #[cfg(feature = "v1_22")]
3137 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3138 pub fn gst_video_converter_get_in_info(convert: *mut GstVideoConverter) -> *const GstVideoInfo;
3139 #[cfg(feature = "v1_22")]
3140 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3141 pub fn gst_video_converter_get_out_info(convert: *mut GstVideoConverter)
3142 -> *const GstVideoInfo;
3143 pub fn gst_video_converter_set_config(
3144 convert: *mut GstVideoConverter,
3145 config: *mut gst::GstStructure,
3146 ) -> gboolean;
3147 pub fn gst_video_converter_new(
3148 in_info: *const GstVideoInfo,
3149 out_info: *const GstVideoInfo,
3150 config: *mut gst::GstStructure,
3151 ) -> *mut GstVideoConverter;
3152 #[cfg(feature = "v1_20")]
3153 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3154 pub fn gst_video_converter_new_with_pool(
3155 in_info: *const GstVideoInfo,
3156 out_info: *const GstVideoInfo,
3157 config: *mut gst::GstStructure,
3158 pool: *mut gst::GstTaskPool,
3159 ) -> *mut GstVideoConverter;
3160
3161 pub fn gst_video_crop_meta_get_info() -> *const gst::GstMetaInfo;
3165
3166 pub fn gst_video_dither_free(dither: *mut GstVideoDither);
3170 pub fn gst_video_dither_line(
3171 dither: *mut GstVideoDither,
3172 line: gpointer,
3173 x: c_uint,
3174 y: c_uint,
3175 width: c_uint,
3176 );
3177 pub fn gst_video_dither_new(
3178 method: GstVideoDitherMethod,
3179 flags: GstVideoDitherFlags,
3180 format: GstVideoFormat,
3181 quantizer: *mut c_uint,
3182 width: c_uint,
3183 ) -> *mut GstVideoDither;
3184
3185 #[cfg(feature = "v1_18")]
3189 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3190 pub fn gst_video_format_info_component(
3191 info: *const GstVideoFormatInfo,
3192 plane: c_uint,
3193 components: *mut c_int,
3194 );
3195 #[cfg(feature = "v1_22")]
3196 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3197 pub fn gst_video_format_info_extrapolate_stride(
3198 finfo: *const GstVideoFormatInfo,
3199 plane: c_int,
3200 stride: c_int,
3201 ) -> c_int;
3202
3203 pub fn gst_video_frame_copy(dest: *mut GstVideoFrame, src: *const GstVideoFrame) -> gboolean;
3207 pub fn gst_video_frame_copy_plane(
3208 dest: *mut GstVideoFrame,
3209 src: *const GstVideoFrame,
3210 plane: c_uint,
3211 ) -> gboolean;
3212 pub fn gst_video_frame_unmap(frame: *mut GstVideoFrame);
3213 pub fn gst_video_frame_map(
3214 frame: *mut GstVideoFrame,
3215 info: *const GstVideoInfo,
3216 buffer: *mut gst::GstBuffer,
3217 flags: gst::GstMapFlags,
3218 ) -> gboolean;
3219 pub fn gst_video_frame_map_id(
3220 frame: *mut GstVideoFrame,
3221 info: *const GstVideoInfo,
3222 buffer: *mut gst::GstBuffer,
3223 id: c_int,
3224 flags: gst::GstMapFlags,
3225 ) -> gboolean;
3226
3227 pub fn gst_video_gl_texture_upload_meta_upload(
3231 meta: *mut GstVideoGLTextureUploadMeta,
3232 texture_id: *mut c_uint,
3233 ) -> gboolean;
3234 pub fn gst_video_gl_texture_upload_meta_get_info() -> *const gst::GstMetaInfo;
3235
3236 pub fn gst_video_info_get_type() -> GType;
3240 pub fn gst_video_info_new() -> *mut GstVideoInfo;
3241 #[cfg(feature = "v1_20")]
3242 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3243 pub fn gst_video_info_new_from_caps(caps: *const gst::GstCaps) -> *mut GstVideoInfo;
3244 pub fn gst_video_info_align(info: *mut GstVideoInfo, align: *mut GstVideoAlignment)
3245 -> gboolean;
3246 #[cfg(feature = "v1_18")]
3247 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3248 pub fn gst_video_info_align_full(
3249 info: *mut GstVideoInfo,
3250 align: *mut GstVideoAlignment,
3251 plane_size: *mut size_t,
3252 ) -> gboolean;
3253 pub fn gst_video_info_convert(
3254 info: *const GstVideoInfo,
3255 src_format: gst::GstFormat,
3256 src_value: i64,
3257 dest_format: gst::GstFormat,
3258 dest_value: *mut i64,
3259 ) -> gboolean;
3260 pub fn gst_video_info_copy(info: *const GstVideoInfo) -> *mut GstVideoInfo;
3261 pub fn gst_video_info_free(info: *mut GstVideoInfo);
3262 pub fn gst_video_info_is_equal(
3263 info: *const GstVideoInfo,
3264 other: *const GstVideoInfo,
3265 ) -> gboolean;
3266 pub fn gst_video_info_set_format(
3267 info: *mut GstVideoInfo,
3268 format: GstVideoFormat,
3269 width: c_uint,
3270 height: c_uint,
3271 ) -> gboolean;
3272 #[cfg(feature = "v1_16")]
3273 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3274 pub fn gst_video_info_set_interlaced_format(
3275 info: *mut GstVideoInfo,
3276 format: GstVideoFormat,
3277 mode: GstVideoInterlaceMode,
3278 width: c_uint,
3279 height: c_uint,
3280 ) -> gboolean;
3281 pub fn gst_video_info_to_caps(info: *const GstVideoInfo) -> *mut gst::GstCaps;
3282 pub fn gst_video_info_from_caps(info: *mut GstVideoInfo, caps: *const gst::GstCaps)
3283 -> gboolean;
3284 pub fn gst_video_info_init(info: *mut GstVideoInfo);
3285
3286 #[cfg(feature = "v1_24")]
3290 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3291 pub fn gst_video_info_dma_drm_get_type() -> GType;
3292 #[cfg(feature = "v1_24")]
3293 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3294 pub fn gst_video_info_dma_drm_new() -> *mut GstVideoInfoDmaDrm;
3295 #[cfg(feature = "v1_24")]
3296 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3297 pub fn gst_video_info_dma_drm_new_from_caps(
3298 caps: *const gst::GstCaps,
3299 ) -> *mut GstVideoInfoDmaDrm;
3300 #[cfg(feature = "v1_24")]
3301 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3302 pub fn gst_video_info_dma_drm_free(drm_info: *mut GstVideoInfoDmaDrm);
3303 #[cfg(feature = "v1_24")]
3304 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3305 pub fn gst_video_info_dma_drm_to_caps(drm_info: *const GstVideoInfoDmaDrm)
3306 -> *mut gst::GstCaps;
3307 #[cfg(feature = "v1_24")]
3308 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3309 pub fn gst_video_info_dma_drm_to_video_info(
3310 drm_info: *const GstVideoInfoDmaDrm,
3311 info: *mut GstVideoInfo,
3312 ) -> gboolean;
3313 #[cfg(feature = "v1_24")]
3314 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3315 pub fn gst_video_info_dma_drm_from_caps(
3316 drm_info: *mut GstVideoInfoDmaDrm,
3317 caps: *const gst::GstCaps,
3318 ) -> gboolean;
3319 #[cfg(feature = "v1_24")]
3320 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3321 pub fn gst_video_info_dma_drm_from_video_info(
3322 drm_info: *mut GstVideoInfoDmaDrm,
3323 info: *const GstVideoInfo,
3324 modifier: u64,
3325 ) -> gboolean;
3326 #[cfg(feature = "v1_24")]
3327 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
3328 pub fn gst_video_info_dma_drm_init(drm_info: *mut GstVideoInfoDmaDrm);
3329
3330 #[cfg(feature = "v1_18")]
3334 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3335 pub fn gst_video_mastering_display_info_add_to_caps(
3336 minfo: *const GstVideoMasteringDisplayInfo,
3337 caps: *mut gst::GstCaps,
3338 ) -> gboolean;
3339 #[cfg(feature = "v1_18")]
3340 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3341 pub fn gst_video_mastering_display_info_from_caps(
3342 minfo: *mut GstVideoMasteringDisplayInfo,
3343 caps: *const gst::GstCaps,
3344 ) -> gboolean;
3345 #[cfg(feature = "v1_18")]
3346 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3347 pub fn gst_video_mastering_display_info_init(minfo: *mut GstVideoMasteringDisplayInfo);
3348 #[cfg(feature = "v1_18")]
3349 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3350 pub fn gst_video_mastering_display_info_is_equal(
3351 minfo: *const GstVideoMasteringDisplayInfo,
3352 other: *const GstVideoMasteringDisplayInfo,
3353 ) -> gboolean;
3354 #[cfg(feature = "v1_18")]
3355 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3356 pub fn gst_video_mastering_display_info_to_string(
3357 minfo: *const GstVideoMasteringDisplayInfo,
3358 ) -> *mut c_char;
3359 #[cfg(feature = "v1_18")]
3360 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3361 pub fn gst_video_mastering_display_info_from_string(
3362 minfo: *mut GstVideoMasteringDisplayInfo,
3363 mastering: *const c_char,
3364 ) -> gboolean;
3365
3366 #[cfg(feature = "v1_18")]
3370 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3371 pub fn gst_video_meta_get_plane_height(
3372 meta: *mut GstVideoMeta,
3373 plane_height: *mut [c_uint; 4],
3374 ) -> gboolean;
3375 #[cfg(feature = "v1_18")]
3376 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3377 pub fn gst_video_meta_get_plane_size(
3378 meta: *mut GstVideoMeta,
3379 plane_size: *mut [size_t; 4],
3380 ) -> gboolean;
3381 pub fn gst_video_meta_map(
3382 meta: *mut GstVideoMeta,
3383 plane: c_uint,
3384 info: *mut gst::GstMapInfo,
3385 data: *mut gpointer,
3386 stride: *mut c_int,
3387 flags: gst::GstMapFlags,
3388 ) -> gboolean;
3389 #[cfg(feature = "v1_18")]
3390 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
3391 pub fn gst_video_meta_set_alignment(
3392 meta: *mut GstVideoMeta,
3393 alignment: GstVideoAlignment,
3394 ) -> gboolean;
3395 pub fn gst_video_meta_unmap(
3396 meta: *mut GstVideoMeta,
3397 plane: c_uint,
3398 info: *mut gst::GstMapInfo,
3399 ) -> gboolean;
3400 pub fn gst_video_meta_get_info() -> *const gst::GstMetaInfo;
3401
3402 pub fn gst_video_meta_transform_scale_get_quark() -> glib::GQuark;
3406
3407 pub fn gst_video_overlay_composition_get_type() -> GType;
3411 pub fn gst_video_overlay_composition_new(
3412 rectangle: *mut GstVideoOverlayRectangle,
3413 ) -> *mut GstVideoOverlayComposition;
3414 pub fn gst_video_overlay_composition_add_rectangle(
3415 comp: *mut GstVideoOverlayComposition,
3416 rectangle: *mut GstVideoOverlayRectangle,
3417 );
3418 pub fn gst_video_overlay_composition_blend(
3419 comp: *mut GstVideoOverlayComposition,
3420 video_buf: *mut GstVideoFrame,
3421 ) -> gboolean;
3422 pub fn gst_video_overlay_composition_copy(
3423 comp: *mut GstVideoOverlayComposition,
3424 ) -> *mut GstVideoOverlayComposition;
3425 pub fn gst_video_overlay_composition_get_rectangle(
3426 comp: *mut GstVideoOverlayComposition,
3427 n: c_uint,
3428 ) -> *mut GstVideoOverlayRectangle;
3429 pub fn gst_video_overlay_composition_get_seqnum(
3430 comp: *mut GstVideoOverlayComposition,
3431 ) -> c_uint;
3432 pub fn gst_video_overlay_composition_make_writable(
3433 comp: *mut GstVideoOverlayComposition,
3434 ) -> *mut GstVideoOverlayComposition;
3435 pub fn gst_video_overlay_composition_n_rectangles(
3436 comp: *mut GstVideoOverlayComposition,
3437 ) -> c_uint;
3438
3439 pub fn gst_video_overlay_composition_meta_get_info() -> *const gst::GstMetaInfo;
3443
3444 pub fn gst_video_overlay_rectangle_get_type() -> GType;
3448 pub fn gst_video_overlay_rectangle_new_raw(
3449 pixels: *mut gst::GstBuffer,
3450 render_x: c_int,
3451 render_y: c_int,
3452 render_width: c_uint,
3453 render_height: c_uint,
3454 flags: GstVideoOverlayFormatFlags,
3455 ) -> *mut GstVideoOverlayRectangle;
3456 pub fn gst_video_overlay_rectangle_copy(
3457 rectangle: *mut GstVideoOverlayRectangle,
3458 ) -> *mut GstVideoOverlayRectangle;
3459 pub fn gst_video_overlay_rectangle_get_flags(
3460 rectangle: *mut GstVideoOverlayRectangle,
3461 ) -> GstVideoOverlayFormatFlags;
3462 pub fn gst_video_overlay_rectangle_get_global_alpha(
3463 rectangle: *mut GstVideoOverlayRectangle,
3464 ) -> c_float;
3465 pub fn gst_video_overlay_rectangle_get_pixels_argb(
3466 rectangle: *mut GstVideoOverlayRectangle,
3467 flags: GstVideoOverlayFormatFlags,
3468 ) -> *mut gst::GstBuffer;
3469 pub fn gst_video_overlay_rectangle_get_pixels_ayuv(
3470 rectangle: *mut GstVideoOverlayRectangle,
3471 flags: GstVideoOverlayFormatFlags,
3472 ) -> *mut gst::GstBuffer;
3473 pub fn gst_video_overlay_rectangle_get_pixels_raw(
3474 rectangle: *mut GstVideoOverlayRectangle,
3475 flags: GstVideoOverlayFormatFlags,
3476 ) -> *mut gst::GstBuffer;
3477 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_argb(
3478 rectangle: *mut GstVideoOverlayRectangle,
3479 flags: GstVideoOverlayFormatFlags,
3480 ) -> *mut gst::GstBuffer;
3481 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_ayuv(
3482 rectangle: *mut GstVideoOverlayRectangle,
3483 flags: GstVideoOverlayFormatFlags,
3484 ) -> *mut gst::GstBuffer;
3485 pub fn gst_video_overlay_rectangle_get_pixels_unscaled_raw(
3486 rectangle: *mut GstVideoOverlayRectangle,
3487 flags: GstVideoOverlayFormatFlags,
3488 ) -> *mut gst::GstBuffer;
3489 pub fn gst_video_overlay_rectangle_get_render_rectangle(
3490 rectangle: *mut GstVideoOverlayRectangle,
3491 render_x: *mut c_int,
3492 render_y: *mut c_int,
3493 render_width: *mut c_uint,
3494 render_height: *mut c_uint,
3495 ) -> gboolean;
3496 pub fn gst_video_overlay_rectangle_get_seqnum(
3497 rectangle: *mut GstVideoOverlayRectangle,
3498 ) -> c_uint;
3499 pub fn gst_video_overlay_rectangle_set_global_alpha(
3500 rectangle: *mut GstVideoOverlayRectangle,
3501 global_alpha: c_float,
3502 );
3503 pub fn gst_video_overlay_rectangle_set_render_rectangle(
3504 rectangle: *mut GstVideoOverlayRectangle,
3505 render_x: c_int,
3506 render_y: c_int,
3507 render_width: c_uint,
3508 render_height: c_uint,
3509 );
3510
3511 pub fn gst_video_region_of_interest_meta_add_param(
3515 meta: *mut GstVideoRegionOfInterestMeta,
3516 s: *mut gst::GstStructure,
3517 );
3518 pub fn gst_video_region_of_interest_meta_get_param(
3519 meta: *mut GstVideoRegionOfInterestMeta,
3520 name: *const c_char,
3521 ) -> *mut gst::GstStructure;
3522 pub fn gst_video_region_of_interest_meta_get_info() -> *const gst::GstMetaInfo;
3523
3524 pub fn gst_video_resampler_clear(resampler: *mut GstVideoResampler);
3528 pub fn gst_video_resampler_init(
3529 resampler: *mut GstVideoResampler,
3530 method: GstVideoResamplerMethod,
3531 flags: GstVideoResamplerFlags,
3532 n_phases: c_uint,
3533 n_taps: c_uint,
3534 shift: c_double,
3535 in_size: c_uint,
3536 out_size: c_uint,
3537 options: *mut gst::GstStructure,
3538 ) -> gboolean;
3539
3540 #[cfg(feature = "v1_22")]
3544 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3545 pub fn gst_video_sei_user_data_unregistered_meta_get_info() -> *const gst::GstMetaInfo;
3546
3547 pub fn gst_video_scaler_2d(
3551 hscale: *mut GstVideoScaler,
3552 vscale: *mut GstVideoScaler,
3553 format: GstVideoFormat,
3554 src: gpointer,
3555 src_stride: c_int,
3556 dest: gpointer,
3557 dest_stride: c_int,
3558 x: c_uint,
3559 y: c_uint,
3560 width: c_uint,
3561 height: c_uint,
3562 );
3563 pub fn gst_video_scaler_combine_packed_YUV(
3564 y_scale: *mut GstVideoScaler,
3565 uv_scale: *mut GstVideoScaler,
3566 in_format: GstVideoFormat,
3567 out_format: GstVideoFormat,
3568 ) -> *mut GstVideoScaler;
3569 pub fn gst_video_scaler_free(scale: *mut GstVideoScaler);
3570 pub fn gst_video_scaler_get_coeff(
3571 scale: *mut GstVideoScaler,
3572 out_offset: c_uint,
3573 in_offset: *mut c_uint,
3574 n_taps: *mut c_uint,
3575 ) -> *const c_double;
3576 pub fn gst_video_scaler_get_max_taps(scale: *mut GstVideoScaler) -> c_uint;
3577 pub fn gst_video_scaler_horizontal(
3578 scale: *mut GstVideoScaler,
3579 format: GstVideoFormat,
3580 src: gpointer,
3581 dest: gpointer,
3582 dest_offset: c_uint,
3583 width: c_uint,
3584 );
3585 pub fn gst_video_scaler_vertical(
3586 scale: *mut GstVideoScaler,
3587 format: GstVideoFormat,
3588 src_lines: *mut gpointer,
3589 dest: gpointer,
3590 dest_offset: c_uint,
3591 width: c_uint,
3592 );
3593 pub fn gst_video_scaler_new(
3594 method: GstVideoResamplerMethod,
3595 flags: GstVideoScalerFlags,
3596 n_taps: c_uint,
3597 in_size: c_uint,
3598 out_size: c_uint,
3599 options: *mut gst::GstStructure,
3600 ) -> *mut GstVideoScaler;
3601
3602 pub fn gst_video_time_code_get_type() -> GType;
3606 pub fn gst_video_time_code_new(
3607 fps_n: c_uint,
3608 fps_d: c_uint,
3609 latest_daily_jam: *mut glib::GDateTime,
3610 flags: GstVideoTimeCodeFlags,
3611 hours: c_uint,
3612 minutes: c_uint,
3613 seconds: c_uint,
3614 frames: c_uint,
3615 field_count: c_uint,
3616 ) -> *mut GstVideoTimeCode;
3617 pub fn gst_video_time_code_new_empty() -> *mut GstVideoTimeCode;
3618 pub fn gst_video_time_code_new_from_date_time(
3619 fps_n: c_uint,
3620 fps_d: c_uint,
3621 dt: *mut glib::GDateTime,
3622 flags: GstVideoTimeCodeFlags,
3623 field_count: c_uint,
3624 ) -> *mut GstVideoTimeCode;
3625 #[cfg(feature = "v1_16")]
3626 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3627 pub fn gst_video_time_code_new_from_date_time_full(
3628 fps_n: c_uint,
3629 fps_d: c_uint,
3630 dt: *mut glib::GDateTime,
3631 flags: GstVideoTimeCodeFlags,
3632 field_count: c_uint,
3633 ) -> *mut GstVideoTimeCode;
3634 pub fn gst_video_time_code_new_from_string(tc_str: *const c_char) -> *mut GstVideoTimeCode;
3635 pub fn gst_video_time_code_add_frames(tc: *mut GstVideoTimeCode, frames: i64);
3636 pub fn gst_video_time_code_add_interval(
3637 tc: *const GstVideoTimeCode,
3638 tc_inter: *const GstVideoTimeCodeInterval,
3639 ) -> *mut GstVideoTimeCode;
3640 pub fn gst_video_time_code_clear(tc: *mut GstVideoTimeCode);
3641 pub fn gst_video_time_code_compare(
3642 tc1: *const GstVideoTimeCode,
3643 tc2: *const GstVideoTimeCode,
3644 ) -> c_int;
3645 pub fn gst_video_time_code_copy(tc: *const GstVideoTimeCode) -> *mut GstVideoTimeCode;
3646 pub fn gst_video_time_code_frames_since_daily_jam(tc: *const GstVideoTimeCode) -> u64;
3647 pub fn gst_video_time_code_free(tc: *mut GstVideoTimeCode);
3648 pub fn gst_video_time_code_increment_frame(tc: *mut GstVideoTimeCode);
3649 pub fn gst_video_time_code_init(
3650 tc: *mut GstVideoTimeCode,
3651 fps_n: c_uint,
3652 fps_d: c_uint,
3653 latest_daily_jam: *mut glib::GDateTime,
3654 flags: GstVideoTimeCodeFlags,
3655 hours: c_uint,
3656 minutes: c_uint,
3657 seconds: c_uint,
3658 frames: c_uint,
3659 field_count: c_uint,
3660 );
3661 pub fn gst_video_time_code_init_from_date_time(
3662 tc: *mut GstVideoTimeCode,
3663 fps_n: c_uint,
3664 fps_d: c_uint,
3665 dt: *mut glib::GDateTime,
3666 flags: GstVideoTimeCodeFlags,
3667 field_count: c_uint,
3668 );
3669 #[cfg(feature = "v1_16")]
3670 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3671 pub fn gst_video_time_code_init_from_date_time_full(
3672 tc: *mut GstVideoTimeCode,
3673 fps_n: c_uint,
3674 fps_d: c_uint,
3675 dt: *mut glib::GDateTime,
3676 flags: GstVideoTimeCodeFlags,
3677 field_count: c_uint,
3678 ) -> gboolean;
3679 pub fn gst_video_time_code_is_valid(tc: *const GstVideoTimeCode) -> gboolean;
3680 pub fn gst_video_time_code_nsec_since_daily_jam(tc: *const GstVideoTimeCode) -> u64;
3681 pub fn gst_video_time_code_to_date_time(tc: *const GstVideoTimeCode) -> *mut glib::GDateTime;
3682 pub fn gst_video_time_code_to_string(tc: *const GstVideoTimeCode) -> *mut c_char;
3683
3684 pub fn gst_video_time_code_interval_get_type() -> GType;
3688 pub fn gst_video_time_code_interval_new(
3689 hours: c_uint,
3690 minutes: c_uint,
3691 seconds: c_uint,
3692 frames: c_uint,
3693 ) -> *mut GstVideoTimeCodeInterval;
3694 pub fn gst_video_time_code_interval_new_from_string(
3695 tc_inter_str: *const c_char,
3696 ) -> *mut GstVideoTimeCodeInterval;
3697 pub fn gst_video_time_code_interval_clear(tc: *mut GstVideoTimeCodeInterval);
3698 pub fn gst_video_time_code_interval_copy(
3699 tc: *const GstVideoTimeCodeInterval,
3700 ) -> *mut GstVideoTimeCodeInterval;
3701 pub fn gst_video_time_code_interval_free(tc: *mut GstVideoTimeCodeInterval);
3702 pub fn gst_video_time_code_interval_init(
3703 tc: *mut GstVideoTimeCodeInterval,
3704 hours: c_uint,
3705 minutes: c_uint,
3706 seconds: c_uint,
3707 frames: c_uint,
3708 );
3709
3710 pub fn gst_video_time_code_meta_get_info() -> *const gst::GstMetaInfo;
3714
3715 #[cfg(feature = "v1_16")]
3719 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3720 pub fn gst_video_vbi_encoder_get_type() -> GType;
3721 #[cfg(feature = "v1_16")]
3722 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3723 pub fn gst_video_vbi_encoder_new(
3724 format: GstVideoFormat,
3725 pixel_width: u32,
3726 ) -> *mut GstVideoVBIEncoder;
3727 #[cfg(feature = "v1_16")]
3728 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3729 pub fn gst_video_vbi_encoder_add_ancillary(
3730 encoder: *mut GstVideoVBIEncoder,
3731 composite: gboolean,
3732 DID: u8,
3733 SDID_block_number: u8,
3734 data: *const u8,
3735 data_count: c_uint,
3736 ) -> gboolean;
3737 #[cfg(feature = "v1_16")]
3738 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3739 pub fn gst_video_vbi_encoder_copy(
3740 encoder: *const GstVideoVBIEncoder,
3741 ) -> *mut GstVideoVBIEncoder;
3742 #[cfg(feature = "v1_16")]
3743 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3744 pub fn gst_video_vbi_encoder_free(encoder: *mut GstVideoVBIEncoder);
3745 #[cfg(feature = "v1_16")]
3746 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3747 pub fn gst_video_vbi_encoder_write_line(encoder: *mut GstVideoVBIEncoder, data: *mut u8);
3748
3749 #[cfg(feature = "v1_16")]
3753 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3754 pub fn gst_video_vbi_parser_get_type() -> GType;
3755 #[cfg(feature = "v1_16")]
3756 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3757 pub fn gst_video_vbi_parser_new(
3758 format: GstVideoFormat,
3759 pixel_width: u32,
3760 ) -> *mut GstVideoVBIParser;
3761 #[cfg(feature = "v1_16")]
3762 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3763 pub fn gst_video_vbi_parser_add_line(parser: *mut GstVideoVBIParser, data: *const u8);
3764 #[cfg(feature = "v1_16")]
3765 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3766 pub fn gst_video_vbi_parser_copy(parser: *const GstVideoVBIParser) -> *mut GstVideoVBIParser;
3767 #[cfg(feature = "v1_16")]
3768 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3769 pub fn gst_video_vbi_parser_free(parser: *mut GstVideoVBIParser);
3770 #[cfg(feature = "v1_16")]
3771 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3772 pub fn gst_video_vbi_parser_get_ancillary(
3773 parser: *mut GstVideoVBIParser,
3774 anc: *mut GstVideoAncillary,
3775 ) -> GstVideoVBIParserResult;
3776
3777 pub fn gst_color_balance_channel_get_type() -> GType;
3781
3782 #[cfg(feature = "v1_16")]
3786 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3787 pub fn gst_video_aggregator_get_type() -> GType;
3788 #[cfg(feature = "v1_20")]
3789 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3790 pub fn gst_video_aggregator_get_execution_task_pool(
3791 vagg: *mut GstVideoAggregator,
3792 ) -> *mut gst::GstTaskPool;
3793
3794 #[cfg(feature = "v1_16")]
3798 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3799 pub fn gst_video_aggregator_convert_pad_get_type() -> GType;
3800 #[cfg(feature = "v1_16")]
3801 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3802 pub fn gst_video_aggregator_convert_pad_update_conversion_info(
3803 pad: *mut GstVideoAggregatorConvertPad,
3804 );
3805
3806 #[cfg(feature = "v1_16")]
3810 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3811 pub fn gst_video_aggregator_pad_get_type() -> GType;
3812 #[cfg(feature = "v1_16")]
3813 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3814 pub fn gst_video_aggregator_pad_get_current_buffer(
3815 pad: *mut GstVideoAggregatorPad,
3816 ) -> *mut gst::GstBuffer;
3817 #[cfg(feature = "v1_16")]
3818 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3819 pub fn gst_video_aggregator_pad_get_prepared_frame(
3820 pad: *mut GstVideoAggregatorPad,
3821 ) -> *mut GstVideoFrame;
3822 #[cfg(feature = "v1_16")]
3823 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3824 pub fn gst_video_aggregator_pad_has_current_buffer(pad: *mut GstVideoAggregatorPad)
3825 -> gboolean;
3826 #[cfg(feature = "v1_16")]
3827 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3828 pub fn gst_video_aggregator_pad_set_needs_alpha(
3829 pad: *mut GstVideoAggregatorPad,
3830 needs_alpha: gboolean,
3831 );
3832
3833 #[cfg(feature = "v1_20")]
3837 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3838 pub fn gst_video_aggregator_parallel_convert_pad_get_type() -> GType;
3839
3840 pub fn gst_video_buffer_pool_get_type() -> GType;
3844 pub fn gst_video_buffer_pool_new() -> *mut gst::GstBufferPool;
3845
3846 pub fn gst_video_decoder_get_type() -> GType;
3850 pub fn gst_video_decoder_add_to_frame(decoder: *mut GstVideoDecoder, n_bytes: c_int);
3851 pub fn gst_video_decoder_allocate_output_buffer(
3852 decoder: *mut GstVideoDecoder,
3853 ) -> *mut gst::GstBuffer;
3854 pub fn gst_video_decoder_allocate_output_frame(
3855 decoder: *mut GstVideoDecoder,
3856 frame: *mut GstVideoCodecFrame,
3857 ) -> gst::GstFlowReturn;
3858 pub fn gst_video_decoder_allocate_output_frame_with_params(
3859 decoder: *mut GstVideoDecoder,
3860 frame: *mut GstVideoCodecFrame,
3861 params: *mut gst::GstBufferPoolAcquireParams,
3862 ) -> gst::GstFlowReturn;
3863 pub fn gst_video_decoder_drop_frame(
3864 dec: *mut GstVideoDecoder,
3865 frame: *mut GstVideoCodecFrame,
3866 ) -> gst::GstFlowReturn;
3867 #[cfg(feature = "v1_20")]
3868 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3869 pub fn gst_video_decoder_drop_subframe(
3870 dec: *mut GstVideoDecoder,
3871 frame: *mut GstVideoCodecFrame,
3872 ) -> gst::GstFlowReturn;
3873 pub fn gst_video_decoder_finish_frame(
3874 decoder: *mut GstVideoDecoder,
3875 frame: *mut GstVideoCodecFrame,
3876 ) -> gst::GstFlowReturn;
3877 #[cfg(feature = "v1_20")]
3878 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3879 pub fn gst_video_decoder_finish_subframe(
3880 decoder: *mut GstVideoDecoder,
3881 frame: *mut GstVideoCodecFrame,
3882 ) -> gst::GstFlowReturn;
3883 pub fn gst_video_decoder_get_allocator(
3884 decoder: *mut GstVideoDecoder,
3885 allocator: *mut *mut gst::GstAllocator,
3886 params: *mut gst::GstAllocationParams,
3887 );
3888 pub fn gst_video_decoder_get_buffer_pool(
3889 decoder: *mut GstVideoDecoder,
3890 ) -> *mut gst::GstBufferPool;
3891 pub fn gst_video_decoder_get_estimate_rate(dec: *mut GstVideoDecoder) -> c_int;
3892 pub fn gst_video_decoder_get_frame(
3893 decoder: *mut GstVideoDecoder,
3894 frame_number: c_int,
3895 ) -> *mut GstVideoCodecFrame;
3896 pub fn gst_video_decoder_get_frames(decoder: *mut GstVideoDecoder) -> *mut glib::GList;
3897 #[cfg(feature = "v1_20")]
3898 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3899 pub fn gst_video_decoder_get_input_subframe_index(
3900 decoder: *mut GstVideoDecoder,
3901 frame: *mut GstVideoCodecFrame,
3902 ) -> c_uint;
3903 pub fn gst_video_decoder_get_latency(
3904 decoder: *mut GstVideoDecoder,
3905 min_latency: *mut gst::GstClockTime,
3906 max_latency: *mut gst::GstClockTime,
3907 );
3908 pub fn gst_video_decoder_get_max_decode_time(
3909 decoder: *mut GstVideoDecoder,
3910 frame: *mut GstVideoCodecFrame,
3911 ) -> gst::GstClockTimeDiff;
3912 pub fn gst_video_decoder_get_max_errors(dec: *mut GstVideoDecoder) -> c_int;
3913 pub fn gst_video_decoder_get_needs_format(dec: *mut GstVideoDecoder) -> gboolean;
3914 #[cfg(feature = "v1_20")]
3915 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3916 pub fn gst_video_decoder_get_needs_sync_point(dec: *mut GstVideoDecoder) -> gboolean;
3917 pub fn gst_video_decoder_get_oldest_frame(
3918 decoder: *mut GstVideoDecoder,
3919 ) -> *mut GstVideoCodecFrame;
3920 pub fn gst_video_decoder_get_output_state(
3921 decoder: *mut GstVideoDecoder,
3922 ) -> *mut GstVideoCodecState;
3923 pub fn gst_video_decoder_get_packetized(decoder: *mut GstVideoDecoder) -> gboolean;
3924 pub fn gst_video_decoder_get_pending_frame_size(decoder: *mut GstVideoDecoder) -> size_t;
3925 #[cfg(feature = "v1_20")]
3926 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3927 pub fn gst_video_decoder_get_processed_subframe_index(
3928 decoder: *mut GstVideoDecoder,
3929 frame: *mut GstVideoCodecFrame,
3930 ) -> c_uint;
3931 pub fn gst_video_decoder_get_qos_proportion(decoder: *mut GstVideoDecoder) -> c_double;
3932 #[cfg(feature = "v1_20")]
3933 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3934 pub fn gst_video_decoder_get_subframe_mode(decoder: *mut GstVideoDecoder) -> gboolean;
3935 pub fn gst_video_decoder_have_frame(decoder: *mut GstVideoDecoder) -> gst::GstFlowReturn;
3936 #[cfg(feature = "v1_20")]
3937 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3938 pub fn gst_video_decoder_have_last_subframe(
3939 decoder: *mut GstVideoDecoder,
3940 frame: *mut GstVideoCodecFrame,
3941 ) -> gst::GstFlowReturn;
3942 pub fn gst_video_decoder_merge_tags(
3943 decoder: *mut GstVideoDecoder,
3944 tags: *const gst::GstTagList,
3945 mode: gst::GstTagMergeMode,
3946 );
3947 pub fn gst_video_decoder_negotiate(decoder: *mut GstVideoDecoder) -> gboolean;
3948 pub fn gst_video_decoder_proxy_getcaps(
3949 decoder: *mut GstVideoDecoder,
3950 caps: *mut gst::GstCaps,
3951 filter: *mut gst::GstCaps,
3952 ) -> *mut gst::GstCaps;
3953 pub fn gst_video_decoder_release_frame(
3954 dec: *mut GstVideoDecoder,
3955 frame: *mut GstVideoCodecFrame,
3956 );
3957 #[cfg(feature = "v1_20")]
3958 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3959 pub fn gst_video_decoder_request_sync_point(
3960 dec: *mut GstVideoDecoder,
3961 frame: *mut GstVideoCodecFrame,
3962 flags: GstVideoDecoderRequestSyncPointFlags,
3963 );
3964 pub fn gst_video_decoder_set_estimate_rate(dec: *mut GstVideoDecoder, enabled: gboolean);
3965 #[cfg(feature = "v1_16")]
3966 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
3967 pub fn gst_video_decoder_set_interlaced_output_state(
3968 decoder: *mut GstVideoDecoder,
3969 fmt: GstVideoFormat,
3970 interlace_mode: GstVideoInterlaceMode,
3971 width: c_uint,
3972 height: c_uint,
3973 reference: *mut GstVideoCodecState,
3974 ) -> *mut GstVideoCodecState;
3975 pub fn gst_video_decoder_set_latency(
3976 decoder: *mut GstVideoDecoder,
3977 min_latency: gst::GstClockTime,
3978 max_latency: gst::GstClockTime,
3979 );
3980 pub fn gst_video_decoder_set_max_errors(dec: *mut GstVideoDecoder, num: c_int);
3981 pub fn gst_video_decoder_set_needs_format(dec: *mut GstVideoDecoder, enabled: gboolean);
3982 #[cfg(feature = "v1_20")]
3983 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3984 pub fn gst_video_decoder_set_needs_sync_point(dec: *mut GstVideoDecoder, enabled: gboolean);
3985 pub fn gst_video_decoder_set_output_state(
3986 decoder: *mut GstVideoDecoder,
3987 fmt: GstVideoFormat,
3988 width: c_uint,
3989 height: c_uint,
3990 reference: *mut GstVideoCodecState,
3991 ) -> *mut GstVideoCodecState;
3992 pub fn gst_video_decoder_set_packetized(decoder: *mut GstVideoDecoder, packetized: gboolean);
3993 #[cfg(feature = "v1_20")]
3994 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
3995 pub fn gst_video_decoder_set_subframe_mode(
3996 decoder: *mut GstVideoDecoder,
3997 subframe_mode: gboolean,
3998 );
3999 pub fn gst_video_decoder_set_use_default_pad_acceptcaps(
4000 decoder: *mut GstVideoDecoder,
4001 use_: gboolean,
4002 );
4003
4004 pub fn gst_video_encoder_get_type() -> GType;
4008 pub fn gst_video_encoder_allocate_output_buffer(
4009 encoder: *mut GstVideoEncoder,
4010 size: size_t,
4011 ) -> *mut gst::GstBuffer;
4012 pub fn gst_video_encoder_allocate_output_frame(
4013 encoder: *mut GstVideoEncoder,
4014 frame: *mut GstVideoCodecFrame,
4015 size: size_t,
4016 ) -> gst::GstFlowReturn;
4017 #[cfg(feature = "v1_26")]
4018 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4019 pub fn gst_video_encoder_drop_frame(
4020 encoder: *mut GstVideoEncoder,
4021 frame: *mut GstVideoCodecFrame,
4022 );
4023 pub fn gst_video_encoder_finish_frame(
4024 encoder: *mut GstVideoEncoder,
4025 frame: *mut GstVideoCodecFrame,
4026 ) -> gst::GstFlowReturn;
4027 #[cfg(feature = "v1_18")]
4028 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4029 pub fn gst_video_encoder_finish_subframe(
4030 encoder: *mut GstVideoEncoder,
4031 frame: *mut GstVideoCodecFrame,
4032 ) -> gst::GstFlowReturn;
4033 pub fn gst_video_encoder_get_allocator(
4034 encoder: *mut GstVideoEncoder,
4035 allocator: *mut *mut gst::GstAllocator,
4036 params: *mut gst::GstAllocationParams,
4037 );
4038 pub fn gst_video_encoder_get_frame(
4039 encoder: *mut GstVideoEncoder,
4040 frame_number: c_int,
4041 ) -> *mut GstVideoCodecFrame;
4042 pub fn gst_video_encoder_get_frames(encoder: *mut GstVideoEncoder) -> *mut glib::GList;
4043 pub fn gst_video_encoder_get_latency(
4044 encoder: *mut GstVideoEncoder,
4045 min_latency: *mut gst::GstClockTime,
4046 max_latency: *mut gst::GstClockTime,
4047 );
4048 pub fn gst_video_encoder_get_max_encode_time(
4049 encoder: *mut GstVideoEncoder,
4050 frame: *mut GstVideoCodecFrame,
4051 ) -> gst::GstClockTimeDiff;
4052 #[cfg(feature = "v1_18")]
4053 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4054 pub fn gst_video_encoder_get_min_force_key_unit_interval(
4055 encoder: *mut GstVideoEncoder,
4056 ) -> gst::GstClockTime;
4057 pub fn gst_video_encoder_get_oldest_frame(
4058 encoder: *mut GstVideoEncoder,
4059 ) -> *mut GstVideoCodecFrame;
4060 pub fn gst_video_encoder_get_output_state(
4061 encoder: *mut GstVideoEncoder,
4062 ) -> *mut GstVideoCodecState;
4063 pub fn gst_video_encoder_is_qos_enabled(encoder: *mut GstVideoEncoder) -> gboolean;
4064 pub fn gst_video_encoder_merge_tags(
4065 encoder: *mut GstVideoEncoder,
4066 tags: *const gst::GstTagList,
4067 mode: gst::GstTagMergeMode,
4068 );
4069 pub fn gst_video_encoder_negotiate(encoder: *mut GstVideoEncoder) -> gboolean;
4070 pub fn gst_video_encoder_proxy_getcaps(
4071 enc: *mut GstVideoEncoder,
4072 caps: *mut gst::GstCaps,
4073 filter: *mut gst::GstCaps,
4074 ) -> *mut gst::GstCaps;
4075 #[cfg(feature = "v1_26")]
4076 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4077 pub fn gst_video_encoder_release_frame(
4078 encoder: *mut GstVideoEncoder,
4079 frame: *mut GstVideoCodecFrame,
4080 );
4081 pub fn gst_video_encoder_set_headers(encoder: *mut GstVideoEncoder, headers: *mut glib::GList);
4082 pub fn gst_video_encoder_set_latency(
4083 encoder: *mut GstVideoEncoder,
4084 min_latency: gst::GstClockTime,
4085 max_latency: gst::GstClockTime,
4086 );
4087 #[cfg(feature = "v1_18")]
4088 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4089 pub fn gst_video_encoder_set_min_force_key_unit_interval(
4090 encoder: *mut GstVideoEncoder,
4091 interval: gst::GstClockTime,
4092 );
4093 pub fn gst_video_encoder_set_min_pts(encoder: *mut GstVideoEncoder, min_pts: gst::GstClockTime);
4094 pub fn gst_video_encoder_set_output_state(
4095 encoder: *mut GstVideoEncoder,
4096 caps: *mut gst::GstCaps,
4097 reference: *mut GstVideoCodecState,
4098 ) -> *mut GstVideoCodecState;
4099 pub fn gst_video_encoder_set_qos_enabled(encoder: *mut GstVideoEncoder, enabled: gboolean);
4100
4101 pub fn gst_video_filter_get_type() -> GType;
4105
4106 pub fn gst_video_multiview_flagset_get_type() -> GType;
4110
4111 pub fn gst_video_sink_get_type() -> GType;
4115 pub fn gst_video_sink_center_rect(
4116 src: GstVideoRectangle,
4117 dst: GstVideoRectangle,
4118 result: *mut GstVideoRectangle,
4119 scaling: gboolean,
4120 );
4121
4122 pub fn gst_color_balance_get_type() -> GType;
4126 pub fn gst_color_balance_get_balance_type(balance: *mut GstColorBalance)
4127 -> GstColorBalanceType;
4128 pub fn gst_color_balance_get_value(
4129 balance: *mut GstColorBalance,
4130 channel: *mut GstColorBalanceChannel,
4131 ) -> c_int;
4132 pub fn gst_color_balance_list_channels(balance: *mut GstColorBalance) -> *const glib::GList;
4133 pub fn gst_color_balance_set_value(
4134 balance: *mut GstColorBalance,
4135 channel: *mut GstColorBalanceChannel,
4136 value: c_int,
4137 );
4138 pub fn gst_color_balance_value_changed(
4139 balance: *mut GstColorBalance,
4140 channel: *mut GstColorBalanceChannel,
4141 value: c_int,
4142 );
4143
4144 pub fn gst_navigation_get_type() -> GType;
4148 #[cfg(feature = "v1_22")]
4149 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4150 pub fn gst_navigation_event_get_coordinates(
4151 event: *mut gst::GstEvent,
4152 x: *mut c_double,
4153 y: *mut c_double,
4154 ) -> gboolean;
4155 pub fn gst_navigation_event_get_type(event: *mut gst::GstEvent) -> GstNavigationEventType;
4156 #[cfg(feature = "v1_22")]
4157 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4158 pub fn gst_navigation_event_new_command(command: GstNavigationCommand) -> *mut gst::GstEvent;
4159 #[cfg(feature = "v1_22")]
4160 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4161 pub fn gst_navigation_event_new_key_press(
4162 key: *const c_char,
4163 state: GstNavigationModifierType,
4164 ) -> *mut gst::GstEvent;
4165 #[cfg(feature = "v1_22")]
4166 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4167 pub fn gst_navigation_event_new_key_release(
4168 key: *const c_char,
4169 state: GstNavigationModifierType,
4170 ) -> *mut gst::GstEvent;
4171 #[cfg(feature = "v1_22")]
4172 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4173 pub fn gst_navigation_event_new_mouse_button_press(
4174 button: c_int,
4175 x: c_double,
4176 y: c_double,
4177 state: GstNavigationModifierType,
4178 ) -> *mut gst::GstEvent;
4179 #[cfg(feature = "v1_22")]
4180 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4181 pub fn gst_navigation_event_new_mouse_button_release(
4182 button: c_int,
4183 x: c_double,
4184 y: c_double,
4185 state: GstNavigationModifierType,
4186 ) -> *mut gst::GstEvent;
4187 #[cfg(feature = "v1_26")]
4188 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4189 pub fn gst_navigation_event_new_mouse_double_click(
4190 button: c_int,
4191 x: c_double,
4192 y: c_double,
4193 state: GstNavigationModifierType,
4194 ) -> *mut gst::GstEvent;
4195 #[cfg(feature = "v1_22")]
4196 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4197 pub fn gst_navigation_event_new_mouse_move(
4198 x: c_double,
4199 y: c_double,
4200 state: GstNavigationModifierType,
4201 ) -> *mut gst::GstEvent;
4202 #[cfg(feature = "v1_22")]
4203 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4204 pub fn gst_navigation_event_new_mouse_scroll(
4205 x: c_double,
4206 y: c_double,
4207 delta_x: c_double,
4208 delta_y: c_double,
4209 state: GstNavigationModifierType,
4210 ) -> *mut gst::GstEvent;
4211 #[cfg(feature = "v1_22")]
4212 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4213 pub fn gst_navigation_event_new_touch_cancel(
4214 state: GstNavigationModifierType,
4215 ) -> *mut gst::GstEvent;
4216 #[cfg(feature = "v1_22")]
4217 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4218 pub fn gst_navigation_event_new_touch_down(
4219 identifier: c_uint,
4220 x: c_double,
4221 y: c_double,
4222 pressure: c_double,
4223 state: GstNavigationModifierType,
4224 ) -> *mut gst::GstEvent;
4225 #[cfg(feature = "v1_22")]
4226 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4227 pub fn gst_navigation_event_new_touch_frame(
4228 state: GstNavigationModifierType,
4229 ) -> *mut gst::GstEvent;
4230 #[cfg(feature = "v1_22")]
4231 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4232 pub fn gst_navigation_event_new_touch_motion(
4233 identifier: c_uint,
4234 x: c_double,
4235 y: c_double,
4236 pressure: c_double,
4237 state: GstNavigationModifierType,
4238 ) -> *mut gst::GstEvent;
4239 #[cfg(feature = "v1_22")]
4240 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4241 pub fn gst_navigation_event_new_touch_up(
4242 identifier: c_uint,
4243 x: c_double,
4244 y: c_double,
4245 state: GstNavigationModifierType,
4246 ) -> *mut gst::GstEvent;
4247 pub fn gst_navigation_event_parse_command(
4248 event: *mut gst::GstEvent,
4249 command: *mut GstNavigationCommand,
4250 ) -> gboolean;
4251 pub fn gst_navigation_event_parse_key_event(
4252 event: *mut gst::GstEvent,
4253 key: *mut *const c_char,
4254 ) -> gboolean;
4255 #[cfg(feature = "v1_22")]
4256 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4257 pub fn gst_navigation_event_parse_modifier_state(
4258 event: *mut gst::GstEvent,
4259 state: *mut GstNavigationModifierType,
4260 ) -> gboolean;
4261 pub fn gst_navigation_event_parse_mouse_button_event(
4262 event: *mut gst::GstEvent,
4263 button: *mut c_int,
4264 x: *mut c_double,
4265 y: *mut c_double,
4266 ) -> gboolean;
4267 pub fn gst_navigation_event_parse_mouse_move_event(
4268 event: *mut gst::GstEvent,
4269 x: *mut c_double,
4270 y: *mut c_double,
4271 ) -> gboolean;
4272 #[cfg(feature = "v1_18")]
4273 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4274 pub fn gst_navigation_event_parse_mouse_scroll_event(
4275 event: *mut gst::GstEvent,
4276 x: *mut c_double,
4277 y: *mut c_double,
4278 delta_x: *mut c_double,
4279 delta_y: *mut c_double,
4280 ) -> gboolean;
4281 #[cfg(feature = "v1_22")]
4282 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4283 pub fn gst_navigation_event_parse_touch_event(
4284 event: *mut gst::GstEvent,
4285 identifier: *mut c_uint,
4286 x: *mut c_double,
4287 y: *mut c_double,
4288 pressure: *mut c_double,
4289 ) -> gboolean;
4290 #[cfg(feature = "v1_22")]
4291 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4292 pub fn gst_navigation_event_parse_touch_up_event(
4293 event: *mut gst::GstEvent,
4294 identifier: *mut c_uint,
4295 x: *mut c_double,
4296 y: *mut c_double,
4297 ) -> gboolean;
4298 #[cfg(feature = "v1_22")]
4299 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4300 pub fn gst_navigation_event_set_coordinates(
4301 event: *mut gst::GstEvent,
4302 x: c_double,
4303 y: c_double,
4304 ) -> gboolean;
4305 pub fn gst_navigation_message_get_type(
4306 message: *mut gst::GstMessage,
4307 ) -> GstNavigationMessageType;
4308 pub fn gst_navigation_message_new_angles_changed(
4309 src: *mut gst::GstObject,
4310 cur_angle: c_uint,
4311 n_angles: c_uint,
4312 ) -> *mut gst::GstMessage;
4313 pub fn gst_navigation_message_new_commands_changed(
4314 src: *mut gst::GstObject,
4315 ) -> *mut gst::GstMessage;
4316 pub fn gst_navigation_message_new_event(
4317 src: *mut gst::GstObject,
4318 event: *mut gst::GstEvent,
4319 ) -> *mut gst::GstMessage;
4320 pub fn gst_navigation_message_new_mouse_over(
4321 src: *mut gst::GstObject,
4322 active: gboolean,
4323 ) -> *mut gst::GstMessage;
4324 pub fn gst_navigation_message_parse_angles_changed(
4325 message: *mut gst::GstMessage,
4326 cur_angle: *mut c_uint,
4327 n_angles: *mut c_uint,
4328 ) -> gboolean;
4329 pub fn gst_navigation_message_parse_event(
4330 message: *mut gst::GstMessage,
4331 event: *mut *mut gst::GstEvent,
4332 ) -> gboolean;
4333 pub fn gst_navigation_message_parse_mouse_over(
4334 message: *mut gst::GstMessage,
4335 active: *mut gboolean,
4336 ) -> gboolean;
4337 pub fn gst_navigation_query_get_type(query: *mut gst::GstQuery) -> GstNavigationQueryType;
4338 pub fn gst_navigation_query_new_angles() -> *mut gst::GstQuery;
4339 pub fn gst_navigation_query_new_commands() -> *mut gst::GstQuery;
4340 pub fn gst_navigation_query_parse_angles(
4341 query: *mut gst::GstQuery,
4342 cur_angle: *mut c_uint,
4343 n_angles: *mut c_uint,
4344 ) -> gboolean;
4345 pub fn gst_navigation_query_parse_commands_length(
4346 query: *mut gst::GstQuery,
4347 n_cmds: *mut c_uint,
4348 ) -> gboolean;
4349 pub fn gst_navigation_query_parse_commands_nth(
4350 query: *mut gst::GstQuery,
4351 nth: c_uint,
4352 cmd: *mut GstNavigationCommand,
4353 ) -> gboolean;
4354 pub fn gst_navigation_query_set_angles(
4355 query: *mut gst::GstQuery,
4356 cur_angle: c_uint,
4357 n_angles: c_uint,
4358 );
4359 pub fn gst_navigation_query_set_commands(query: *mut gst::GstQuery, n_cmds: c_int, ...);
4360 pub fn gst_navigation_query_set_commandsv(
4361 query: *mut gst::GstQuery,
4362 n_cmds: c_int,
4363 cmds: *mut GstNavigationCommand,
4364 );
4365 pub fn gst_navigation_send_command(
4366 navigation: *mut GstNavigation,
4367 command: GstNavigationCommand,
4368 );
4369 pub fn gst_navigation_send_event(
4370 navigation: *mut GstNavigation,
4371 structure: *mut gst::GstStructure,
4372 );
4373 #[cfg(feature = "v1_22")]
4374 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4375 pub fn gst_navigation_send_event_simple(
4376 navigation: *mut GstNavigation,
4377 event: *mut gst::GstEvent,
4378 );
4379 pub fn gst_navigation_send_key_event(
4380 navigation: *mut GstNavigation,
4381 event: *const c_char,
4382 key: *const c_char,
4383 );
4384 pub fn gst_navigation_send_mouse_event(
4385 navigation: *mut GstNavigation,
4386 event: *const c_char,
4387 button: c_int,
4388 x: c_double,
4389 y: c_double,
4390 );
4391 #[cfg(feature = "v1_18")]
4392 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4393 pub fn gst_navigation_send_mouse_scroll_event(
4394 navigation: *mut GstNavigation,
4395 x: c_double,
4396 y: c_double,
4397 delta_x: c_double,
4398 delta_y: c_double,
4399 );
4400
4401 pub fn gst_video_direction_get_type() -> GType;
4405
4406 pub fn gst_video_orientation_get_type() -> GType;
4410 #[cfg(feature = "v1_20")]
4411 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4412 pub fn gst_video_orientation_from_tag(
4413 taglist: *mut gst::GstTagList,
4414 method: *mut GstVideoOrientationMethod,
4415 ) -> gboolean;
4416 pub fn gst_video_orientation_get_hcenter(
4417 video_orientation: *mut GstVideoOrientation,
4418 center: *mut c_int,
4419 ) -> gboolean;
4420 pub fn gst_video_orientation_get_hflip(
4421 video_orientation: *mut GstVideoOrientation,
4422 flip: *mut gboolean,
4423 ) -> gboolean;
4424 pub fn gst_video_orientation_get_vcenter(
4425 video_orientation: *mut GstVideoOrientation,
4426 center: *mut c_int,
4427 ) -> gboolean;
4428 pub fn gst_video_orientation_get_vflip(
4429 video_orientation: *mut GstVideoOrientation,
4430 flip: *mut gboolean,
4431 ) -> gboolean;
4432 pub fn gst_video_orientation_set_hcenter(
4433 video_orientation: *mut GstVideoOrientation,
4434 center: c_int,
4435 ) -> gboolean;
4436 pub fn gst_video_orientation_set_hflip(
4437 video_orientation: *mut GstVideoOrientation,
4438 flip: gboolean,
4439 ) -> gboolean;
4440 pub fn gst_video_orientation_set_vcenter(
4441 video_orientation: *mut GstVideoOrientation,
4442 center: c_int,
4443 ) -> gboolean;
4444 pub fn gst_video_orientation_set_vflip(
4445 video_orientation: *mut GstVideoOrientation,
4446 flip: gboolean,
4447 ) -> gboolean;
4448
4449 pub fn gst_video_overlay_get_type() -> GType;
4453 pub fn gst_video_overlay_install_properties(
4454 oclass: *mut gobject::GObjectClass,
4455 last_prop_id: c_int,
4456 );
4457 pub fn gst_video_overlay_set_property(
4458 object: *mut gobject::GObject,
4459 last_prop_id: c_int,
4460 property_id: c_uint,
4461 value: *const gobject::GValue,
4462 ) -> gboolean;
4463 pub fn gst_video_overlay_expose(overlay: *mut GstVideoOverlay);
4464 pub fn gst_video_overlay_got_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t);
4465 pub fn gst_video_overlay_handle_events(overlay: *mut GstVideoOverlay, handle_events: gboolean);
4466 pub fn gst_video_overlay_prepare_window_handle(overlay: *mut GstVideoOverlay);
4467 pub fn gst_video_overlay_set_render_rectangle(
4468 overlay: *mut GstVideoOverlay,
4469 x: c_int,
4470 y: c_int,
4471 width: c_int,
4472 height: c_int,
4473 ) -> gboolean;
4474 pub fn gst_video_overlay_set_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t);
4475
4476 pub fn gst_ancillary_meta_api_get_type() -> GType;
4480 #[cfg(feature = "v1_24")]
4481 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4482 pub fn gst_buffer_add_ancillary_meta(buffer: *mut gst::GstBuffer) -> *mut GstAncillaryMeta;
4483 #[cfg(feature = "v1_18")]
4484 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4485 pub fn gst_buffer_add_video_afd_meta(
4486 buffer: *mut gst::GstBuffer,
4487 field: u8,
4488 spec: GstVideoAFDSpec,
4489 afd: GstVideoAFDValue,
4490 ) -> *mut GstVideoAFDMeta;
4491 pub fn gst_buffer_add_video_affine_transformation_meta(
4492 buffer: *mut gst::GstBuffer,
4493 ) -> *mut GstVideoAffineTransformationMeta;
4494 #[cfg(feature = "v1_18")]
4495 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4496 pub fn gst_buffer_add_video_bar_meta(
4497 buffer: *mut gst::GstBuffer,
4498 field: u8,
4499 is_letterbox: gboolean,
4500 bar_data1: c_uint,
4501 bar_data2: c_uint,
4502 ) -> *mut GstVideoBarMeta;
4503 #[cfg(feature = "v1_16")]
4504 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4505 pub fn gst_buffer_add_video_caption_meta(
4506 buffer: *mut gst::GstBuffer,
4507 caption_type: GstVideoCaptionType,
4508 data: *const u8,
4509 size: size_t,
4510 ) -> *mut GstVideoCaptionMeta;
4511 #[cfg(feature = "v1_20")]
4512 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4513 pub fn gst_buffer_add_video_codec_alpha_meta(
4514 buffer: *mut gst::GstBuffer,
4515 alpha_buffer: *mut gst::GstBuffer,
4516 ) -> *mut GstVideoCodecAlphaMeta;
4517 pub fn gst_buffer_add_video_gl_texture_upload_meta(
4518 buffer: *mut gst::GstBuffer,
4519 texture_orientation: GstVideoGLTextureOrientation,
4520 n_textures: c_uint,
4521 texture_type: *mut GstVideoGLTextureType,
4522 upload: GstVideoGLTextureUpload,
4523 user_data: gpointer,
4524 user_data_copy: gobject::GBoxedCopyFunc,
4525 user_data_free: gobject::GBoxedFreeFunc,
4526 ) -> *mut GstVideoGLTextureUploadMeta;
4527 pub fn gst_buffer_add_video_meta(
4528 buffer: *mut gst::GstBuffer,
4529 flags: GstVideoFrameFlags,
4530 format: GstVideoFormat,
4531 width: c_uint,
4532 height: c_uint,
4533 ) -> *mut GstVideoMeta;
4534 pub fn gst_buffer_add_video_meta_full(
4535 buffer: *mut gst::GstBuffer,
4536 flags: GstVideoFrameFlags,
4537 format: GstVideoFormat,
4538 width: c_uint,
4539 height: c_uint,
4540 n_planes: c_uint,
4541 offset: *const [size_t; 4],
4542 stride: *const [c_int; 4],
4543 ) -> *mut GstVideoMeta;
4544 pub fn gst_buffer_add_video_overlay_composition_meta(
4545 buf: *mut gst::GstBuffer,
4546 comp: *mut GstVideoOverlayComposition,
4547 ) -> *mut GstVideoOverlayCompositionMeta;
4548 pub fn gst_buffer_add_video_region_of_interest_meta(
4549 buffer: *mut gst::GstBuffer,
4550 roi_type: *const c_char,
4551 x: c_uint,
4552 y: c_uint,
4553 w: c_uint,
4554 h: c_uint,
4555 ) -> *mut GstVideoRegionOfInterestMeta;
4556 pub fn gst_buffer_add_video_region_of_interest_meta_id(
4557 buffer: *mut gst::GstBuffer,
4558 roi_type: glib::GQuark,
4559 x: c_uint,
4560 y: c_uint,
4561 w: c_uint,
4562 h: c_uint,
4563 ) -> *mut GstVideoRegionOfInterestMeta;
4564 #[cfg(feature = "v1_22")]
4565 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4566 pub fn gst_buffer_add_video_sei_user_data_unregistered_meta(
4567 buffer: *mut gst::GstBuffer,
4568 uuid: *mut u8,
4569 data: *mut u8,
4570 size: size_t,
4571 ) -> *mut GstVideoSEIUserDataUnregisteredMeta;
4572 pub fn gst_buffer_add_video_time_code_meta(
4573 buffer: *mut gst::GstBuffer,
4574 tc: *const GstVideoTimeCode,
4575 ) -> *mut GstVideoTimeCodeMeta;
4576 pub fn gst_buffer_add_video_time_code_meta_full(
4577 buffer: *mut gst::GstBuffer,
4578 fps_n: c_uint,
4579 fps_d: c_uint,
4580 latest_daily_jam: *mut glib::GDateTime,
4581 flags: GstVideoTimeCodeFlags,
4582 hours: c_uint,
4583 minutes: c_uint,
4584 seconds: c_uint,
4585 frames: c_uint,
4586 field_count: c_uint,
4587 ) -> *mut GstVideoTimeCodeMeta;
4588 pub fn gst_buffer_get_video_meta(buffer: *mut gst::GstBuffer) -> *mut GstVideoMeta;
4589 pub fn gst_buffer_get_video_meta_id(
4590 buffer: *mut gst::GstBuffer,
4591 id: c_int,
4592 ) -> *mut GstVideoMeta;
4593 pub fn gst_buffer_get_video_region_of_interest_meta_id(
4594 buffer: *mut gst::GstBuffer,
4595 id: c_int,
4596 ) -> *mut GstVideoRegionOfInterestMeta;
4597 pub fn gst_buffer_pool_config_get_video_alignment(
4598 config: *const gst::GstStructure,
4599 align: *mut GstVideoAlignment,
4600 ) -> gboolean;
4601 pub fn gst_buffer_pool_config_set_video_alignment(
4602 config: *mut gst::GstStructure,
4603 align: *const GstVideoAlignment,
4604 );
4605 pub fn gst_is_video_overlay_prepare_window_handle_message(
4606 msg: *mut gst::GstMessage,
4607 ) -> gboolean;
4608 #[cfg(feature = "v1_18")]
4609 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4610 pub fn gst_video_afd_meta_api_get_type() -> GType;
4611 pub fn gst_video_affine_transformation_meta_api_get_type() -> GType;
4612 #[cfg(feature = "v1_18")]
4613 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4614 pub fn gst_video_bar_meta_api_get_type() -> GType;
4615 pub fn gst_video_blend(
4616 dest: *mut GstVideoFrame,
4617 src: *mut GstVideoFrame,
4618 x: c_int,
4619 y: c_int,
4620 global_alpha: c_float,
4621 ) -> gboolean;
4622 pub fn gst_video_blend_scale_linear_RGBA(
4623 src: *mut GstVideoInfo,
4624 src_buffer: *mut gst::GstBuffer,
4625 dest_height: c_int,
4626 dest_width: c_int,
4627 dest: *mut GstVideoInfo,
4628 dest_buffer: *mut *mut gst::GstBuffer,
4629 );
4630 pub fn gst_video_calculate_display_ratio(
4631 dar_n: *mut c_uint,
4632 dar_d: *mut c_uint,
4633 video_width: c_uint,
4634 video_height: c_uint,
4635 video_par_n: c_uint,
4636 video_par_d: c_uint,
4637 display_par_n: c_uint,
4638 display_par_d: c_uint,
4639 ) -> gboolean;
4640 #[cfg(feature = "v1_16")]
4641 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4642 pub fn gst_video_caption_meta_api_get_type() -> GType;
4643 #[cfg(feature = "v1_20")]
4644 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4645 pub fn gst_video_center_rect(
4646 src: *const GstVideoRectangle,
4647 dst: *const GstVideoRectangle,
4648 result: *mut GstVideoRectangle,
4649 scaling: gboolean,
4650 );
4651 pub fn gst_video_chroma_from_string(s: *const c_char) -> GstVideoChromaSite;
4652 pub fn gst_video_chroma_resample(
4653 resample: *mut GstVideoChromaResample,
4654 lines: *mut gpointer,
4655 width: c_int,
4656 );
4657 pub fn gst_video_chroma_to_string(site: GstVideoChromaSite) -> *const c_char;
4658 #[cfg(feature = "v1_20")]
4659 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4660 pub fn gst_video_codec_alpha_meta_api_get_type() -> GType;
4661 pub fn gst_video_color_transfer_decode(
4662 func: GstVideoTransferFunction,
4663 val: c_double,
4664 ) -> c_double;
4665 pub fn gst_video_color_transfer_encode(
4666 func: GstVideoTransferFunction,
4667 val: c_double,
4668 ) -> c_double;
4669 pub fn gst_video_convert_sample(
4670 sample: *mut gst::GstSample,
4671 to_caps: *const gst::GstCaps,
4672 timeout: gst::GstClockTime,
4673 error: *mut *mut glib::GError,
4674 ) -> *mut gst::GstSample;
4675 pub fn gst_video_convert_sample_async(
4676 sample: *mut gst::GstSample,
4677 to_caps: *const gst::GstCaps,
4678 timeout: gst::GstClockTime,
4679 callback: GstVideoConvertSampleCallback,
4680 user_data: gpointer,
4681 destroy_notify: glib::GDestroyNotify,
4682 );
4683 pub fn gst_video_crop_meta_api_get_type() -> GType;
4684 #[cfg(feature = "v1_26")]
4685 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4686 pub fn gst_video_dma_drm_format_from_gst_format(
4687 format: GstVideoFormat,
4688 modifier: *mut u64,
4689 ) -> u32;
4690 #[cfg(feature = "v1_26")]
4691 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4692 pub fn gst_video_dma_drm_format_to_gst_format(fourcc: u32, modifier: u64) -> GstVideoFormat;
4693 #[cfg(feature = "v1_24")]
4694 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4695 pub fn gst_video_dma_drm_fourcc_from_format(format: GstVideoFormat) -> u32;
4696 #[cfg(feature = "v1_24")]
4697 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4698 pub fn gst_video_dma_drm_fourcc_from_string(
4699 format_str: *const c_char,
4700 modifier: *mut u64,
4701 ) -> u32;
4702 #[cfg(feature = "v1_24")]
4703 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4704 pub fn gst_video_dma_drm_fourcc_to_format(fourcc: u32) -> GstVideoFormat;
4705 #[cfg(feature = "v1_24")]
4706 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4707 pub fn gst_video_dma_drm_fourcc_to_string(fourcc: u32, modifier: u64) -> *mut c_char;
4708 pub fn gst_video_event_is_force_key_unit(event: *mut gst::GstEvent) -> gboolean;
4709 pub fn gst_video_event_new_downstream_force_key_unit(
4710 timestamp: gst::GstClockTime,
4711 stream_time: gst::GstClockTime,
4712 running_time: gst::GstClockTime,
4713 all_headers: gboolean,
4714 count: c_uint,
4715 ) -> *mut gst::GstEvent;
4716 pub fn gst_video_event_new_still_frame(in_still: gboolean) -> *mut gst::GstEvent;
4717 pub fn gst_video_event_new_upstream_force_key_unit(
4718 running_time: gst::GstClockTime,
4719 all_headers: gboolean,
4720 count: c_uint,
4721 ) -> *mut gst::GstEvent;
4722 pub fn gst_video_event_parse_downstream_force_key_unit(
4723 event: *mut gst::GstEvent,
4724 timestamp: *mut gst::GstClockTime,
4725 stream_time: *mut gst::GstClockTime,
4726 running_time: *mut gst::GstClockTime,
4727 all_headers: *mut gboolean,
4728 count: *mut c_uint,
4729 ) -> gboolean;
4730 pub fn gst_video_event_parse_still_frame(
4731 event: *mut gst::GstEvent,
4732 in_still: *mut gboolean,
4733 ) -> gboolean;
4734 pub fn gst_video_event_parse_upstream_force_key_unit(
4735 event: *mut gst::GstEvent,
4736 running_time: *mut gst::GstClockTime,
4737 all_headers: *mut gboolean,
4738 count: *mut c_uint,
4739 ) -> gboolean;
4740 #[cfg(feature = "v1_24")]
4741 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4742 pub fn gst_video_formats_any(len: *mut c_uint) -> *const GstVideoFormat;
4743 #[cfg(feature = "v1_18")]
4744 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4745 pub fn gst_video_formats_raw(len: *mut c_uint) -> *const GstVideoFormat;
4746 pub fn gst_video_gl_texture_upload_meta_api_get_type() -> GType;
4747 pub fn gst_video_guess_framerate(
4748 duration: gst::GstClockTime,
4749 dest_n: *mut c_int,
4750 dest_d: *mut c_int,
4751 ) -> gboolean;
4752 #[cfg(feature = "v1_22")]
4753 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4754 pub fn gst_video_is_common_aspect_ratio(
4755 width: c_int,
4756 height: c_int,
4757 par_n: c_int,
4758 par_d: c_int,
4759 ) -> gboolean;
4760 #[cfg(feature = "v1_24")]
4761 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
4762 pub fn gst_video_is_dma_drm_caps(caps: *const gst::GstCaps) -> gboolean;
4763 #[cfg(feature = "v1_18")]
4764 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4765 pub fn gst_video_make_raw_caps(
4766 formats: *const GstVideoFormat,
4767 len: c_uint,
4768 ) -> *mut gst::GstCaps;
4769 #[cfg(feature = "v1_18")]
4770 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4771 pub fn gst_video_make_raw_caps_with_features(
4772 formats: *const GstVideoFormat,
4773 len: c_uint,
4774 features: *mut gst::GstCapsFeatures,
4775 ) -> *mut gst::GstCaps;
4776 pub fn gst_video_meta_api_get_type() -> GType;
4777 pub fn gst_video_multiview_get_doubled_height_modes() -> *const gobject::GValue;
4778 pub fn gst_video_multiview_get_doubled_size_modes() -> *const gobject::GValue;
4779 pub fn gst_video_multiview_get_doubled_width_modes() -> *const gobject::GValue;
4780 pub fn gst_video_multiview_get_mono_modes() -> *const gobject::GValue;
4781 pub fn gst_video_multiview_get_unpacked_modes() -> *const gobject::GValue;
4782 pub fn gst_video_multiview_guess_half_aspect(
4783 mv_mode: GstVideoMultiviewMode,
4784 width: c_uint,
4785 height: c_uint,
4786 par_n: c_uint,
4787 par_d: c_uint,
4788 ) -> gboolean;
4789 pub fn gst_video_multiview_video_info_change_mode(
4790 info: *mut GstVideoInfo,
4791 out_mview_mode: GstVideoMultiviewMode,
4792 out_mview_flags: GstVideoMultiviewFlags,
4793 );
4794 pub fn gst_video_overlay_composition_meta_api_get_type() -> GType;
4795 pub fn gst_video_region_of_interest_meta_api_get_type() -> GType;
4796 #[cfg(feature = "v1_22")]
4797 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4798 pub fn gst_video_sei_user_data_unregistered_meta_api_get_type() -> GType;
4799 #[cfg(feature = "v1_22")]
4800 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4801 pub fn gst_video_sei_user_data_unregistered_parse_precision_time_stamp(
4802 user_data: *mut GstVideoSEIUserDataUnregisteredMeta,
4803 status: *mut u8,
4804 precision_time_stamp: *mut u64,
4805 ) -> gboolean;
4806 pub fn gst_video_tile_get_index(
4807 mode: GstVideoTileMode,
4808 x: c_int,
4809 y: c_int,
4810 x_tiles: c_int,
4811 y_tiles: c_int,
4812 ) -> c_uint;
4813 pub fn gst_video_time_code_meta_api_get_type() -> GType;
4814
4815}