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 gio_sys as gio;
16use glib_sys as glib;
17use gobject_sys as gobject;
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 GstValidateIssueId = glib::GQuark;
35
36pub type GstValidateActionReturn = c_int;
38pub const GST_VALIDATE_EXECUTE_ACTION_ERROR: GstValidateActionReturn = 0;
39pub const GST_VALIDATE_EXECUTE_ACTION_OK: GstValidateActionReturn = 1;
40pub const GST_VALIDATE_EXECUTE_ACTION_ASYNC: GstValidateActionReturn = 2;
41pub const GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING: GstValidateActionReturn = 3;
42pub const GST_VALIDATE_EXECUTE_ACTION_INTERLACED: GstValidateActionReturn = 3;
43pub const GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED: GstValidateActionReturn = 4;
44pub const GST_VALIDATE_EXECUTE_ACTION_IN_PROGRESS: GstValidateActionReturn = 5;
45pub const GST_VALIDATE_EXECUTE_ACTION_NONE: GstValidateActionReturn = 6;
46pub const GST_VALIDATE_EXECUTE_ACTION_DONE: GstValidateActionReturn = 7;
47
48pub type GstValidateInterceptionReturn = c_int;
49pub const GST_VALIDATE_REPORTER_DROP: GstValidateInterceptionReturn = 0;
50pub const GST_VALIDATE_REPORTER_KEEP: GstValidateInterceptionReturn = 1;
51pub const GST_VALIDATE_REPORTER_REPORT: GstValidateInterceptionReturn = 2;
52
53pub type GstValidateReportLevel = c_int;
54pub const GST_VALIDATE_REPORT_LEVEL_CRITICAL: GstValidateReportLevel = 0;
55pub const GST_VALIDATE_REPORT_LEVEL_WARNING: GstValidateReportLevel = 1;
56pub const GST_VALIDATE_REPORT_LEVEL_ISSUE: GstValidateReportLevel = 2;
57pub const GST_VALIDATE_REPORT_LEVEL_IGNORE: GstValidateReportLevel = 3;
58pub const GST_VALIDATE_REPORT_LEVEL_UNKNOWN: GstValidateReportLevel = 4;
59pub const GST_VALIDATE_REPORT_LEVEL_EXPECTED: GstValidateReportLevel = 5;
60pub const GST_VALIDATE_REPORT_LEVEL_NUM_ENTRIES: GstValidateReportLevel = 6;
61
62pub type GstValidateReportingDetails = c_int;
63pub const GST_VALIDATE_SHOW_UNKNOWN: GstValidateReportingDetails = 0;
64pub const GST_VALIDATE_SHOW_NONE: GstValidateReportingDetails = 1;
65pub const GST_VALIDATE_SHOW_SYNTHETIC: GstValidateReportingDetails = 2;
66pub const GST_VALIDATE_SHOW_SUBCHAIN: GstValidateReportingDetails = 3;
67pub const GST_VALIDATE_SHOW_MONITOR: GstValidateReportingDetails = 4;
68pub const GST_VALIDATE_SHOW_ALL: GstValidateReportingDetails = 5;
69pub const GST_VALIDATE_SHOW_SMART: GstValidateReportingDetails = 6;
70pub const GST_VALIDATE_SHOW_COUNT: GstValidateReportingDetails = 7;
71
72pub const GST_VALIDATE_UNKNOWN_BOOL: c_int = -1;
74pub const GST_VALIDATE_UNKNOWN_UINT64: c_int = -1;
75
76pub type GstValidateActionTypeFlags = c_uint;
78pub const GST_VALIDATE_ACTION_TYPE_NONE: GstValidateActionTypeFlags = 0;
79pub const GST_VALIDATE_ACTION_TYPE_CONFIG: GstValidateActionTypeFlags = 2;
80pub const GST_VALIDATE_ACTION_TYPE_ASYNC: GstValidateActionTypeFlags = 4;
81pub const GST_VALIDATE_ACTION_TYPE_NON_BLOCKING: GstValidateActionTypeFlags = 8;
82pub const GST_VALIDATE_ACTION_TYPE_INTERLACED: GstValidateActionTypeFlags = 8;
83pub const GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION: GstValidateActionTypeFlags = 16;
84pub const GST_VALIDATE_ACTION_TYPE_NEEDS_CLOCK: GstValidateActionTypeFlags = 32;
85pub const GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL: GstValidateActionTypeFlags = 64;
86pub const GST_VALIDATE_ACTION_TYPE_CAN_BE_OPTIONAL: GstValidateActionTypeFlags = 128;
87pub const GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE: GstValidateActionTypeFlags = 256;
88pub const GST_VALIDATE_ACTION_TYPE_HANDLED_IN_CONFIG: GstValidateActionTypeFlags = 512;
89pub const GST_VALIDATE_ACTION_TYPE_CHECK: GstValidateActionTypeFlags = 1024;
90
91pub type GstValidateDebugFlags = c_uint;
92pub const GST_VALIDATE_FATAL_DEFAULT: GstValidateDebugFlags = 0;
93pub const GST_VALIDATE_FATAL_ISSUES: GstValidateDebugFlags = 1;
94pub const GST_VALIDATE_FATAL_WARNINGS: GstValidateDebugFlags = 2;
95pub const GST_VALIDATE_FATAL_CRITICALS: GstValidateDebugFlags = 4;
96pub const GST_VALIDATE_PRINT_ISSUES: GstValidateDebugFlags = 8;
97pub const GST_VALIDATE_PRINT_WARNINGS: GstValidateDebugFlags = 16;
98pub const GST_VALIDATE_PRINT_CRITICALS: GstValidateDebugFlags = 32;
99
100pub type GstValidateIssueFlags = c_uint;
101pub const GST_VALIDATE_ISSUE_FLAGS_NONE: GstValidateIssueFlags = 0;
102pub const GST_VALIDATE_ISSUE_FLAGS_FULL_DETAILS: GstValidateIssueFlags = 1;
103pub const GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE: GstValidateIssueFlags = 2;
104pub const GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE: GstValidateIssueFlags = 4;
105
106pub type GstValidateMediaDescriptorWriterFlags = c_uint;
107pub const GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NONE: GstValidateMediaDescriptorWriterFlags =
108 1;
109pub const GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_NO_PARSER:
110 GstValidateMediaDescriptorWriterFlags = 2;
111pub const GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_FULL: GstValidateMediaDescriptorWriterFlags =
112 4;
113pub const GST_VALIDATE_MEDIA_DESCRIPTOR_WRITER_FLAGS_HANDLE_GLOGS:
114 GstValidateMediaDescriptorWriterFlags = 8;
115
116pub type GstValidateObjectSetPropertyFlags = c_uint;
117pub const GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_OPTIONAL: GstValidateObjectSetPropertyFlags = 1;
118pub const GST_VALIDATE_OBJECT_SET_PROPERTY_FLAGS_NO_VALUE_CHECK: GstValidateObjectSetPropertyFlags =
119 2;
120
121pub type GstValidateStructureResolveVariablesFlags = c_uint;
122pub const GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_ALL: GstValidateStructureResolveVariablesFlags =
123 0;
124pub const GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_LOCAL_ONLY:
125 GstValidateStructureResolveVariablesFlags = 1;
126pub const GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_FAILURE:
127 GstValidateStructureResolveVariablesFlags = 2;
128pub const GST_VALIDATE_STRUCTURE_RESOLVE_VARIABLES_NO_EXPRESSION:
129 GstValidateStructureResolveVariablesFlags = 2;
130
131pub type GstValidateVerbosityFlags = c_uint;
132pub const GST_VALIDATE_VERBOSITY_NONE: GstValidateVerbosityFlags = 0;
133pub const GST_VALIDATE_VERBOSITY_POSITION: GstValidateVerbosityFlags = 2;
134pub const GST_VALIDATE_VERBOSITY_MESSAGES: GstValidateVerbosityFlags = 4;
135pub const GST_VALIDATE_VERBOSITY_PROPS_CHANGES: GstValidateVerbosityFlags = 8;
136pub const GST_VALIDATE_VERBOSITY_NEW_ELEMENTS: GstValidateVerbosityFlags = 16;
137pub const GST_VALIDATE_VERBOSITY_ALL: GstValidateVerbosityFlags = 30;
138
139pub type GstValidateExecuteAction =
141 Option<unsafe extern "C" fn(*mut GstValidateScenario, *mut GstValidateAction) -> c_int>;
142pub type GstValidateGetIncludePathsFunc =
143 Option<unsafe extern "C" fn(*const c_char) -> *mut *mut c_char>;
144pub type GstValidateOverrideBufferHandler = Option<
145 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstBuffer),
146>;
147pub type GstValidateOverrideElementAddedHandler = Option<
148 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstElement),
149>;
150pub type GstValidateOverrideEventHandler = Option<
151 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstEvent),
152>;
153pub type GstValidateOverrideGetCapsHandler = Option<
154 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstCaps),
155>;
156pub type GstValidateOverrideQueryHandler = Option<
157 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstQuery),
158>;
159pub type GstValidateOverrideSetCapsHandler = Option<
160 unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor, *mut gst::GstCaps),
161>;
162pub type GstValidateParseVariableFunc =
163 Option<unsafe extern "C" fn(*const c_char, *mut c_double, gpointer) -> c_int>;
164pub type GstValidatePrepareAction = Option<unsafe extern "C" fn(*mut GstValidateAction) -> c_int>;
165
166#[derive(Copy, Clone)]
168#[repr(C)]
169pub struct GstValidateAction {
170 pub mini_object: gst::GstMiniObject,
171 pub type_: *const c_char,
172 pub name: *const c_char,
173 pub structure: *mut gst::GstStructure,
174 pub action_number: c_uint,
175 pub repeat: c_int,
176 pub playback_time: gst::GstClockTime,
177 pub lineno: c_int,
178 pub filename: *mut c_char,
179 pub debug: *mut c_char,
180 pub n_repeats: c_int,
181 pub rangename: *mut c_char,
182 pub priv_: *mut GstValidateActionPrivate,
183 pub _gst_reserved: [gpointer; 4],
184}
185
186impl ::std::fmt::Debug for GstValidateAction {
187 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
188 f.debug_struct(&format!("GstValidateAction @ {self:p}"))
189 .field("mini_object", &self.mini_object)
190 .field("type_", &self.type_)
191 .field("name", &self.name)
192 .field("structure", &self.structure)
193 .finish()
194 }
195}
196
197#[derive(Copy, Clone)]
198#[repr(C)]
199pub struct GstValidateActionParameter {
200 pub name: *const c_char,
201 pub description: *const c_char,
202 pub mandatory: gboolean,
203 pub types: *const c_char,
204 pub possible_variables: *const c_char,
205 pub def: *const c_char,
206 pub free: glib::GDestroyNotify,
207 pub _gst_reserved: [gpointer; 3],
208}
209
210impl ::std::fmt::Debug for GstValidateActionParameter {
211 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
212 f.debug_struct(&format!("GstValidateActionParameter @ {self:p}"))
213 .field("name", &self.name)
214 .field("description", &self.description)
215 .field("mandatory", &self.mandatory)
216 .field("types", &self.types)
217 .field("possible_variables", &self.possible_variables)
218 .field("def", &self.def)
219 .field("free", &self.free)
220 .finish()
221 }
222}
223
224#[repr(C)]
225#[allow(dead_code)]
226pub struct _GstValidateActionPrivate {
227 _data: [u8; 0],
228 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
229}
230
231pub type GstValidateActionPrivate = _GstValidateActionPrivate;
232
233#[derive(Copy, Clone)]
234#[repr(C)]
235pub struct GstValidateActionType {
236 pub mini_object: gst::GstMiniObject,
237 pub name: *mut c_char,
238 pub implementer_namespace: *mut c_char,
239 pub prepare: GstValidatePrepareAction,
240 pub execute: GstValidateExecuteAction,
241 pub parameters: *mut GstValidateActionParameter,
242 pub description: *mut c_char,
243 pub flags: GstValidateActionTypeFlags,
244 pub rank: gst::GstRank,
245 pub overriden_type: *mut GstValidateActionType,
246 pub priv_: *mut GstValidateActionTypePrivate,
247 pub _gst_reserved: [gpointer; 20],
248}
249
250impl ::std::fmt::Debug for GstValidateActionType {
251 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
252 f.debug_struct(&format!("GstValidateActionType @ {self:p}"))
253 .field("mini_object", &self.mini_object)
254 .field("name", &self.name)
255 .field("implementer_namespace", &self.implementer_namespace)
256 .field("prepare", &self.prepare)
257 .field("execute", &self.execute)
258 .field("parameters", &self.parameters)
259 .field("description", &self.description)
260 .field("flags", &self.flags)
261 .field("rank", &self.rank)
262 .field("overriden_type", &self.overriden_type)
263 .field("priv_", &self.priv_)
264 .finish()
265 }
266}
267
268#[repr(C)]
269#[allow(dead_code)]
270pub struct _GstValidateActionTypePrivate {
271 _data: [u8; 0],
272 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
273}
274
275pub type GstValidateActionTypePrivate = _GstValidateActionTypePrivate;
276
277#[derive(Copy, Clone)]
278#[repr(C)]
279pub struct GstValidateBinMonitorClass {
280 pub parent_class: GstValidateElementMonitorClass,
281 pub _gst_reserved: [gpointer; 4],
282}
283
284impl ::std::fmt::Debug for GstValidateBinMonitorClass {
285 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
286 f.debug_struct(&format!("GstValidateBinMonitorClass @ {self:p}"))
287 .field("parent_class", &self.parent_class)
288 .finish()
289 }
290}
291
292#[derive(Copy, Clone)]
293#[repr(C)]
294pub struct GstValidateElementMonitorClass {
295 pub parent_class: GstValidateMonitorClass,
296 pub _gst_reserved: [gpointer; 4],
297}
298
299impl ::std::fmt::Debug for GstValidateElementMonitorClass {
300 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
301 f.debug_struct(&format!("GstValidateElementMonitorClass @ {self:p}"))
302 .field("parent_class", &self.parent_class)
303 .finish()
304 }
305}
306
307#[derive(Copy, Clone)]
308#[repr(C)]
309pub struct GstValidateIssue {
310 pub issue_id: GstValidateIssueId,
311 pub summary: *mut c_char,
312 pub description: *mut c_char,
313 pub area: *mut c_char,
314 pub name: *mut c_char,
315 pub default_level: GstValidateReportLevel,
316 pub refcount: c_int,
317 pub flags: GstValidateIssueFlags,
318 pub _gst_reserved: [gpointer; 4],
319}
320
321impl ::std::fmt::Debug for GstValidateIssue {
322 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
323 f.debug_struct(&format!("GstValidateIssue @ {self:p}"))
324 .field("issue_id", &self.issue_id)
325 .field("summary", &self.summary)
326 .field("description", &self.description)
327 .field("area", &self.area)
328 .field("name", &self.name)
329 .field("default_level", &self.default_level)
330 .field("refcount", &self.refcount)
331 .field("flags", &self.flags)
332 .field("_gst_reserved", &self._gst_reserved)
333 .finish()
334 }
335}
336
337#[derive(Copy, Clone)]
338#[repr(C)]
339pub struct GstValidateMediaDescriptorClass {
340 pub parent: gst::GstObjectClass,
341 pub _gst_reserved: [gpointer; 4],
342}
343
344impl ::std::fmt::Debug for GstValidateMediaDescriptorClass {
345 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
346 f.debug_struct(&format!("GstValidateMediaDescriptorClass @ {self:p}"))
347 .field("parent", &self.parent)
348 .finish()
349 }
350}
351
352#[derive(Copy, Clone)]
353#[repr(C)]
354pub struct GstValidateMediaDescriptorParserClass {
355 pub parent: GstValidateMediaDescriptorClass,
356 pub _gst_reserved: [gpointer; 4],
357}
358
359impl ::std::fmt::Debug for GstValidateMediaDescriptorParserClass {
360 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
361 f.debug_struct(&format!("GstValidateMediaDescriptorParserClass @ {self:p}"))
362 .field("parent", &self.parent)
363 .finish()
364 }
365}
366
367#[repr(C)]
368#[allow(dead_code)]
369pub struct _GstValidateMediaDescriptorParserPrivate {
370 _data: [u8; 0],
371 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
372}
373
374pub type GstValidateMediaDescriptorParserPrivate = _GstValidateMediaDescriptorParserPrivate;
375
376#[repr(C)]
377#[allow(dead_code)]
378pub struct _GstValidateMediaDescriptorPrivate {
379 _data: [u8; 0],
380 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
381}
382
383pub type GstValidateMediaDescriptorPrivate = _GstValidateMediaDescriptorPrivate;
384
385#[derive(Copy, Clone)]
386#[repr(C)]
387pub struct GstValidateMediaDescriptorWriterClass {
388 pub parent: GstValidateMediaDescriptorClass,
389 pub _gst_reserved: [gpointer; 4],
390}
391
392impl ::std::fmt::Debug for GstValidateMediaDescriptorWriterClass {
393 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
394 f.debug_struct(&format!("GstValidateMediaDescriptorWriterClass @ {self:p}"))
395 .field("parent", &self.parent)
396 .finish()
397 }
398}
399
400#[repr(C)]
401#[allow(dead_code)]
402pub struct _GstValidateMediaDescriptorWriterPrivate {
403 _data: [u8; 0],
404 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
405}
406
407pub type GstValidateMediaDescriptorWriterPrivate = _GstValidateMediaDescriptorWriterPrivate;
408
409#[derive(Copy, Clone)]
410#[repr(C)]
411pub struct GstValidateMediaInfo {
412 pub duration: gst::GstClockTime,
413 pub is_image: gboolean,
414 pub file_size: u64,
415 pub seekable: gboolean,
416 pub playback_error: *mut c_char,
417 pub reverse_playback_error: *mut c_char,
418 pub track_switch_error: *mut c_char,
419 pub uri: *mut c_char,
420 pub discover_only: gboolean,
421 pub stream_info: *mut GstValidateStreamInfo,
422 pub _gst_reserved: [gpointer; 4],
423}
424
425impl ::std::fmt::Debug for GstValidateMediaInfo {
426 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
427 f.debug_struct(&format!("GstValidateMediaInfo @ {self:p}"))
428 .field("duration", &self.duration)
429 .field("is_image", &self.is_image)
430 .field("file_size", &self.file_size)
431 .field("seekable", &self.seekable)
432 .field("playback_error", &self.playback_error)
433 .field("reverse_playback_error", &self.reverse_playback_error)
434 .field("track_switch_error", &self.track_switch_error)
435 .field("uri", &self.uri)
436 .field("discover_only", &self.discover_only)
437 .field("stream_info", &self.stream_info)
438 .finish()
439 }
440}
441
442#[derive(Copy, Clone)]
443#[repr(C)]
444pub struct GstValidateMonitorClass {
445 pub parent_class: gst::GstObjectClass,
446 pub setup: Option<unsafe extern "C" fn(*mut GstValidateMonitor) -> gboolean>,
447 pub get_element: Option<unsafe extern "C" fn(*mut GstValidateMonitor) -> *mut gst::GstElement>,
448 pub set_media_descriptor:
449 Option<unsafe extern "C" fn(*mut GstValidateMonitor, *mut GstValidateMediaDescriptor)>,
450 pub _gst_reserved: [gpointer; 4],
451}
452
453impl ::std::fmt::Debug for GstValidateMonitorClass {
454 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
455 f.debug_struct(&format!("GstValidateMonitorClass @ {self:p}"))
456 .field("parent_class", &self.parent_class)
457 .field("setup", &self.setup)
458 .field("get_element", &self.get_element)
459 .field("set_media_descriptor", &self.set_media_descriptor)
460 .finish()
461 }
462}
463
464#[derive(Copy, Clone)]
465#[repr(C)]
466pub struct GstValidateOverrideClass {
467 pub parent_class: gst::GstObjectClass,
468 pub can_attach:
469 Option<unsafe extern "C" fn(*mut GstValidateOverride, *mut GstValidateMonitor) -> gboolean>,
470 pub attached: Option<unsafe extern "C" fn(*mut GstValidateOverride)>,
471 pub _gst_reserved: [gpointer; 4],
472}
473
474impl ::std::fmt::Debug for GstValidateOverrideClass {
475 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
476 f.debug_struct(&format!("GstValidateOverrideClass @ {self:p}"))
477 .field("can_attach", &self.can_attach)
478 .field("attached", &self.attached)
479 .finish()
480 }
481}
482
483#[repr(C)]
484#[allow(dead_code)]
485pub struct _GstValidateOverridePrivate {
486 _data: [u8; 0],
487 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
488}
489
490pub type GstValidateOverridePrivate = _GstValidateOverridePrivate;
491
492#[derive(Copy, Clone)]
493#[repr(C)]
494pub struct GstValidateOverrideRegistry {
495 pub mutex: glib::GMutex,
496 pub name_overrides: glib::GQueue,
497 pub gtype_overrides: glib::GQueue,
498 pub klass_overrides: glib::GQueue,
499 pub _gst_reserved: [gpointer; 4],
500}
501
502impl ::std::fmt::Debug for GstValidateOverrideRegistry {
503 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
504 f.debug_struct(&format!("GstValidateOverrideRegistry @ {self:p}"))
505 .field("mutex", &self.mutex)
506 .field("name_overrides", &self.name_overrides)
507 .field("gtype_overrides", &self.gtype_overrides)
508 .field("klass_overrides", &self.klass_overrides)
509 .finish()
510 }
511}
512
513#[derive(Copy, Clone)]
514#[repr(C)]
515pub struct GstValidatePadMonitorClass {
516 pub parent_class: GstValidateMonitorClass,
517 pub _gst_reserved: [gpointer; 4],
518}
519
520impl ::std::fmt::Debug for GstValidatePadMonitorClass {
521 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
522 f.debug_struct(&format!("GstValidatePadMonitorClass @ {self:p}"))
523 .field("parent_class", &self.parent_class)
524 .finish()
525 }
526}
527
528#[repr(C)]
529#[allow(dead_code)]
530pub struct _GstValidatePadSeekData {
531 _data: [u8; 0],
532 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
533}
534
535pub type GstValidatePadSeekData = _GstValidatePadSeekData;
536
537#[derive(Copy, Clone)]
538#[repr(C)]
539pub struct GstValidatePipelineMonitorClass {
540 pub parent_class: GstValidateBinMonitorClass,
541 pub _gst_reserved: [gpointer; 4],
542}
543
544impl ::std::fmt::Debug for GstValidatePipelineMonitorClass {
545 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
546 f.debug_struct(&format!("GstValidatePipelineMonitorClass @ {self:p}"))
547 .field("parent_class", &self.parent_class)
548 .finish()
549 }
550}
551
552#[derive(Copy, Clone)]
553#[repr(C)]
554pub struct GstValidateReport {
555 pub mini_object: gst::GstMiniObject,
556 pub issue: *mut GstValidateIssue,
557 pub level: GstValidateReportLevel,
558 pub reporter: *mut GstValidateReporter,
559 pub timestamp: gst::GstClockTime,
560 pub message: *mut c_char,
561 pub shadow_reports_lock: glib::GMutex,
562 pub master_report: *mut GstValidateReport,
563 pub shadow_reports: *mut glib::GList,
564 pub repeated_reports: *mut glib::GList,
565 pub reporting_level: GstValidateReportingDetails,
566 pub reporter_name: *mut c_char,
567 pub trace: *mut c_char,
568 pub dotfile_name: *mut c_char,
569 pub _gst_reserved: [gpointer; 4],
570}
571
572impl ::std::fmt::Debug for GstValidateReport {
573 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
574 f.debug_struct(&format!("GstValidateReport @ {self:p}"))
575 .field("mini_object", &self.mini_object)
576 .field("issue", &self.issue)
577 .field("level", &self.level)
578 .field("reporter", &self.reporter)
579 .field("timestamp", &self.timestamp)
580 .field("message", &self.message)
581 .field("shadow_reports_lock", &self.shadow_reports_lock)
582 .field("master_report", &self.master_report)
583 .field("shadow_reports", &self.shadow_reports)
584 .field("repeated_reports", &self.repeated_reports)
585 .field("reporting_level", &self.reporting_level)
586 .field("reporter_name", &self.reporter_name)
587 .field("trace", &self.trace)
588 .field("dotfile_name", &self.dotfile_name)
589 .field("_gst_reserved", &self._gst_reserved)
590 .finish()
591 }
592}
593
594#[derive(Copy, Clone)]
595#[repr(C)]
596pub struct GstValidateReporterInterface {
597 pub parent: gobject::GTypeInterface,
598 pub intercept_report: Option<
599 unsafe extern "C" fn(
600 *mut GstValidateReporter,
601 *mut GstValidateReport,
602 ) -> GstValidateInterceptionReturn,
603 >,
604 pub get_reporting_level:
605 Option<unsafe extern "C" fn(*mut GstValidateReporter) -> GstValidateReportingDetails>,
606 pub get_pipeline:
607 Option<unsafe extern "C" fn(*mut GstValidateReporter) -> *mut gst::GstPipeline>,
608 pub _gst_reserved: [gpointer; 4],
609}
610
611impl ::std::fmt::Debug for GstValidateReporterInterface {
612 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
613 f.debug_struct(&format!("GstValidateReporterInterface @ {self:p}"))
614 .field("parent", &self.parent)
615 .field("intercept_report", &self.intercept_report)
616 .field("get_reporting_level", &self.get_reporting_level)
617 .field("get_pipeline", &self.get_pipeline)
618 .finish()
619 }
620}
621
622#[derive(Copy, Clone)]
623#[repr(C)]
624pub struct GstValidateRunnerClass {
625 pub parent_class: gst::GstTracerClass,
626 pub _gst_reserved: [gpointer; 4],
627}
628
629impl ::std::fmt::Debug for GstValidateRunnerClass {
630 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
631 f.debug_struct(&format!("GstValidateRunnerClass @ {self:p}"))
632 .field("parent_class", &self.parent_class)
633 .finish()
634 }
635}
636
637#[repr(C)]
638#[allow(dead_code)]
639pub struct _GstValidateRunnerPrivate {
640 _data: [u8; 0],
641 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
642}
643
644pub type GstValidateRunnerPrivate = _GstValidateRunnerPrivate;
645
646#[derive(Copy, Clone)]
647#[repr(C)]
648pub struct GstValidateScenarioClass {
649 pub parent_class: gst::GstObjectClass,
650 pub _gst_reserved: [gpointer; 4],
651}
652
653impl ::std::fmt::Debug for GstValidateScenarioClass {
654 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
655 f.debug_struct(&format!("GstValidateScenarioClass @ {self:p}"))
656 .field("parent_class", &self.parent_class)
657 .finish()
658 }
659}
660
661#[repr(C)]
662#[allow(dead_code)]
663pub struct _GstValidateScenarioPrivate {
664 _data: [u8; 0],
665 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
666}
667
668pub type GstValidateScenarioPrivate = _GstValidateScenarioPrivate;
669
670#[repr(C)]
671#[allow(dead_code)]
672pub struct _GstValidateStreamInfo {
673 _data: [u8; 0],
674 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
675}
676
677pub type GstValidateStreamInfo = _GstValidateStreamInfo;
678
679#[derive(Copy, Clone)]
681#[repr(C)]
682pub struct GstValidateBinMonitor {
683 pub parent: GstValidateElementMonitor,
684 pub element_monitors: *mut glib::GList,
685 pub scenario: *mut GstValidateScenario,
686 pub element_added_id: c_ulong,
687 pub element_removed_id: c_ulong,
688 pub _gst_reserved: [gpointer; 4],
689}
690
691impl ::std::fmt::Debug for GstValidateBinMonitor {
692 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
693 f.debug_struct(&format!("GstValidateBinMonitor @ {self:p}"))
694 .field("parent", &self.parent)
695 .field("element_monitors", &self.element_monitors)
696 .field("scenario", &self.scenario)
697 .finish()
698 }
699}
700
701#[derive(Copy, Clone)]
702#[repr(C)]
703pub struct GstValidateElementMonitor {
704 pub parent: GstValidateMonitor,
705 pub pad_added_id: c_ulong,
706 pub pad_monitors: *mut glib::GList,
707 pub is_decoder: gboolean,
708 pub is_encoder: gboolean,
709 pub is_demuxer: gboolean,
710 pub is_converter: gboolean,
711 pub is_sink: gboolean,
712 pub _gst_reserved: [gpointer; 4],
713}
714
715impl ::std::fmt::Debug for GstValidateElementMonitor {
716 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
717 f.debug_struct(&format!("GstValidateElementMonitor @ {self:p}"))
718 .field("parent", &self.parent)
719 .finish()
720 }
721}
722
723#[derive(Copy, Clone)]
724#[repr(C)]
725pub struct GstValidateMediaDescriptor {
726 pub parent: gst::GstObject,
727 pub lock: glib::GMutex,
728 pub priv_: *mut GstValidateMediaDescriptorPrivate,
729 pub _gst_reserved: [gpointer; 4],
730}
731
732impl ::std::fmt::Debug for GstValidateMediaDescriptor {
733 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
734 f.debug_struct(&format!("GstValidateMediaDescriptor @ {self:p}"))
735 .field("parent", &self.parent)
736 .field("lock", &self.lock)
737 .finish()
738 }
739}
740
741#[derive(Copy, Clone)]
742#[repr(C)]
743pub struct GstValidateMediaDescriptorParser {
744 pub parent: GstValidateMediaDescriptor,
745 pub priv_: *mut GstValidateMediaDescriptorParserPrivate,
746 pub _gst_reserved: [gpointer; 4],
747}
748
749impl ::std::fmt::Debug for GstValidateMediaDescriptorParser {
750 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
751 f.debug_struct(&format!("GstValidateMediaDescriptorParser @ {self:p}"))
752 .field("parent", &self.parent)
753 .field("priv_", &self.priv_)
754 .finish()
755 }
756}
757
758#[derive(Copy, Clone)]
759#[repr(C)]
760pub struct GstValidateMediaDescriptorWriter {
761 pub parent: GstValidateMediaDescriptor,
762 pub priv_: *mut GstValidateMediaDescriptorWriterPrivate,
763 pub _gst_reserved: [gpointer; 4],
764}
765
766impl ::std::fmt::Debug for GstValidateMediaDescriptorWriter {
767 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
768 f.debug_struct(&format!("GstValidateMediaDescriptorWriter @ {self:p}"))
769 .field("parent", &self.parent)
770 .field("priv_", &self.priv_)
771 .finish()
772 }
773}
774
775#[derive(Copy, Clone)]
776#[repr(C)]
777pub struct GstValidateMonitor {
778 pub object: gst::GstObject,
779 pub target: gobject::GWeakRef,
780 pub pipeline: gobject::GWeakRef,
781 pub mutex: glib::GMutex,
782 pub target_name: *mut c_char,
783 pub parent: *mut GstValidateMonitor,
784 pub overrides_mutex: glib::GMutex,
785 pub overrides: glib::GQueue,
786 pub media_descriptor: *mut GstValidateMediaDescriptor,
787 pub level: GstValidateReportingDetails,
788 pub reports: *mut glib::GHashTable,
789 pub verbosity: GstValidateVerbosityFlags,
790 pub _gst_reserved: [gpointer; 4],
791}
792
793impl ::std::fmt::Debug for GstValidateMonitor {
794 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
795 f.debug_struct(&format!("GstValidateMonitor @ {self:p}"))
796 .field("object", &self.object)
797 .field("target", &self.target)
798 .field("pipeline", &self.pipeline)
799 .field("mutex", &self.mutex)
800 .field("target_name", &self.target_name)
801 .field("parent", &self.parent)
802 .field("overrides_mutex", &self.overrides_mutex)
803 .field("overrides", &self.overrides)
804 .field("media_descriptor", &self.media_descriptor)
805 .field("level", &self.level)
806 .finish()
807 }
808}
809
810#[derive(Copy, Clone)]
811#[repr(C)]
812pub struct GstValidateOverride {
813 pub parent: gst::GstObject,
814 pub buffer_handler: GstValidateOverrideBufferHandler,
815 pub event_handler: GstValidateOverrideEventHandler,
816 pub query_handler: GstValidateOverrideQueryHandler,
817 pub buffer_probe_handler: GstValidateOverrideBufferHandler,
818 pub getcaps_handler: GstValidateOverrideGetCapsHandler,
819 pub setcaps_handler: GstValidateOverrideSetCapsHandler,
820 pub element_added_handler: GstValidateOverrideElementAddedHandler,
821 pub priv_: *mut GstValidateOverridePrivate,
822 pub _gst_reserved: [gpointer; 4],
823}
824
825impl ::std::fmt::Debug for GstValidateOverride {
826 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
827 f.debug_struct(&format!("GstValidateOverride @ {self:p}"))
828 .field("parent", &self.parent)
829 .field("buffer_handler", &self.buffer_handler)
830 .field("event_handler", &self.event_handler)
831 .field("query_handler", &self.query_handler)
832 .field("buffer_probe_handler", &self.buffer_probe_handler)
833 .field("getcaps_handler", &self.getcaps_handler)
834 .field("setcaps_handler", &self.setcaps_handler)
835 .field("element_added_handler", &self.element_added_handler)
836 .finish()
837 }
838}
839
840#[derive(Copy, Clone)]
841#[repr(C)]
842pub struct GstValidatePadMonitor {
843 pub parent: GstValidateMonitor,
844 pub setup: gboolean,
845 pub chain_func: gst::GstPadChainFunction,
846 pub event_func: gst::GstPadEventFunction,
847 pub event_full_func: gst::GstPadEventFullFunction,
848 pub query_func: gst::GstPadQueryFunction,
849 pub activatemode_func: gst::GstPadActivateModeFunction,
850 pub get_range_func: gst::GstPadGetRangeFunction,
851 pub pad_probe_id: c_ulong,
852 pub last_caps: *mut gst::GstCaps,
853 pub caps_is_audio: gboolean,
854 pub caps_is_video: gboolean,
855 pub caps_is_raw: gboolean,
856 pub first_buffer: gboolean,
857 pub has_segment: gboolean,
858 pub is_eos: gboolean,
859 pub pending_flush_stop: gboolean,
860 pub pending_newsegment_seqnum: u32,
861 pub pending_eos_seqnum: u32,
862 pub seeks: *mut glib::GList,
863 pub current_seek: *mut GstValidatePadSeekData,
864 pub pending_buffer_discont: gboolean,
865 pub expected_segment: *mut gst::GstEvent,
866 pub serialized_events: *mut glib::GPtrArray,
867 pub expired_events: *mut glib::GList,
868 pub pending_setcaps_fields: *mut gst::GstStructure,
869 pub last_refused_caps: *mut gst::GstCaps,
870 pub last_query_filter: *mut gst::GstCaps,
871 pub last_query_res: *mut gst::GstCaps,
872 pub segment: gst::GstSegment,
873 pub current_timestamp: gst::GstClockTime,
874 pub current_duration: gst::GstClockTime,
875 pub timestamp_range_start: gst::GstClockTime,
876 pub timestamp_range_end: gst::GstClockTime,
877 pub all_bufs: *mut glib::GList,
878 pub current_buf: *mut glib::GList,
879 pub check_buffers: gboolean,
880 pub min_buf_freq: c_double,
881 pub buffers_pushed: c_int,
882 pub last_buffers_pushed: c_int,
883 pub min_buf_freq_interval_ts: gst::GstClockTime,
884 pub min_buf_freq_first_buffer_ts: gst::GstClockTime,
885 pub min_buf_freq_start: gst::GstClockTime,
886 pub _gst_reserved: [gpointer; 4],
887}
888
889impl ::std::fmt::Debug for GstValidatePadMonitor {
890 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
891 f.debug_struct(&format!("GstValidatePadMonitor @ {self:p}"))
892 .field("parent", &self.parent)
893 .field("setup", &self.setup)
894 .field("chain_func", &self.chain_func)
895 .field("event_func", &self.event_func)
896 .field("event_full_func", &self.event_full_func)
897 .field("query_func", &self.query_func)
898 .field("activatemode_func", &self.activatemode_func)
899 .field("get_range_func", &self.get_range_func)
900 .field("pad_probe_id", &self.pad_probe_id)
901 .finish()
902 }
903}
904
905#[derive(Copy, Clone)]
906#[repr(C)]
907pub struct GstValidatePipelineMonitor {
908 pub parent: GstValidateBinMonitor,
909 pub element_added_id: c_ulong,
910 pub print_pos_srcid: c_uint,
911 pub buffering: gboolean,
912 pub got_error: gboolean,
913 pub is_playbin: gboolean,
914 pub is_playbin3: gboolean,
915 pub stream_collection: *mut gst::GstStreamCollection,
916 pub streams_selected: *mut glib::GList,
917 pub deep_notify_id: c_ulong,
918 pub _gst_reserved: [gpointer; 4],
919}
920
921impl ::std::fmt::Debug for GstValidatePipelineMonitor {
922 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
923 f.debug_struct(&format!("GstValidatePipelineMonitor @ {self:p}"))
924 .field("parent", &self.parent)
925 .finish()
926 }
927}
928
929#[derive(Copy, Clone)]
930#[repr(C)]
931pub struct GstValidateRunner {
932 pub object: gst::GstTracer,
933 pub priv_: *mut GstValidateRunnerPrivate,
934 pub _gst_reserved: [gpointer; 4],
935}
936
937impl ::std::fmt::Debug for GstValidateRunner {
938 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
939 f.debug_struct(&format!("GstValidateRunner @ {self:p}"))
940 .field("object", &self.object)
941 .finish()
942 }
943}
944
945#[derive(Copy, Clone)]
946#[repr(C)]
947pub struct GstValidateScenario {
948 pub parent: gst::GstObject,
949 pub description: *mut gst::GstStructure,
950 pub priv_: *mut GstValidateScenarioPrivate,
951 pub eos_handling_lock: glib::GMutex,
952 pub _gst_reserved: [gpointer; 4],
953}
954
955impl ::std::fmt::Debug for GstValidateScenario {
956 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
957 f.debug_struct(&format!("GstValidateScenario @ {self:p}"))
958 .field("parent", &self.parent)
959 .field("description", &self.description)
960 .finish()
961 }
962}
963
964#[repr(C)]
966#[allow(dead_code)]
967pub struct GstValidateReporter {
968 _data: [u8; 0],
969 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
970}
971
972impl ::std::fmt::Debug for GstValidateReporter {
973 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
974 write!(f, "GstValidateReporter @ {self:p}")
975 }
976}
977
978extern "C" {
979
980 pub fn gst_validate_action_return_get_type() -> GType;
984 pub fn gst_validate_action_return_get_name(r: GstValidateActionReturn) -> *const c_char;
985
986 pub fn gst_validate_interception_return_get_type() -> GType;
990
991 pub fn gst_validate_report_level_get_type() -> GType;
995 pub fn gst_validate_report_level_from_name(level_name: *const c_char)
996 -> GstValidateReportLevel;
997 pub fn gst_validate_report_level_get_name(level: GstValidateReportLevel) -> *const c_char;
998
999 pub fn gst_validate_reporting_details_get_type() -> GType;
1003
1004 pub fn gst_validate_action_type_flags_get_type() -> GType;
1008
1009 pub fn gst_validate_debug_flags_get_type() -> GType;
1013
1014 pub fn gst_validate_issue_flags_get_type() -> GType;
1018
1019 pub fn gst_validate_media_descriptor_writer_flags_get_type() -> GType;
1023
1024 #[cfg(feature = "v1_24")]
1028 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1029 pub fn gst_validate_object_set_property_flags_get_type() -> GType;
1030
1031 pub fn gst_validate_structure_resolve_variables_flags_get_type() -> GType;
1035
1036 pub fn gst_validate_verbosity_flags_get_type() -> GType;
1040
1041 pub fn gst_validate_action_get_type() -> GType;
1045 pub fn gst_validate_action_new(
1046 scenario: *mut GstValidateScenario,
1047 action_type: *mut GstValidateActionType,
1048 structure: *mut gst::GstStructure,
1049 add_to_lists: gboolean,
1050 ) -> *mut GstValidateAction;
1051 pub fn gst_validate_action_get_scenario(
1052 action: *mut GstValidateAction,
1053 ) -> *mut GstValidateScenario;
1054 pub fn gst_validate_action_ref(action: *mut GstValidateAction) -> *mut GstValidateAction;
1055 pub fn gst_validate_action_set_done(action: *mut GstValidateAction);
1056 pub fn gst_validate_action_unref(action: *mut GstValidateAction);
1057 pub fn gst_validate_action_get_clocktime(
1058 scenario: *mut GstValidateScenario,
1059 action: *mut GstValidateAction,
1060 name: *const c_char,
1061 retval: *mut gst::GstClockTime,
1062 ) -> gboolean;
1063
1064 pub fn gst_validate_action_type_get_type() -> GType;
1068
1069 pub fn gst_validate_issue_get_type() -> GType;
1073 pub fn gst_validate_issue_new(
1074 issue_id: GstValidateIssueId,
1075 summary: *const c_char,
1076 description: *const c_char,
1077 default_level: GstValidateReportLevel,
1078 ) -> *mut GstValidateIssue;
1079 pub fn gst_validate_issue_new_full(
1080 issue_id: GstValidateIssueId,
1081 summary: *const c_char,
1082 description: *const c_char,
1083 default_level: GstValidateReportLevel,
1084 flags: GstValidateIssueFlags,
1085 ) -> *mut GstValidateIssue;
1086 pub fn gst_validate_issue_get_id(issue: *mut GstValidateIssue) -> u32;
1087 pub fn gst_validate_issue_register(issue: *mut GstValidateIssue);
1088 pub fn gst_validate_issue_set_default_level(
1089 issue: *mut GstValidateIssue,
1090 default_level: GstValidateReportLevel,
1091 );
1092 pub fn gst_validate_issue_from_id(issue_id: GstValidateIssueId) -> *mut GstValidateIssue;
1093
1094 pub fn gst_validate_media_info_clear(mi: *mut GstValidateMediaInfo);
1098 pub fn gst_validate_media_info_compare(
1099 expected: *mut GstValidateMediaInfo,
1100 extracted: *mut GstValidateMediaInfo,
1101 ) -> gboolean;
1102 pub fn gst_validate_media_info_free(mi: *mut GstValidateMediaInfo);
1103 pub fn gst_validate_media_info_init(mi: *mut GstValidateMediaInfo);
1104 pub fn gst_validate_media_info_inspect_uri(
1105 mi: *mut GstValidateMediaInfo,
1106 uri: *const c_char,
1107 discover_only: gboolean,
1108 error: *mut *mut glib::GError,
1109 ) -> gboolean;
1110 pub fn gst_validate_media_info_save(
1111 mi: *mut GstValidateMediaInfo,
1112 path: *const c_char,
1113 error: *mut *mut glib::GError,
1114 ) -> gboolean;
1115 pub fn gst_validate_media_info_to_string(
1116 mi: *mut GstValidateMediaInfo,
1117 length: *mut size_t,
1118 ) -> *mut c_char;
1119 pub fn gst_validate_media_info_load(
1120 path: *const c_char,
1121 error: *mut *mut glib::GError,
1122 ) -> *mut GstValidateMediaInfo;
1123
1124 pub fn gst_validate_override_registry_get_override_for_names(
1128 reg: *mut GstValidateOverrideRegistry,
1129 name: *const c_char,
1130 ...
1131 ) -> *mut glib::GList;
1132 pub fn gst_validate_override_registry_get_override_list(
1133 registry: *mut GstValidateOverrideRegistry,
1134 ) -> *mut glib::GList;
1135 pub fn gst_validate_override_registry_attach_overrides(monitor: *mut GstValidateMonitor);
1136 pub fn gst_validate_override_registry_get() -> *mut GstValidateOverrideRegistry;
1137 pub fn gst_validate_override_registry_preload() -> c_int;
1138
1139 pub fn gst_validate_report_get_type() -> GType;
1143 pub fn gst_validate_report_new(
1144 issue: *mut GstValidateIssue,
1145 reporter: *mut GstValidateReporter,
1146 message: *const c_char,
1147 ) -> *mut GstValidateReport;
1148 pub fn gst_validate_report_add_repeated_report(
1149 report: *mut GstValidateReport,
1150 repeated_report: *mut GstValidateReport,
1151 );
1152 pub fn gst_validate_report_check_abort(report: *mut GstValidateReport) -> gboolean;
1153 pub fn gst_validate_report_get_dotfile_name(report: *mut GstValidateReport) -> *mut c_char;
1154 pub fn gst_validate_report_get_issue(report: *mut GstValidateReport) -> *mut GstValidateIssue;
1155 pub fn gst_validate_report_get_issue_id(report: *mut GstValidateReport) -> u32;
1156 pub fn gst_validate_report_get_level(report: *mut GstValidateReport) -> GstValidateReportLevel;
1157 pub fn gst_validate_report_get_message(report: *mut GstValidateReport) -> *mut c_char;
1158 pub fn gst_validate_report_get_reporter(
1159 report: *mut GstValidateReport,
1160 ) -> *mut GstValidateReporter;
1161 pub fn gst_validate_report_get_reporter_name(report: *mut GstValidateReport) -> *mut c_char;
1162 pub fn gst_validate_report_get_reporting_level(
1163 report: *mut GstValidateReport,
1164 ) -> GstValidateReportingDetails;
1165 pub fn gst_validate_report_get_timestamp(report: *mut GstValidateReport) -> gst::GstClockTime;
1166 pub fn gst_validate_report_get_trace(report: *mut GstValidateReport) -> *mut c_char;
1167 pub fn gst_validate_report_print_description(report: *mut GstValidateReport);
1168 pub fn gst_validate_report_print_details(report: *mut GstValidateReport);
1169 pub fn gst_validate_report_print_detected_on(report: *mut GstValidateReport);
1170 pub fn gst_validate_report_print_level(report: *mut GstValidateReport);
1171 pub fn gst_validate_report_printf(report: *mut GstValidateReport);
1172 pub fn gst_validate_report_ref(report: *mut GstValidateReport) -> *mut GstValidateReport;
1173 pub fn gst_validate_report_set_master_report(
1174 report: *mut GstValidateReport,
1175 master_report: *mut GstValidateReport,
1176 ) -> gboolean;
1177 pub fn gst_validate_report_set_reporting_level(
1178 report: *mut GstValidateReport,
1179 level: GstValidateReportingDetails,
1180 );
1181 pub fn gst_validate_report_should_print(report: *mut GstValidateReport) -> gboolean;
1182 pub fn gst_validate_report_unref(report: *mut GstValidateReport);
1183 pub fn gst_validate_report_action(
1184 reporter: *mut GstValidateReporter,
1185 action: *mut GstValidateAction,
1186 issue_id: GstValidateIssueId,
1187 format: *const c_char,
1188 ...
1189 );
1190 pub fn gst_validate_report_init();
1191 pub fn gst_validate_bin_monitor_get_type() -> GType;
1197 pub fn gst_validate_bin_monitor_new(
1198 bin: *mut gst::GstBin,
1199 runner: *mut GstValidateRunner,
1200 parent: *mut GstValidateMonitor,
1201 ) -> *mut GstValidateBinMonitor;
1202 pub fn gst_validate_bin_monitor_get_scenario(
1203 monitor: *mut GstValidateBinMonitor,
1204 ) -> *mut GstValidateScenario;
1205
1206 pub fn gst_validate_element_monitor_get_type() -> GType;
1210 pub fn gst_validate_element_monitor_new(
1211 element: *mut gst::GstElement,
1212 runner: *mut GstValidateRunner,
1213 parent: *mut GstValidateMonitor,
1214 ) -> *mut GstValidateElementMonitor;
1215
1216 pub fn gst_validate_media_descriptor_get_type() -> GType;
1220 pub fn gst_validate_media_descriptor_detects_frames(
1221 self_: *mut GstValidateMediaDescriptor,
1222 ) -> gboolean;
1223 pub fn gst_validate_media_descriptor_get_buffers(
1224 self_: *mut GstValidateMediaDescriptor,
1225 pad: *mut gst::GstPad,
1226 compare_func: glib::GCompareFunc,
1227 bufs: *mut *mut glib::GList,
1228 ) -> gboolean;
1229 pub fn gst_validate_media_descriptor_get_duration(
1230 self_: *mut GstValidateMediaDescriptor,
1231 ) -> gst::GstClockTime;
1232 pub fn gst_validate_media_descriptor_get_pads(
1233 self_: *mut GstValidateMediaDescriptor,
1234 ) -> *mut glib::GList;
1235 pub fn gst_validate_media_descriptor_get_seekable(
1236 self_: *mut GstValidateMediaDescriptor,
1237 ) -> gboolean;
1238 pub fn gst_validate_media_descriptor_has_frame_info(
1239 self_: *mut GstValidateMediaDescriptor,
1240 ) -> gboolean;
1241
1242 pub fn gst_validate_media_descriptor_parser_get_type() -> GType;
1246 pub fn gst_validate_media_descriptor_parser_new(
1247 runner: *mut GstValidateRunner,
1248 xmlpath: *const c_char,
1249 error: *mut *mut glib::GError,
1250 ) -> *mut GstValidateMediaDescriptorParser;
1251 pub fn gst_validate_media_descriptor_parser_new_from_xml(
1252 runner: *mut GstValidateRunner,
1253 xml: *const c_char,
1254 error: *mut *mut glib::GError,
1255 ) -> *mut GstValidateMediaDescriptorParser;
1256 pub fn gst_validate_media_descriptor_parser_add_stream(
1257 parser: *mut GstValidateMediaDescriptorParser,
1258 pad: *mut gst::GstPad,
1259 ) -> gboolean;
1260 pub fn gst_validate_media_descriptor_parser_add_taglist(
1261 parser: *mut GstValidateMediaDescriptorParser,
1262 taglist: *mut gst::GstTagList,
1263 ) -> gboolean;
1264 pub fn gst_validate_media_descriptor_parser_all_stream_found(
1265 parser: *mut GstValidateMediaDescriptorParser,
1266 ) -> gboolean;
1267 pub fn gst_validate_media_descriptor_parser_all_tags_found(
1268 parser: *mut GstValidateMediaDescriptorParser,
1269 ) -> gboolean;
1270 pub fn gst_validate_media_descriptor_parser_get_xml_path(
1271 parser: *mut GstValidateMediaDescriptorParser,
1272 ) -> *mut c_char;
1273
1274 pub fn gst_validate_media_descriptor_writer_get_type() -> GType;
1278 pub fn gst_validate_media_descriptor_writer_new(
1279 runner: *mut GstValidateRunner,
1280 location: *const c_char,
1281 duration: gst::GstClockTime,
1282 seekable: gboolean,
1283 ) -> *mut GstValidateMediaDescriptorWriter;
1284 pub fn gst_validate_media_descriptor_writer_new_discover(
1285 runner: *mut GstValidateRunner,
1286 uri: *const c_char,
1287 flags: GstValidateMediaDescriptorWriterFlags,
1288 error: *mut *mut glib::GError,
1289 ) -> *mut GstValidateMediaDescriptorWriter;
1290 pub fn gst_validate_media_descriptor_writer_add_frame(
1291 writer: *mut GstValidateMediaDescriptorWriter,
1292 pad: *mut gst::GstPad,
1293 buf: *mut gst::GstBuffer,
1294 ) -> gboolean;
1295 pub fn gst_validate_media_descriptor_writer_add_pad(
1296 writer: *mut GstValidateMediaDescriptorWriter,
1297 pad: *mut gst::GstPad,
1298 ) -> gboolean;
1299 pub fn gst_validate_media_descriptor_writer_add_taglist(
1300 writer: *mut GstValidateMediaDescriptorWriter,
1301 taglist: *const gst::GstTagList,
1302 ) -> gboolean;
1303 pub fn gst_validate_media_descriptor_writer_add_tags(
1304 writer: *mut GstValidateMediaDescriptorWriter,
1305 stream_id: *const c_char,
1306 taglist: *const gst::GstTagList,
1307 ) -> gboolean;
1308 pub fn gst_validate_media_descriptor_writer_detects_frames(
1309 writer: *mut GstValidateMediaDescriptorWriter,
1310 ) -> gboolean;
1311 pub fn gst_validate_media_descriptor_writer_get_duration(
1312 writer: *mut GstValidateMediaDescriptorWriter,
1313 ) -> gst::GstClockTime;
1314 pub fn gst_validate_media_descriptor_writer_get_seekable(
1315 writer: *mut GstValidateMediaDescriptorWriter,
1316 ) -> gboolean;
1317 pub fn gst_validate_media_descriptor_writer_get_xml_path(
1318 writer: *mut GstValidateMediaDescriptorWriter,
1319 ) -> *mut c_char;
1320 pub fn gst_validate_media_descriptor_writer_serialize(
1321 writer: *mut GstValidateMediaDescriptorWriter,
1322 ) -> *mut c_char;
1323 pub fn gst_validate_media_descriptor_writer_write(
1324 writer: *mut GstValidateMediaDescriptorWriter,
1325 filename: *const c_char,
1326 ) -> gboolean;
1327
1328 pub fn gst_validate_monitor_get_type() -> GType;
1332 pub fn gst_validate_monitor_factory_create(
1333 target: *mut gst::GstObject,
1334 runner: *mut GstValidateRunner,
1335 parent: *mut GstValidateMonitor,
1336 ) -> *mut GstValidateMonitor;
1337 pub fn gst_validate_monitor_attach_override(
1338 monitor: *mut GstValidateMonitor,
1339 override_: *mut GstValidateOverride,
1340 );
1341 pub fn gst_validate_monitor_get_element(
1342 monitor: *mut GstValidateMonitor,
1343 ) -> *mut gst::GstElement;
1344 pub fn gst_validate_monitor_get_element_name(monitor: *mut GstValidateMonitor) -> *mut c_char;
1345 pub fn gst_validate_monitor_get_pipeline(
1346 monitor: *mut GstValidateMonitor,
1347 ) -> *mut gst::GstPipeline;
1348 pub fn gst_validate_monitor_get_target(monitor: *mut GstValidateMonitor)
1349 -> *mut gst::GstObject;
1350 pub fn gst_validate_monitor_set_media_descriptor(
1351 monitor: *mut GstValidateMonitor,
1352 media_descriptor: *mut GstValidateMediaDescriptor,
1353 );
1354
1355 pub fn gst_validate_override_get_type() -> GType;
1359 pub fn gst_validate_override_new() -> *mut GstValidateOverride;
1360 pub fn gst_validate_override_register_by_klass(
1361 klass: *const c_char,
1362 override_: *mut GstValidateOverride,
1363 );
1364 pub fn gst_validate_override_register_by_name(
1365 name: *const c_char,
1366 override_: *mut GstValidateOverride,
1367 );
1368 pub fn gst_validate_override_register_by_type(
1369 gtype: GType,
1370 override_: *mut GstValidateOverride,
1371 );
1372 pub fn gst_validate_override_attached(override_: *mut GstValidateOverride);
1373 pub fn gst_validate_override_buffer_handler(
1374 override_: *mut GstValidateOverride,
1375 monitor: *mut GstValidateMonitor,
1376 buffer: *mut gst::GstBuffer,
1377 );
1378 pub fn gst_validate_override_buffer_probe_handler(
1379 override_: *mut GstValidateOverride,
1380 monitor: *mut GstValidateMonitor,
1381 buffer: *mut gst::GstBuffer,
1382 );
1383 pub fn gst_validate_override_can_attach(
1384 override_: *mut GstValidateOverride,
1385 monitor: *mut GstValidateMonitor,
1386 ) -> gboolean;
1387 pub fn gst_validate_override_change_severity(
1388 override_: *mut GstValidateOverride,
1389 issue_id: GstValidateIssueId,
1390 new_level: GstValidateReportLevel,
1391 );
1392 pub fn gst_validate_override_element_added_handler(
1393 override_: *mut GstValidateOverride,
1394 monitor: *mut GstValidateMonitor,
1395 child: *mut gst::GstElement,
1396 );
1397 pub fn gst_validate_override_event_handler(
1398 override_: *mut GstValidateOverride,
1399 monitor: *mut GstValidateMonitor,
1400 event: *mut gst::GstEvent,
1401 );
1402 pub fn gst_validate_override_free(override_: *mut GstValidateOverride);
1403 pub fn gst_validate_override_get_severity(
1404 override_: *mut GstValidateOverride,
1405 issue_id: GstValidateIssueId,
1406 default_level: GstValidateReportLevel,
1407 ) -> GstValidateReportLevel;
1408 pub fn gst_validate_override_getcaps_handler(
1409 override_: *mut GstValidateOverride,
1410 monitor: *mut GstValidateMonitor,
1411 caps: *mut gst::GstCaps,
1412 );
1413 pub fn gst_validate_override_query_handler(
1414 override_: *mut GstValidateOverride,
1415 monitor: *mut GstValidateMonitor,
1416 query: *mut gst::GstQuery,
1417 );
1418 pub fn gst_validate_override_set_buffer_handler(
1419 override_: *mut GstValidateOverride,
1420 handler: GstValidateOverrideBufferHandler,
1421 );
1422 pub fn gst_validate_override_set_buffer_probe_handler(
1423 override_: *mut GstValidateOverride,
1424 handler: GstValidateOverrideBufferHandler,
1425 );
1426 pub fn gst_validate_override_set_element_added_handler(
1427 override_: *mut GstValidateOverride,
1428 func: GstValidateOverrideElementAddedHandler,
1429 );
1430 pub fn gst_validate_override_set_event_handler(
1431 override_: *mut GstValidateOverride,
1432 handler: GstValidateOverrideEventHandler,
1433 );
1434 pub fn gst_validate_override_set_getcaps_handler(
1435 override_: *mut GstValidateOverride,
1436 handler: GstValidateOverrideGetCapsHandler,
1437 );
1438 pub fn gst_validate_override_set_query_handler(
1439 override_: *mut GstValidateOverride,
1440 handler: GstValidateOverrideQueryHandler,
1441 );
1442 pub fn gst_validate_override_set_setcaps_handler(
1443 override_: *mut GstValidateOverride,
1444 handler: GstValidateOverrideSetCapsHandler,
1445 );
1446 pub fn gst_validate_override_setcaps_handler(
1447 override_: *mut GstValidateOverride,
1448 monitor: *mut GstValidateMonitor,
1449 caps: *mut gst::GstCaps,
1450 );
1451
1452 pub fn gst_validate_pad_monitor_get_type() -> GType;
1456 pub fn gst_validate_pad_monitor_new(
1457 pad: *mut gst::GstPad,
1458 runner: *mut GstValidateRunner,
1459 parent: *mut GstValidateElementMonitor,
1460 ) -> *mut GstValidatePadMonitor;
1461
1462 pub fn gst_validate_pipeline_monitor_get_type() -> GType;
1466 pub fn gst_validate_pipeline_monitor_new(
1467 pipeline: *mut gst::GstPipeline,
1468 runner: *mut GstValidateRunner,
1469 parent: *mut GstValidateMonitor,
1470 ) -> *mut GstValidatePipelineMonitor;
1471
1472 pub fn gst_validate_runner_get_type() -> GType;
1476 pub fn gst_validate_runner_new() -> *mut GstValidateRunner;
1477 pub fn gst_validate_runner_add_report(
1478 runner: *mut GstValidateRunner,
1479 report: *mut GstValidateReport,
1480 );
1481 pub fn gst_validate_runner_exit(
1482 runner: *mut GstValidateRunner,
1483 print_result: gboolean,
1484 ) -> c_int;
1485 pub fn gst_validate_runner_get_default_reporting_level(
1486 runner: *mut GstValidateRunner,
1487 ) -> GstValidateReportingDetails;
1488 pub fn gst_validate_runner_get_reporting_level_for_name(
1489 runner: *mut GstValidateRunner,
1490 name: *const c_char,
1491 ) -> GstValidateReportingDetails;
1492 pub fn gst_validate_runner_get_reports(runner: *mut GstValidateRunner) -> *mut glib::GList;
1493 pub fn gst_validate_runner_get_reports_count(runner: *mut GstValidateRunner) -> c_uint;
1494 pub fn gst_validate_runner_printf(runner: *mut GstValidateRunner) -> c_int;
1495
1496 pub fn gst_validate_scenario_get_type() -> GType;
1500 pub fn gst_validate_scenario_deinit();
1501 pub fn gst_validate_scenario_factory_create(
1502 runner: *mut GstValidateRunner,
1503 pipeline: *mut gst::GstElement,
1504 scenario_name: *const c_char,
1505 ) -> *mut GstValidateScenario;
1506 pub fn gst_validate_scenario_execute_seek(
1507 scenario: *mut GstValidateScenario,
1508 action: *mut GstValidateAction,
1509 rate: c_double,
1510 format: gst::GstFormat,
1511 flags: gst::GstSeekFlags,
1512 start_type: gst::GstSeekType,
1513 start: gst::GstClockTime,
1514 stop_type: gst::GstSeekType,
1515 stop: gst::GstClockTime,
1516 ) -> c_int;
1517 pub fn gst_validate_scenario_get_actions(
1518 scenario: *mut GstValidateScenario,
1519 ) -> *mut glib::GList;
1520 pub fn gst_validate_scenario_get_pipeline(
1521 scenario: *mut GstValidateScenario,
1522 ) -> *mut gst::GstElement;
1523 pub fn gst_validate_scenario_get_target_state(
1524 scenario: *mut GstValidateScenario,
1525 ) -> gst::GstState;
1526
1527 pub fn gst_validate_reporter_get_type() -> GType;
1531 pub fn gst_validate_reporter_get_name(reporter: *mut GstValidateReporter) -> *const c_char;
1532 pub fn gst_validate_reporter_get_pipeline(
1533 reporter: *mut GstValidateReporter,
1534 ) -> *mut gst::GstPipeline;
1535 pub fn gst_validate_reporter_get_report(
1536 reporter: *mut GstValidateReporter,
1537 issue_id: GstValidateIssueId,
1538 ) -> *mut GstValidateReport;
1539 pub fn gst_validate_reporter_get_reporting_level(
1540 reporter: *mut GstValidateReporter,
1541 ) -> GstValidateReportingDetails;
1542 pub fn gst_validate_reporter_get_reports(
1543 reporter: *mut GstValidateReporter,
1544 ) -> *mut glib::GList;
1545 pub fn gst_validate_reporter_get_reports_count(reporter: *mut GstValidateReporter) -> c_int;
1546 pub fn gst_validate_reporter_get_runner(
1547 reporter: *mut GstValidateReporter,
1548 ) -> *mut GstValidateRunner;
1549 pub fn gst_validate_reporter_init(reporter: *mut GstValidateReporter, name: *const c_char);
1550 pub fn gst_validate_reporter_purge_reports(reporter: *mut GstValidateReporter);
1551 pub fn gst_validate_reporter_report_simple(
1552 reporter: *mut GstValidateReporter,
1553 issue_id: GstValidateIssueId,
1554 message: *const c_char,
1555 );
1556 pub fn gst_validate_reporter_set_handle_g_logs(reporter: *mut GstValidateReporter);
1557 pub fn gst_validate_reporter_set_name(reporter: *mut GstValidateReporter, name: *mut c_char);
1558 pub fn gst_validate_reporter_set_runner(
1559 reporter: *mut GstValidateReporter,
1560 runner: *mut GstValidateRunner,
1561 );
1562
1563 pub fn gst_validate_abort(format: *const c_char, ...);
1567 pub fn gst_validate_deinit();
1568 pub fn gst_validate_element_has_klass(
1569 element: *mut gst::GstElement,
1570 klass: *const c_char,
1571 ) -> gboolean;
1572 pub fn gst_validate_element_matches_target(
1573 element: *mut gst::GstElement,
1574 s: *mut gst::GstStructure,
1575 ) -> gboolean;
1576 pub fn gst_validate_error_structure(action: gpointer, format: *const c_char, ...);
1577 pub fn gst_validate_execute_action(
1578 action_type: *mut GstValidateActionType,
1579 action: *mut GstValidateAction,
1580 ) -> c_int;
1581 pub fn gst_validate_fail_on_missing_plugin() -> gboolean;
1582 pub fn gst_validate_get_action_type(type_name: *const c_char) -> *mut GstValidateActionType;
1583 pub fn gst_validate_has_colored_output() -> gboolean;
1584 pub fn gst_validate_init();
1585 pub fn gst_validate_init_debug();
1586 pub fn gst_validate_is_initialized() -> gboolean;
1587 pub fn gst_validate_list_scenarios(
1588 scenarios: *mut *mut c_char,
1589 num_scenarios: c_int,
1590 output_file: *mut c_char,
1591 ) -> gboolean;
1592 pub fn gst_validate_media_descriptors_compare(
1593 ref_: *mut GstValidateMediaDescriptor,
1594 compared: *mut GstValidateMediaDescriptor,
1595 ) -> gboolean;
1596 pub fn gst_validate_object_set_property(
1597 reporter: *mut GstValidateReporter,
1598 object: *mut gobject::GObject,
1599 property: *const c_char,
1600 value: *const gobject::GValue,
1601 optional: gboolean,
1602 ) -> GstValidateActionReturn;
1603 #[cfg(feature = "v1_24")]
1604 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
1605 pub fn gst_validate_object_set_property_full(
1606 reporter: *mut GstValidateReporter,
1607 object: *mut gobject::GObject,
1608 property: *const c_char,
1609 value: *const gobject::GValue,
1610 flags: GstValidateObjectSetPropertyFlags,
1611 ) -> GstValidateActionReturn;
1612 pub fn gst_validate_plugin_get_config(plugin: *mut gst::GstPlugin) -> *mut glib::GList;
1613 pub fn gst_validate_print_action(action: *mut GstValidateAction, message: *const c_char);
1614 pub fn gst_validate_print_action_types(
1615 wanted_types: *mut *const c_char,
1616 num_wanted_types: c_int,
1617 ) -> gboolean;
1618 pub fn gst_validate_print_issues();
1619 pub fn gst_validate_print_position(
1620 position: gst::GstClockTime,
1621 duration: gst::GstClockTime,
1622 rate: c_double,
1623 extra_info: *mut c_char,
1624 );
1625 pub fn gst_validate_printf(source: gpointer, format: *const c_char, ...);
1626 pub fn gst_validate_register_action_type(
1628 type_name: *const c_char,
1629 implementer_namespace: *const c_char,
1630 function: GstValidateExecuteAction,
1631 parameters: *mut GstValidateActionParameter,
1632 description: *const c_char,
1633 flags: GstValidateActionTypeFlags,
1634 ) -> *mut GstValidateActionType;
1635 pub fn gst_validate_register_action_type_dynamic(
1636 plugin: *mut gst::GstPlugin,
1637 type_name: *const c_char,
1638 rank: gst::GstRank,
1639 function: GstValidateExecuteAction,
1640 parameters: *mut GstValidateActionParameter,
1641 description: *const c_char,
1642 flags: GstValidateActionTypeFlags,
1643 ) -> *mut GstValidateActionType;
1644 pub fn gst_validate_replace_variables_in_string(
1645 incom: gpointer,
1646 local_vars: *mut gst::GstStructure,
1647 in_string: *const c_char,
1648 flags: GstValidateStructureResolveVariablesFlags,
1649 ) -> *mut c_char;
1650 pub fn gst_validate_report(
1651 reporter: *mut GstValidateReporter,
1652 issue_id: GstValidateIssueId,
1653 format: *const c_char,
1654 ...
1655 );
1656 pub fn gst_validate_set_globals(structure: *mut gst::GstStructure);
1657 pub fn gst_validate_setup_test_file(
1658 testfile: *const c_char,
1659 use_fakesinks: gboolean,
1660 ) -> *mut gst::GstStructure;
1661 pub fn gst_validate_skip_test(format: *const c_char, ...);
1662 pub fn gst_validate_spin_on_fault_signals();
1663 pub fn gst_validate_structs_parse_from_gfile(
1664 scenario_file: *mut gio::GFile,
1665 get_include_paths_func: GstValidateGetIncludePathsFunc,
1666 ) -> *mut glib::GList;
1667 pub fn gst_validate_structure_resolve_variables(
1668 source: gpointer,
1669 structure: *mut gst::GstStructure,
1670 local_variables: *mut gst::GstStructure,
1671 flags: GstValidateStructureResolveVariablesFlags,
1672 );
1673 pub fn gst_validate_structure_set_variables_from_struct_file(
1674 vars: *mut gst::GstStructure,
1675 struct_file: *const c_char,
1676 );
1677 pub fn gst_validate_utils_enum_from_str(
1678 type_: GType,
1679 str_enum: *const c_char,
1680 enum_value: *mut c_uint,
1681 ) -> gboolean;
1682 pub fn gst_validate_utils_flags_from_str(type_: GType, str_flags: *const c_char) -> c_uint;
1683 pub fn gst_validate_utils_get_clocktime(
1684 structure: *mut gst::GstStructure,
1685 name: *const c_char,
1686 retval: *mut gst::GstClockTime,
1687 ) -> gboolean;
1688 pub fn gst_validate_utils_get_strv(
1689 str: *mut gst::GstStructure,
1690 fieldname: *const c_char,
1691 ) -> *mut *mut c_char;
1692 pub fn gst_validate_utils_parse_expression(
1693 expr: *const c_char,
1694 variable_func: GstValidateParseVariableFunc,
1695 user_data: gpointer,
1696 error: *mut *mut c_char,
1697 ) -> c_double;
1698 pub fn gst_validate_utils_structs_parse_from_filename(
1699 scenario_file: *const c_char,
1700 get_include_paths_func: GstValidateGetIncludePathsFunc,
1701 file_path: *mut *mut c_char,
1702 ) -> *mut glib::GList;
1703 pub fn gst_validate_utils_test_file_get_meta(
1704 testfile: *const c_char,
1705 use_fakesinks: gboolean,
1706 ) -> *mut gst::GstStructure;
1707
1708}