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