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