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;
17
18mod manual;
19
20pub use manual::*;
21
22#[cfg(unix)]
23#[allow(unused_imports)]
24use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
25#[allow(unused_imports)]
26use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
27#[allow(unused_imports)]
28use std::ffi::{
29 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
30};
31
32#[allow(unused_imports)]
33use glib::{gboolean, gconstpointer, gpointer, GType};
34
35pub type GstBufferMapInfo = GstMapInfo;
37pub type GstClockID = gpointer;
38pub type GstClockTime = u64;
39pub type GstClockTimeDiff = i64;
40pub type GstElementFactoryListType = u64;
41pub type GstMemoryMapInfo = GstMapInfo;
42
43pub type GstBufferingMode = c_int;
45pub const GST_BUFFERING_STREAM: GstBufferingMode = 0;
46pub const GST_BUFFERING_DOWNLOAD: GstBufferingMode = 1;
47pub const GST_BUFFERING_TIMESHIFT: GstBufferingMode = 2;
48pub const GST_BUFFERING_LIVE: GstBufferingMode = 3;
49
50pub type GstBusSyncReply = c_int;
51pub const GST_BUS_DROP: GstBusSyncReply = 0;
52pub const GST_BUS_PASS: GstBusSyncReply = 1;
53pub const GST_BUS_ASYNC: GstBusSyncReply = 2;
54
55pub type GstCapsIntersectMode = c_int;
56pub const GST_CAPS_INTERSECT_ZIG_ZAG: GstCapsIntersectMode = 0;
57pub const GST_CAPS_INTERSECT_FIRST: GstCapsIntersectMode = 1;
58
59pub type GstClockEntryType = c_int;
60pub const GST_CLOCK_ENTRY_SINGLE: GstClockEntryType = 0;
61pub const GST_CLOCK_ENTRY_PERIODIC: GstClockEntryType = 1;
62
63pub type GstClockReturn = c_int;
64pub const GST_CLOCK_OK: GstClockReturn = 0;
65pub const GST_CLOCK_EARLY: GstClockReturn = 1;
66pub const GST_CLOCK_UNSCHEDULED: GstClockReturn = 2;
67pub const GST_CLOCK_BUSY: GstClockReturn = 3;
68pub const GST_CLOCK_BADTIME: GstClockReturn = 4;
69pub const GST_CLOCK_ERROR: GstClockReturn = 5;
70pub const GST_CLOCK_UNSUPPORTED: GstClockReturn = 6;
71pub const GST_CLOCK_DONE: GstClockReturn = 7;
72
73pub type GstClockType = c_int;
74pub const GST_CLOCK_TYPE_REALTIME: GstClockType = 0;
75pub const GST_CLOCK_TYPE_MONOTONIC: GstClockType = 1;
76pub const GST_CLOCK_TYPE_OTHER: GstClockType = 2;
77pub const GST_CLOCK_TYPE_TAI: GstClockType = 3;
78
79pub type GstCoreError = c_int;
80pub const GST_CORE_ERROR_FAILED: GstCoreError = 1;
81pub const GST_CORE_ERROR_TOO_LAZY: GstCoreError = 2;
82pub const GST_CORE_ERROR_NOT_IMPLEMENTED: GstCoreError = 3;
83pub const GST_CORE_ERROR_STATE_CHANGE: GstCoreError = 4;
84pub const GST_CORE_ERROR_PAD: GstCoreError = 5;
85pub const GST_CORE_ERROR_THREAD: GstCoreError = 6;
86pub const GST_CORE_ERROR_NEGOTIATION: GstCoreError = 7;
87pub const GST_CORE_ERROR_EVENT: GstCoreError = 8;
88pub const GST_CORE_ERROR_SEEK: GstCoreError = 9;
89pub const GST_CORE_ERROR_CAPS: GstCoreError = 10;
90pub const GST_CORE_ERROR_TAG: GstCoreError = 11;
91pub const GST_CORE_ERROR_MISSING_PLUGIN: GstCoreError = 12;
92pub const GST_CORE_ERROR_CLOCK: GstCoreError = 13;
93pub const GST_CORE_ERROR_DISABLED: GstCoreError = 14;
94pub const GST_CORE_ERROR_NUM_ERRORS: GstCoreError = 15;
95
96pub type GstDebugColorMode = c_int;
97pub const GST_DEBUG_COLOR_MODE_OFF: GstDebugColorMode = 0;
98pub const GST_DEBUG_COLOR_MODE_ON: GstDebugColorMode = 1;
99pub const GST_DEBUG_COLOR_MODE_UNIX: GstDebugColorMode = 2;
100
101pub type GstDebugLevel = c_int;
102pub const GST_LEVEL_NONE: GstDebugLevel = 0;
103pub const GST_LEVEL_ERROR: GstDebugLevel = 1;
104pub const GST_LEVEL_WARNING: GstDebugLevel = 2;
105pub const GST_LEVEL_FIXME: GstDebugLevel = 3;
106pub const GST_LEVEL_INFO: GstDebugLevel = 4;
107pub const GST_LEVEL_DEBUG: GstDebugLevel = 5;
108pub const GST_LEVEL_LOG: GstDebugLevel = 6;
109pub const GST_LEVEL_TRACE: GstDebugLevel = 7;
110pub const GST_LEVEL_MEMDUMP: GstDebugLevel = 9;
111pub const GST_LEVEL_COUNT: GstDebugLevel = 10;
112
113pub type GstEventType = c_int;
114pub const GST_EVENT_UNKNOWN: GstEventType = 0;
115pub const GST_EVENT_FLUSH_START: GstEventType = 2563;
116pub const GST_EVENT_FLUSH_STOP: GstEventType = 5127;
117pub const GST_EVENT_STREAM_START: GstEventType = 10254;
118pub const GST_EVENT_CAPS: GstEventType = 12814;
119pub const GST_EVENT_SEGMENT: GstEventType = 17934;
120pub const GST_EVENT_STREAM_COLLECTION: GstEventType = 19230;
121pub const GST_EVENT_TAG: GstEventType = 20510;
122pub const GST_EVENT_BUFFERSIZE: GstEventType = 23054;
123pub const GST_EVENT_SINK_MESSAGE: GstEventType = 25630;
124pub const GST_EVENT_STREAM_GROUP_DONE: GstEventType = 26894;
125pub const GST_EVENT_EOS: GstEventType = 28174;
126pub const GST_EVENT_TOC: GstEventType = 30750;
127pub const GST_EVENT_PROTECTION: GstEventType = 33310;
128pub const GST_EVENT_SEGMENT_DONE: GstEventType = 38406;
129pub const GST_EVENT_GAP: GstEventType = 40966;
130pub const GST_EVENT_INSTANT_RATE_CHANGE: GstEventType = 46090;
131pub const GST_EVENT_QOS: GstEventType = 48641;
132pub const GST_EVENT_SEEK: GstEventType = 51201;
133pub const GST_EVENT_NAVIGATION: GstEventType = 53761;
134pub const GST_EVENT_LATENCY: GstEventType = 56321;
135pub const GST_EVENT_STEP: GstEventType = 58881;
136pub const GST_EVENT_RECONFIGURE: GstEventType = 61441;
137pub const GST_EVENT_TOC_SELECT: GstEventType = 64001;
138pub const GST_EVENT_SELECT_STREAMS: GstEventType = 66561;
139pub const GST_EVENT_INSTANT_RATE_SYNC_TIME: GstEventType = 66817;
140pub const GST_EVENT_CUSTOM_UPSTREAM: GstEventType = 69121;
141pub const GST_EVENT_CUSTOM_DOWNSTREAM: GstEventType = 71686;
142pub const GST_EVENT_CUSTOM_DOWNSTREAM_OOB: GstEventType = 74242;
143pub const GST_EVENT_CUSTOM_DOWNSTREAM_STICKY: GstEventType = 76830;
144pub const GST_EVENT_CUSTOM_BOTH: GstEventType = 79367;
145pub const GST_EVENT_CUSTOM_BOTH_OOB: GstEventType = 81923;
146
147pub type GstFlowReturn = c_int;
148pub const GST_FLOW_CUSTOM_SUCCESS_2: GstFlowReturn = 102;
149pub const GST_FLOW_CUSTOM_SUCCESS_1: GstFlowReturn = 101;
150pub const GST_FLOW_CUSTOM_SUCCESS: GstFlowReturn = 100;
151pub const GST_FLOW_OK: GstFlowReturn = 0;
152pub const GST_FLOW_NOT_LINKED: GstFlowReturn = -1;
153pub const GST_FLOW_FLUSHING: GstFlowReturn = -2;
154pub const GST_FLOW_EOS: GstFlowReturn = -3;
155pub const GST_FLOW_NOT_NEGOTIATED: GstFlowReturn = -4;
156pub const GST_FLOW_ERROR: GstFlowReturn = -5;
157pub const GST_FLOW_NOT_SUPPORTED: GstFlowReturn = -6;
158pub const GST_FLOW_CUSTOM_ERROR: GstFlowReturn = -100;
159pub const GST_FLOW_CUSTOM_ERROR_1: GstFlowReturn = -101;
160pub const GST_FLOW_CUSTOM_ERROR_2: GstFlowReturn = -102;
161
162pub type GstFormat = c_int;
163pub const GST_FORMAT_UNDEFINED: GstFormat = 0;
164pub const GST_FORMAT_DEFAULT: GstFormat = 1;
165pub const GST_FORMAT_BYTES: GstFormat = 2;
166pub const GST_FORMAT_TIME: GstFormat = 3;
167pub const GST_FORMAT_BUFFERS: GstFormat = 4;
168pub const GST_FORMAT_PERCENT: GstFormat = 5;
169
170pub type GstIteratorItem = c_int;
171pub const GST_ITERATOR_ITEM_SKIP: GstIteratorItem = 0;
172pub const GST_ITERATOR_ITEM_PASS: GstIteratorItem = 1;
173pub const GST_ITERATOR_ITEM_END: GstIteratorItem = 2;
174
175pub type GstIteratorResult = c_int;
176pub const GST_ITERATOR_DONE: GstIteratorResult = 0;
177pub const GST_ITERATOR_OK: GstIteratorResult = 1;
178pub const GST_ITERATOR_RESYNC: GstIteratorResult = 2;
179pub const GST_ITERATOR_ERROR: GstIteratorResult = 3;
180
181pub type GstLibraryError = c_int;
182pub const GST_LIBRARY_ERROR_FAILED: GstLibraryError = 1;
183pub const GST_LIBRARY_ERROR_TOO_LAZY: GstLibraryError = 2;
184pub const GST_LIBRARY_ERROR_INIT: GstLibraryError = 3;
185pub const GST_LIBRARY_ERROR_SHUTDOWN: GstLibraryError = 4;
186pub const GST_LIBRARY_ERROR_SETTINGS: GstLibraryError = 5;
187pub const GST_LIBRARY_ERROR_ENCODE: GstLibraryError = 6;
188pub const GST_LIBRARY_ERROR_NUM_ERRORS: GstLibraryError = 7;
189
190pub type GstPadDirection = c_int;
191pub const GST_PAD_UNKNOWN: GstPadDirection = 0;
192pub const GST_PAD_SRC: GstPadDirection = 1;
193pub const GST_PAD_SINK: GstPadDirection = 2;
194
195pub type GstPadLinkReturn = c_int;
196pub const GST_PAD_LINK_OK: GstPadLinkReturn = 0;
197pub const GST_PAD_LINK_WRONG_HIERARCHY: GstPadLinkReturn = -1;
198pub const GST_PAD_LINK_WAS_LINKED: GstPadLinkReturn = -2;
199pub const GST_PAD_LINK_WRONG_DIRECTION: GstPadLinkReturn = -3;
200pub const GST_PAD_LINK_NOFORMAT: GstPadLinkReturn = -4;
201pub const GST_PAD_LINK_NOSCHED: GstPadLinkReturn = -5;
202pub const GST_PAD_LINK_REFUSED: GstPadLinkReturn = -6;
203
204pub type GstPadMode = c_int;
205pub const GST_PAD_MODE_NONE: GstPadMode = 0;
206pub const GST_PAD_MODE_PUSH: GstPadMode = 1;
207pub const GST_PAD_MODE_PULL: GstPadMode = 2;
208
209pub type GstPadPresence = c_int;
210pub const GST_PAD_ALWAYS: GstPadPresence = 0;
211pub const GST_PAD_SOMETIMES: GstPadPresence = 1;
212pub const GST_PAD_REQUEST: GstPadPresence = 2;
213
214pub type GstPadProbeReturn = c_int;
215pub const GST_PAD_PROBE_DROP: GstPadProbeReturn = 0;
216pub const GST_PAD_PROBE_OK: GstPadProbeReturn = 1;
217pub const GST_PAD_PROBE_REMOVE: GstPadProbeReturn = 2;
218pub const GST_PAD_PROBE_PASS: GstPadProbeReturn = 3;
219pub const GST_PAD_PROBE_HANDLED: GstPadProbeReturn = 4;
220
221pub type GstParseError = c_int;
222pub const GST_PARSE_ERROR_SYNTAX: GstParseError = 0;
223pub const GST_PARSE_ERROR_NO_SUCH_ELEMENT: GstParseError = 1;
224pub const GST_PARSE_ERROR_NO_SUCH_PROPERTY: GstParseError = 2;
225pub const GST_PARSE_ERROR_LINK: GstParseError = 3;
226pub const GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY: GstParseError = 4;
227pub const GST_PARSE_ERROR_EMPTY_BIN: GstParseError = 5;
228pub const GST_PARSE_ERROR_EMPTY: GstParseError = 6;
229pub const GST_PARSE_ERROR_DELAYED_LINK: GstParseError = 7;
230
231pub type GstPluginError = c_int;
232pub const GST_PLUGIN_ERROR_MODULE: GstPluginError = 0;
233pub const GST_PLUGIN_ERROR_DEPENDENCIES: GstPluginError = 1;
234pub const GST_PLUGIN_ERROR_NAME_MISMATCH: GstPluginError = 2;
235
236pub type GstProgressType = c_int;
237pub const GST_PROGRESS_TYPE_START: GstProgressType = 0;
238pub const GST_PROGRESS_TYPE_CONTINUE: GstProgressType = 1;
239pub const GST_PROGRESS_TYPE_COMPLETE: GstProgressType = 2;
240pub const GST_PROGRESS_TYPE_CANCELED: GstProgressType = 3;
241pub const GST_PROGRESS_TYPE_ERROR: GstProgressType = 4;
242
243pub type GstPromiseResult = c_int;
244pub const GST_PROMISE_RESULT_PENDING: GstPromiseResult = 0;
245pub const GST_PROMISE_RESULT_INTERRUPTED: GstPromiseResult = 1;
246pub const GST_PROMISE_RESULT_REPLIED: GstPromiseResult = 2;
247pub const GST_PROMISE_RESULT_EXPIRED: GstPromiseResult = 3;
248
249pub type GstQOSType = c_int;
250pub const GST_QOS_TYPE_OVERFLOW: GstQOSType = 0;
251pub const GST_QOS_TYPE_UNDERFLOW: GstQOSType = 1;
252pub const GST_QOS_TYPE_THROTTLE: GstQOSType = 2;
253
254pub type GstQueryType = c_int;
255pub const GST_QUERY_UNKNOWN: GstQueryType = 0;
256pub const GST_QUERY_POSITION: GstQueryType = 2563;
257pub const GST_QUERY_DURATION: GstQueryType = 5123;
258pub const GST_QUERY_LATENCY: GstQueryType = 7683;
259pub const GST_QUERY_JITTER: GstQueryType = 10243;
260pub const GST_QUERY_RATE: GstQueryType = 12803;
261pub const GST_QUERY_SEEKING: GstQueryType = 15363;
262pub const GST_QUERY_SEGMENT: GstQueryType = 17923;
263pub const GST_QUERY_CONVERT: GstQueryType = 20483;
264pub const GST_QUERY_FORMATS: GstQueryType = 23043;
265pub const GST_QUERY_BUFFERING: GstQueryType = 28163;
266pub const GST_QUERY_CUSTOM: GstQueryType = 30723;
267pub const GST_QUERY_URI: GstQueryType = 33283;
268pub const GST_QUERY_ALLOCATION: GstQueryType = 35846;
269pub const GST_QUERY_SCHEDULING: GstQueryType = 38401;
270pub const GST_QUERY_ACCEPT_CAPS: GstQueryType = 40963;
271pub const GST_QUERY_CAPS: GstQueryType = 43523;
272pub const GST_QUERY_DRAIN: GstQueryType = 46086;
273pub const GST_QUERY_CONTEXT: GstQueryType = 48643;
274pub const GST_QUERY_BITRATE: GstQueryType = 51202;
275#[cfg(feature = "v1_22")]
276#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
277pub const GST_QUERY_SELECTABLE: GstQueryType = 53763;
278
279pub type GstRank = c_int;
280pub const GST_RANK_NONE: GstRank = 0;
281pub const GST_RANK_MARGINAL: GstRank = 64;
282pub const GST_RANK_SECONDARY: GstRank = 128;
283pub const GST_RANK_PRIMARY: GstRank = 256;
284
285pub type GstResourceError = c_int;
286pub const GST_RESOURCE_ERROR_FAILED: GstResourceError = 1;
287pub const GST_RESOURCE_ERROR_TOO_LAZY: GstResourceError = 2;
288pub const GST_RESOURCE_ERROR_NOT_FOUND: GstResourceError = 3;
289pub const GST_RESOURCE_ERROR_BUSY: GstResourceError = 4;
290pub const GST_RESOURCE_ERROR_OPEN_READ: GstResourceError = 5;
291pub const GST_RESOURCE_ERROR_OPEN_WRITE: GstResourceError = 6;
292pub const GST_RESOURCE_ERROR_OPEN_READ_WRITE: GstResourceError = 7;
293pub const GST_RESOURCE_ERROR_CLOSE: GstResourceError = 8;
294pub const GST_RESOURCE_ERROR_READ: GstResourceError = 9;
295pub const GST_RESOURCE_ERROR_WRITE: GstResourceError = 10;
296pub const GST_RESOURCE_ERROR_SEEK: GstResourceError = 11;
297pub const GST_RESOURCE_ERROR_SYNC: GstResourceError = 12;
298pub const GST_RESOURCE_ERROR_SETTINGS: GstResourceError = 13;
299pub const GST_RESOURCE_ERROR_NO_SPACE_LEFT: GstResourceError = 14;
300pub const GST_RESOURCE_ERROR_NOT_AUTHORIZED: GstResourceError = 15;
301pub const GST_RESOURCE_ERROR_NUM_ERRORS: GstResourceError = 16;
302
303pub type GstSearchMode = c_int;
304pub const GST_SEARCH_MODE_EXACT: GstSearchMode = 0;
305pub const GST_SEARCH_MODE_BEFORE: GstSearchMode = 1;
306pub const GST_SEARCH_MODE_AFTER: GstSearchMode = 2;
307
308pub type GstSeekType = c_int;
309pub const GST_SEEK_TYPE_NONE: GstSeekType = 0;
310pub const GST_SEEK_TYPE_SET: GstSeekType = 1;
311pub const GST_SEEK_TYPE_END: GstSeekType = 2;
312
313pub type GstState = c_int;
314pub const GST_STATE_VOID_PENDING: GstState = 0;
315pub const GST_STATE_NULL: GstState = 1;
316pub const GST_STATE_READY: GstState = 2;
317pub const GST_STATE_PAUSED: GstState = 3;
318pub const GST_STATE_PLAYING: GstState = 4;
319
320pub type GstStateChange = c_int;
321pub const GST_STATE_CHANGE_NULL_TO_READY: GstStateChange = 10;
322pub const GST_STATE_CHANGE_READY_TO_PAUSED: GstStateChange = 19;
323pub const GST_STATE_CHANGE_PAUSED_TO_PLAYING: GstStateChange = 28;
324pub const GST_STATE_CHANGE_PLAYING_TO_PAUSED: GstStateChange = 35;
325pub const GST_STATE_CHANGE_PAUSED_TO_READY: GstStateChange = 26;
326pub const GST_STATE_CHANGE_READY_TO_NULL: GstStateChange = 17;
327pub const GST_STATE_CHANGE_NULL_TO_NULL: GstStateChange = 9;
328pub const GST_STATE_CHANGE_READY_TO_READY: GstStateChange = 18;
329pub const GST_STATE_CHANGE_PAUSED_TO_PAUSED: GstStateChange = 27;
330pub const GST_STATE_CHANGE_PLAYING_TO_PLAYING: GstStateChange = 36;
331
332pub type GstStateChangeReturn = c_int;
333pub const GST_STATE_CHANGE_FAILURE: GstStateChangeReturn = 0;
334pub const GST_STATE_CHANGE_SUCCESS: GstStateChangeReturn = 1;
335pub const GST_STATE_CHANGE_ASYNC: GstStateChangeReturn = 2;
336pub const GST_STATE_CHANGE_NO_PREROLL: GstStateChangeReturn = 3;
337
338pub type GstStreamError = c_int;
339pub const GST_STREAM_ERROR_FAILED: GstStreamError = 1;
340pub const GST_STREAM_ERROR_TOO_LAZY: GstStreamError = 2;
341pub const GST_STREAM_ERROR_NOT_IMPLEMENTED: GstStreamError = 3;
342pub const GST_STREAM_ERROR_TYPE_NOT_FOUND: GstStreamError = 4;
343pub const GST_STREAM_ERROR_WRONG_TYPE: GstStreamError = 5;
344pub const GST_STREAM_ERROR_CODEC_NOT_FOUND: GstStreamError = 6;
345pub const GST_STREAM_ERROR_DECODE: GstStreamError = 7;
346pub const GST_STREAM_ERROR_ENCODE: GstStreamError = 8;
347pub const GST_STREAM_ERROR_DEMUX: GstStreamError = 9;
348pub const GST_STREAM_ERROR_MUX: GstStreamError = 10;
349pub const GST_STREAM_ERROR_FORMAT: GstStreamError = 11;
350pub const GST_STREAM_ERROR_DECRYPT: GstStreamError = 12;
351pub const GST_STREAM_ERROR_DECRYPT_NOKEY: GstStreamError = 13;
352pub const GST_STREAM_ERROR_NUM_ERRORS: GstStreamError = 14;
353
354pub type GstStreamStatusType = c_int;
355pub const GST_STREAM_STATUS_TYPE_CREATE: GstStreamStatusType = 0;
356pub const GST_STREAM_STATUS_TYPE_ENTER: GstStreamStatusType = 1;
357pub const GST_STREAM_STATUS_TYPE_LEAVE: GstStreamStatusType = 2;
358pub const GST_STREAM_STATUS_TYPE_DESTROY: GstStreamStatusType = 3;
359pub const GST_STREAM_STATUS_TYPE_START: GstStreamStatusType = 8;
360pub const GST_STREAM_STATUS_TYPE_PAUSE: GstStreamStatusType = 9;
361pub const GST_STREAM_STATUS_TYPE_STOP: GstStreamStatusType = 10;
362
363pub type GstStructureChangeType = c_int;
364pub const GST_STRUCTURE_CHANGE_TYPE_PAD_LINK: GstStructureChangeType = 0;
365pub const GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK: GstStructureChangeType = 1;
366
367pub type GstTagFlag = c_int;
368pub const GST_TAG_FLAG_UNDEFINED: GstTagFlag = 0;
369pub const GST_TAG_FLAG_META: GstTagFlag = 1;
370pub const GST_TAG_FLAG_ENCODED: GstTagFlag = 2;
371pub const GST_TAG_FLAG_DECODED: GstTagFlag = 3;
372pub const GST_TAG_FLAG_COUNT: GstTagFlag = 4;
373
374pub type GstTagMergeMode = c_int;
375pub const GST_TAG_MERGE_UNDEFINED: GstTagMergeMode = 0;
376pub const GST_TAG_MERGE_REPLACE_ALL: GstTagMergeMode = 1;
377pub const GST_TAG_MERGE_REPLACE: GstTagMergeMode = 2;
378pub const GST_TAG_MERGE_APPEND: GstTagMergeMode = 3;
379pub const GST_TAG_MERGE_PREPEND: GstTagMergeMode = 4;
380pub const GST_TAG_MERGE_KEEP: GstTagMergeMode = 5;
381pub const GST_TAG_MERGE_KEEP_ALL: GstTagMergeMode = 6;
382pub const GST_TAG_MERGE_COUNT: GstTagMergeMode = 7;
383
384pub type GstTagScope = c_int;
385pub const GST_TAG_SCOPE_STREAM: GstTagScope = 0;
386pub const GST_TAG_SCOPE_GLOBAL: GstTagScope = 1;
387
388pub type GstTaskState = c_int;
389pub const GST_TASK_STARTED: GstTaskState = 0;
390pub const GST_TASK_STOPPED: GstTaskState = 1;
391pub const GST_TASK_PAUSED: GstTaskState = 2;
392
393pub type GstTocEntryType = c_int;
394pub const GST_TOC_ENTRY_TYPE_ANGLE: GstTocEntryType = -3;
395pub const GST_TOC_ENTRY_TYPE_VERSION: GstTocEntryType = -2;
396pub const GST_TOC_ENTRY_TYPE_EDITION: GstTocEntryType = -1;
397pub const GST_TOC_ENTRY_TYPE_INVALID: GstTocEntryType = 0;
398pub const GST_TOC_ENTRY_TYPE_TITLE: GstTocEntryType = 1;
399pub const GST_TOC_ENTRY_TYPE_TRACK: GstTocEntryType = 2;
400pub const GST_TOC_ENTRY_TYPE_CHAPTER: GstTocEntryType = 3;
401
402pub type GstTocLoopType = c_int;
403pub const GST_TOC_LOOP_NONE: GstTocLoopType = 0;
404pub const GST_TOC_LOOP_FORWARD: GstTocLoopType = 1;
405pub const GST_TOC_LOOP_REVERSE: GstTocLoopType = 2;
406pub const GST_TOC_LOOP_PING_PONG: GstTocLoopType = 3;
407
408pub type GstTocScope = c_int;
409pub const GST_TOC_SCOPE_GLOBAL: GstTocScope = 1;
410pub const GST_TOC_SCOPE_CURRENT: GstTocScope = 2;
411
412pub type GstTracerValueScope = c_int;
413pub const GST_TRACER_VALUE_SCOPE_PROCESS: GstTracerValueScope = 0;
414pub const GST_TRACER_VALUE_SCOPE_THREAD: GstTracerValueScope = 1;
415pub const GST_TRACER_VALUE_SCOPE_ELEMENT: GstTracerValueScope = 2;
416pub const GST_TRACER_VALUE_SCOPE_PAD: GstTracerValueScope = 3;
417
418pub type GstTypeFindProbability = c_int;
419pub const GST_TYPE_FIND_NONE: GstTypeFindProbability = 0;
420pub const GST_TYPE_FIND_MINIMUM: GstTypeFindProbability = 1;
421pub const GST_TYPE_FIND_POSSIBLE: GstTypeFindProbability = 50;
422pub const GST_TYPE_FIND_LIKELY: GstTypeFindProbability = 80;
423pub const GST_TYPE_FIND_NEARLY_CERTAIN: GstTypeFindProbability = 99;
424pub const GST_TYPE_FIND_MAXIMUM: GstTypeFindProbability = 100;
425
426pub type GstURIError = c_int;
427pub const GST_URI_ERROR_UNSUPPORTED_PROTOCOL: GstURIError = 0;
428pub const GST_URI_ERROR_BAD_URI: GstURIError = 1;
429pub const GST_URI_ERROR_BAD_STATE: GstURIError = 2;
430pub const GST_URI_ERROR_BAD_REFERENCE: GstURIError = 3;
431
432pub type GstURIType = c_int;
433pub const GST_URI_UNKNOWN: GstURIType = 0;
434pub const GST_URI_SINK: GstURIType = 1;
435pub const GST_URI_SRC: GstURIType = 2;
436
437pub const GST_ALLOCATOR_SYSMEM: &[u8] = b"SystemMemory\0";
439pub const GST_BUFFER_COPY_ALL: GstBufferCopyFlags = 15;
440pub const GST_BUFFER_COPY_METADATA: GstBufferCopyFlags = 7;
441pub const GST_BUFFER_OFFSET_NONE: u64 = 18446744073709551615;
442pub const GST_CAN_INLINE: c_int = 1;
443pub const GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY: &[u8] = b"memory:SystemMemory\0";
444pub const GST_CLOCK_TIME_NONE: GstClockTime = 18446744073709551615;
445pub const GST_DEBUG_BG_MASK: c_int = 240;
446pub const GST_DEBUG_FG_MASK: c_int = 15;
447pub const GST_DEBUG_FORMAT_MASK: c_int = 65280;
448pub const GST_ELEMENT_FACTORY_KLASS_DECODER: &[u8] = b"Decoder\0";
449pub const GST_ELEMENT_FACTORY_KLASS_DECRYPTOR: &[u8] = b"Decryptor\0";
450pub const GST_ELEMENT_FACTORY_KLASS_DEMUXER: &[u8] = b"Demuxer\0";
451pub const GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER: &[u8] = b"Depayloader\0";
452pub const GST_ELEMENT_FACTORY_KLASS_ENCODER: &[u8] = b"Encoder\0";
453pub const GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR: &[u8] = b"Encryptor\0";
454pub const GST_ELEMENT_FACTORY_KLASS_FORMATTER: &[u8] = b"Formatter\0";
455pub const GST_ELEMENT_FACTORY_KLASS_HARDWARE: &[u8] = b"Hardware\0";
456pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO: &[u8] = b"Audio\0";
457pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE: &[u8] = b"Image\0";
458pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA: &[u8] = b"Metadata\0";
459pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE: &[u8] = b"Subtitle\0";
460pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO: &[u8] = b"Video\0";
461pub const GST_ELEMENT_FACTORY_KLASS_MUXER: &[u8] = b"Muxer\0";
462pub const GST_ELEMENT_FACTORY_KLASS_PARSER: &[u8] = b"Parser\0";
463pub const GST_ELEMENT_FACTORY_KLASS_PAYLOADER: &[u8] = b"Payloader\0";
464pub const GST_ELEMENT_FACTORY_KLASS_SINK: &[u8] = b"Sink\0";
465pub const GST_ELEMENT_FACTORY_KLASS_SRC: &[u8] = b"Source\0";
466pub const GST_ELEMENT_FACTORY_TYPE_ANY: GstElementFactoryListType = 562949953421311;
467pub const GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS: GstElementFactoryListType = 3940649673949188;
468pub const GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER: GstElementFactoryListType = 1125899906842626;
469pub const GST_ELEMENT_FACTORY_TYPE_DECODABLE: GstElementFactoryListType = 1377;
470pub const GST_ELEMENT_FACTORY_TYPE_DECODER: GstElementFactoryListType = 1;
471pub const GST_ELEMENT_FACTORY_TYPE_DECRYPTOR: GstElementFactoryListType = 1024;
472pub const GST_ELEMENT_FACTORY_TYPE_DEMUXER: GstElementFactoryListType = 32;
473pub const GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER: GstElementFactoryListType = 256;
474pub const GST_ELEMENT_FACTORY_TYPE_ENCODER: GstElementFactoryListType = 2;
475pub const GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR: GstElementFactoryListType = 2048;
476pub const GST_ELEMENT_FACTORY_TYPE_FORMATTER: GstElementFactoryListType = 512;
477pub const GST_ELEMENT_FACTORY_TYPE_HARDWARE: GstElementFactoryListType = 4096;
478pub const GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS: GstElementFactoryListType = 281474976710656;
479pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY: GstElementFactoryListType = 18446462598732840960;
480pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO: GstElementFactoryListType = 1125899906842624;
481pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE: GstElementFactoryListType = 2251799813685248;
482pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA: GstElementFactoryListType = 9007199254740992;
483pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE: GstElementFactoryListType = 4503599627370496;
484pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO: GstElementFactoryListType = 562949953421312;
485pub const GST_ELEMENT_FACTORY_TYPE_MUXER: GstElementFactoryListType = 16;
486pub const GST_ELEMENT_FACTORY_TYPE_PARSER: GstElementFactoryListType = 64;
487pub const GST_ELEMENT_FACTORY_TYPE_PAYLOADER: GstElementFactoryListType = 128;
488pub const GST_ELEMENT_FACTORY_TYPE_SINK: GstElementFactoryListType = 4;
489pub const GST_ELEMENT_FACTORY_TYPE_SRC: GstElementFactoryListType = 8;
490pub const GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER: GstElementFactoryListType = 8192;
491pub const GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER: GstElementFactoryListType = 2814749767106562;
492pub const GST_ELEMENT_METADATA_AUTHOR: &[u8] = b"author\0";
493pub const GST_ELEMENT_METADATA_DESCRIPTION: &[u8] = b"description\0";
494pub const GST_ELEMENT_METADATA_DOC_URI: &[u8] = b"doc-uri\0";
495pub const GST_ELEMENT_METADATA_ICON_NAME: &[u8] = b"icon-name\0";
496pub const GST_ELEMENT_METADATA_KLASS: &[u8] = b"klass\0";
497pub const GST_ELEMENT_METADATA_LONGNAME: &[u8] = b"long-name\0";
498pub const GST_EVENT_NUM_SHIFT: c_int = 8;
499pub const GST_EVENT_TYPE_BOTH: GstEventTypeFlags = 3;
500pub const GST_FLAG_SET_MASK_EXACT: c_uint = 4294967295;
501pub const GST_FORMAT_PERCENT_MAX: i64 = 1000000;
502pub const GST_FORMAT_PERCENT_SCALE: i64 = 10000;
503pub const GST_GROUP_ID_INVALID: c_int = 0;
504pub const GST_LICENSE_UNKNOWN: &[u8] = b"unknown\0";
505pub const GST_LOCK_FLAG_READWRITE: GstLockFlags = 3;
506pub const GST_MAP_READWRITE: GstMapFlags = 3;
507pub const GST_META_TAG_MEMORY_REFERENCE_STR: &[u8] = b"memory-reference\0";
508pub const GST_META_TAG_MEMORY_STR: &[u8] = b"memory\0";
509pub const GST_MSECOND: GstClockTimeDiff = 1000000;
510pub const GST_NSECOND: GstClockTimeDiff = 1;
511pub const GST_PARAM_CONDITIONALLY_AVAILABLE: c_int = 16384;
512pub const GST_PARAM_CONTROLLABLE: c_int = 512;
513pub const GST_PARAM_DOC_SHOW_DEFAULT: c_int = 8192;
514pub const GST_PARAM_MUTABLE_PAUSED: c_int = 2048;
515pub const GST_PARAM_MUTABLE_PLAYING: c_int = 4096;
516pub const GST_PARAM_MUTABLE_READY: c_int = 1024;
517pub const GST_PARAM_USER_SHIFT: c_int = 65536;
518pub const GST_PROTECTION_SYSTEM_ID_CAPS_FIELD: &[u8] = b"protection-system\0";
519pub const GST_PROTECTION_UNSPECIFIED_SYSTEM_ID: &[u8] = b"unspecified-system-id\0";
520pub const GST_QUERY_NUM_SHIFT: c_int = 8;
521pub const GST_QUERY_TYPE_BOTH: GstQueryTypeFlags = 3;
522pub const GST_SECOND: GstClockTimeDiff = 1000000000;
523pub const GST_SEGMENT_INSTANT_FLAGS: c_int = 912;
524pub const GST_SEQNUM_INVALID: c_int = 0;
525pub const GST_TAG_ALBUM: &[u8] = b"album\0";
526pub const GST_TAG_ALBUM_ARTIST: &[u8] = b"album-artist\0";
527pub const GST_TAG_ALBUM_ARTIST_SORTNAME: &[u8] = b"album-artist-sortname\0";
528pub const GST_TAG_ALBUM_GAIN: &[u8] = b"replaygain-album-gain\0";
529pub const GST_TAG_ALBUM_PEAK: &[u8] = b"replaygain-album-peak\0";
530pub const GST_TAG_ALBUM_SORTNAME: &[u8] = b"album-sortname\0";
531pub const GST_TAG_ALBUM_VOLUME_COUNT: &[u8] = b"album-disc-count\0";
532pub const GST_TAG_ALBUM_VOLUME_NUMBER: &[u8] = b"album-disc-number\0";
533pub const GST_TAG_APPLICATION_DATA: &[u8] = b"application-data\0";
534pub const GST_TAG_APPLICATION_NAME: &[u8] = b"application-name\0";
535pub const GST_TAG_ARTIST: &[u8] = b"artist\0";
536pub const GST_TAG_ARTIST_SORTNAME: &[u8] = b"artist-sortname\0";
537pub const GST_TAG_ATTACHMENT: &[u8] = b"attachment\0";
538pub const GST_TAG_AUDIO_CODEC: &[u8] = b"audio-codec\0";
539pub const GST_TAG_BEATS_PER_MINUTE: &[u8] = b"beats-per-minute\0";
540pub const GST_TAG_BITRATE: &[u8] = b"bitrate\0";
541pub const GST_TAG_CODEC: &[u8] = b"codec\0";
542pub const GST_TAG_COMMENT: &[u8] = b"comment\0";
543pub const GST_TAG_COMPOSER: &[u8] = b"composer\0";
544pub const GST_TAG_COMPOSER_SORTNAME: &[u8] = b"composer-sortname\0";
545pub const GST_TAG_CONDUCTOR: &[u8] = b"conductor\0";
546pub const GST_TAG_CONTACT: &[u8] = b"contact\0";
547pub const GST_TAG_CONTAINER_FORMAT: &[u8] = b"container-format\0";
548pub const GST_TAG_CONTAINER_SPECIFIC_TRACK_ID: &[u8] = b"container-specific-track-id\0";
549pub const GST_TAG_COPYRIGHT: &[u8] = b"copyright\0";
550pub const GST_TAG_COPYRIGHT_URI: &[u8] = b"copyright-uri\0";
551pub const GST_TAG_DATE: &[u8] = b"date\0";
552pub const GST_TAG_DATE_TIME: &[u8] = b"datetime\0";
553pub const GST_TAG_DESCRIPTION: &[u8] = b"description\0";
554pub const GST_TAG_DEVICE_MANUFACTURER: &[u8] = b"device-manufacturer\0";
555pub const GST_TAG_DEVICE_MODEL: &[u8] = b"device-model\0";
556pub const GST_TAG_DURATION: &[u8] = b"duration\0";
557pub const GST_TAG_ENCODED_BY: &[u8] = b"encoded-by\0";
558pub const GST_TAG_ENCODER: &[u8] = b"encoder\0";
559pub const GST_TAG_ENCODER_VERSION: &[u8] = b"encoder-version\0";
560pub const GST_TAG_EXTENDED_COMMENT: &[u8] = b"extended-comment\0";
561pub const GST_TAG_GENRE: &[u8] = b"genre\0";
562pub const GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION: &[u8] = b"geo-location-capture-direction\0";
563pub const GST_TAG_GEO_LOCATION_CITY: &[u8] = b"geo-location-city\0";
564pub const GST_TAG_GEO_LOCATION_COUNTRY: &[u8] = b"geo-location-country\0";
565pub const GST_TAG_GEO_LOCATION_ELEVATION: &[u8] = b"geo-location-elevation\0";
566pub const GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR: &[u8] = b"geo-location-horizontal-error\0";
567pub const GST_TAG_GEO_LOCATION_LATITUDE: &[u8] = b"geo-location-latitude\0";
568pub const GST_TAG_GEO_LOCATION_LONGITUDE: &[u8] = b"geo-location-longitude\0";
569pub const GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION: &[u8] = b"geo-location-movement-direction\0";
570pub const GST_TAG_GEO_LOCATION_MOVEMENT_SPEED: &[u8] = b"geo-location-movement-speed\0";
571pub const GST_TAG_GEO_LOCATION_NAME: &[u8] = b"geo-location-name\0";
572pub const GST_TAG_GEO_LOCATION_SUBLOCATION: &[u8] = b"geo-location-sublocation\0";
573pub const GST_TAG_GROUPING: &[u8] = b"grouping\0";
574pub const GST_TAG_HOMEPAGE: &[u8] = b"homepage\0";
575pub const GST_TAG_IMAGE: &[u8] = b"image\0";
576pub const GST_TAG_IMAGE_ORIENTATION: &[u8] = b"image-orientation\0";
577pub const GST_TAG_INTERPRETED_BY: &[u8] = b"interpreted-by\0";
578pub const GST_TAG_ISRC: &[u8] = b"isrc\0";
579pub const GST_TAG_KEYWORDS: &[u8] = b"keywords\0";
580pub const GST_TAG_LANGUAGE_CODE: &[u8] = b"language-code\0";
581pub const GST_TAG_LANGUAGE_NAME: &[u8] = b"language-name\0";
582pub const GST_TAG_LICENSE: &[u8] = b"license\0";
583pub const GST_TAG_LICENSE_URI: &[u8] = b"license-uri\0";
584pub const GST_TAG_LOCATION: &[u8] = b"location\0";
585pub const GST_TAG_LYRICS: &[u8] = b"lyrics\0";
586pub const GST_TAG_MAXIMUM_BITRATE: &[u8] = b"maximum-bitrate\0";
587pub const GST_TAG_MIDI_BASE_NOTE: &[u8] = b"midi-base-note\0";
588pub const GST_TAG_MINIMUM_BITRATE: &[u8] = b"minimum-bitrate\0";
589pub const GST_TAG_NOMINAL_BITRATE: &[u8] = b"nominal-bitrate\0";
590pub const GST_TAG_ORGANIZATION: &[u8] = b"organization\0";
591pub const GST_TAG_PERFORMER: &[u8] = b"performer\0";
592pub const GST_TAG_PREVIEW_IMAGE: &[u8] = b"preview-image\0";
593pub const GST_TAG_PRIVATE_DATA: &[u8] = b"private-data\0";
594pub const GST_TAG_PUBLISHER: &[u8] = b"publisher\0";
595pub const GST_TAG_REFERENCE_LEVEL: &[u8] = b"replaygain-reference-level\0";
596pub const GST_TAG_SERIAL: &[u8] = b"serial\0";
597pub const GST_TAG_SHOW_EPISODE_NUMBER: &[u8] = b"show-episode-number\0";
598pub const GST_TAG_SHOW_NAME: &[u8] = b"show-name\0";
599pub const GST_TAG_SHOW_SEASON_NUMBER: &[u8] = b"show-season-number\0";
600pub const GST_TAG_SHOW_SORTNAME: &[u8] = b"show-sortname\0";
601pub const GST_TAG_SUBTITLE_CODEC: &[u8] = b"subtitle-codec\0";
602pub const GST_TAG_TITLE: &[u8] = b"title\0";
603pub const GST_TAG_TITLE_SORTNAME: &[u8] = b"title-sortname\0";
604pub const GST_TAG_TRACK_COUNT: &[u8] = b"track-count\0";
605pub const GST_TAG_TRACK_GAIN: &[u8] = b"replaygain-track-gain\0";
606pub const GST_TAG_TRACK_NUMBER: &[u8] = b"track-number\0";
607pub const GST_TAG_TRACK_PEAK: &[u8] = b"replaygain-track-peak\0";
608pub const GST_TAG_USER_RATING: &[u8] = b"user-rating\0";
609pub const GST_TAG_VERSION: &[u8] = b"version\0";
610pub const GST_TAG_VIDEO_CODEC: &[u8] = b"video-codec\0";
611pub const GST_TOC_REPEAT_COUNT_INFINITE: c_int = -1;
612pub const GST_URI_NO_PORT: c_int = 0;
613pub const GST_USECOND: GstClockTimeDiff = 1000;
614pub const GST_VALUE_EQUAL: c_int = 0;
615pub const GST_VALUE_GREATER_THAN: c_int = 1;
616pub const GST_VALUE_LESS_THAN: c_int = -1;
617pub const GST_VALUE_UNORDERED: c_int = 2;
618
619pub type GstAllocatorFlags = c_uint;
621pub const GST_ALLOCATOR_FLAG_CUSTOM_ALLOC: GstAllocatorFlags = 16;
622#[cfg(feature = "v1_24")]
623#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
624pub const GST_ALLOCATOR_FLAG_NO_COPY: GstAllocatorFlags = 32;
625pub const GST_ALLOCATOR_FLAG_LAST: GstAllocatorFlags = 1048576;
626
627pub type GstBinFlags = c_uint;
628pub const GST_BIN_FLAG_NO_RESYNC: GstBinFlags = 16384;
629pub const GST_BIN_FLAG_STREAMS_AWARE: GstBinFlags = 32768;
630pub const GST_BIN_FLAG_LAST: GstBinFlags = 524288;
631
632pub type GstBufferCopyFlags = c_uint;
633pub const GST_BUFFER_COPY_NONE: GstBufferCopyFlags = 0;
634pub const GST_BUFFER_COPY_FLAGS: GstBufferCopyFlags = 1;
635pub const GST_BUFFER_COPY_TIMESTAMPS: GstBufferCopyFlags = 2;
636pub const GST_BUFFER_COPY_META: GstBufferCopyFlags = 4;
637pub const GST_BUFFER_COPY_MEMORY: GstBufferCopyFlags = 8;
638pub const GST_BUFFER_COPY_MERGE: GstBufferCopyFlags = 16;
639pub const GST_BUFFER_COPY_DEEP: GstBufferCopyFlags = 32;
640
641pub type GstBufferFlags = c_uint;
642pub const GST_BUFFER_FLAG_LIVE: GstBufferFlags = 16;
643pub const GST_BUFFER_FLAG_DECODE_ONLY: GstBufferFlags = 32;
644pub const GST_BUFFER_FLAG_DISCONT: GstBufferFlags = 64;
645pub const GST_BUFFER_FLAG_RESYNC: GstBufferFlags = 128;
646pub const GST_BUFFER_FLAG_CORRUPTED: GstBufferFlags = 256;
647pub const GST_BUFFER_FLAG_MARKER: GstBufferFlags = 512;
648pub const GST_BUFFER_FLAG_HEADER: GstBufferFlags = 1024;
649pub const GST_BUFFER_FLAG_GAP: GstBufferFlags = 2048;
650pub const GST_BUFFER_FLAG_DROPPABLE: GstBufferFlags = 4096;
651pub const GST_BUFFER_FLAG_DELTA_UNIT: GstBufferFlags = 8192;
652pub const GST_BUFFER_FLAG_TAG_MEMORY: GstBufferFlags = 16384;
653pub const GST_BUFFER_FLAG_SYNC_AFTER: GstBufferFlags = 32768;
654pub const GST_BUFFER_FLAG_NON_DROPPABLE: GstBufferFlags = 65536;
655pub const GST_BUFFER_FLAG_LAST: GstBufferFlags = 1048576;
656
657pub type GstBufferPoolAcquireFlags = c_uint;
658pub const GST_BUFFER_POOL_ACQUIRE_FLAG_NONE: GstBufferPoolAcquireFlags = 0;
659pub const GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT: GstBufferPoolAcquireFlags = 1;
660pub const GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT: GstBufferPoolAcquireFlags = 2;
661pub const GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT: GstBufferPoolAcquireFlags = 4;
662pub const GST_BUFFER_POOL_ACQUIRE_FLAG_LAST: GstBufferPoolAcquireFlags = 65536;
663
664pub type GstBusFlags = c_uint;
665pub const GST_BUS_FLUSHING: GstBusFlags = 16;
666pub const GST_BUS_FLAG_LAST: GstBusFlags = 32;
667
668pub type GstCapsFlags = c_uint;
669pub const GST_CAPS_FLAG_ANY: GstCapsFlags = 16;
670
671pub type GstClockFlags = c_uint;
672pub const GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC: GstClockFlags = 16;
673pub const GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC: GstClockFlags = 32;
674pub const GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC: GstClockFlags = 64;
675pub const GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC: GstClockFlags = 128;
676pub const GST_CLOCK_FLAG_CAN_SET_RESOLUTION: GstClockFlags = 256;
677pub const GST_CLOCK_FLAG_CAN_SET_MASTER: GstClockFlags = 512;
678pub const GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC: GstClockFlags = 1024;
679pub const GST_CLOCK_FLAG_LAST: GstClockFlags = 4096;
680
681pub type GstDebugColorFlags = c_uint;
682pub const GST_DEBUG_FG_BLACK: GstDebugColorFlags = 0;
683pub const GST_DEBUG_FG_RED: GstDebugColorFlags = 1;
684pub const GST_DEBUG_FG_GREEN: GstDebugColorFlags = 2;
685pub const GST_DEBUG_FG_YELLOW: GstDebugColorFlags = 3;
686pub const GST_DEBUG_FG_BLUE: GstDebugColorFlags = 4;
687pub const GST_DEBUG_FG_MAGENTA: GstDebugColorFlags = 5;
688pub const GST_DEBUG_FG_CYAN: GstDebugColorFlags = 6;
689pub const GST_DEBUG_FG_WHITE: GstDebugColorFlags = 7;
690pub const GST_DEBUG_BG_BLACK: GstDebugColorFlags = 0;
691pub const GST_DEBUG_BG_RED: GstDebugColorFlags = 16;
692pub const GST_DEBUG_BG_GREEN: GstDebugColorFlags = 32;
693pub const GST_DEBUG_BG_YELLOW: GstDebugColorFlags = 48;
694pub const GST_DEBUG_BG_BLUE: GstDebugColorFlags = 64;
695pub const GST_DEBUG_BG_MAGENTA: GstDebugColorFlags = 80;
696pub const GST_DEBUG_BG_CYAN: GstDebugColorFlags = 96;
697pub const GST_DEBUG_BG_WHITE: GstDebugColorFlags = 112;
698pub const GST_DEBUG_BOLD: GstDebugColorFlags = 256;
699pub const GST_DEBUG_UNDERLINE: GstDebugColorFlags = 512;
700
701pub type GstDebugGraphDetails = c_uint;
702pub const GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE: GstDebugGraphDetails = 1;
703pub const GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS: GstDebugGraphDetails = 2;
704pub const GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS: GstDebugGraphDetails = 4;
705pub const GST_DEBUG_GRAPH_SHOW_STATES: GstDebugGraphDetails = 8;
706pub const GST_DEBUG_GRAPH_SHOW_FULL_PARAMS: GstDebugGraphDetails = 16;
707pub const GST_DEBUG_GRAPH_SHOW_ALL: GstDebugGraphDetails = 15;
708pub const GST_DEBUG_GRAPH_SHOW_VERBOSE: GstDebugGraphDetails = 4294967295;
709
710pub type GstElementFlags = c_uint;
711pub const GST_ELEMENT_FLAG_LOCKED_STATE: GstElementFlags = 16;
712pub const GST_ELEMENT_FLAG_SINK: GstElementFlags = 32;
713pub const GST_ELEMENT_FLAG_SOURCE: GstElementFlags = 64;
714pub const GST_ELEMENT_FLAG_PROVIDE_CLOCK: GstElementFlags = 128;
715pub const GST_ELEMENT_FLAG_REQUIRE_CLOCK: GstElementFlags = 256;
716pub const GST_ELEMENT_FLAG_INDEXABLE: GstElementFlags = 512;
717pub const GST_ELEMENT_FLAG_LAST: GstElementFlags = 16384;
718
719pub type GstEventTypeFlags = c_uint;
720pub const GST_EVENT_TYPE_UPSTREAM: GstEventTypeFlags = 1;
721pub const GST_EVENT_TYPE_DOWNSTREAM: GstEventTypeFlags = 2;
722pub const GST_EVENT_TYPE_SERIALIZED: GstEventTypeFlags = 4;
723pub const GST_EVENT_TYPE_STICKY: GstEventTypeFlags = 8;
724pub const GST_EVENT_TYPE_STICKY_MULTI: GstEventTypeFlags = 16;
725
726pub type GstGapFlags = c_uint;
727pub const GST_GAP_FLAG_MISSING_DATA: GstGapFlags = 1;
728
729pub type GstLockFlags = c_uint;
730pub const GST_LOCK_FLAG_READ: GstLockFlags = 1;
731pub const GST_LOCK_FLAG_WRITE: GstLockFlags = 2;
732pub const GST_LOCK_FLAG_EXCLUSIVE: GstLockFlags = 4;
733pub const GST_LOCK_FLAG_LAST: GstLockFlags = 256;
734
735pub type GstMapFlags = c_uint;
736pub const GST_MAP_READ: GstMapFlags = 1;
737pub const GST_MAP_WRITE: GstMapFlags = 2;
738pub const GST_MAP_FLAG_LAST: GstMapFlags = 65536;
739
740pub type GstMemoryFlags = c_uint;
741pub const GST_MEMORY_FLAG_READONLY: GstMemoryFlags = 2;
742pub const GST_MEMORY_FLAG_NO_SHARE: GstMemoryFlags = 16;
743pub const GST_MEMORY_FLAG_ZERO_PREFIXED: GstMemoryFlags = 32;
744pub const GST_MEMORY_FLAG_ZERO_PADDED: GstMemoryFlags = 64;
745pub const GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS: GstMemoryFlags = 128;
746pub const GST_MEMORY_FLAG_NOT_MAPPABLE: GstMemoryFlags = 256;
747pub const GST_MEMORY_FLAG_LAST: GstMemoryFlags = 1048576;
748
749pub type GstMessageType = c_uint;
750pub const GST_MESSAGE_UNKNOWN: GstMessageType = 0;
751pub const GST_MESSAGE_EOS: GstMessageType = 1;
752pub const GST_MESSAGE_ERROR: GstMessageType = 2;
753pub const GST_MESSAGE_WARNING: GstMessageType = 4;
754pub const GST_MESSAGE_INFO: GstMessageType = 8;
755pub const GST_MESSAGE_TAG: GstMessageType = 16;
756pub const GST_MESSAGE_BUFFERING: GstMessageType = 32;
757pub const GST_MESSAGE_STATE_CHANGED: GstMessageType = 64;
758pub const GST_MESSAGE_STATE_DIRTY: GstMessageType = 128;
759pub const GST_MESSAGE_STEP_DONE: GstMessageType = 256;
760pub const GST_MESSAGE_CLOCK_PROVIDE: GstMessageType = 512;
761pub const GST_MESSAGE_CLOCK_LOST: GstMessageType = 1024;
762pub const GST_MESSAGE_NEW_CLOCK: GstMessageType = 2048;
763pub const GST_MESSAGE_STRUCTURE_CHANGE: GstMessageType = 4096;
764pub const GST_MESSAGE_STREAM_STATUS: GstMessageType = 8192;
765pub const GST_MESSAGE_APPLICATION: GstMessageType = 16384;
766pub const GST_MESSAGE_ELEMENT: GstMessageType = 32768;
767pub const GST_MESSAGE_SEGMENT_START: GstMessageType = 65536;
768pub const GST_MESSAGE_SEGMENT_DONE: GstMessageType = 131072;
769pub const GST_MESSAGE_DURATION_CHANGED: GstMessageType = 262144;
770pub const GST_MESSAGE_LATENCY: GstMessageType = 524288;
771pub const GST_MESSAGE_ASYNC_START: GstMessageType = 1048576;
772pub const GST_MESSAGE_ASYNC_DONE: GstMessageType = 2097152;
773pub const GST_MESSAGE_REQUEST_STATE: GstMessageType = 4194304;
774pub const GST_MESSAGE_STEP_START: GstMessageType = 8388608;
775pub const GST_MESSAGE_QOS: GstMessageType = 16777216;
776pub const GST_MESSAGE_PROGRESS: GstMessageType = 33554432;
777pub const GST_MESSAGE_TOC: GstMessageType = 67108864;
778pub const GST_MESSAGE_RESET_TIME: GstMessageType = 134217728;
779pub const GST_MESSAGE_STREAM_START: GstMessageType = 268435456;
780pub const GST_MESSAGE_NEED_CONTEXT: GstMessageType = 536870912;
781pub const GST_MESSAGE_HAVE_CONTEXT: GstMessageType = 1073741824;
782pub const GST_MESSAGE_EXTENDED: GstMessageType = 2147483648;
783pub const GST_MESSAGE_DEVICE_ADDED: GstMessageType = 2147483649;
784pub const GST_MESSAGE_DEVICE_REMOVED: GstMessageType = 2147483650;
785pub const GST_MESSAGE_PROPERTY_NOTIFY: GstMessageType = 2147483651;
786pub const GST_MESSAGE_STREAM_COLLECTION: GstMessageType = 2147483652;
787pub const GST_MESSAGE_STREAMS_SELECTED: GstMessageType = 2147483653;
788pub const GST_MESSAGE_REDIRECT: GstMessageType = 2147483654;
789pub const GST_MESSAGE_DEVICE_CHANGED: GstMessageType = 2147483655;
790pub const GST_MESSAGE_INSTANT_RATE_REQUEST: GstMessageType = 2147483656;
791pub const GST_MESSAGE_ANY: GstMessageType = 4294967295;
792
793pub type GstMetaFlags = c_uint;
794pub const GST_META_FLAG_NONE: GstMetaFlags = 0;
795pub const GST_META_FLAG_READONLY: GstMetaFlags = 1;
796pub const GST_META_FLAG_POOLED: GstMetaFlags = 2;
797pub const GST_META_FLAG_LOCKED: GstMetaFlags = 4;
798pub const GST_META_FLAG_LAST: GstMetaFlags = 65536;
799
800pub type GstMiniObjectFlags = c_uint;
801pub const GST_MINI_OBJECT_FLAG_LOCKABLE: GstMiniObjectFlags = 1;
802pub const GST_MINI_OBJECT_FLAG_LOCK_READONLY: GstMiniObjectFlags = 2;
803pub const GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED: GstMiniObjectFlags = 4;
804pub const GST_MINI_OBJECT_FLAG_LAST: GstMiniObjectFlags = 16;
805
806pub type GstObjectFlags = c_uint;
807pub const GST_OBJECT_FLAG_MAY_BE_LEAKED: GstObjectFlags = 1;
808#[cfg(feature = "v1_24")]
809#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
810pub const GST_OBJECT_FLAG_CONSTRUCTED: GstObjectFlags = 2;
811pub const GST_OBJECT_FLAG_LAST: GstObjectFlags = 16;
812
813pub type GstPadFlags = c_uint;
814pub const GST_PAD_FLAG_BLOCKED: GstPadFlags = 16;
815pub const GST_PAD_FLAG_FLUSHING: GstPadFlags = 32;
816pub const GST_PAD_FLAG_EOS: GstPadFlags = 64;
817pub const GST_PAD_FLAG_BLOCKING: GstPadFlags = 128;
818pub const GST_PAD_FLAG_NEED_PARENT: GstPadFlags = 256;
819pub const GST_PAD_FLAG_NEED_RECONFIGURE: GstPadFlags = 512;
820pub const GST_PAD_FLAG_PENDING_EVENTS: GstPadFlags = 1024;
821pub const GST_PAD_FLAG_FIXED_CAPS: GstPadFlags = 2048;
822pub const GST_PAD_FLAG_PROXY_CAPS: GstPadFlags = 4096;
823pub const GST_PAD_FLAG_PROXY_ALLOCATION: GstPadFlags = 8192;
824pub const GST_PAD_FLAG_PROXY_SCHEDULING: GstPadFlags = 16384;
825pub const GST_PAD_FLAG_ACCEPT_INTERSECT: GstPadFlags = 32768;
826pub const GST_PAD_FLAG_ACCEPT_TEMPLATE: GstPadFlags = 65536;
827pub const GST_PAD_FLAG_LAST: GstPadFlags = 1048576;
828
829pub type GstPadLinkCheck = c_uint;
830pub const GST_PAD_LINK_CHECK_NOTHING: GstPadLinkCheck = 0;
831pub const GST_PAD_LINK_CHECK_HIERARCHY: GstPadLinkCheck = 1;
832pub const GST_PAD_LINK_CHECK_TEMPLATE_CAPS: GstPadLinkCheck = 2;
833pub const GST_PAD_LINK_CHECK_CAPS: GstPadLinkCheck = 4;
834pub const GST_PAD_LINK_CHECK_NO_RECONFIGURE: GstPadLinkCheck = 8;
835pub const GST_PAD_LINK_CHECK_DEFAULT: GstPadLinkCheck = 5;
836
837pub type GstPadProbeType = c_uint;
838pub const GST_PAD_PROBE_TYPE_INVALID: GstPadProbeType = 0;
839pub const GST_PAD_PROBE_TYPE_IDLE: GstPadProbeType = 1;
840pub const GST_PAD_PROBE_TYPE_BLOCK: GstPadProbeType = 2;
841pub const GST_PAD_PROBE_TYPE_BUFFER: GstPadProbeType = 16;
842pub const GST_PAD_PROBE_TYPE_BUFFER_LIST: GstPadProbeType = 32;
843pub const GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM: GstPadProbeType = 64;
844pub const GST_PAD_PROBE_TYPE_EVENT_UPSTREAM: GstPadProbeType = 128;
845pub const GST_PAD_PROBE_TYPE_EVENT_FLUSH: GstPadProbeType = 256;
846pub const GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM: GstPadProbeType = 512;
847pub const GST_PAD_PROBE_TYPE_QUERY_UPSTREAM: GstPadProbeType = 1024;
848pub const GST_PAD_PROBE_TYPE_PUSH: GstPadProbeType = 4096;
849pub const GST_PAD_PROBE_TYPE_PULL: GstPadProbeType = 8192;
850pub const GST_PAD_PROBE_TYPE_BLOCKING: GstPadProbeType = 3;
851pub const GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM: GstPadProbeType = 112;
852pub const GST_PAD_PROBE_TYPE_DATA_UPSTREAM: GstPadProbeType = 128;
853pub const GST_PAD_PROBE_TYPE_DATA_BOTH: GstPadProbeType = 240;
854pub const GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM: GstPadProbeType = 114;
855pub const GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM: GstPadProbeType = 130;
856pub const GST_PAD_PROBE_TYPE_EVENT_BOTH: GstPadProbeType = 192;
857pub const GST_PAD_PROBE_TYPE_QUERY_BOTH: GstPadProbeType = 1536;
858pub const GST_PAD_PROBE_TYPE_ALL_BOTH: GstPadProbeType = 1776;
859pub const GST_PAD_PROBE_TYPE_SCHEDULING: GstPadProbeType = 12288;
860
861pub type GstPadTemplateFlags = c_uint;
862pub const GST_PAD_TEMPLATE_FLAG_LAST: GstPadTemplateFlags = 256;
863
864pub type GstParseFlags = c_uint;
865pub const GST_PARSE_FLAG_NONE: GstParseFlags = 0;
866pub const GST_PARSE_FLAG_FATAL_ERRORS: GstParseFlags = 1;
867pub const GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS: GstParseFlags = 2;
868pub const GST_PARSE_FLAG_PLACE_IN_BIN: GstParseFlags = 4;
869
870pub type GstPipelineFlags = c_uint;
871pub const GST_PIPELINE_FLAG_FIXED_CLOCK: GstPipelineFlags = 524288;
872pub const GST_PIPELINE_FLAG_LAST: GstPipelineFlags = 8388608;
873
874pub type GstPluginAPIFlags = c_uint;
875pub const GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS: GstPluginAPIFlags = 1;
876
877pub type GstPluginDependencyFlags = c_uint;
878pub const GST_PLUGIN_DEPENDENCY_FLAG_NONE: GstPluginDependencyFlags = 0;
879pub const GST_PLUGIN_DEPENDENCY_FLAG_RECURSE: GstPluginDependencyFlags = 1;
880pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY: GstPluginDependencyFlags = 2;
881pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX: GstPluginDependencyFlags = 4;
882pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX: GstPluginDependencyFlags = 8;
883pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE: GstPluginDependencyFlags = 16;
884
885pub type GstPluginFlags = c_uint;
886pub const GST_PLUGIN_FLAG_CACHED: GstPluginFlags = 16;
887pub const GST_PLUGIN_FLAG_BLACKLISTED: GstPluginFlags = 32;
888
889pub type GstQueryTypeFlags = c_uint;
890pub const GST_QUERY_TYPE_UPSTREAM: GstQueryTypeFlags = 1;
891pub const GST_QUERY_TYPE_DOWNSTREAM: GstQueryTypeFlags = 2;
892pub const GST_QUERY_TYPE_SERIALIZED: GstQueryTypeFlags = 4;
893
894pub type GstSchedulingFlags = c_uint;
895pub const GST_SCHEDULING_FLAG_SEEKABLE: GstSchedulingFlags = 1;
896pub const GST_SCHEDULING_FLAG_SEQUENTIAL: GstSchedulingFlags = 2;
897pub const GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED: GstSchedulingFlags = 4;
898
899pub type GstSeekFlags = c_uint;
900pub const GST_SEEK_FLAG_NONE: GstSeekFlags = 0;
901pub const GST_SEEK_FLAG_FLUSH: GstSeekFlags = 1;
902pub const GST_SEEK_FLAG_ACCURATE: GstSeekFlags = 2;
903pub const GST_SEEK_FLAG_KEY_UNIT: GstSeekFlags = 4;
904pub const GST_SEEK_FLAG_SEGMENT: GstSeekFlags = 8;
905pub const GST_SEEK_FLAG_TRICKMODE: GstSeekFlags = 16;
906pub const GST_SEEK_FLAG_SKIP: GstSeekFlags = 16;
907pub const GST_SEEK_FLAG_SNAP_BEFORE: GstSeekFlags = 32;
908pub const GST_SEEK_FLAG_SNAP_AFTER: GstSeekFlags = 64;
909pub const GST_SEEK_FLAG_SNAP_NEAREST: GstSeekFlags = 96;
910pub const GST_SEEK_FLAG_TRICKMODE_KEY_UNITS: GstSeekFlags = 128;
911pub const GST_SEEK_FLAG_TRICKMODE_NO_AUDIO: GstSeekFlags = 256;
912pub const GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED: GstSeekFlags = 512;
913pub const GST_SEEK_FLAG_INSTANT_RATE_CHANGE: GstSeekFlags = 1024;
914
915pub type GstSegmentFlags = c_uint;
916pub const GST_SEGMENT_FLAG_NONE: GstSegmentFlags = 0;
917pub const GST_SEGMENT_FLAG_RESET: GstSegmentFlags = 1;
918pub const GST_SEGMENT_FLAG_TRICKMODE: GstSegmentFlags = 16;
919pub const GST_SEGMENT_FLAG_SKIP: GstSegmentFlags = 16;
920pub const GST_SEGMENT_FLAG_SEGMENT: GstSegmentFlags = 8;
921pub const GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS: GstSegmentFlags = 128;
922pub const GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED: GstSegmentFlags = 512;
923pub const GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO: GstSegmentFlags = 256;
924
925pub type GstSerializeFlags = c_uint;
926pub const GST_SERIALIZE_FLAG_NONE: GstSerializeFlags = 0;
927pub const GST_SERIALIZE_FLAG_BACKWARD_COMPAT: GstSerializeFlags = 1;
928#[cfg(feature = "v1_24")]
929#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
930pub const GST_SERIALIZE_FLAG_STRICT: GstSerializeFlags = 2;
931
932pub type GstStackTraceFlags = c_uint;
933pub const GST_STACK_TRACE_SHOW_NONE: GstStackTraceFlags = 0;
934pub const GST_STACK_TRACE_SHOW_FULL: GstStackTraceFlags = 1;
935
936pub type GstStreamFlags = c_uint;
937pub const GST_STREAM_FLAG_NONE: GstStreamFlags = 0;
938pub const GST_STREAM_FLAG_SPARSE: GstStreamFlags = 1;
939pub const GST_STREAM_FLAG_SELECT: GstStreamFlags = 2;
940pub const GST_STREAM_FLAG_UNSELECT: GstStreamFlags = 4;
941
942pub type GstStreamType = c_uint;
943pub const GST_STREAM_TYPE_UNKNOWN: GstStreamType = 1;
944pub const GST_STREAM_TYPE_AUDIO: GstStreamType = 2;
945pub const GST_STREAM_TYPE_VIDEO: GstStreamType = 4;
946pub const GST_STREAM_TYPE_CONTAINER: GstStreamType = 8;
947pub const GST_STREAM_TYPE_TEXT: GstStreamType = 16;
948
949pub type GstTracerValueFlags = c_uint;
950pub const GST_TRACER_VALUE_FLAGS_NONE: GstTracerValueFlags = 0;
951pub const GST_TRACER_VALUE_FLAGS_OPTIONAL: GstTracerValueFlags = 1;
952pub const GST_TRACER_VALUE_FLAGS_AGGREGATED: GstTracerValueFlags = 2;
953
954#[derive(Copy, Clone)]
956#[repr(C)]
957pub union GstControlBinding_ABI {
958 pub abi: GstControlBinding_ABI_abi,
959 pub _gst_reserved: [gpointer; 4],
960}
961
962impl ::std::fmt::Debug for GstControlBinding_ABI {
963 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
964 f.debug_struct(&format!("GstControlBinding_ABI @ {self:p}"))
965 .field("abi", unsafe { &self.abi })
966 .finish()
967 }
968}
969
970#[derive(Copy, Clone)]
971#[repr(C)]
972pub union GstPadProbeInfo_ABI {
973 pub _gst_reserved: [gpointer; 4],
974 pub abi: GstPadProbeInfo_ABI_abi,
975}
976
977impl ::std::fmt::Debug for GstPadProbeInfo_ABI {
978 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
979 f.debug_struct(&format!("GstPadProbeInfo_ABI @ {self:p}"))
980 .field("_gst_reserved", unsafe { &self._gst_reserved })
981 .field("abi", unsafe { &self.abi })
982 .finish()
983 }
984}
985
986#[derive(Copy, Clone)]
987#[repr(C)]
988pub union GstPadTemplate_ABI {
989 pub _gst_reserved: [gpointer; 4],
990 pub abi: GstPadTemplate_ABI_abi,
991}
992
993impl ::std::fmt::Debug for GstPadTemplate_ABI {
994 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
995 f.debug_struct(&format!("GstPadTemplate_ABI @ {self:p}"))
996 .field("_gst_reserved", unsafe { &self._gst_reserved })
997 .field("abi", unsafe { &self.abi })
998 .finish()
999 }
1000}
1001
1002#[derive(Copy, Clone)]
1003#[repr(C)]
1004pub union GstPad_ABI {
1005 pub _gst_reserved: [gpointer; 4],
1006 pub abi: GstPad_ABI_abi,
1007}
1008
1009impl ::std::fmt::Debug for GstPad_ABI {
1010 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1011 f.debug_struct(&format!("GstPad_ABI @ {self:p}"))
1012 .field("_gst_reserved", unsafe { &self._gst_reserved })
1013 .field("abi", unsafe { &self.abi })
1014 .finish()
1015 }
1016}
1017
1018pub type GstAllocationMetaParamsAggregator = Option<
1020 unsafe extern "C" fn(
1021 *mut *mut GstStructure,
1022 *const GstStructure,
1023 *const GstStructure,
1024 ) -> gboolean,
1025>;
1026pub type GstBufferForeachMetaFunc =
1027 Option<unsafe extern "C" fn(*mut GstBuffer, *mut *mut GstMeta, gpointer) -> gboolean>;
1028pub type GstBufferListFunc =
1029 Option<unsafe extern "C" fn(*mut *mut GstBuffer, c_uint, gpointer) -> gboolean>;
1030pub type GstBusFunc =
1031 Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage, gpointer) -> gboolean>;
1032pub type GstBusSyncHandler =
1033 Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage, gpointer) -> GstBusSyncReply>;
1034pub type GstCapsFilterMapFunc =
1035 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1036pub type GstCapsForeachFunc =
1037 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1038pub type GstCapsMapFunc =
1039 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1040pub type GstClockCallback =
1041 Option<unsafe extern "C" fn(*mut GstClock, GstClockTime, GstClockID, gpointer) -> gboolean>;
1042pub type GstControlBindingConvert =
1043 Option<unsafe extern "C" fn(*mut GstControlBinding, c_double, *mut gobject::GValue)>;
1044pub type GstControlSourceGetValue =
1045 Option<unsafe extern "C" fn(*mut GstControlSource, GstClockTime, *mut c_double) -> gboolean>;
1046pub type GstControlSourceGetValueArray = Option<
1047 unsafe extern "C" fn(
1048 *mut GstControlSource,
1049 GstClockTime,
1050 GstClockTime,
1051 c_uint,
1052 *mut c_double,
1053 ) -> gboolean,
1054>;
1055pub type GstCustomMetaTransformFunction = Option<
1056 unsafe extern "C" fn(
1057 *mut GstBuffer,
1058 *mut GstCustomMeta,
1059 *mut GstBuffer,
1060 glib::GQuark,
1061 gpointer,
1062 gpointer,
1063 ) -> gboolean,
1064>;
1065pub type GstDebugFuncPtr = Option<unsafe extern "C" fn()>;
1066pub type GstElementCallAsyncFunc = Option<unsafe extern "C" fn(*mut GstElement, gpointer)>;
1067pub type GstElementForeachPadFunc =
1068 Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad, gpointer) -> gboolean>;
1069pub type GstIteratorCopyFunction =
1070 Option<unsafe extern "C" fn(*const GstIterator, *mut GstIterator)>;
1071pub type GstIteratorFoldFunction = Option<
1072 unsafe extern "C" fn(*const gobject::GValue, *mut gobject::GValue, gpointer) -> gboolean,
1073>;
1074pub type GstIteratorForeachFunction =
1075 Option<unsafe extern "C" fn(*const gobject::GValue, gpointer)>;
1076pub type GstIteratorFreeFunction = Option<unsafe extern "C" fn(*mut GstIterator)>;
1077pub type GstIteratorItemFunction =
1078 Option<unsafe extern "C" fn(*mut GstIterator, *const gobject::GValue) -> GstIteratorItem>;
1079pub type GstIteratorNextFunction =
1080 Option<unsafe extern "C" fn(*mut GstIterator, *mut gobject::GValue) -> GstIteratorResult>;
1081pub type GstIteratorResyncFunction = Option<unsafe extern "C" fn(*mut GstIterator)>;
1082pub type GstLogFunction = Option<
1083 unsafe extern "C" fn(
1084 *mut GstDebugCategory,
1085 GstDebugLevel,
1086 *const c_char,
1087 *const c_char,
1088 c_int,
1089 *mut gobject::GObject,
1090 *mut GstDebugMessage,
1091 gpointer,
1092 ),
1093>;
1094pub type GstMemoryCopyFunction =
1095 Option<unsafe extern "C" fn(*mut GstMemory, ssize_t, ssize_t) -> *mut GstMemory>;
1096pub type GstMemoryIsSpanFunction =
1097 Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMemory, *mut size_t) -> gboolean>;
1098pub type GstMemoryMapFullFunction =
1099 Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMapInfo, size_t) -> gpointer>;
1100pub type GstMemoryMapFunction =
1101 Option<unsafe extern "C" fn(*mut GstMemory, size_t, GstMapFlags) -> gpointer>;
1102pub type GstMemoryShareFunction =
1103 Option<unsafe extern "C" fn(*mut GstMemory, ssize_t, ssize_t) -> *mut GstMemory>;
1104pub type GstMemoryUnmapFullFunction = Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMapInfo)>;
1105pub type GstMemoryUnmapFunction = Option<unsafe extern "C" fn(*mut GstMemory)>;
1106pub type GstMetaClearFunction = Option<unsafe extern "C" fn(*mut GstBuffer, *mut GstMeta)>;
1107pub type GstMetaDeserializeFunction = Option<
1108 unsafe extern "C" fn(*const GstMetaInfo, *mut GstBuffer, *const u8, size_t, u8) -> *mut GstMeta,
1109>;
1110pub type GstMetaFreeFunction = Option<unsafe extern "C" fn(*mut GstMeta, *mut GstBuffer)>;
1111pub type GstMetaInitFunction =
1112 Option<unsafe extern "C" fn(*mut GstMeta, gpointer, *mut GstBuffer) -> gboolean>;
1113pub type GstMetaSerializeFunction =
1114 Option<unsafe extern "C" fn(*const GstMeta, *mut GstByteArrayInterface, *mut u8) -> gboolean>;
1115pub type GstMetaTransformFunction = Option<
1116 unsafe extern "C" fn(
1117 *mut GstBuffer,
1118 *mut GstMeta,
1119 *mut GstBuffer,
1120 glib::GQuark,
1121 gpointer,
1122 ) -> gboolean,
1123>;
1124pub type GstMiniObjectCopyFunction =
1125 Option<unsafe extern "C" fn(*const GstMiniObject) -> *mut GstMiniObject>;
1126pub type GstMiniObjectDisposeFunction =
1127 Option<unsafe extern "C" fn(*mut GstMiniObject) -> gboolean>;
1128pub type GstMiniObjectFreeFunction = Option<unsafe extern "C" fn(*mut GstMiniObject)>;
1129pub type GstMiniObjectNotify = Option<unsafe extern "C" fn(gpointer, *mut GstMiniObject)>;
1130pub type GstPadActivateFunction =
1131 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject) -> gboolean>;
1132pub type GstPadActivateModeFunction =
1133 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, GstPadMode, gboolean) -> gboolean>;
1134pub type GstPadChainFunction =
1135 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstBuffer) -> GstFlowReturn>;
1136pub type GstPadChainListFunction =
1137 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstBufferList) -> GstFlowReturn>;
1138pub type GstPadEventFullFunction =
1139 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstEvent) -> GstFlowReturn>;
1140pub type GstPadEventFunction =
1141 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstEvent) -> gboolean>;
1142pub type GstPadForwardFunction = Option<unsafe extern "C" fn(*mut GstPad, gpointer) -> gboolean>;
1143pub type GstPadGetRangeFunction = Option<
1144 unsafe extern "C" fn(
1145 *mut GstPad,
1146 *mut GstObject,
1147 u64,
1148 c_uint,
1149 *mut *mut GstBuffer,
1150 ) -> GstFlowReturn,
1151>;
1152pub type GstPadIterIntLinkFunction =
1153 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject) -> *mut GstIterator>;
1154pub type GstPadLinkFunction =
1155 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstPad) -> GstPadLinkReturn>;
1156pub type GstPadProbeCallback =
1157 Option<unsafe extern "C" fn(*mut GstPad, *mut GstPadProbeInfo, gpointer) -> GstPadProbeReturn>;
1158pub type GstPadQueryFunction =
1159 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstQuery) -> gboolean>;
1160pub type GstPadStickyEventsForeachFunction =
1161 Option<unsafe extern "C" fn(*mut GstPad, *mut *mut GstEvent, gpointer) -> gboolean>;
1162pub type GstPadUnlinkFunction = Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject)>;
1163pub type GstPluginFeatureFilter =
1164 Option<unsafe extern "C" fn(*mut GstPluginFeature, gpointer) -> gboolean>;
1165pub type GstPluginFilter = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
1166pub type GstPluginInitFullFunc = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
1167pub type GstPluginInitFunc = Option<unsafe extern "C" fn(*mut GstPlugin) -> gboolean>;
1168pub type GstPromiseChangeFunc = Option<unsafe extern "C" fn(*mut GstPromise, gpointer)>;
1169pub type GstStructureFilterMapFunc =
1170 Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
1171pub type GstStructureFilterMapIdStrFunc =
1172 Option<unsafe extern "C" fn(*const GstIdStr, *mut gobject::GValue, gpointer) -> gboolean>;
1173pub type GstStructureForeachFunc =
1174 Option<unsafe extern "C" fn(glib::GQuark, *const gobject::GValue, gpointer) -> gboolean>;
1175pub type GstStructureForeachIdStrFunc =
1176 Option<unsafe extern "C" fn(*const GstIdStr, *const gobject::GValue, gpointer) -> gboolean>;
1177pub type GstStructureMapFunc =
1178 Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
1179pub type GstStructureMapIdStrFunc =
1180 Option<unsafe extern "C" fn(*const GstIdStr, *mut gobject::GValue, gpointer) -> gboolean>;
1181pub type GstTagForeachFunc =
1182 Option<unsafe extern "C" fn(*const GstTagList, *const c_char, gpointer)>;
1183pub type GstTagMergeFunc =
1184 Option<unsafe extern "C" fn(*mut gobject::GValue, *const gobject::GValue)>;
1185pub type GstTaskFunction = Option<unsafe extern "C" fn(gpointer)>;
1186pub type GstTaskPoolFunction = Option<unsafe extern "C" fn(*mut c_void)>;
1187pub type GstTaskThreadFunc =
1188 Option<unsafe extern "C" fn(*mut GstTask, *mut glib::GThread, gpointer)>;
1189pub type GstTypeFindFunction = Option<unsafe extern "C" fn(*mut GstTypeFind, gpointer)>;
1190pub type GstValueCompareFunc =
1191 Option<unsafe extern "C" fn(*const gobject::GValue, *const gobject::GValue) -> c_int>;
1192pub type GstValueDeserializeFunc =
1193 Option<unsafe extern "C" fn(*mut gobject::GValue, *const c_char) -> gboolean>;
1194pub type GstValueDeserializeWithPSpecFunc = Option<
1195 unsafe extern "C" fn(*mut gobject::GValue, *const c_char, *mut gobject::GParamSpec) -> gboolean,
1196>;
1197pub type GstValueSerializeFunc =
1198 Option<unsafe extern "C" fn(*const gobject::GValue) -> *mut c_char>;
1199
1200#[derive(Copy, Clone)]
1202#[repr(C)]
1203pub struct GstAllocationParams {
1204 pub flags: GstMemoryFlags,
1205 pub align: size_t,
1206 pub prefix: size_t,
1207 pub padding: size_t,
1208 pub _gst_reserved: [gpointer; 4],
1209}
1210
1211impl ::std::fmt::Debug for GstAllocationParams {
1212 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1213 f.debug_struct(&format!("GstAllocationParams @ {self:p}"))
1214 .field("flags", &self.flags)
1215 .field("align", &self.align)
1216 .field("prefix", &self.prefix)
1217 .field("padding", &self.padding)
1218 .finish()
1219 }
1220}
1221
1222#[derive(Copy, Clone)]
1223#[repr(C)]
1224pub struct GstAllocatorClass {
1225 pub object_class: GstObjectClass,
1226 pub alloc: Option<
1227 unsafe extern "C" fn(*mut GstAllocator, size_t, *mut GstAllocationParams) -> *mut GstMemory,
1228 >,
1229 pub free: Option<unsafe extern "C" fn(*mut GstAllocator, *mut GstMemory)>,
1230 pub _gst_reserved: [gpointer; 4],
1231}
1232
1233impl ::std::fmt::Debug for GstAllocatorClass {
1234 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1235 f.debug_struct(&format!("GstAllocatorClass @ {self:p}"))
1236 .field("object_class", &self.object_class)
1237 .field("alloc", &self.alloc)
1238 .field("free", &self.free)
1239 .finish()
1240 }
1241}
1242
1243#[repr(C)]
1244#[allow(dead_code)]
1245pub struct _GstAllocatorPrivate {
1246 _data: [u8; 0],
1247 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1248}
1249
1250pub type GstAllocatorPrivate = _GstAllocatorPrivate;
1251
1252#[repr(C)]
1253#[allow(dead_code)]
1254pub struct GstAtomicQueue {
1255 _data: [u8; 0],
1256 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1257}
1258
1259impl ::std::fmt::Debug for GstAtomicQueue {
1260 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1261 f.debug_struct(&format!("GstAtomicQueue @ {self:p}"))
1262 .finish()
1263 }
1264}
1265
1266#[derive(Copy, Clone)]
1267#[repr(C)]
1268pub struct GstBinClass {
1269 pub parent_class: GstElementClass,
1270 pub pool: *mut glib::GThreadPool,
1271 pub element_added: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement)>,
1272 pub element_removed: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement)>,
1273 pub add_element: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement) -> gboolean>,
1274 pub remove_element: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement) -> gboolean>,
1275 pub handle_message: Option<unsafe extern "C" fn(*mut GstBin, *mut GstMessage)>,
1276 pub do_latency: Option<unsafe extern "C" fn(*mut GstBin) -> gboolean>,
1277 pub deep_element_added: Option<unsafe extern "C" fn(*mut GstBin, *mut GstBin, *mut GstElement)>,
1278 pub deep_element_removed:
1279 Option<unsafe extern "C" fn(*mut GstBin, *mut GstBin, *mut GstElement)>,
1280 pub _gst_reserved: [gpointer; 2],
1281}
1282
1283impl ::std::fmt::Debug for GstBinClass {
1284 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1285 f.debug_struct(&format!("GstBinClass @ {self:p}"))
1286 .field("parent_class", &self.parent_class)
1287 .field("element_added", &self.element_added)
1288 .field("element_removed", &self.element_removed)
1289 .field("add_element", &self.add_element)
1290 .field("remove_element", &self.remove_element)
1291 .field("handle_message", &self.handle_message)
1292 .field("do_latency", &self.do_latency)
1293 .field("deep_element_added", &self.deep_element_added)
1294 .field("deep_element_removed", &self.deep_element_removed)
1295 .finish()
1296 }
1297}
1298
1299#[repr(C)]
1300#[allow(dead_code)]
1301pub struct _GstBinPrivate {
1302 _data: [u8; 0],
1303 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1304}
1305
1306pub type GstBinPrivate = _GstBinPrivate;
1307
1308#[derive(Copy, Clone)]
1309#[repr(C)]
1310pub struct GstBuffer {
1311 pub mini_object: GstMiniObject,
1312 pub pool: *mut GstBufferPool,
1313 pub pts: GstClockTime,
1314 pub dts: GstClockTime,
1315 pub duration: GstClockTime,
1316 pub offset: u64,
1317 pub offset_end: u64,
1318}
1319
1320impl ::std::fmt::Debug for GstBuffer {
1321 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1322 f.debug_struct(&format!("GstBuffer @ {self:p}"))
1323 .field("mini_object", &self.mini_object)
1324 .field("pool", &self.pool)
1325 .field("pts", &self.pts)
1326 .field("dts", &self.dts)
1327 .field("duration", &self.duration)
1328 .field("offset", &self.offset)
1329 .field("offset_end", &self.offset_end)
1330 .finish()
1331 }
1332}
1333
1334#[repr(C)]
1335#[allow(dead_code)]
1336pub struct GstBufferList {
1337 _data: [u8; 0],
1338 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1339}
1340
1341impl ::std::fmt::Debug for GstBufferList {
1342 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1343 f.debug_struct(&format!("GstBufferList @ {self:p}"))
1344 .finish()
1345 }
1346}
1347
1348#[derive(Copy, Clone)]
1349#[repr(C)]
1350pub struct GstBufferPoolAcquireParams {
1351 pub format: GstFormat,
1352 pub start: i64,
1353 pub stop: i64,
1354 pub flags: GstBufferPoolAcquireFlags,
1355 pub _gst_reserved: [gpointer; 4],
1356}
1357
1358impl ::std::fmt::Debug for GstBufferPoolAcquireParams {
1359 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1360 f.debug_struct(&format!("GstBufferPoolAcquireParams @ {self:p}"))
1361 .field("format", &self.format)
1362 .field("start", &self.start)
1363 .field("stop", &self.stop)
1364 .field("flags", &self.flags)
1365 .finish()
1366 }
1367}
1368
1369#[derive(Copy, Clone)]
1370#[repr(C)]
1371pub struct GstBufferPoolClass {
1372 pub object_class: GstObjectClass,
1373 pub get_options: Option<unsafe extern "C" fn(*mut GstBufferPool) -> *mut *const c_char>,
1374 pub set_config: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstStructure) -> gboolean>,
1375 pub start: Option<unsafe extern "C" fn(*mut GstBufferPool) -> gboolean>,
1376 pub stop: Option<unsafe extern "C" fn(*mut GstBufferPool) -> gboolean>,
1377 pub acquire_buffer: Option<
1378 unsafe extern "C" fn(
1379 *mut GstBufferPool,
1380 *mut *mut GstBuffer,
1381 *mut GstBufferPoolAcquireParams,
1382 ) -> GstFlowReturn,
1383 >,
1384 pub alloc_buffer: Option<
1385 unsafe extern "C" fn(
1386 *mut GstBufferPool,
1387 *mut *mut GstBuffer,
1388 *mut GstBufferPoolAcquireParams,
1389 ) -> GstFlowReturn,
1390 >,
1391 pub reset_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1392 pub release_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1393 pub free_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1394 pub flush_start: Option<unsafe extern "C" fn(*mut GstBufferPool)>,
1395 pub flush_stop: Option<unsafe extern "C" fn(*mut GstBufferPool)>,
1396 pub _gst_reserved: [gpointer; 2],
1397}
1398
1399impl ::std::fmt::Debug for GstBufferPoolClass {
1400 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1401 f.debug_struct(&format!("GstBufferPoolClass @ {self:p}"))
1402 .field("object_class", &self.object_class)
1403 .field("get_options", &self.get_options)
1404 .field("set_config", &self.set_config)
1405 .field("start", &self.start)
1406 .field("stop", &self.stop)
1407 .field("acquire_buffer", &self.acquire_buffer)
1408 .field("alloc_buffer", &self.alloc_buffer)
1409 .field("reset_buffer", &self.reset_buffer)
1410 .field("release_buffer", &self.release_buffer)
1411 .field("free_buffer", &self.free_buffer)
1412 .field("flush_start", &self.flush_start)
1413 .field("flush_stop", &self.flush_stop)
1414 .finish()
1415 }
1416}
1417
1418#[repr(C)]
1419#[allow(dead_code)]
1420pub struct _GstBufferPoolPrivate {
1421 _data: [u8; 0],
1422 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1423}
1424
1425pub type GstBufferPoolPrivate = _GstBufferPoolPrivate;
1426
1427#[derive(Copy, Clone)]
1428#[repr(C)]
1429pub struct GstBusClass {
1430 pub parent_class: GstObjectClass,
1431 pub message: Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage)>,
1432 pub sync_message: Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage)>,
1433 pub _gst_reserved: [gpointer; 4],
1434}
1435
1436impl ::std::fmt::Debug for GstBusClass {
1437 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1438 f.debug_struct(&format!("GstBusClass @ {self:p}"))
1439 .field("parent_class", &self.parent_class)
1440 .field("message", &self.message)
1441 .field("sync_message", &self.sync_message)
1442 .finish()
1443 }
1444}
1445
1446#[repr(C)]
1447#[allow(dead_code)]
1448pub struct _GstBusPrivate {
1449 _data: [u8; 0],
1450 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1451}
1452
1453pub type GstBusPrivate = _GstBusPrivate;
1454
1455#[derive(Copy, Clone)]
1456#[repr(C)]
1457pub struct GstByteArrayInterface {
1458 pub data: *mut u8,
1459 pub len: size_t,
1460 pub resize: Option<unsafe extern "C" fn(*mut GstByteArrayInterface, size_t) -> gboolean>,
1461 pub _gst_reserved: [gpointer; 4],
1462}
1463
1464impl ::std::fmt::Debug for GstByteArrayInterface {
1465 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1466 f.debug_struct(&format!("GstByteArrayInterface @ {self:p}"))
1467 .field("data", &self.data)
1468 .field("len", &self.len)
1469 .field("resize", &self.resize)
1470 .finish()
1471 }
1472}
1473
1474#[derive(Copy, Clone)]
1475#[repr(C)]
1476pub struct GstCaps {
1477 pub mini_object: GstMiniObject,
1478}
1479
1480impl ::std::fmt::Debug for GstCaps {
1481 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1482 f.debug_struct(&format!("GstCaps @ {self:p}"))
1483 .field("mini_object", &self.mini_object)
1484 .finish()
1485 }
1486}
1487
1488#[repr(C)]
1489#[allow(dead_code)]
1490pub struct GstCapsFeatures {
1491 _data: [u8; 0],
1492 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1493}
1494
1495impl ::std::fmt::Debug for GstCapsFeatures {
1496 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1497 f.debug_struct(&format!("GstCapsFeatures @ {self:p}"))
1498 .finish()
1499 }
1500}
1501
1502#[derive(Copy, Clone)]
1503#[repr(C)]
1504pub struct GstChildProxyInterface {
1505 pub parent: gobject::GTypeInterface,
1506 pub get_child_by_name:
1507 Option<unsafe extern "C" fn(*mut GstChildProxy, *const c_char) -> *mut gobject::GObject>,
1508 pub get_child_by_index:
1509 Option<unsafe extern "C" fn(*mut GstChildProxy, c_uint) -> *mut gobject::GObject>,
1510 pub get_children_count: Option<unsafe extern "C" fn(*mut GstChildProxy) -> c_uint>,
1511 pub child_added:
1512 Option<unsafe extern "C" fn(*mut GstChildProxy, *mut gobject::GObject, *const c_char)>,
1513 pub child_removed:
1514 Option<unsafe extern "C" fn(*mut GstChildProxy, *mut gobject::GObject, *const c_char)>,
1515 pub _gst_reserved: [gpointer; 4],
1516}
1517
1518impl ::std::fmt::Debug for GstChildProxyInterface {
1519 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1520 f.debug_struct(&format!("GstChildProxyInterface @ {self:p}"))
1521 .field("parent", &self.parent)
1522 .field("get_child_by_name", &self.get_child_by_name)
1523 .field("get_child_by_index", &self.get_child_by_index)
1524 .field("get_children_count", &self.get_children_count)
1525 .field("child_added", &self.child_added)
1526 .field("child_removed", &self.child_removed)
1527 .finish()
1528 }
1529}
1530
1531#[derive(Copy, Clone)]
1532#[repr(C)]
1533pub struct GstClockClass {
1534 pub parent_class: GstObjectClass,
1535 pub change_resolution:
1536 Option<unsafe extern "C" fn(*mut GstClock, GstClockTime, GstClockTime) -> GstClockTime>,
1537 pub get_resolution: Option<unsafe extern "C" fn(*mut GstClock) -> GstClockTime>,
1538 pub get_internal_time: Option<unsafe extern "C" fn(*mut GstClock) -> GstClockTime>,
1539 pub wait: Option<
1540 unsafe extern "C" fn(
1541 *mut GstClock,
1542 *mut GstClockEntry,
1543 *mut GstClockTimeDiff,
1544 ) -> GstClockReturn,
1545 >,
1546 pub wait_async:
1547 Option<unsafe extern "C" fn(*mut GstClock, *mut GstClockEntry) -> GstClockReturn>,
1548 pub unschedule: Option<unsafe extern "C" fn(*mut GstClock, *mut GstClockEntry)>,
1549 pub _gst_reserved: [gpointer; 4],
1550}
1551
1552impl ::std::fmt::Debug for GstClockClass {
1553 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1554 f.debug_struct(&format!("GstClockClass @ {self:p}"))
1555 .field("parent_class", &self.parent_class)
1556 .field("change_resolution", &self.change_resolution)
1557 .field("get_resolution", &self.get_resolution)
1558 .field("get_internal_time", &self.get_internal_time)
1559 .field("wait", &self.wait)
1560 .field("wait_async", &self.wait_async)
1561 .field("unschedule", &self.unschedule)
1562 .finish()
1563 }
1564}
1565
1566#[derive(Copy, Clone)]
1567#[repr(C)]
1568pub struct GstClockEntry {
1569 pub refcount: c_int,
1570 pub clock: *mut GstClock,
1571 pub type_: GstClockEntryType,
1572 pub time: GstClockTime,
1573 pub interval: GstClockTime,
1574 pub status: GstClockReturn,
1575 pub func: GstClockCallback,
1576 pub user_data: gpointer,
1577 pub destroy_data: glib::GDestroyNotify,
1578 pub unscheduled: gboolean,
1579 pub woken_up: gboolean,
1580 pub _gst_reserved: [gpointer; 4],
1581}
1582
1583impl ::std::fmt::Debug for GstClockEntry {
1584 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1585 f.debug_struct(&format!("GstClockEntry @ {self:p}"))
1586 .field("refcount", &self.refcount)
1587 .finish()
1588 }
1589}
1590
1591#[repr(C)]
1592#[allow(dead_code)]
1593pub struct _GstClockPrivate {
1594 _data: [u8; 0],
1595 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1596}
1597
1598pub type GstClockPrivate = _GstClockPrivate;
1599
1600#[repr(C)]
1601#[allow(dead_code)]
1602pub struct GstContext {
1603 _data: [u8; 0],
1604 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1605}
1606
1607impl ::std::fmt::Debug for GstContext {
1608 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1609 f.debug_struct(&format!("GstContext @ {self:p}")).finish()
1610 }
1611}
1612
1613#[derive(Copy, Clone)]
1614#[repr(C)]
1615pub struct GstControlBindingClass {
1616 pub parent_class: GstObjectClass,
1617 pub sync_values: Option<
1618 unsafe extern "C" fn(
1619 *mut GstControlBinding,
1620 *mut GstObject,
1621 GstClockTime,
1622 GstClockTime,
1623 ) -> gboolean,
1624 >,
1625 pub get_value:
1626 Option<unsafe extern "C" fn(*mut GstControlBinding, GstClockTime) -> *mut gobject::GValue>,
1627 pub get_value_array: Option<
1628 unsafe extern "C" fn(
1629 *mut GstControlBinding,
1630 GstClockTime,
1631 GstClockTime,
1632 c_uint,
1633 gpointer,
1634 ) -> gboolean,
1635 >,
1636 pub get_g_value_array: Option<
1637 unsafe extern "C" fn(
1638 *mut GstControlBinding,
1639 GstClockTime,
1640 GstClockTime,
1641 c_uint,
1642 *mut gobject::GValue,
1643 ) -> gboolean,
1644 >,
1645 pub _gst_reserved: [gpointer; 4],
1646}
1647
1648impl ::std::fmt::Debug for GstControlBindingClass {
1649 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1650 f.debug_struct(&format!("GstControlBindingClass @ {self:p}"))
1651 .field("parent_class", &self.parent_class)
1652 .field("sync_values", &self.sync_values)
1653 .field("get_value", &self.get_value)
1654 .field("get_value_array", &self.get_value_array)
1655 .field("get_g_value_array", &self.get_g_value_array)
1656 .finish()
1657 }
1658}
1659
1660#[repr(C)]
1661#[allow(dead_code)]
1662pub struct _GstControlBindingPrivate {
1663 _data: [u8; 0],
1664 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1665}
1666
1667pub type GstControlBindingPrivate = _GstControlBindingPrivate;
1668
1669#[derive(Copy, Clone)]
1670#[repr(C)]
1671pub struct GstControlBinding_ABI_abi {
1672 pub priv_: *mut GstControlBindingPrivate,
1673}
1674
1675impl ::std::fmt::Debug for GstControlBinding_ABI_abi {
1676 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1677 f.debug_struct(&format!("GstControlBinding_ABI_abi @ {self:p}"))
1678 .finish()
1679 }
1680}
1681
1682#[derive(Copy, Clone)]
1683#[repr(C)]
1684pub struct GstControlSourceClass {
1685 pub parent_class: GstObjectClass,
1686 pub _gst_reserved: [gpointer; 4],
1687}
1688
1689impl ::std::fmt::Debug for GstControlSourceClass {
1690 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1691 f.debug_struct(&format!("GstControlSourceClass @ {self:p}"))
1692 .field("parent_class", &self.parent_class)
1693 .finish()
1694 }
1695}
1696
1697#[derive(Copy, Clone)]
1698#[repr(C)]
1699pub struct GstCustomMeta {
1700 pub meta: GstMeta,
1701 pub structure: *mut GstStructure,
1702}
1703
1704impl ::std::fmt::Debug for GstCustomMeta {
1705 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1706 f.debug_struct(&format!("GstCustomMeta @ {self:p}"))
1707 .field("meta", &self.meta)
1708 .field("structure", &self.structure)
1709 .finish()
1710 }
1711}
1712
1713#[repr(C)]
1714#[allow(dead_code)]
1715pub struct GstDateTime {
1716 _data: [u8; 0],
1717 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1718}
1719
1720impl ::std::fmt::Debug for GstDateTime {
1721 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1722 f.debug_struct(&format!("GstDateTime @ {self:p}")).finish()
1723 }
1724}
1725
1726#[derive(Copy, Clone)]
1727#[repr(C)]
1728pub struct GstDebugCategory {
1729 pub threshold: c_int,
1730 pub color: c_uint,
1731 pub name: *const c_char,
1732 pub description: *const c_char,
1733}
1734
1735impl ::std::fmt::Debug for GstDebugCategory {
1736 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1737 f.debug_struct(&format!("GstDebugCategory @ {self:p}"))
1738 .finish()
1739 }
1740}
1741
1742#[repr(C)]
1743#[allow(dead_code)]
1744pub struct _GstDebugMessage {
1745 _data: [u8; 0],
1746 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1747}
1748
1749pub type GstDebugMessage = _GstDebugMessage;
1750
1751#[derive(Copy, Clone)]
1752#[repr(C)]
1753pub struct GstDeviceClass {
1754 pub parent_class: GstObjectClass,
1755 pub create_element:
1756 Option<unsafe extern "C" fn(*mut GstDevice, *const c_char) -> *mut GstElement>,
1757 pub reconfigure_element:
1758 Option<unsafe extern "C" fn(*mut GstDevice, *mut GstElement) -> gboolean>,
1759 pub _gst_reserved: [gpointer; 4],
1760}
1761
1762impl ::std::fmt::Debug for GstDeviceClass {
1763 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1764 f.debug_struct(&format!("GstDeviceClass @ {self:p}"))
1765 .field("parent_class", &self.parent_class)
1766 .field("create_element", &self.create_element)
1767 .field("reconfigure_element", &self.reconfigure_element)
1768 .finish()
1769 }
1770}
1771
1772#[derive(Copy, Clone)]
1773#[repr(C)]
1774pub struct GstDeviceMonitorClass {
1775 pub parent_class: GstObjectClass,
1776 pub _gst_reserved: [gpointer; 4],
1777}
1778
1779impl ::std::fmt::Debug for GstDeviceMonitorClass {
1780 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1781 f.debug_struct(&format!("GstDeviceMonitorClass @ {self:p}"))
1782 .field("parent_class", &self.parent_class)
1783 .finish()
1784 }
1785}
1786
1787#[repr(C)]
1788#[allow(dead_code)]
1789pub struct _GstDeviceMonitorPrivate {
1790 _data: [u8; 0],
1791 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1792}
1793
1794pub type GstDeviceMonitorPrivate = _GstDeviceMonitorPrivate;
1795
1796#[repr(C)]
1797#[allow(dead_code)]
1798pub struct _GstDevicePrivate {
1799 _data: [u8; 0],
1800 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1801}
1802
1803pub type GstDevicePrivate = _GstDevicePrivate;
1804
1805#[derive(Copy, Clone)]
1806#[repr(C)]
1807pub struct GstDeviceProviderClass {
1808 pub parent_class: GstObjectClass,
1809 pub factory: *mut GstDeviceProviderFactory,
1810 pub probe: Option<unsafe extern "C" fn(*mut GstDeviceProvider) -> *mut glib::GList>,
1811 pub start: Option<unsafe extern "C" fn(*mut GstDeviceProvider) -> gboolean>,
1812 pub stop: Option<unsafe extern "C" fn(*mut GstDeviceProvider)>,
1813 pub metadata: gpointer,
1814 pub _gst_reserved: [gpointer; 4],
1815}
1816
1817impl ::std::fmt::Debug for GstDeviceProviderClass {
1818 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1819 f.debug_struct(&format!("GstDeviceProviderClass @ {self:p}"))
1820 .field("parent_class", &self.parent_class)
1821 .field("factory", &self.factory)
1822 .field("probe", &self.probe)
1823 .field("start", &self.start)
1824 .field("stop", &self.stop)
1825 .finish()
1826 }
1827}
1828
1829#[repr(C)]
1830#[allow(dead_code)]
1831pub struct _GstDeviceProviderFactoryClass {
1832 _data: [u8; 0],
1833 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1834}
1835
1836pub type GstDeviceProviderFactoryClass = _GstDeviceProviderFactoryClass;
1837
1838#[repr(C)]
1839#[allow(dead_code)]
1840pub struct _GstDeviceProviderPrivate {
1841 _data: [u8; 0],
1842 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1843}
1844
1845pub type GstDeviceProviderPrivate = _GstDeviceProviderPrivate;
1846
1847#[repr(C)]
1848#[allow(dead_code)]
1849pub struct _GstDynamicTypeFactoryClass {
1850 _data: [u8; 0],
1851 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1852}
1853
1854pub type GstDynamicTypeFactoryClass = _GstDynamicTypeFactoryClass;
1855
1856#[derive(Copy, Clone)]
1857#[repr(C)]
1858pub struct GstElementClass {
1859 pub parent_class: GstObjectClass,
1860 pub metadata: gpointer,
1861 pub elementfactory: *mut GstElementFactory,
1862 pub padtemplates: *mut glib::GList,
1863 pub numpadtemplates: c_int,
1864 pub pad_templ_cookie: u32,
1865 pub pad_added: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1866 pub pad_removed: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1867 pub no_more_pads: Option<unsafe extern "C" fn(*mut GstElement)>,
1868 pub request_new_pad: Option<
1869 unsafe extern "C" fn(
1870 *mut GstElement,
1871 *mut GstPadTemplate,
1872 *const c_char,
1873 *const GstCaps,
1874 ) -> *mut GstPad,
1875 >,
1876 pub release_pad: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1877 pub get_state: Option<
1878 unsafe extern "C" fn(
1879 *mut GstElement,
1880 *mut GstState,
1881 *mut GstState,
1882 GstClockTime,
1883 ) -> GstStateChangeReturn,
1884 >,
1885 pub set_state: Option<unsafe extern "C" fn(*mut GstElement, GstState) -> GstStateChangeReturn>,
1886 pub change_state:
1887 Option<unsafe extern "C" fn(*mut GstElement, GstStateChange) -> GstStateChangeReturn>,
1888 pub state_changed: Option<unsafe extern "C" fn(*mut GstElement, GstState, GstState, GstState)>,
1889 pub set_bus: Option<unsafe extern "C" fn(*mut GstElement, *mut GstBus)>,
1890 pub provide_clock: Option<unsafe extern "C" fn(*mut GstElement) -> *mut GstClock>,
1891 pub set_clock: Option<unsafe extern "C" fn(*mut GstElement, *mut GstClock) -> gboolean>,
1892 pub send_event: Option<unsafe extern "C" fn(*mut GstElement, *mut GstEvent) -> gboolean>,
1893 pub query: Option<unsafe extern "C" fn(*mut GstElement, *mut GstQuery) -> gboolean>,
1894 pub post_message: Option<unsafe extern "C" fn(*mut GstElement, *mut GstMessage) -> gboolean>,
1895 pub set_context: Option<unsafe extern "C" fn(*mut GstElement, *mut GstContext)>,
1896 pub _gst_reserved: [gpointer; 18],
1897}
1898
1899impl ::std::fmt::Debug for GstElementClass {
1900 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1901 f.debug_struct(&format!("GstElementClass @ {self:p}"))
1902 .field("parent_class", &self.parent_class)
1903 .field("metadata", &self.metadata)
1904 .field("elementfactory", &self.elementfactory)
1905 .field("padtemplates", &self.padtemplates)
1906 .field("numpadtemplates", &self.numpadtemplates)
1907 .field("pad_templ_cookie", &self.pad_templ_cookie)
1908 .field("pad_added", &self.pad_added)
1909 .field("pad_removed", &self.pad_removed)
1910 .field("no_more_pads", &self.no_more_pads)
1911 .field("request_new_pad", &self.request_new_pad)
1912 .field("release_pad", &self.release_pad)
1913 .field("get_state", &self.get_state)
1914 .field("set_state", &self.set_state)
1915 .field("change_state", &self.change_state)
1916 .field("state_changed", &self.state_changed)
1917 .field("set_bus", &self.set_bus)
1918 .field("provide_clock", &self.provide_clock)
1919 .field("set_clock", &self.set_clock)
1920 .field("send_event", &self.send_event)
1921 .field("query", &self.query)
1922 .field("post_message", &self.post_message)
1923 .field("set_context", &self.set_context)
1924 .finish()
1925 }
1926}
1927
1928#[repr(C)]
1929#[allow(dead_code)]
1930pub struct _GstElementFactoryClass {
1931 _data: [u8; 0],
1932 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1933}
1934
1935pub type GstElementFactoryClass = _GstElementFactoryClass;
1936
1937#[derive(Copy, Clone)]
1938#[repr(C)]
1939pub struct GstEvent {
1940 pub mini_object: GstMiniObject,
1941 pub type_: GstEventType,
1942 pub timestamp: u64,
1943 pub seqnum: u32,
1944}
1945
1946impl ::std::fmt::Debug for GstEvent {
1947 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1948 f.debug_struct(&format!("GstEvent @ {self:p}"))
1949 .field("mini_object", &self.mini_object)
1950 .field("type_", &self.type_)
1951 .field("timestamp", &self.timestamp)
1952 .field("seqnum", &self.seqnum)
1953 .finish()
1954 }
1955}
1956
1957#[derive(Copy, Clone)]
1958#[repr(C)]
1959pub struct GstFormatDefinition {
1960 pub value: GstFormat,
1961 pub nick: *const c_char,
1962 pub description: *const c_char,
1963 pub quark: glib::GQuark,
1964}
1965
1966impl ::std::fmt::Debug for GstFormatDefinition {
1967 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1968 f.debug_struct(&format!("GstFormatDefinition @ {self:p}"))
1969 .field("value", &self.value)
1970 .field("nick", &self.nick)
1971 .field("description", &self.description)
1972 .field("quark", &self.quark)
1973 .finish()
1974 }
1975}
1976
1977#[derive(Copy, Clone)]
1978#[repr(C)]
1979pub struct GstGhostPadClass {
1980 pub parent_class: GstProxyPadClass,
1981 pub _gst_reserved: [gpointer; 4],
1982}
1983
1984impl ::std::fmt::Debug for GstGhostPadClass {
1985 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1986 f.debug_struct(&format!("GstGhostPadClass @ {self:p}"))
1987 .field("parent_class", &self.parent_class)
1988 .finish()
1989 }
1990}
1991
1992#[repr(C)]
1993#[allow(dead_code)]
1994pub struct _GstGhostPadPrivate {
1995 _data: [u8; 0],
1996 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1997}
1998
1999pub type GstGhostPadPrivate = _GstGhostPadPrivate;
2000
2001#[derive(Copy, Clone)]
2002#[repr(C)]
2003pub struct GstIterator {
2004 pub copy: GstIteratorCopyFunction,
2005 pub next: GstIteratorNextFunction,
2006 pub item: GstIteratorItemFunction,
2007 pub resync: GstIteratorResyncFunction,
2008 pub free: GstIteratorFreeFunction,
2009 pub pushed: *mut GstIterator,
2010 pub type_: GType,
2011 pub lock: *mut glib::GMutex,
2012 pub cookie: u32,
2013 pub master_cookie: *mut u32,
2014 pub size: c_uint,
2015 pub _gst_reserved: [gpointer; 4],
2016}
2017
2018impl ::std::fmt::Debug for GstIterator {
2019 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2020 f.debug_struct(&format!("GstIterator @ {self:p}"))
2021 .field("copy", &self.copy)
2022 .field("next", &self.next)
2023 .field("item", &self.item)
2024 .field("resync", &self.resync)
2025 .field("free", &self.free)
2026 .field("pushed", &self.pushed)
2027 .field("type_", &self.type_)
2028 .field("lock", &self.lock)
2029 .field("cookie", &self.cookie)
2030 .field("master_cookie", &self.master_cookie)
2031 .field("size", &self.size)
2032 .finish()
2033 }
2034}
2035
2036#[derive(Copy, Clone)]
2037#[repr(C)]
2038pub struct GstMapInfo {
2039 pub memory: *mut GstMemory,
2040 pub flags: GstMapFlags,
2041 pub data: *mut u8,
2042 pub size: size_t,
2043 pub maxsize: size_t,
2044 pub user_data: [gpointer; 4],
2045 pub _gst_reserved: [gpointer; 4],
2046}
2047
2048impl ::std::fmt::Debug for GstMapInfo {
2049 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2050 f.debug_struct(&format!("GstMapInfo @ {self:p}"))
2051 .field("memory", &self.memory)
2052 .field("flags", &self.flags)
2053 .field("data", &self.data)
2054 .field("size", &self.size)
2055 .field("maxsize", &self.maxsize)
2056 .field("user_data", &self.user_data)
2057 .finish()
2058 }
2059}
2060
2061#[derive(Copy, Clone)]
2062#[repr(C)]
2063pub struct GstMemory {
2064 pub mini_object: GstMiniObject,
2065 pub allocator: *mut GstAllocator,
2066 pub parent: *mut GstMemory,
2067 pub maxsize: size_t,
2068 pub align: size_t,
2069 pub offset: size_t,
2070 pub size: size_t,
2071}
2072
2073impl ::std::fmt::Debug for GstMemory {
2074 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2075 f.debug_struct(&format!("GstMemory @ {self:p}"))
2076 .field("mini_object", &self.mini_object)
2077 .field("allocator", &self.allocator)
2078 .field("parent", &self.parent)
2079 .field("maxsize", &self.maxsize)
2080 .field("align", &self.align)
2081 .field("offset", &self.offset)
2082 .field("size", &self.size)
2083 .finish()
2084 }
2085}
2086
2087#[derive(Copy, Clone)]
2088#[repr(C)]
2089pub struct GstMessage {
2090 pub mini_object: GstMiniObject,
2091 pub type_: GstMessageType,
2092 pub timestamp: u64,
2093 pub src: *mut GstObject,
2094 pub seqnum: u32,
2095 pub lock: glib::GMutex,
2096 pub cond: glib::GCond,
2097}
2098
2099impl ::std::fmt::Debug for GstMessage {
2100 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2101 f.debug_struct(&format!("GstMessage @ {self:p}"))
2102 .field("mini_object", &self.mini_object)
2103 .field("type_", &self.type_)
2104 .field("timestamp", &self.timestamp)
2105 .field("src", &self.src)
2106 .field("seqnum", &self.seqnum)
2107 .finish()
2108 }
2109}
2110
2111#[derive(Copy, Clone)]
2112#[repr(C)]
2113pub struct GstMeta {
2114 pub flags: GstMetaFlags,
2115 pub info: *const GstMetaInfo,
2116}
2117
2118impl ::std::fmt::Debug for GstMeta {
2119 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2120 f.debug_struct(&format!("GstMeta @ {self:p}"))
2121 .field("flags", &self.flags)
2122 .field("info", &self.info)
2123 .finish()
2124 }
2125}
2126
2127#[derive(Copy, Clone)]
2128#[repr(C)]
2129pub struct GstMetaInfo {
2130 pub api: GType,
2131 pub type_: GType,
2132 pub size: size_t,
2133 pub init_func: GstMetaInitFunction,
2134 pub free_func: GstMetaFreeFunction,
2135 pub transform_func: GstMetaTransformFunction,
2136 pub serialize_func: GstMetaSerializeFunction,
2137 pub deserialize_func: GstMetaDeserializeFunction,
2138 pub clear_func: GstMetaClearFunction,
2139}
2140
2141impl ::std::fmt::Debug for GstMetaInfo {
2142 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2143 f.debug_struct(&format!("GstMetaInfo @ {self:p}"))
2144 .field("api", &self.api)
2145 .field("type_", &self.type_)
2146 .field("size", &self.size)
2147 .field("init_func", &self.init_func)
2148 .field("free_func", &self.free_func)
2149 .field("transform_func", &self.transform_func)
2150 .field("serialize_func", &self.serialize_func)
2151 .field("deserialize_func", &self.deserialize_func)
2152 .field("clear_func", &self.clear_func)
2153 .finish()
2154 }
2155}
2156
2157#[derive(Copy, Clone)]
2158#[repr(C)]
2159pub struct GstMetaTransformCopy {
2160 pub region: gboolean,
2161 pub offset: size_t,
2162 pub size: size_t,
2163}
2164
2165impl ::std::fmt::Debug for GstMetaTransformCopy {
2166 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2167 f.debug_struct(&format!("GstMetaTransformCopy @ {self:p}"))
2168 .field("region", &self.region)
2169 .field("offset", &self.offset)
2170 .field("size", &self.size)
2171 .finish()
2172 }
2173}
2174
2175#[derive(Copy, Clone)]
2176#[repr(C)]
2177pub struct GstMiniObject {
2178 pub type_: GType,
2179 pub refcount: c_int,
2180 pub lockstate: c_int,
2181 pub flags: c_uint,
2182 pub copy: GstMiniObjectCopyFunction,
2183 pub dispose: GstMiniObjectDisposeFunction,
2184 pub free: GstMiniObjectFreeFunction,
2185 pub priv_uint: c_uint,
2186 pub priv_pointer: gpointer,
2187}
2188
2189impl ::std::fmt::Debug for GstMiniObject {
2190 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2191 f.debug_struct(&format!("GstMiniObject @ {self:p}"))
2192 .field("type_", &self.type_)
2193 .field("refcount", &self.refcount)
2194 .field("lockstate", &self.lockstate)
2195 .field("flags", &self.flags)
2196 .field("copy", &self.copy)
2197 .field("dispose", &self.dispose)
2198 .field("free", &self.free)
2199 .finish()
2200 }
2201}
2202
2203#[derive(Copy, Clone)]
2204#[repr(C)]
2205pub struct GstObjectClass {
2206 pub parent_class: gobject::GInitiallyUnownedClass,
2207 pub path_string_separator: *const c_char,
2208 pub deep_notify:
2209 Option<unsafe extern "C" fn(*mut GstObject, *mut GstObject, *mut gobject::GParamSpec)>,
2210 pub _gst_reserved: [gpointer; 4],
2211}
2212
2213impl ::std::fmt::Debug for GstObjectClass {
2214 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2215 f.debug_struct(&format!("GstObjectClass @ {self:p}"))
2216 .field("parent_class", &self.parent_class)
2217 .field("path_string_separator", &self.path_string_separator)
2218 .field("deep_notify", &self.deep_notify)
2219 .finish()
2220 }
2221}
2222
2223#[derive(Copy, Clone)]
2224#[repr(C)]
2225pub struct GstPadClass {
2226 pub parent_class: GstObjectClass,
2227 pub linked: Option<unsafe extern "C" fn(*mut GstPad, *mut GstPad)>,
2228 pub unlinked: Option<unsafe extern "C" fn(*mut GstPad, *mut GstPad)>,
2229 pub _gst_reserved: [gpointer; 4],
2230}
2231
2232impl ::std::fmt::Debug for GstPadClass {
2233 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2234 f.debug_struct(&format!("GstPadClass @ {self:p}"))
2235 .field("parent_class", &self.parent_class)
2236 .field("linked", &self.linked)
2237 .field("unlinked", &self.unlinked)
2238 .finish()
2239 }
2240}
2241
2242#[repr(C)]
2243#[allow(dead_code)]
2244pub struct _GstPadPrivate {
2245 _data: [u8; 0],
2246 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2247}
2248
2249pub type GstPadPrivate = _GstPadPrivate;
2250
2251#[derive(Copy, Clone)]
2252#[repr(C)]
2253pub struct GstPadProbeInfo {
2254 pub type_: GstPadProbeType,
2255 pub id: c_ulong,
2256 pub data: gpointer,
2257 pub offset: u64,
2258 pub size: c_uint,
2259 pub ABI: GstPadProbeInfo_ABI,
2260}
2261
2262impl ::std::fmt::Debug for GstPadProbeInfo {
2263 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2264 f.debug_struct(&format!("GstPadProbeInfo @ {self:p}"))
2265 .field("type_", &self.type_)
2266 .field("id", &self.id)
2267 .field("data", &self.data)
2268 .field("offset", &self.offset)
2269 .field("size", &self.size)
2270 .field("ABI", &self.ABI)
2271 .finish()
2272 }
2273}
2274
2275#[derive(Copy, Clone)]
2276#[repr(C)]
2277pub struct GstPadProbeInfo_ABI_abi {
2278 pub flow_ret: GstFlowReturn,
2279}
2280
2281impl ::std::fmt::Debug for GstPadProbeInfo_ABI_abi {
2282 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2283 f.debug_struct(&format!("GstPadProbeInfo_ABI_abi @ {self:p}"))
2284 .field("flow_ret", &self.flow_ret)
2285 .finish()
2286 }
2287}
2288
2289#[derive(Copy, Clone)]
2290#[repr(C)]
2291pub struct GstPadTemplateClass {
2292 pub parent_class: GstObjectClass,
2293 pub pad_created: Option<unsafe extern "C" fn(*mut GstPadTemplate, *mut GstPad)>,
2294 pub _gst_reserved: [gpointer; 4],
2295}
2296
2297impl ::std::fmt::Debug for GstPadTemplateClass {
2298 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2299 f.debug_struct(&format!("GstPadTemplateClass @ {self:p}"))
2300 .field("parent_class", &self.parent_class)
2301 .field("pad_created", &self.pad_created)
2302 .finish()
2303 }
2304}
2305
2306#[derive(Copy, Clone)]
2307#[repr(C)]
2308pub struct GstPadTemplate_ABI_abi {
2309 pub gtype: GType,
2310 pub documentation_caps: *mut GstCaps,
2311}
2312
2313impl ::std::fmt::Debug for GstPadTemplate_ABI_abi {
2314 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2315 f.debug_struct(&format!("GstPadTemplate_ABI_abi @ {self:p}"))
2316 .field("gtype", &self.gtype)
2317 .field("documentation_caps", &self.documentation_caps)
2318 .finish()
2319 }
2320}
2321
2322#[derive(Copy, Clone)]
2323#[repr(C)]
2324pub struct GstPad_ABI_abi {
2325 pub last_flowret: GstFlowReturn,
2326 pub eventfullfunc: GstPadEventFullFunction,
2327}
2328
2329impl ::std::fmt::Debug for GstPad_ABI_abi {
2330 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2331 f.debug_struct(&format!("GstPad_ABI_abi @ {self:p}"))
2332 .field("last_flowret", &self.last_flowret)
2333 .field("eventfullfunc", &self.eventfullfunc)
2334 .finish()
2335 }
2336}
2337
2338#[derive(Copy, Clone)]
2339#[repr(C)]
2340pub struct GstParamSpecArray {
2341 pub parent_instance: gobject::GParamSpec,
2342 pub element_spec: *mut gobject::GParamSpec,
2343}
2344
2345impl ::std::fmt::Debug for GstParamSpecArray {
2346 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2347 f.debug_struct(&format!("GstParamSpecArray @ {self:p}"))
2348 .field("parent_instance", &self.parent_instance)
2349 .field("element_spec", &self.element_spec)
2350 .finish()
2351 }
2352}
2353
2354#[derive(Copy, Clone)]
2355#[repr(C)]
2356pub struct GstParamSpecFraction {
2357 pub parent_instance: gobject::GParamSpec,
2358 pub min_num: c_int,
2359 pub min_den: c_int,
2360 pub max_num: c_int,
2361 pub max_den: c_int,
2362 pub def_num: c_int,
2363 pub def_den: c_int,
2364}
2365
2366impl ::std::fmt::Debug for GstParamSpecFraction {
2367 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2368 f.debug_struct(&format!("GstParamSpecFraction @ {self:p}"))
2369 .field("parent_instance", &self.parent_instance)
2370 .field("min_num", &self.min_num)
2371 .field("min_den", &self.min_den)
2372 .field("max_num", &self.max_num)
2373 .field("max_den", &self.max_den)
2374 .field("def_num", &self.def_num)
2375 .field("def_den", &self.def_den)
2376 .finish()
2377 }
2378}
2379
2380#[derive(Copy, Clone)]
2381#[repr(C)]
2382pub struct GstParentBufferMeta {
2383 pub parent: GstMeta,
2384 pub buffer: *mut GstBuffer,
2385}
2386
2387impl ::std::fmt::Debug for GstParentBufferMeta {
2388 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2389 f.debug_struct(&format!("GstParentBufferMeta @ {self:p}"))
2390 .field("parent", &self.parent)
2391 .field("buffer", &self.buffer)
2392 .finish()
2393 }
2394}
2395
2396#[repr(C)]
2397#[allow(dead_code)]
2398pub struct GstParseContext {
2399 _data: [u8; 0],
2400 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2401}
2402
2403impl ::std::fmt::Debug for GstParseContext {
2404 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2405 f.debug_struct(&format!("GstParseContext @ {self:p}"))
2406 .finish()
2407 }
2408}
2409
2410#[derive(Copy, Clone)]
2411#[repr(C)]
2412pub struct GstPipelineClass {
2413 pub parent_class: GstBinClass,
2414 pub _gst_reserved: [gpointer; 4],
2415}
2416
2417impl ::std::fmt::Debug for GstPipelineClass {
2418 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2419 f.debug_struct(&format!("GstPipelineClass @ {self:p}"))
2420 .field("parent_class", &self.parent_class)
2421 .finish()
2422 }
2423}
2424
2425#[repr(C)]
2426#[allow(dead_code)]
2427pub struct _GstPipelinePrivate {
2428 _data: [u8; 0],
2429 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2430}
2431
2432pub type GstPipelinePrivate = _GstPipelinePrivate;
2433
2434#[repr(C)]
2435#[allow(dead_code)]
2436pub struct _GstPluginClass {
2437 _data: [u8; 0],
2438 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2439}
2440
2441pub type GstPluginClass = _GstPluginClass;
2442
2443#[derive(Copy, Clone)]
2444#[repr(C)]
2445pub struct GstPluginDesc {
2446 pub major_version: c_int,
2447 pub minor_version: c_int,
2448 pub name: *const c_char,
2449 pub description: *const c_char,
2450 pub plugin_init: GstPluginInitFunc,
2451 pub version: *const c_char,
2452 pub license: *const c_char,
2453 pub source: *const c_char,
2454 pub package: *const c_char,
2455 pub origin: *const c_char,
2456 pub release_datetime: *const c_char,
2457 pub _gst_reserved: [gpointer; 4],
2458}
2459
2460impl ::std::fmt::Debug for GstPluginDesc {
2461 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2462 f.debug_struct(&format!("GstPluginDesc @ {self:p}"))
2463 .field("major_version", &self.major_version)
2464 .field("minor_version", &self.minor_version)
2465 .field("name", &self.name)
2466 .field("description", &self.description)
2467 .field("plugin_init", &self.plugin_init)
2468 .field("version", &self.version)
2469 .field("license", &self.license)
2470 .field("source", &self.source)
2471 .field("package", &self.package)
2472 .field("origin", &self.origin)
2473 .field("release_datetime", &self.release_datetime)
2474 .finish()
2475 }
2476}
2477
2478#[repr(C)]
2479#[allow(dead_code)]
2480pub struct _GstPluginFeatureClass {
2481 _data: [u8; 0],
2482 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2483}
2484
2485pub type GstPluginFeatureClass = _GstPluginFeatureClass;
2486
2487#[repr(C)]
2488#[allow(dead_code)]
2489pub struct _GstPoll {
2490 _data: [u8; 0],
2491 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2492}
2493
2494pub type GstPoll = _GstPoll;
2495
2496#[derive(Copy, Clone)]
2497#[repr(C)]
2498pub struct GstPollFD {
2499 pub fd: c_int,
2500 pub idx: c_int,
2501}
2502
2503impl ::std::fmt::Debug for GstPollFD {
2504 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2505 f.debug_struct(&format!("GstPollFD @ {self:p}"))
2506 .field("fd", &self.fd)
2507 .finish()
2508 }
2509}
2510
2511#[derive(Copy, Clone)]
2512#[repr(C)]
2513pub struct GstPresetInterface {
2514 pub parent: gobject::GTypeInterface,
2515 pub get_preset_names: Option<unsafe extern "C" fn(*mut GstPreset) -> *mut *mut c_char>,
2516 pub get_property_names: Option<unsafe extern "C" fn(*mut GstPreset) -> *mut *mut c_char>,
2517 pub load_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2518 pub save_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2519 pub rename_preset:
2520 Option<unsafe extern "C" fn(*mut GstPreset, *const c_char, *const c_char) -> gboolean>,
2521 pub delete_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2522 pub set_meta: Option<
2523 unsafe extern "C" fn(
2524 *mut GstPreset,
2525 *const c_char,
2526 *const c_char,
2527 *mut *mut c_char,
2528 ) -> gboolean,
2529 >,
2530 pub get_meta: Option<
2531 unsafe extern "C" fn(
2532 *mut GstPreset,
2533 *const c_char,
2534 *const c_char,
2535 *mut *mut c_char,
2536 ) -> gboolean,
2537 >,
2538 pub _gst_reserved: [gpointer; 4],
2539}
2540
2541impl ::std::fmt::Debug for GstPresetInterface {
2542 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2543 f.debug_struct(&format!("GstPresetInterface @ {self:p}"))
2544 .field("parent", &self.parent)
2545 .field("get_preset_names", &self.get_preset_names)
2546 .field("get_property_names", &self.get_property_names)
2547 .field("load_preset", &self.load_preset)
2548 .field("save_preset", &self.save_preset)
2549 .field("rename_preset", &self.rename_preset)
2550 .field("delete_preset", &self.delete_preset)
2551 .field("set_meta", &self.set_meta)
2552 .field("get_meta", &self.get_meta)
2553 .finish()
2554 }
2555}
2556
2557#[derive(Copy, Clone)]
2558#[repr(C)]
2559pub struct GstPromise {
2560 pub parent: GstMiniObject,
2561}
2562
2563impl ::std::fmt::Debug for GstPromise {
2564 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2565 f.debug_struct(&format!("GstPromise @ {self:p}"))
2566 .field("parent", &self.parent)
2567 .finish()
2568 }
2569}
2570
2571#[derive(Copy, Clone)]
2572#[repr(C)]
2573pub struct GstProtectionMeta {
2574 pub meta: GstMeta,
2575 pub info: *mut GstStructure,
2576}
2577
2578impl ::std::fmt::Debug for GstProtectionMeta {
2579 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2580 f.debug_struct(&format!("GstProtectionMeta @ {self:p}"))
2581 .field("meta", &self.meta)
2582 .field("info", &self.info)
2583 .finish()
2584 }
2585}
2586
2587#[derive(Copy, Clone)]
2588#[repr(C)]
2589pub struct GstProxyPadClass {
2590 pub parent_class: GstPadClass,
2591 pub _gst_reserved: [gpointer; 1],
2592}
2593
2594impl ::std::fmt::Debug for GstProxyPadClass {
2595 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2596 f.debug_struct(&format!("GstProxyPadClass @ {self:p}"))
2597 .field("parent_class", &self.parent_class)
2598 .finish()
2599 }
2600}
2601
2602#[repr(C)]
2603#[allow(dead_code)]
2604pub struct _GstProxyPadPrivate {
2605 _data: [u8; 0],
2606 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2607}
2608
2609pub type GstProxyPadPrivate = _GstProxyPadPrivate;
2610
2611#[derive(Copy, Clone)]
2612#[repr(C)]
2613pub struct GstQuery {
2614 pub mini_object: GstMiniObject,
2615 pub type_: GstQueryType,
2616}
2617
2618impl ::std::fmt::Debug for GstQuery {
2619 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2620 f.debug_struct(&format!("GstQuery @ {self:p}"))
2621 .field("mini_object", &self.mini_object)
2622 .field("type_", &self.type_)
2623 .finish()
2624 }
2625}
2626
2627#[derive(Copy, Clone)]
2628#[repr(C)]
2629pub struct GstReferenceTimestampMeta {
2630 pub parent: GstMeta,
2631 pub reference: *mut GstCaps,
2632 pub timestamp: GstClockTime,
2633 pub duration: GstClockTime,
2634}
2635
2636impl ::std::fmt::Debug for GstReferenceTimestampMeta {
2637 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2638 f.debug_struct(&format!("GstReferenceTimestampMeta @ {self:p}"))
2639 .field("parent", &self.parent)
2640 .field("reference", &self.reference)
2641 .field("timestamp", &self.timestamp)
2642 .field("duration", &self.duration)
2643 .finish()
2644 }
2645}
2646
2647#[derive(Copy, Clone)]
2648#[repr(C)]
2649pub struct GstRegistryClass {
2650 pub parent_class: GstObjectClass,
2651}
2652
2653impl ::std::fmt::Debug for GstRegistryClass {
2654 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2655 f.debug_struct(&format!("GstRegistryClass @ {self:p}"))
2656 .field("parent_class", &self.parent_class)
2657 .finish()
2658 }
2659}
2660
2661#[repr(C)]
2662#[allow(dead_code)]
2663pub struct _GstRegistryPrivate {
2664 _data: [u8; 0],
2665 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2666}
2667
2668pub type GstRegistryPrivate = _GstRegistryPrivate;
2669
2670#[repr(C)]
2671#[allow(dead_code)]
2672pub struct GstSample {
2673 _data: [u8; 0],
2674 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2675}
2676
2677impl ::std::fmt::Debug for GstSample {
2678 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2679 f.debug_struct(&format!("GstSample @ {self:p}")).finish()
2680 }
2681}
2682
2683#[derive(Copy, Clone)]
2684#[repr(C)]
2685pub struct GstSegment {
2686 pub flags: GstSegmentFlags,
2687 pub rate: c_double,
2688 pub applied_rate: c_double,
2689 pub format: GstFormat,
2690 pub base: u64,
2691 pub offset: u64,
2692 pub start: u64,
2693 pub stop: u64,
2694 pub time: u64,
2695 pub position: u64,
2696 pub duration: u64,
2697 pub _gst_reserved: [gpointer; 4],
2698}
2699
2700impl ::std::fmt::Debug for GstSegment {
2701 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2702 f.debug_struct(&format!("GstSegment @ {self:p}"))
2703 .field("flags", &self.flags)
2704 .field("rate", &self.rate)
2705 .field("applied_rate", &self.applied_rate)
2706 .field("format", &self.format)
2707 .field("base", &self.base)
2708 .field("offset", &self.offset)
2709 .field("start", &self.start)
2710 .field("stop", &self.stop)
2711 .field("time", &self.time)
2712 .field("position", &self.position)
2713 .field("duration", &self.duration)
2714 .finish()
2715 }
2716}
2717
2718#[derive(Copy, Clone)]
2719#[repr(C)]
2720pub struct GstSharedTaskPoolClass {
2721 pub parent_class: GstTaskPoolClass,
2722 pub _gst_reserved: [gpointer; 4],
2723}
2724
2725impl ::std::fmt::Debug for GstSharedTaskPoolClass {
2726 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2727 f.debug_struct(&format!("GstSharedTaskPoolClass @ {self:p}"))
2728 .field("parent_class", &self.parent_class)
2729 .finish()
2730 }
2731}
2732
2733#[repr(C)]
2734#[allow(dead_code)]
2735pub struct _GstSharedTaskPoolPrivate {
2736 _data: [u8; 0],
2737 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2738}
2739
2740pub type GstSharedTaskPoolPrivate = _GstSharedTaskPoolPrivate;
2741
2742#[derive(Copy, Clone)]
2743#[repr(C)]
2744pub struct GstStaticCaps {
2745 pub caps: *mut GstCaps,
2746 pub string: *const c_char,
2747 pub _gst_reserved: [gpointer; 4],
2748}
2749
2750impl ::std::fmt::Debug for GstStaticCaps {
2751 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2752 f.debug_struct(&format!("GstStaticCaps @ {self:p}"))
2753 .field("caps", &self.caps)
2754 .field("string", &self.string)
2755 .finish()
2756 }
2757}
2758
2759#[derive(Copy, Clone)]
2760#[repr(C)]
2761pub struct GstStaticPadTemplate {
2762 pub name_template: *const c_char,
2763 pub direction: GstPadDirection,
2764 pub presence: GstPadPresence,
2765 pub static_caps: GstStaticCaps,
2766}
2767
2768impl ::std::fmt::Debug for GstStaticPadTemplate {
2769 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2770 f.debug_struct(&format!("GstStaticPadTemplate @ {self:p}"))
2771 .field("name_template", &self.name_template)
2772 .field("direction", &self.direction)
2773 .field("presence", &self.presence)
2774 .field("static_caps", &self.static_caps)
2775 .finish()
2776 }
2777}
2778
2779#[derive(Copy, Clone)]
2780#[repr(C)]
2781pub struct GstStreamClass {
2782 pub parent_class: GstObjectClass,
2783 pub _gst_reserved: [gpointer; 4],
2784}
2785
2786impl ::std::fmt::Debug for GstStreamClass {
2787 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2788 f.debug_struct(&format!("GstStreamClass @ {self:p}"))
2789 .field("parent_class", &self.parent_class)
2790 .finish()
2791 }
2792}
2793
2794#[derive(Copy, Clone)]
2795#[repr(C)]
2796pub struct GstStreamCollectionClass {
2797 pub parent_class: GstObjectClass,
2798 pub stream_notify: Option<
2799 unsafe extern "C" fn(*mut GstStreamCollection, *mut GstStream, *mut gobject::GParamSpec),
2800 >,
2801 pub _gst_reserved: [gpointer; 4],
2802}
2803
2804impl ::std::fmt::Debug for GstStreamCollectionClass {
2805 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2806 f.debug_struct(&format!("GstStreamCollectionClass @ {self:p}"))
2807 .field("parent_class", &self.parent_class)
2808 .field("stream_notify", &self.stream_notify)
2809 .finish()
2810 }
2811}
2812
2813#[repr(C)]
2814#[allow(dead_code)]
2815pub struct _GstStreamCollectionPrivate {
2816 _data: [u8; 0],
2817 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2818}
2819
2820pub type GstStreamCollectionPrivate = _GstStreamCollectionPrivate;
2821
2822#[repr(C)]
2823#[allow(dead_code)]
2824pub struct _GstStreamPrivate {
2825 _data: [u8; 0],
2826 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2827}
2828
2829pub type GstStreamPrivate = _GstStreamPrivate;
2830
2831#[derive(Copy, Clone)]
2832#[repr(C)]
2833pub struct GstStructure {
2834 pub type_: GType,
2835 pub name: glib::GQuark,
2836}
2837
2838impl ::std::fmt::Debug for GstStructure {
2839 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2840 f.debug_struct(&format!("GstStructure @ {self:p}"))
2841 .field("type_", &self.type_)
2842 .finish()
2843 }
2844}
2845
2846#[derive(Copy, Clone)]
2847#[repr(C)]
2848pub struct GstSystemClockClass {
2849 pub parent_class: GstClockClass,
2850 pub _gst_reserved: [gpointer; 4],
2851}
2852
2853impl ::std::fmt::Debug for GstSystemClockClass {
2854 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2855 f.debug_struct(&format!("GstSystemClockClass @ {self:p}"))
2856 .field("parent_class", &self.parent_class)
2857 .finish()
2858 }
2859}
2860
2861#[repr(C)]
2862#[allow(dead_code)]
2863pub struct _GstSystemClockPrivate {
2864 _data: [u8; 0],
2865 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2866}
2867
2868pub type GstSystemClockPrivate = _GstSystemClockPrivate;
2869
2870#[derive(Copy, Clone)]
2871#[repr(C)]
2872pub struct GstTagList {
2873 pub mini_object: GstMiniObject,
2874}
2875
2876impl ::std::fmt::Debug for GstTagList {
2877 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2878 f.debug_struct(&format!("GstTagList @ {self:p}"))
2879 .field("mini_object", &self.mini_object)
2880 .finish()
2881 }
2882}
2883
2884#[derive(Copy, Clone)]
2885#[repr(C)]
2886pub struct GstTagSetterInterface {
2887 pub g_iface: gobject::GTypeInterface,
2888}
2889
2890impl ::std::fmt::Debug for GstTagSetterInterface {
2891 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2892 f.debug_struct(&format!("GstTagSetterInterface @ {self:p}"))
2893 .field("g_iface", &self.g_iface)
2894 .finish()
2895 }
2896}
2897
2898#[derive(Copy, Clone)]
2899#[repr(C)]
2900pub struct GstTaskClass {
2901 pub parent_class: GstObjectClass,
2902 pub pool: *mut GstTaskPool,
2903 pub _gst_reserved: [gpointer; 4],
2904}
2905
2906impl ::std::fmt::Debug for GstTaskClass {
2907 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2908 f.debug_struct(&format!("GstTaskClass @ {self:p}"))
2909 .field("parent_class", &self.parent_class)
2910 .finish()
2911 }
2912}
2913
2914#[derive(Copy, Clone)]
2915#[repr(C)]
2916pub struct GstTaskPoolClass {
2917 pub parent_class: GstObjectClass,
2918 pub prepare: Option<unsafe extern "C" fn(*mut GstTaskPool, *mut *mut glib::GError)>,
2919 pub cleanup: Option<unsafe extern "C" fn(*mut GstTaskPool)>,
2920 pub push: Option<
2921 unsafe extern "C" fn(
2922 *mut GstTaskPool,
2923 GstTaskPoolFunction,
2924 gpointer,
2925 *mut *mut glib::GError,
2926 ) -> gpointer,
2927 >,
2928 pub join: Option<unsafe extern "C" fn(*mut GstTaskPool, gpointer)>,
2929 pub dispose_handle: Option<unsafe extern "C" fn(*mut GstTaskPool, gpointer)>,
2930 pub _gst_reserved: [gpointer; 3],
2931}
2932
2933impl ::std::fmt::Debug for GstTaskPoolClass {
2934 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2935 f.debug_struct(&format!("GstTaskPoolClass @ {self:p}"))
2936 .field("parent_class", &self.parent_class)
2937 .field("prepare", &self.prepare)
2938 .field("cleanup", &self.cleanup)
2939 .field("push", &self.push)
2940 .field("join", &self.join)
2941 .field("dispose_handle", &self.dispose_handle)
2942 .finish()
2943 }
2944}
2945
2946#[repr(C)]
2947#[allow(dead_code)]
2948pub struct _GstTaskPrivate {
2949 _data: [u8; 0],
2950 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2951}
2952
2953pub type GstTaskPrivate = _GstTaskPrivate;
2954
2955#[derive(Copy, Clone)]
2956#[repr(C)]
2957pub struct GstTimedValue {
2958 pub timestamp: GstClockTime,
2959 pub value: c_double,
2960}
2961
2962impl ::std::fmt::Debug for GstTimedValue {
2963 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2964 f.debug_struct(&format!("GstTimedValue @ {self:p}"))
2965 .field("timestamp", &self.timestamp)
2966 .field("value", &self.value)
2967 .finish()
2968 }
2969}
2970
2971#[repr(C)]
2972#[allow(dead_code)]
2973pub struct GstToc {
2974 _data: [u8; 0],
2975 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2976}
2977
2978impl ::std::fmt::Debug for GstToc {
2979 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2980 f.debug_struct(&format!("GstToc @ {self:p}")).finish()
2981 }
2982}
2983
2984#[repr(C)]
2985#[allow(dead_code)]
2986pub struct GstTocEntry {
2987 _data: [u8; 0],
2988 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2989}
2990
2991impl ::std::fmt::Debug for GstTocEntry {
2992 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2993 f.debug_struct(&format!("GstTocEntry @ {self:p}")).finish()
2994 }
2995}
2996
2997#[derive(Copy, Clone)]
2998#[repr(C)]
2999pub struct GstTocSetterInterface {
3000 pub g_iface: gobject::GTypeInterface,
3001}
3002
3003impl ::std::fmt::Debug for GstTocSetterInterface {
3004 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3005 f.debug_struct(&format!("GstTocSetterInterface @ {self:p}"))
3006 .field("g_iface", &self.g_iface)
3007 .finish()
3008 }
3009}
3010
3011#[derive(Copy, Clone)]
3012#[repr(C)]
3013pub struct GstTracerClass {
3014 pub parent_class: GstObjectClass,
3015 pub _gst_reserved: [gpointer; 4],
3016}
3017
3018impl ::std::fmt::Debug for GstTracerClass {
3019 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3020 f.debug_struct(&format!("GstTracerClass @ {self:p}"))
3021 .field("parent_class", &self.parent_class)
3022 .finish()
3023 }
3024}
3025
3026#[repr(C)]
3027#[allow(dead_code)]
3028pub struct _GstTracerFactoryClass {
3029 _data: [u8; 0],
3030 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3031}
3032
3033pub type GstTracerFactoryClass = _GstTracerFactoryClass;
3034
3035#[repr(C)]
3036#[allow(dead_code)]
3037pub struct _GstTracerPrivate {
3038 _data: [u8; 0],
3039 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3040}
3041
3042pub type GstTracerPrivate = _GstTracerPrivate;
3043
3044#[repr(C)]
3045#[allow(dead_code)]
3046pub struct _GstTracerRecordClass {
3047 _data: [u8; 0],
3048 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3049}
3050
3051pub type GstTracerRecordClass = _GstTracerRecordClass;
3052
3053#[derive(Copy, Clone)]
3054#[repr(C)]
3055pub struct GstTypeFind {
3056 pub peek: Option<unsafe extern "C" fn(gpointer, i64, c_uint) -> *const u8>,
3057 pub suggest: Option<unsafe extern "C" fn(gpointer, c_uint, *mut GstCaps)>,
3058 pub data: gpointer,
3059 pub get_length: Option<unsafe extern "C" fn(gpointer) -> u64>,
3060 pub _gst_reserved: [gpointer; 4],
3061}
3062
3063impl ::std::fmt::Debug for GstTypeFind {
3064 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3065 f.debug_struct(&format!("GstTypeFind @ {self:p}"))
3066 .field("peek", &self.peek)
3067 .field("suggest", &self.suggest)
3068 .field("data", &self.data)
3069 .field("get_length", &self.get_length)
3070 .finish()
3071 }
3072}
3073
3074#[repr(C)]
3075#[allow(dead_code)]
3076pub struct _GstTypeFindFactoryClass {
3077 _data: [u8; 0],
3078 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3079}
3080
3081pub type GstTypeFindFactoryClass = _GstTypeFindFactoryClass;
3082
3083#[derive(Copy, Clone)]
3084#[repr(C)]
3085pub struct GstURIHandlerInterface {
3086 pub parent: gobject::GTypeInterface,
3087 pub get_type: Option<unsafe extern "C" fn(GType) -> GstURIType>,
3088 pub get_protocols: Option<unsafe extern "C" fn(GType) -> *const *const c_char>,
3089 pub get_uri: Option<unsafe extern "C" fn(*mut GstURIHandler) -> *mut c_char>,
3090 pub set_uri: Option<
3091 unsafe extern "C" fn(*mut GstURIHandler, *const c_char, *mut *mut glib::GError) -> gboolean,
3092 >,
3093}
3094
3095impl ::std::fmt::Debug for GstURIHandlerInterface {
3096 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3097 f.debug_struct(&format!("GstURIHandlerInterface @ {self:p}"))
3098 .field("parent", &self.parent)
3099 .field("get_type", &self.get_type)
3100 .field("get_protocols", &self.get_protocols)
3101 .field("get_uri", &self.get_uri)
3102 .field("set_uri", &self.set_uri)
3103 .finish()
3104 }
3105}
3106
3107#[repr(C)]
3108#[allow(dead_code)]
3109pub struct GstUri {
3110 _data: [u8; 0],
3111 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3112}
3113
3114impl ::std::fmt::Debug for GstUri {
3115 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3116 f.debug_struct(&format!("GstUri @ {self:p}")).finish()
3117 }
3118}
3119
3120#[derive(Copy, Clone)]
3121#[repr(C)]
3122pub struct GstValueTable {
3123 pub type_: GType,
3124 pub compare: GstValueCompareFunc,
3125 pub serialize: GstValueSerializeFunc,
3126 pub deserialize: GstValueDeserializeFunc,
3127 pub deserialize_with_pspec: GstValueDeserializeWithPSpecFunc,
3128 pub _gst_reserved: [gpointer; 3],
3129}
3130
3131impl ::std::fmt::Debug for GstValueTable {
3132 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3133 f.debug_struct(&format!("GstValueTable @ {self:p}"))
3134 .field("type_", &self.type_)
3135 .field("compare", &self.compare)
3136 .field("serialize", &self.serialize)
3137 .field("deserialize", &self.deserialize)
3138 .field("deserialize_with_pspec", &self.deserialize_with_pspec)
3139 .finish()
3140 }
3141}
3142
3143#[repr(C)]
3144#[allow(dead_code)]
3145pub struct _GstVecDeque {
3146 _data: [u8; 0],
3147 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3148}
3149
3150pub type GstVecDeque = _GstVecDeque;
3151
3152#[derive(Copy, Clone)]
3154#[repr(C)]
3155pub struct GstAllocator {
3156 pub object: GstObject,
3157 pub mem_type: *const c_char,
3158 pub mem_map: GstMemoryMapFunction,
3159 pub mem_unmap: GstMemoryUnmapFunction,
3160 pub mem_copy: GstMemoryCopyFunction,
3161 pub mem_share: GstMemoryShareFunction,
3162 pub mem_is_span: GstMemoryIsSpanFunction,
3163 pub mem_map_full: GstMemoryMapFullFunction,
3164 pub mem_unmap_full: GstMemoryUnmapFullFunction,
3165 pub _gst_reserved: [gpointer; 2],
3166 pub priv_: *mut GstAllocatorPrivate,
3167}
3168
3169impl ::std::fmt::Debug for GstAllocator {
3170 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3171 f.debug_struct(&format!("GstAllocator @ {self:p}"))
3172 .field("object", &self.object)
3173 .field("mem_type", &self.mem_type)
3174 .field("mem_map", &self.mem_map)
3175 .field("mem_unmap", &self.mem_unmap)
3176 .field("mem_copy", &self.mem_copy)
3177 .field("mem_share", &self.mem_share)
3178 .field("mem_is_span", &self.mem_is_span)
3179 .field("mem_map_full", &self.mem_map_full)
3180 .field("mem_unmap_full", &self.mem_unmap_full)
3181 .finish()
3182 }
3183}
3184
3185#[derive(Copy, Clone)]
3186#[repr(C)]
3187pub struct GstBin {
3188 pub element: GstElement,
3189 pub numchildren: c_int,
3190 pub children: *mut glib::GList,
3191 pub children_cookie: u32,
3192 pub child_bus: *mut GstBus,
3193 pub messages: *mut glib::GList,
3194 pub polling: gboolean,
3195 pub state_dirty: gboolean,
3196 pub clock_dirty: gboolean,
3197 pub provided_clock: *mut GstClock,
3198 pub clock_provider: *mut GstElement,
3199 pub priv_: *mut GstBinPrivate,
3200 pub _gst_reserved: [gpointer; 4],
3201}
3202
3203impl ::std::fmt::Debug for GstBin {
3204 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3205 f.debug_struct(&format!("GstBin @ {self:p}"))
3206 .field("element", &self.element)
3207 .field("numchildren", &self.numchildren)
3208 .field("children", &self.children)
3209 .field("children_cookie", &self.children_cookie)
3210 .field("child_bus", &self.child_bus)
3211 .field("messages", &self.messages)
3212 .field("polling", &self.polling)
3213 .field("state_dirty", &self.state_dirty)
3214 .field("clock_dirty", &self.clock_dirty)
3215 .field("provided_clock", &self.provided_clock)
3216 .field("clock_provider", &self.clock_provider)
3217 .finish()
3218 }
3219}
3220
3221#[repr(C)]
3222#[allow(dead_code)]
3223pub struct GstBitmask {
3224 _data: [u8; 0],
3225 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3226}
3227
3228impl ::std::fmt::Debug for GstBitmask {
3229 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3230 f.debug_struct(&format!("GstBitmask @ {self:p}")).finish()
3231 }
3232}
3233
3234#[derive(Copy, Clone)]
3235#[repr(C)]
3236pub struct GstBufferPool {
3237 pub object: GstObject,
3238 pub flushing: c_int,
3239 pub priv_: *mut GstBufferPoolPrivate,
3240 pub _gst_reserved: [gpointer; 4],
3241}
3242
3243impl ::std::fmt::Debug for GstBufferPool {
3244 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3245 f.debug_struct(&format!("GstBufferPool @ {self:p}"))
3246 .field("object", &self.object)
3247 .field("flushing", &self.flushing)
3248 .finish()
3249 }
3250}
3251
3252#[derive(Copy, Clone)]
3253#[repr(C)]
3254pub struct GstBus {
3255 pub object: GstObject,
3256 pub priv_: *mut GstBusPrivate,
3257 pub _gst_reserved: [gpointer; 4],
3258}
3259
3260impl ::std::fmt::Debug for GstBus {
3261 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3262 f.debug_struct(&format!("GstBus @ {self:p}"))
3263 .field("object", &self.object)
3264 .finish()
3265 }
3266}
3267
3268#[derive(Copy, Clone)]
3269#[repr(C)]
3270pub struct GstClock {
3271 pub object: GstObject,
3272 pub priv_: *mut GstClockPrivate,
3273 pub _gst_reserved: [gpointer; 4],
3274}
3275
3276impl ::std::fmt::Debug for GstClock {
3277 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3278 f.debug_struct(&format!("GstClock @ {self:p}"))
3279 .field("object", &self.object)
3280 .finish()
3281 }
3282}
3283
3284#[derive(Copy, Clone)]
3285#[repr(C)]
3286pub struct GstControlBinding {
3287 pub parent: GstObject,
3288 pub name: *mut c_char,
3289 pub pspec: *mut gobject::GParamSpec,
3290 pub object: *mut GstObject,
3291 pub disabled: gboolean,
3292 pub ABI: GstControlBinding_ABI,
3293}
3294
3295impl ::std::fmt::Debug for GstControlBinding {
3296 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3297 f.debug_struct(&format!("GstControlBinding @ {self:p}"))
3298 .field("parent", &self.parent)
3299 .field("name", &self.name)
3300 .field("pspec", &self.pspec)
3301 .field("ABI", &self.ABI)
3302 .finish()
3303 }
3304}
3305
3306#[derive(Copy, Clone)]
3307#[repr(C)]
3308pub struct GstControlSource {
3309 pub parent: GstObject,
3310 pub get_value: GstControlSourceGetValue,
3311 pub get_value_array: GstControlSourceGetValueArray,
3312 pub _gst_reserved: [gpointer; 4],
3313}
3314
3315impl ::std::fmt::Debug for GstControlSource {
3316 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3317 f.debug_struct(&format!("GstControlSource @ {self:p}"))
3318 .field("parent", &self.parent)
3319 .field("get_value", &self.get_value)
3320 .field("get_value_array", &self.get_value_array)
3321 .finish()
3322 }
3323}
3324
3325#[derive(Copy, Clone)]
3326#[repr(C)]
3327pub struct GstDevice {
3328 pub parent: GstObject,
3329 pub priv_: *mut GstDevicePrivate,
3330 pub _gst_reserved: [gpointer; 4],
3331}
3332
3333impl ::std::fmt::Debug for GstDevice {
3334 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3335 f.debug_struct(&format!("GstDevice @ {self:p}"))
3336 .field("parent", &self.parent)
3337 .finish()
3338 }
3339}
3340
3341#[derive(Copy, Clone)]
3342#[repr(C)]
3343pub struct GstDeviceMonitor {
3344 pub parent: GstObject,
3345 pub priv_: *mut GstDeviceMonitorPrivate,
3346 pub _gst_reserved: [gpointer; 4],
3347}
3348
3349impl ::std::fmt::Debug for GstDeviceMonitor {
3350 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3351 f.debug_struct(&format!("GstDeviceMonitor @ {self:p}"))
3352 .field("parent", &self.parent)
3353 .finish()
3354 }
3355}
3356
3357#[derive(Copy, Clone)]
3358#[repr(C)]
3359pub struct GstDeviceProvider {
3360 pub parent: GstObject,
3361 pub devices: *mut glib::GList,
3362 pub priv_: *mut GstDeviceProviderPrivate,
3363 pub _gst_reserved: [gpointer; 4],
3364}
3365
3366impl ::std::fmt::Debug for GstDeviceProvider {
3367 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3368 f.debug_struct(&format!("GstDeviceProvider @ {self:p}"))
3369 .field("parent", &self.parent)
3370 .field("devices", &self.devices)
3371 .finish()
3372 }
3373}
3374
3375#[repr(C)]
3376#[allow(dead_code)]
3377pub struct GstDeviceProviderFactory {
3378 _data: [u8; 0],
3379 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3380}
3381
3382impl ::std::fmt::Debug for GstDeviceProviderFactory {
3383 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3384 f.debug_struct(&format!("GstDeviceProviderFactory @ {self:p}"))
3385 .finish()
3386 }
3387}
3388
3389#[repr(C)]
3390#[allow(dead_code)]
3391pub struct GstDoubleRange {
3392 _data: [u8; 0],
3393 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3394}
3395
3396impl ::std::fmt::Debug for GstDoubleRange {
3397 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3398 f.debug_struct(&format!("GstDoubleRange @ {self:p}"))
3399 .finish()
3400 }
3401}
3402
3403#[repr(C)]
3404#[allow(dead_code)]
3405pub struct GstDynamicTypeFactory {
3406 _data: [u8; 0],
3407 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3408}
3409
3410impl ::std::fmt::Debug for GstDynamicTypeFactory {
3411 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3412 f.debug_struct(&format!("GstDynamicTypeFactory @ {self:p}"))
3413 .finish()
3414 }
3415}
3416
3417#[derive(Copy, Clone)]
3418#[repr(C)]
3419pub struct GstElement {
3420 pub object: GstObject,
3421 pub state_lock: glib::GRecMutex,
3422 pub state_cond: glib::GCond,
3423 pub state_cookie: u32,
3424 pub target_state: GstState,
3425 pub current_state: GstState,
3426 pub next_state: GstState,
3427 pub pending_state: GstState,
3428 pub last_return: GstStateChangeReturn,
3429 pub bus: *mut GstBus,
3430 pub clock: *mut GstClock,
3431 pub base_time: GstClockTimeDiff,
3432 pub start_time: GstClockTime,
3433 pub numpads: u16,
3434 pub pads: *mut glib::GList,
3435 pub numsrcpads: u16,
3436 pub srcpads: *mut glib::GList,
3437 pub numsinkpads: u16,
3438 pub sinkpads: *mut glib::GList,
3439 pub pads_cookie: u32,
3440 pub contexts: *mut glib::GList,
3441 pub _gst_reserved: [gpointer; 3],
3442}
3443
3444impl ::std::fmt::Debug for GstElement {
3445 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3446 f.debug_struct(&format!("GstElement @ {self:p}"))
3447 .field("object", &self.object)
3448 .field("state_lock", &self.state_lock)
3449 .field("state_cond", &self.state_cond)
3450 .field("state_cookie", &self.state_cookie)
3451 .field("target_state", &self.target_state)
3452 .field("current_state", &self.current_state)
3453 .field("next_state", &self.next_state)
3454 .field("pending_state", &self.pending_state)
3455 .field("last_return", &self.last_return)
3456 .field("bus", &self.bus)
3457 .field("clock", &self.clock)
3458 .field("base_time", &self.base_time)
3459 .field("start_time", &self.start_time)
3460 .field("numpads", &self.numpads)
3461 .field("pads", &self.pads)
3462 .field("numsrcpads", &self.numsrcpads)
3463 .field("srcpads", &self.srcpads)
3464 .field("numsinkpads", &self.numsinkpads)
3465 .field("sinkpads", &self.sinkpads)
3466 .field("pads_cookie", &self.pads_cookie)
3467 .field("contexts", &self.contexts)
3468 .finish()
3469 }
3470}
3471
3472#[repr(C)]
3473#[allow(dead_code)]
3474pub struct GstElementFactory {
3475 _data: [u8; 0],
3476 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3477}
3478
3479impl ::std::fmt::Debug for GstElementFactory {
3480 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3481 f.debug_struct(&format!("GstElementFactory @ {self:p}"))
3482 .finish()
3483 }
3484}
3485
3486#[repr(C)]
3487#[allow(dead_code)]
3488pub struct GstFlagSet {
3489 _data: [u8; 0],
3490 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3491}
3492
3493impl ::std::fmt::Debug for GstFlagSet {
3494 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3495 f.debug_struct(&format!("GstFlagSet @ {self:p}")).finish()
3496 }
3497}
3498
3499#[repr(C)]
3500#[allow(dead_code)]
3501pub struct GstFraction {
3502 _data: [u8; 0],
3503 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3504}
3505
3506impl ::std::fmt::Debug for GstFraction {
3507 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3508 f.debug_struct(&format!("GstFraction @ {self:p}")).finish()
3509 }
3510}
3511
3512#[repr(C)]
3513#[allow(dead_code)]
3514pub struct GstFractionRange {
3515 _data: [u8; 0],
3516 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3517}
3518
3519impl ::std::fmt::Debug for GstFractionRange {
3520 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3521 f.debug_struct(&format!("GstFractionRange @ {self:p}"))
3522 .finish()
3523 }
3524}
3525
3526#[derive(Copy, Clone)]
3527#[repr(C)]
3528pub struct GstGhostPad {
3529 pub pad: GstProxyPad,
3530 pub priv_: *mut GstGhostPadPrivate,
3531}
3532
3533impl ::std::fmt::Debug for GstGhostPad {
3534 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3535 f.debug_struct(&format!("GstGhostPad @ {self:p}"))
3536 .field("pad", &self.pad)
3537 .finish()
3538 }
3539}
3540
3541#[repr(C)]
3542#[allow(dead_code)]
3543pub struct GstInt64Range {
3544 _data: [u8; 0],
3545 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3546}
3547
3548impl ::std::fmt::Debug for GstInt64Range {
3549 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3550 f.debug_struct(&format!("GstInt64Range @ {self:p}"))
3551 .finish()
3552 }
3553}
3554
3555#[repr(C)]
3556#[allow(dead_code)]
3557pub struct GstIntRange {
3558 _data: [u8; 0],
3559 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3560}
3561
3562impl ::std::fmt::Debug for GstIntRange {
3563 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3564 f.debug_struct(&format!("GstIntRange @ {self:p}")).finish()
3565 }
3566}
3567
3568#[derive(Copy, Clone)]
3569#[repr(C)]
3570pub struct GstObject {
3571 pub object: gobject::GInitiallyUnowned,
3572 pub lock: glib::GMutex,
3573 pub name: *mut c_char,
3574 pub parent: *mut GstObject,
3575 pub flags: u32,
3576 pub control_bindings: *mut glib::GList,
3577 pub control_rate: u64,
3578 pub last_sync: u64,
3579 pub _gst_reserved: gpointer,
3580}
3581
3582impl ::std::fmt::Debug for GstObject {
3583 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3584 f.debug_struct(&format!("GstObject @ {self:p}"))
3585 .field("object", &self.object)
3586 .field("lock", &self.lock)
3587 .field("name", &self.name)
3588 .field("parent", &self.parent)
3589 .field("flags", &self.flags)
3590 .finish()
3591 }
3592}
3593
3594#[derive(Copy, Clone)]
3595#[repr(C)]
3596pub struct GstPad {
3597 pub object: GstObject,
3598 pub element_private: gpointer,
3599 pub padtemplate: *mut GstPadTemplate,
3600 pub direction: GstPadDirection,
3601 pub stream_rec_lock: glib::GRecMutex,
3602 pub task: *mut GstTask,
3603 pub block_cond: glib::GCond,
3604 pub probes: glib::GHookList,
3605 pub mode: GstPadMode,
3606 pub activatefunc: GstPadActivateFunction,
3607 pub activatedata: gpointer,
3608 pub activatenotify: glib::GDestroyNotify,
3609 pub activatemodefunc: GstPadActivateModeFunction,
3610 pub activatemodedata: gpointer,
3611 pub activatemodenotify: glib::GDestroyNotify,
3612 pub peer: *mut GstPad,
3613 pub linkfunc: GstPadLinkFunction,
3614 pub linkdata: gpointer,
3615 pub linknotify: glib::GDestroyNotify,
3616 pub unlinkfunc: GstPadUnlinkFunction,
3617 pub unlinkdata: gpointer,
3618 pub unlinknotify: glib::GDestroyNotify,
3619 pub chainfunc: GstPadChainFunction,
3620 pub chaindata: gpointer,
3621 pub chainnotify: glib::GDestroyNotify,
3622 pub chainlistfunc: GstPadChainListFunction,
3623 pub chainlistdata: gpointer,
3624 pub chainlistnotify: glib::GDestroyNotify,
3625 pub getrangefunc: GstPadGetRangeFunction,
3626 pub getrangedata: gpointer,
3627 pub getrangenotify: glib::GDestroyNotify,
3628 pub eventfunc: GstPadEventFunction,
3629 pub eventdata: gpointer,
3630 pub eventnotify: glib::GDestroyNotify,
3631 pub offset: i64,
3632 pub queryfunc: GstPadQueryFunction,
3633 pub querydata: gpointer,
3634 pub querynotify: glib::GDestroyNotify,
3635 pub iterintlinkfunc: GstPadIterIntLinkFunction,
3636 pub iterintlinkdata: gpointer,
3637 pub iterintlinknotify: glib::GDestroyNotify,
3638 pub num_probes: c_int,
3639 pub num_blocked: c_int,
3640 pub priv_: *mut GstPadPrivate,
3641 pub ABI: GstPad_ABI,
3642}
3643
3644impl ::std::fmt::Debug for GstPad {
3645 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3646 f.debug_struct(&format!("GstPad @ {self:p}"))
3647 .field("object", &self.object)
3648 .field("element_private", &self.element_private)
3649 .field("padtemplate", &self.padtemplate)
3650 .field("direction", &self.direction)
3651 .field("ABI", &self.ABI)
3652 .finish()
3653 }
3654}
3655
3656#[derive(Copy, Clone)]
3657#[repr(C)]
3658pub struct GstPadTemplate {
3659 pub object: GstObject,
3660 pub name_template: *mut c_char,
3661 pub direction: GstPadDirection,
3662 pub presence: GstPadPresence,
3663 pub caps: *mut GstCaps,
3664 pub ABI: GstPadTemplate_ABI,
3665}
3666
3667impl ::std::fmt::Debug for GstPadTemplate {
3668 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3669 f.debug_struct(&format!("GstPadTemplate @ {self:p}"))
3670 .field("object", &self.object)
3671 .field("name_template", &self.name_template)
3672 .field("direction", &self.direction)
3673 .field("presence", &self.presence)
3674 .field("caps", &self.caps)
3675 .field("ABI", &self.ABI)
3676 .finish()
3677 }
3678}
3679
3680#[repr(C)]
3681#[allow(dead_code)]
3682pub struct GstParamArray {
3683 _data: [u8; 0],
3684 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3685}
3686
3687impl ::std::fmt::Debug for GstParamArray {
3688 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3689 f.debug_struct(&format!("GstParamArray @ {self:p}"))
3690 .finish()
3691 }
3692}
3693
3694#[repr(C)]
3695#[allow(dead_code)]
3696pub struct GstParamFraction {
3697 _data: [u8; 0],
3698 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3699}
3700
3701impl ::std::fmt::Debug for GstParamFraction {
3702 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3703 f.debug_struct(&format!("GstParamFraction @ {self:p}"))
3704 .finish()
3705 }
3706}
3707
3708#[derive(Copy, Clone)]
3709#[repr(C)]
3710pub struct GstPipeline {
3711 pub bin: GstBin,
3712 pub fixed_clock: *mut GstClock,
3713 pub stream_time: GstClockTime,
3714 pub delay: GstClockTime,
3715 pub priv_: *mut GstPipelinePrivate,
3716 pub _gst_reserved: [gpointer; 4],
3717}
3718
3719impl ::std::fmt::Debug for GstPipeline {
3720 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3721 f.debug_struct(&format!("GstPipeline @ {self:p}"))
3722 .field("bin", &self.bin)
3723 .field("fixed_clock", &self.fixed_clock)
3724 .field("stream_time", &self.stream_time)
3725 .field("delay", &self.delay)
3726 .finish()
3727 }
3728}
3729
3730#[repr(C)]
3731#[allow(dead_code)]
3732pub struct GstPlugin {
3733 _data: [u8; 0],
3734 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3735}
3736
3737impl ::std::fmt::Debug for GstPlugin {
3738 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3739 f.debug_struct(&format!("GstPlugin @ {self:p}")).finish()
3740 }
3741}
3742
3743#[repr(C)]
3744#[allow(dead_code)]
3745pub struct GstPluginFeature {
3746 _data: [u8; 0],
3747 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3748}
3749
3750impl ::std::fmt::Debug for GstPluginFeature {
3751 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3752 f.debug_struct(&format!("GstPluginFeature @ {self:p}"))
3753 .finish()
3754 }
3755}
3756
3757#[derive(Copy, Clone)]
3758#[repr(C)]
3759pub struct GstProxyPad {
3760 pub pad: GstPad,
3761 pub priv_: *mut GstProxyPadPrivate,
3762}
3763
3764impl ::std::fmt::Debug for GstProxyPad {
3765 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3766 f.debug_struct(&format!("GstProxyPad @ {self:p}"))
3767 .field("pad", &self.pad)
3768 .finish()
3769 }
3770}
3771
3772#[derive(Copy, Clone)]
3773#[repr(C)]
3774pub struct GstRegistry {
3775 pub object: GstObject,
3776 pub priv_: *mut GstRegistryPrivate,
3777}
3778
3779impl ::std::fmt::Debug for GstRegistry {
3780 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3781 f.debug_struct(&format!("GstRegistry @ {self:p}"))
3782 .field("object", &self.object)
3783 .finish()
3784 }
3785}
3786
3787#[derive(Copy, Clone)]
3788#[repr(C)]
3789pub struct GstSharedTaskPool {
3790 pub parent: GstTaskPool,
3791 pub priv_: *mut GstSharedTaskPoolPrivate,
3792 pub _gst_reserved: [gpointer; 4],
3793}
3794
3795impl ::std::fmt::Debug for GstSharedTaskPool {
3796 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3797 f.debug_struct(&format!("GstSharedTaskPool @ {self:p}"))
3798 .field("parent", &self.parent)
3799 .finish()
3800 }
3801}
3802
3803#[derive(Copy, Clone)]
3804#[repr(C)]
3805pub struct GstStream {
3806 pub object: GstObject,
3807 pub stream_id: *const c_char,
3808 pub priv_: *mut GstStreamPrivate,
3809 pub _gst_reserved: [gpointer; 4],
3810}
3811
3812impl ::std::fmt::Debug for GstStream {
3813 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3814 f.debug_struct(&format!("GstStream @ {self:p}"))
3815 .field("stream_id", &self.stream_id)
3816 .finish()
3817 }
3818}
3819
3820#[derive(Copy, Clone)]
3821#[repr(C)]
3822pub struct GstStreamCollection {
3823 pub object: GstObject,
3824 pub upstream_id: *mut c_char,
3825 pub priv_: *mut GstStreamCollectionPrivate,
3826 pub _gst_reserved: [gpointer; 4],
3827}
3828
3829impl ::std::fmt::Debug for GstStreamCollection {
3830 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3831 f.debug_struct(&format!("GstStreamCollection @ {self:p}"))
3832 .finish()
3833 }
3834}
3835
3836#[derive(Copy, Clone)]
3837#[repr(C)]
3838pub struct GstSystemClock {
3839 pub clock: GstClock,
3840 pub priv_: *mut GstSystemClockPrivate,
3841 pub _gst_reserved: [gpointer; 4],
3842}
3843
3844impl ::std::fmt::Debug for GstSystemClock {
3845 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3846 f.debug_struct(&format!("GstSystemClock @ {self:p}"))
3847 .field("clock", &self.clock)
3848 .finish()
3849 }
3850}
3851
3852#[derive(Copy, Clone)]
3853#[repr(C)]
3854pub struct GstTask {
3855 pub object: GstObject,
3856 pub state: GstTaskState,
3857 pub cond: glib::GCond,
3858 pub lock: *mut glib::GRecMutex,
3859 pub func: GstTaskFunction,
3860 pub user_data: gpointer,
3861 pub notify: glib::GDestroyNotify,
3862 pub running: gboolean,
3863 pub thread: *mut glib::GThread,
3864 pub priv_: *mut GstTaskPrivate,
3865 pub _gst_reserved: [gpointer; 4],
3866}
3867
3868impl ::std::fmt::Debug for GstTask {
3869 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3870 f.debug_struct(&format!("GstTask @ {self:p}"))
3871 .field("object", &self.object)
3872 .field("state", &self.state)
3873 .field("cond", &self.cond)
3874 .field("lock", &self.lock)
3875 .field("func", &self.func)
3876 .field("user_data", &self.user_data)
3877 .field("notify", &self.notify)
3878 .field("running", &self.running)
3879 .finish()
3880 }
3881}
3882
3883#[derive(Copy, Clone)]
3884#[repr(C)]
3885pub struct GstTaskPool {
3886 pub object: GstObject,
3887 pub pool: *mut glib::GThreadPool,
3888 pub _gst_reserved: [gpointer; 4],
3889}
3890
3891impl ::std::fmt::Debug for GstTaskPool {
3892 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3893 f.debug_struct(&format!("GstTaskPool @ {self:p}"))
3894 .field("object", &self.object)
3895 .finish()
3896 }
3897}
3898
3899#[derive(Copy, Clone)]
3900#[repr(C)]
3901pub struct GstTracer {
3902 pub parent: GstObject,
3903 pub priv_: *mut GstTracerPrivate,
3904 pub _gst_reserved: [gpointer; 4],
3905}
3906
3907impl ::std::fmt::Debug for GstTracer {
3908 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3909 f.debug_struct(&format!("GstTracer @ {self:p}"))
3910 .field("parent", &self.parent)
3911 .finish()
3912 }
3913}
3914
3915#[repr(C)]
3916#[allow(dead_code)]
3917pub struct GstTracerFactory {
3918 _data: [u8; 0],
3919 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3920}
3921
3922impl ::std::fmt::Debug for GstTracerFactory {
3923 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3924 f.debug_struct(&format!("GstTracerFactory @ {self:p}"))
3925 .finish()
3926 }
3927}
3928
3929#[repr(C)]
3930#[allow(dead_code)]
3931pub struct GstTracerRecord {
3932 _data: [u8; 0],
3933 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3934}
3935
3936impl ::std::fmt::Debug for GstTracerRecord {
3937 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3938 f.debug_struct(&format!("GstTracerRecord @ {self:p}"))
3939 .finish()
3940 }
3941}
3942
3943#[repr(C)]
3944#[allow(dead_code)]
3945pub struct GstTypeFindFactory {
3946 _data: [u8; 0],
3947 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3948}
3949
3950impl ::std::fmt::Debug for GstTypeFindFactory {
3951 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3952 f.debug_struct(&format!("GstTypeFindFactory @ {self:p}"))
3953 .finish()
3954 }
3955}
3956
3957#[repr(C)]
3958#[allow(dead_code)]
3959pub struct GstValueArray {
3960 _data: [u8; 0],
3961 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3962}
3963
3964impl ::std::fmt::Debug for GstValueArray {
3965 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3966 f.debug_struct(&format!("GstValueArray @ {self:p}"))
3967 .finish()
3968 }
3969}
3970
3971#[repr(C)]
3972#[allow(dead_code)]
3973pub struct GstValueList {
3974 _data: [u8; 0],
3975 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3976}
3977
3978impl ::std::fmt::Debug for GstValueList {
3979 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3980 f.debug_struct(&format!("GstValueList @ {self:p}")).finish()
3981 }
3982}
3983
3984#[repr(C)]
3986#[allow(dead_code)]
3987pub struct GstChildProxy {
3988 _data: [u8; 0],
3989 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3990}
3991
3992impl ::std::fmt::Debug for GstChildProxy {
3993 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3994 write!(f, "GstChildProxy @ {self:p}")
3995 }
3996}
3997
3998#[repr(C)]
3999#[allow(dead_code)]
4000pub struct GstPreset {
4001 _data: [u8; 0],
4002 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4003}
4004
4005impl ::std::fmt::Debug for GstPreset {
4006 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4007 write!(f, "GstPreset @ {self:p}")
4008 }
4009}
4010
4011#[repr(C)]
4012#[allow(dead_code)]
4013pub struct GstTagSetter {
4014 _data: [u8; 0],
4015 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4016}
4017
4018impl ::std::fmt::Debug for GstTagSetter {
4019 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4020 write!(f, "GstTagSetter @ {self:p}")
4021 }
4022}
4023
4024#[repr(C)]
4025#[allow(dead_code)]
4026pub struct GstTocSetter {
4027 _data: [u8; 0],
4028 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4029}
4030
4031impl ::std::fmt::Debug for GstTocSetter {
4032 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4033 write!(f, "GstTocSetter @ {self:p}")
4034 }
4035}
4036
4037#[repr(C)]
4038#[allow(dead_code)]
4039pub struct GstURIHandler {
4040 _data: [u8; 0],
4041 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
4042}
4043
4044impl ::std::fmt::Debug for GstURIHandler {
4045 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4046 write!(f, "GstURIHandler @ {self:p}")
4047 }
4048}
4049
4050extern "C" {
4051
4052 pub fn gst_buffering_mode_get_type() -> GType;
4056
4057 pub fn gst_bus_sync_reply_get_type() -> GType;
4061
4062 pub fn gst_caps_intersect_mode_get_type() -> GType;
4066
4067 pub fn gst_clock_entry_type_get_type() -> GType;
4071
4072 pub fn gst_clock_return_get_type() -> GType;
4076
4077 pub fn gst_clock_type_get_type() -> GType;
4081
4082 pub fn gst_core_error_get_type() -> GType;
4086 pub fn gst_core_error_quark() -> glib::GQuark;
4087
4088 pub fn gst_debug_color_mode_get_type() -> GType;
4092
4093 pub fn gst_debug_level_get_type() -> GType;
4097 pub fn gst_debug_level_get_name(level: GstDebugLevel) -> *const c_char;
4098
4099 pub fn gst_event_type_get_type() -> GType;
4103 pub fn gst_event_type_get_flags(type_: GstEventType) -> GstEventTypeFlags;
4104 pub fn gst_event_type_get_name(type_: GstEventType) -> *const c_char;
4105 pub fn gst_event_type_to_quark(type_: GstEventType) -> glib::GQuark;
4106 #[cfg(feature = "v1_22")]
4107 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4108 pub fn gst_event_type_to_sticky_ordering(type_: GstEventType) -> c_uint;
4109
4110 pub fn gst_flow_return_get_type() -> GType;
4114
4115 pub fn gst_format_get_type() -> GType;
4119 pub fn gst_format_get_by_nick(nick: *const c_char) -> GstFormat;
4120 pub fn gst_format_get_details(format: GstFormat) -> *const GstFormatDefinition;
4121 pub fn gst_format_get_name(format: GstFormat) -> *const c_char;
4122 pub fn gst_format_iterate_definitions() -> *mut GstIterator;
4123 pub fn gst_format_register(nick: *const c_char, description: *const c_char) -> GstFormat;
4124 pub fn gst_format_to_quark(format: GstFormat) -> glib::GQuark;
4125
4126 pub fn gst_iterator_item_get_type() -> GType;
4130
4131 pub fn gst_iterator_result_get_type() -> GType;
4135
4136 pub fn gst_library_error_get_type() -> GType;
4140 pub fn gst_library_error_quark() -> glib::GQuark;
4141
4142 pub fn gst_pad_direction_get_type() -> GType;
4146
4147 pub fn gst_pad_link_return_get_type() -> GType;
4151
4152 pub fn gst_pad_mode_get_type() -> GType;
4156 pub fn gst_pad_mode_get_name(mode: GstPadMode) -> *const c_char;
4157
4158 pub fn gst_pad_presence_get_type() -> GType;
4162
4163 pub fn gst_pad_probe_return_get_type() -> GType;
4167
4168 pub fn gst_parse_error_get_type() -> GType;
4172 pub fn gst_parse_error_quark() -> glib::GQuark;
4173
4174 pub fn gst_plugin_error_get_type() -> GType;
4178 pub fn gst_plugin_error_quark() -> glib::GQuark;
4179
4180 pub fn gst_progress_type_get_type() -> GType;
4184
4185 pub fn gst_promise_result_get_type() -> GType;
4189
4190 pub fn gst_qos_type_get_type() -> GType;
4194
4195 pub fn gst_query_type_get_type() -> GType;
4199 pub fn gst_query_type_get_flags(type_: GstQueryType) -> GstQueryTypeFlags;
4200 pub fn gst_query_type_get_name(type_: GstQueryType) -> *const c_char;
4201 pub fn gst_query_type_to_quark(type_: GstQueryType) -> glib::GQuark;
4202
4203 pub fn gst_rank_get_type() -> GType;
4207
4208 pub fn gst_resource_error_get_type() -> GType;
4212 pub fn gst_resource_error_quark() -> glib::GQuark;
4213
4214 pub fn gst_search_mode_get_type() -> GType;
4218
4219 pub fn gst_seek_type_get_type() -> GType;
4223
4224 pub fn gst_state_get_type() -> GType;
4228
4229 pub fn gst_state_change_get_type() -> GType;
4233 pub fn gst_state_change_get_name(transition: GstStateChange) -> *const c_char;
4234
4235 pub fn gst_state_change_return_get_type() -> GType;
4239
4240 pub fn gst_stream_error_get_type() -> GType;
4244 pub fn gst_stream_error_quark() -> glib::GQuark;
4245
4246 pub fn gst_stream_status_type_get_type() -> GType;
4250
4251 pub fn gst_structure_change_type_get_type() -> GType;
4255
4256 pub fn gst_tag_flag_get_type() -> GType;
4260
4261 pub fn gst_tag_merge_mode_get_type() -> GType;
4265
4266 pub fn gst_tag_scope_get_type() -> GType;
4270
4271 pub fn gst_task_state_get_type() -> GType;
4275
4276 pub fn gst_toc_entry_type_get_type() -> GType;
4280 pub fn gst_toc_entry_type_get_nick(type_: GstTocEntryType) -> *const c_char;
4281
4282 pub fn gst_toc_loop_type_get_type() -> GType;
4286
4287 pub fn gst_toc_scope_get_type() -> GType;
4291
4292 pub fn gst_tracer_value_scope_get_type() -> GType;
4296
4297 pub fn gst_type_find_probability_get_type() -> GType;
4301
4302 pub fn gst_uri_error_get_type() -> GType;
4306 pub fn gst_uri_error_quark() -> glib::GQuark;
4307
4308 pub fn gst_uri_type_get_type() -> GType;
4312
4313 pub fn gst_allocator_flags_get_type() -> GType;
4317
4318 pub fn gst_bin_flags_get_type() -> GType;
4322
4323 pub fn gst_buffer_copy_flags_get_type() -> GType;
4327
4328 pub fn gst_buffer_flags_get_type() -> GType;
4332
4333 pub fn gst_buffer_pool_acquire_flags_get_type() -> GType;
4337
4338 pub fn gst_bus_flags_get_type() -> GType;
4342
4343 pub fn gst_caps_flags_get_type() -> GType;
4347
4348 pub fn gst_clock_flags_get_type() -> GType;
4352
4353 pub fn gst_debug_color_flags_get_type() -> GType;
4357
4358 pub fn gst_debug_graph_details_get_type() -> GType;
4362
4363 pub fn gst_element_flags_get_type() -> GType;
4367
4368 pub fn gst_event_type_flags_get_type() -> GType;
4372
4373 #[cfg(feature = "v1_20")]
4377 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4378 pub fn gst_gap_flags_get_type() -> GType;
4379
4380 pub fn gst_lock_flags_get_type() -> GType;
4384
4385 pub fn gst_map_flags_get_type() -> GType;
4389
4390 pub fn gst_memory_flags_get_type() -> GType;
4394
4395 pub fn gst_message_type_get_type() -> GType;
4399 pub fn gst_message_type_get_name(type_: GstMessageType) -> *const c_char;
4400 pub fn gst_message_type_to_quark(type_: GstMessageType) -> glib::GQuark;
4401
4402 pub fn gst_meta_flags_get_type() -> GType;
4406
4407 pub fn gst_mini_object_flags_get_type() -> GType;
4411
4412 pub fn gst_object_flags_get_type() -> GType;
4416
4417 pub fn gst_pad_flags_get_type() -> GType;
4421
4422 pub fn gst_pad_link_check_get_type() -> GType;
4426
4427 pub fn gst_pad_probe_type_get_type() -> GType;
4431
4432 pub fn gst_pad_template_flags_get_type() -> GType;
4436
4437 pub fn gst_parse_flags_get_type() -> GType;
4441
4442 pub fn gst_pipeline_flags_get_type() -> GType;
4446
4447 #[cfg(feature = "v1_18")]
4451 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4452 pub fn gst_plugin_api_flags_get_type() -> GType;
4453
4454 pub fn gst_plugin_dependency_flags_get_type() -> GType;
4458
4459 pub fn gst_plugin_flags_get_type() -> GType;
4463
4464 pub fn gst_query_type_flags_get_type() -> GType;
4468
4469 pub fn gst_scheduling_flags_get_type() -> GType;
4473
4474 pub fn gst_seek_flags_get_type() -> GType;
4478
4479 pub fn gst_segment_flags_get_type() -> GType;
4483
4484 #[cfg(feature = "v1_20")]
4488 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4489 pub fn gst_serialize_flags_get_type() -> GType;
4490
4491 pub fn gst_stack_trace_flags_get_type() -> GType;
4495
4496 pub fn gst_stream_flags_get_type() -> GType;
4500
4501 pub fn gst_stream_type_get_type() -> GType;
4505 pub fn gst_stream_type_get_name(stype: GstStreamType) -> *const c_char;
4506
4507 pub fn gst_tracer_value_flags_get_type() -> GType;
4511
4512 pub fn gst_allocation_params_get_type() -> GType;
4516 #[cfg(feature = "v1_20")]
4517 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4518 pub fn gst_allocation_params_new() -> *mut GstAllocationParams;
4519 pub fn gst_allocation_params_copy(
4520 params: *const GstAllocationParams,
4521 ) -> *mut GstAllocationParams;
4522 pub fn gst_allocation_params_free(params: *mut GstAllocationParams);
4523 pub fn gst_allocation_params_init(params: *mut GstAllocationParams);
4524
4525 pub fn gst_atomic_queue_get_type() -> GType;
4529 pub fn gst_atomic_queue_new(initial_size: c_uint) -> *mut GstAtomicQueue;
4530 pub fn gst_atomic_queue_length(queue: *mut GstAtomicQueue) -> c_uint;
4531 pub fn gst_atomic_queue_peek(queue: *mut GstAtomicQueue) -> gpointer;
4532 pub fn gst_atomic_queue_pop(queue: *mut GstAtomicQueue) -> gpointer;
4533 pub fn gst_atomic_queue_push(queue: *mut GstAtomicQueue, data: gpointer);
4534 pub fn gst_atomic_queue_ref(queue: *mut GstAtomicQueue);
4535 pub fn gst_atomic_queue_unref(queue: *mut GstAtomicQueue);
4536
4537 pub fn gst_buffer_get_type() -> GType;
4541 pub fn gst_buffer_new() -> *mut GstBuffer;
4542 pub fn gst_buffer_new_allocate(
4543 allocator: *mut GstAllocator,
4544 size: size_t,
4545 params: *mut GstAllocationParams,
4546 ) -> *mut GstBuffer;
4547 #[cfg(feature = "v1_20")]
4548 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4549 pub fn gst_buffer_new_memdup(data: gconstpointer, size: size_t) -> *mut GstBuffer;
4550 pub fn gst_buffer_new_wrapped(data: gpointer, size: size_t) -> *mut GstBuffer;
4551 #[cfg(feature = "v1_16")]
4552 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4553 pub fn gst_buffer_new_wrapped_bytes(bytes: *mut glib::GBytes) -> *mut GstBuffer;
4554 pub fn gst_buffer_new_wrapped_full(
4555 flags: GstMemoryFlags,
4556 data: gpointer,
4557 maxsize: size_t,
4558 offset: size_t,
4559 size: size_t,
4560 user_data: gpointer,
4561 notify: glib::GDestroyNotify,
4562 ) -> *mut GstBuffer;
4563 #[cfg(feature = "v1_20")]
4564 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4565 pub fn gst_buffer_add_custom_meta(
4566 buffer: *mut GstBuffer,
4567 name: *const c_char,
4568 ) -> *mut GstCustomMeta;
4569 pub fn gst_buffer_add_meta(
4570 buffer: *mut GstBuffer,
4571 info: *const GstMetaInfo,
4572 params: gpointer,
4573 ) -> *mut GstMeta;
4574 pub fn gst_buffer_add_parent_buffer_meta(
4575 buffer: *mut GstBuffer,
4576 ref_: *mut GstBuffer,
4577 ) -> *mut GstParentBufferMeta;
4578 pub fn gst_buffer_add_protection_meta(
4579 buffer: *mut GstBuffer,
4580 info: *mut GstStructure,
4581 ) -> *mut GstProtectionMeta;
4582 pub fn gst_buffer_add_reference_timestamp_meta(
4583 buffer: *mut GstBuffer,
4584 reference: *mut GstCaps,
4585 timestamp: GstClockTime,
4586 duration: GstClockTime,
4587 ) -> *mut GstReferenceTimestampMeta;
4588 pub fn gst_buffer_append(buf1: *mut GstBuffer, buf2: *mut GstBuffer) -> *mut GstBuffer;
4589 pub fn gst_buffer_append_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4590 pub fn gst_buffer_append_region(
4591 buf1: *mut GstBuffer,
4592 buf2: *mut GstBuffer,
4593 offset: ssize_t,
4594 size: ssize_t,
4595 ) -> *mut GstBuffer;
4596 #[cfg(feature = "v1_18_3")]
4597 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4598 pub fn gst_buffer_copy(buf: *const GstBuffer) -> *mut GstBuffer;
4599 pub fn gst_buffer_copy_deep(buf: *const GstBuffer) -> *mut GstBuffer;
4600 pub fn gst_buffer_copy_into(
4601 dest: *mut GstBuffer,
4602 src: *mut GstBuffer,
4603 flags: GstBufferCopyFlags,
4604 offset: size_t,
4605 size: size_t,
4606 ) -> gboolean;
4607 pub fn gst_buffer_copy_region(
4608 parent: *mut GstBuffer,
4609 flags: GstBufferCopyFlags,
4610 offset: size_t,
4611 size: size_t,
4612 ) -> *mut GstBuffer;
4613 pub fn gst_buffer_extract(
4614 buffer: *mut GstBuffer,
4615 offset: size_t,
4616 dest: gpointer,
4617 size: size_t,
4618 ) -> size_t;
4619 pub fn gst_buffer_extract_dup(
4620 buffer: *mut GstBuffer,
4621 offset: size_t,
4622 size: size_t,
4623 dest: *mut u8,
4624 dest_size: *mut size_t,
4625 );
4626 pub fn gst_buffer_fill(
4627 buffer: *mut GstBuffer,
4628 offset: size_t,
4629 src: gconstpointer,
4630 size: size_t,
4631 ) -> size_t;
4632 pub fn gst_buffer_find_memory(
4633 buffer: *mut GstBuffer,
4634 offset: size_t,
4635 size: size_t,
4636 idx: *mut c_uint,
4637 length: *mut c_uint,
4638 skip: *mut size_t,
4639 ) -> gboolean;
4640 pub fn gst_buffer_foreach_meta(
4641 buffer: *mut GstBuffer,
4642 func: GstBufferForeachMetaFunc,
4643 user_data: gpointer,
4644 ) -> gboolean;
4645 pub fn gst_buffer_get_all_memory(buffer: *mut GstBuffer) -> *mut GstMemory;
4646 #[cfg(feature = "v1_20")]
4647 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4648 pub fn gst_buffer_get_custom_meta(
4649 buffer: *mut GstBuffer,
4650 name: *const c_char,
4651 ) -> *mut GstCustomMeta;
4652 pub fn gst_buffer_get_flags(buffer: *mut GstBuffer) -> GstBufferFlags;
4653 pub fn gst_buffer_get_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory;
4654 pub fn gst_buffer_get_memory_range(
4655 buffer: *mut GstBuffer,
4656 idx: c_uint,
4657 length: c_int,
4658 ) -> *mut GstMemory;
4659 pub fn gst_buffer_get_meta(buffer: *mut GstBuffer, api: GType) -> *mut GstMeta;
4660 pub fn gst_buffer_get_n_meta(buffer: *mut GstBuffer, api_type: GType) -> c_uint;
4661 pub fn gst_buffer_get_reference_timestamp_meta(
4662 buffer: *mut GstBuffer,
4663 reference: *mut GstCaps,
4664 ) -> *mut GstReferenceTimestampMeta;
4665 pub fn gst_buffer_get_size(buffer: *mut GstBuffer) -> size_t;
4666 pub fn gst_buffer_get_sizes(
4667 buffer: *mut GstBuffer,
4668 offset: *mut size_t,
4669 maxsize: *mut size_t,
4670 ) -> size_t;
4671 pub fn gst_buffer_get_sizes_range(
4672 buffer: *mut GstBuffer,
4673 idx: c_uint,
4674 length: c_int,
4675 offset: *mut size_t,
4676 maxsize: *mut size_t,
4677 ) -> size_t;
4678 pub fn gst_buffer_has_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4679 pub fn gst_buffer_insert_memory(buffer: *mut GstBuffer, idx: c_int, mem: *mut GstMemory);
4680 pub fn gst_buffer_is_all_memory_writable(buffer: *mut GstBuffer) -> gboolean;
4681 pub fn gst_buffer_is_memory_range_writable(
4682 buffer: *mut GstBuffer,
4683 idx: c_uint,
4684 length: c_int,
4685 ) -> gboolean;
4686 pub fn gst_buffer_iterate_meta(buffer: *mut GstBuffer, state: *mut gpointer) -> *mut GstMeta;
4687 pub fn gst_buffer_iterate_meta_filtered(
4688 buffer: *mut GstBuffer,
4689 state: *mut gpointer,
4690 meta_api_type: GType,
4691 ) -> *mut GstMeta;
4692 pub fn gst_buffer_map(
4693 buffer: *mut GstBuffer,
4694 info: *mut GstMapInfo,
4695 flags: GstMapFlags,
4696 ) -> gboolean;
4697 pub fn gst_buffer_map_range(
4698 buffer: *mut GstBuffer,
4699 idx: c_uint,
4700 length: c_int,
4701 info: *mut GstMapInfo,
4702 flags: GstMapFlags,
4703 ) -> gboolean;
4704 pub fn gst_buffer_memcmp(
4705 buffer: *mut GstBuffer,
4706 offset: size_t,
4707 mem: gconstpointer,
4708 size: size_t,
4709 ) -> c_int;
4710 pub fn gst_buffer_memset(
4711 buffer: *mut GstBuffer,
4712 offset: size_t,
4713 val: u8,
4714 size: size_t,
4715 ) -> size_t;
4716 pub fn gst_buffer_n_memory(buffer: *mut GstBuffer) -> c_uint;
4717 pub fn gst_buffer_peek_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory;
4718 pub fn gst_buffer_prepend_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4719 #[cfg(feature = "v1_18_3")]
4720 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4721 pub fn gst_buffer_ref(buf: *mut GstBuffer) -> *mut GstBuffer;
4722 pub fn gst_buffer_remove_all_memory(buffer: *mut GstBuffer);
4723 pub fn gst_buffer_remove_memory(buffer: *mut GstBuffer, idx: c_uint);
4724 pub fn gst_buffer_remove_memory_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int);
4725 pub fn gst_buffer_remove_meta(buffer: *mut GstBuffer, meta: *mut GstMeta) -> gboolean;
4726 pub fn gst_buffer_replace_all_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4727 pub fn gst_buffer_replace_memory(buffer: *mut GstBuffer, idx: c_uint, mem: *mut GstMemory);
4728 pub fn gst_buffer_replace_memory_range(
4729 buffer: *mut GstBuffer,
4730 idx: c_uint,
4731 length: c_int,
4732 mem: *mut GstMemory,
4733 );
4734 pub fn gst_buffer_resize(buffer: *mut GstBuffer, offset: ssize_t, size: ssize_t);
4735 pub fn gst_buffer_resize_range(
4736 buffer: *mut GstBuffer,
4737 idx: c_uint,
4738 length: c_int,
4739 offset: ssize_t,
4740 size: ssize_t,
4741 ) -> gboolean;
4742 pub fn gst_buffer_set_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4743 pub fn gst_buffer_set_size(buffer: *mut GstBuffer, size: ssize_t);
4744 pub fn gst_buffer_unmap(buffer: *mut GstBuffer, info: *mut GstMapInfo);
4745 #[cfg(feature = "v1_18_3")]
4746 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4747 pub fn gst_buffer_unref(buf: *mut GstBuffer);
4748 pub fn gst_buffer_unset_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4749 pub fn gst_buffer_get_max_memory() -> c_uint;
4750 #[cfg(feature = "v1_18_3")]
4751 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4752 pub fn gst_buffer_replace(obuf: *mut *mut GstBuffer, nbuf: *mut GstBuffer) -> gboolean;
4753
4754 pub fn gst_buffer_list_get_type() -> GType;
4758 pub fn gst_buffer_list_new() -> *mut GstBufferList;
4759 pub fn gst_buffer_list_new_sized(size: c_uint) -> *mut GstBufferList;
4760 pub fn gst_buffer_list_calculate_size(list: *mut GstBufferList) -> size_t;
4761 #[cfg(feature = "v1_18_3")]
4762 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4763 pub fn gst_buffer_list_copy(list: *const GstBufferList) -> *mut GstBufferList;
4764 pub fn gst_buffer_list_copy_deep(list: *const GstBufferList) -> *mut GstBufferList;
4765 pub fn gst_buffer_list_foreach(
4766 list: *mut GstBufferList,
4767 func: GstBufferListFunc,
4768 user_data: gpointer,
4769 ) -> gboolean;
4770 pub fn gst_buffer_list_get(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
4771 pub fn gst_buffer_list_get_writable(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
4772 pub fn gst_buffer_list_insert(list: *mut GstBufferList, idx: c_int, buffer: *mut GstBuffer);
4773 pub fn gst_buffer_list_length(list: *mut GstBufferList) -> c_uint;
4774 #[cfg(feature = "v1_18_3")]
4775 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4776 pub fn gst_buffer_list_ref(list: *mut GstBufferList) -> *mut GstBufferList;
4777 pub fn gst_buffer_list_remove(list: *mut GstBufferList, idx: c_uint, length: c_uint);
4778 #[cfg(feature = "v1_18_3")]
4779 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4780 pub fn gst_buffer_list_unref(list: *mut GstBufferList);
4781 #[cfg(feature = "v1_18_3")]
4782 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4783 pub fn gst_buffer_list_replace(
4784 old_list: *mut *mut GstBufferList,
4785 new_list: *mut GstBufferList,
4786 ) -> gboolean;
4787 #[cfg(feature = "v1_18_3")]
4788 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4789 pub fn gst_buffer_list_take(
4790 old_list: *mut *mut GstBufferList,
4791 new_list: *mut GstBufferList,
4792 ) -> gboolean;
4793
4794 pub fn gst_caps_get_type() -> GType;
4798 pub fn gst_caps_new_any() -> *mut GstCaps;
4799 pub fn gst_caps_new_empty() -> *mut GstCaps;
4800 pub fn gst_caps_new_empty_simple(media_type: *const c_char) -> *mut GstCaps;
4801 pub fn gst_caps_new_full(struct1: *mut GstStructure, ...) -> *mut GstCaps;
4802 #[cfg(feature = "v1_26")]
4804 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4805 pub fn gst_caps_new_id_str_empty_simple(media_type: *const GstIdStr) -> *mut GstCaps;
4806 #[cfg(feature = "v1_26")]
4807 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4808 pub fn gst_caps_new_id_str_simple(
4809 media_type: *const GstIdStr,
4810 fieldname: *const GstIdStr,
4811 ...
4812 ) -> *mut GstCaps;
4813 pub fn gst_caps_new_simple(
4814 media_type: *const c_char,
4815 fieldname: *const c_char,
4816 ...
4817 ) -> *mut GstCaps;
4818 #[cfg(feature = "v1_26")]
4819 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4820 pub fn gst_caps_new_static_str_empty_simple(media_type: *const c_char) -> *mut GstCaps;
4821 #[cfg(feature = "v1_26")]
4822 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4823 pub fn gst_caps_new_static_str_simple(
4824 media_type: *const c_char,
4825 fieldname: *const c_char,
4826 ...
4827 ) -> *mut GstCaps;
4828 pub fn gst_caps_append(caps1: *mut GstCaps, caps2: *mut GstCaps);
4829 pub fn gst_caps_append_structure(caps: *mut GstCaps, structure: *mut GstStructure);
4830 pub fn gst_caps_append_structure_full(
4831 caps: *mut GstCaps,
4832 structure: *mut GstStructure,
4833 features: *mut GstCapsFeatures,
4834 );
4835 pub fn gst_caps_can_intersect(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4836 #[cfg(feature = "v1_16")]
4837 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4838 pub fn gst_caps_copy(caps: *const GstCaps) -> *mut GstCaps;
4839 #[cfg(feature = "v1_16")]
4840 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4841 pub fn gst_caps_copy_nth(caps: *const GstCaps, nth: c_uint) -> *mut GstCaps;
4842 pub fn gst_caps_filter_and_map_in_place(
4843 caps: *mut GstCaps,
4844 func: GstCapsFilterMapFunc,
4845 user_data: gpointer,
4846 );
4847 pub fn gst_caps_fixate(caps: *mut GstCaps) -> *mut GstCaps;
4848 pub fn gst_caps_foreach(
4849 caps: *const GstCaps,
4850 func: GstCapsForeachFunc,
4851 user_data: gpointer,
4852 ) -> gboolean;
4853 pub fn gst_caps_get_features(caps: *const GstCaps, index: c_uint) -> *mut GstCapsFeatures;
4854 pub fn gst_caps_get_size(caps: *const GstCaps) -> c_uint;
4855 pub fn gst_caps_get_structure(caps: *const GstCaps, index: c_uint) -> *mut GstStructure;
4856 #[cfg(feature = "v1_26")]
4857 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4858 pub fn gst_caps_id_str_set_simple(caps: *mut GstCaps, field: *const GstIdStr, ...);
4859 #[cfg(feature = "v1_26")]
4863 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4864 pub fn gst_caps_id_str_set_value(
4865 caps: *mut GstCaps,
4866 field: *const GstIdStr,
4867 value: *const gobject::GValue,
4868 );
4869 pub fn gst_caps_intersect(caps1: *mut GstCaps, caps2: *mut GstCaps) -> *mut GstCaps;
4870 pub fn gst_caps_intersect_full(
4871 caps1: *mut GstCaps,
4872 caps2: *mut GstCaps,
4873 mode: GstCapsIntersectMode,
4874 ) -> *mut GstCaps;
4875 pub fn gst_caps_is_always_compatible(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4876 pub fn gst_caps_is_any(caps: *const GstCaps) -> gboolean;
4877 pub fn gst_caps_is_empty(caps: *const GstCaps) -> gboolean;
4878 pub fn gst_caps_is_equal(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4879 pub fn gst_caps_is_equal_fixed(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4880 pub fn gst_caps_is_fixed(caps: *const GstCaps) -> gboolean;
4881 pub fn gst_caps_is_strictly_equal(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4882 pub fn gst_caps_is_subset(subset: *const GstCaps, superset: *const GstCaps) -> gboolean;
4883 pub fn gst_caps_is_subset_structure(
4884 caps: *const GstCaps,
4885 structure: *const GstStructure,
4886 ) -> gboolean;
4887 pub fn gst_caps_is_subset_structure_full(
4888 caps: *const GstCaps,
4889 structure: *const GstStructure,
4890 features: *const GstCapsFeatures,
4891 ) -> gboolean;
4892 pub fn gst_caps_map_in_place(
4893 caps: *mut GstCaps,
4894 func: GstCapsMapFunc,
4895 user_data: gpointer,
4896 ) -> gboolean;
4897 pub fn gst_caps_merge(caps1: *mut GstCaps, caps2: *mut GstCaps) -> *mut GstCaps;
4898 pub fn gst_caps_merge_structure(
4899 caps: *mut GstCaps,
4900 structure: *mut GstStructure,
4901 ) -> *mut GstCaps;
4902 pub fn gst_caps_merge_structure_full(
4903 caps: *mut GstCaps,
4904 structure: *mut GstStructure,
4905 features: *mut GstCapsFeatures,
4906 ) -> *mut GstCaps;
4907 pub fn gst_caps_normalize(caps: *mut GstCaps) -> *mut GstCaps;
4908 #[cfg(feature = "v1_18_3")]
4909 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4910 pub fn gst_caps_ref(caps: *mut GstCaps) -> *mut GstCaps;
4911 pub fn gst_caps_remove_structure(caps: *mut GstCaps, idx: c_uint);
4912 #[cfg(feature = "v1_20")]
4913 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4914 pub fn gst_caps_serialize(caps: *const GstCaps, flags: GstSerializeFlags) -> *mut c_char;
4915 pub fn gst_caps_set_features(caps: *mut GstCaps, index: c_uint, features: *mut GstCapsFeatures);
4916 #[cfg(feature = "v1_16")]
4917 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4918 pub fn gst_caps_set_features_simple(caps: *mut GstCaps, features: *mut GstCapsFeatures);
4919 pub fn gst_caps_set_simple(caps: *mut GstCaps, field: *const c_char, ...);
4920 #[cfg(feature = "v1_26")]
4921 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4922 pub fn gst_caps_set_simple_static_str(caps: *mut GstCaps, field: *const c_char, ...);
4923 pub fn gst_caps_set_value(
4928 caps: *mut GstCaps,
4929 field: *const c_char,
4930 value: *const gobject::GValue,
4931 );
4932 #[cfg(feature = "v1_26")]
4933 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4934 pub fn gst_caps_set_value_static_str(
4935 caps: *mut GstCaps,
4936 field: *const c_char,
4937 value: *const gobject::GValue,
4938 );
4939 pub fn gst_caps_simplify(caps: *mut GstCaps) -> *mut GstCaps;
4940 pub fn gst_caps_steal_structure(caps: *mut GstCaps, index: c_uint) -> *mut GstStructure;
4941 pub fn gst_caps_subtract(minuend: *mut GstCaps, subtrahend: *mut GstCaps) -> *mut GstCaps;
4942 pub fn gst_caps_to_string(caps: *const GstCaps) -> *mut c_char;
4943 pub fn gst_caps_truncate(caps: *mut GstCaps) -> *mut GstCaps;
4944 #[cfg(feature = "v1_18_3")]
4945 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4946 pub fn gst_caps_unref(caps: *mut GstCaps);
4947 pub fn gst_caps_from_string(string: *const c_char) -> *mut GstCaps;
4948 #[cfg(feature = "v1_18_3")]
4949 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4950 pub fn gst_caps_replace(old_caps: *mut *mut GstCaps, new_caps: *mut GstCaps) -> gboolean;
4951 #[cfg(feature = "v1_18_3")]
4952 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4953 pub fn gst_caps_take(old_caps: *mut *mut GstCaps, new_caps: *mut GstCaps) -> gboolean;
4954
4955 pub fn gst_caps_features_get_type() -> GType;
4959 pub fn gst_caps_features_new(feature1: *const c_char, ...) -> *mut GstCapsFeatures;
4960 pub fn gst_caps_features_new_any() -> *mut GstCapsFeatures;
4961 pub fn gst_caps_features_new_empty() -> *mut GstCapsFeatures;
4962 pub fn gst_caps_features_new_id(feature1: glib::GQuark, ...) -> *mut GstCapsFeatures;
4963 #[cfg(feature = "v1_26")]
4964 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4965 pub fn gst_caps_features_new_id_str(feature1: *const GstIdStr, ...) -> *mut GstCapsFeatures;
4966 #[cfg(feature = "v1_20")]
4971 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4972 pub fn gst_caps_features_new_single(feature: *const c_char) -> *mut GstCapsFeatures;
4973 #[cfg(feature = "v1_26")]
4974 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4975 pub fn gst_caps_features_new_single_static_str(feature: *const c_char) -> *mut GstCapsFeatures;
4976 #[cfg(feature = "v1_26")]
4977 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4978 pub fn gst_caps_features_new_static_str(feature1: *const c_char, ...) -> *mut GstCapsFeatures;
4979 pub fn gst_caps_features_add(features: *mut GstCapsFeatures, feature: *const c_char);
4984 pub fn gst_caps_features_add_id(features: *mut GstCapsFeatures, feature: glib::GQuark);
4985 #[cfg(feature = "v1_26")]
4986 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4987 pub fn gst_caps_features_add_id_str(features: *mut GstCapsFeatures, feature: *const GstIdStr);
4988 #[cfg(feature = "v1_26")]
4989 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
4990 pub fn gst_caps_features_add_static_str(features: *mut GstCapsFeatures, feature: *const c_char);
4991 pub fn gst_caps_features_contains(
4992 features: *const GstCapsFeatures,
4993 feature: *const c_char,
4994 ) -> gboolean;
4995 pub fn gst_caps_features_contains_id(
4996 features: *const GstCapsFeatures,
4997 feature: glib::GQuark,
4998 ) -> gboolean;
4999 #[cfg(feature = "v1_26")]
5000 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5001 pub fn gst_caps_features_contains_id_str(
5002 features: *const GstCapsFeatures,
5003 feature: *const GstIdStr,
5004 ) -> gboolean;
5005 pub fn gst_caps_features_copy(features: *const GstCapsFeatures) -> *mut GstCapsFeatures;
5006 pub fn gst_caps_features_free(features: *mut GstCapsFeatures);
5007 pub fn gst_caps_features_get_nth(features: *const GstCapsFeatures, i: c_uint) -> *const c_char;
5008 pub fn gst_caps_features_get_nth_id(
5009 features: *const GstCapsFeatures,
5010 i: c_uint,
5011 ) -> glib::GQuark;
5012 #[cfg(feature = "v1_26")]
5013 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5014 pub fn gst_caps_features_get_nth_id_str(
5015 features: *const GstCapsFeatures,
5016 i: c_uint,
5017 ) -> *const GstIdStr;
5018 pub fn gst_caps_features_get_size(features: *const GstCapsFeatures) -> c_uint;
5019 pub fn gst_caps_features_is_any(features: *const GstCapsFeatures) -> gboolean;
5020 pub fn gst_caps_features_is_equal(
5021 features1: *const GstCapsFeatures,
5022 features2: *const GstCapsFeatures,
5023 ) -> gboolean;
5024 pub fn gst_caps_features_remove(features: *mut GstCapsFeatures, feature: *const c_char);
5025 pub fn gst_caps_features_remove_id(features: *mut GstCapsFeatures, feature: glib::GQuark);
5026 #[cfg(feature = "v1_26")]
5027 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5028 pub fn gst_caps_features_remove_id_str(
5029 features: *mut GstCapsFeatures,
5030 feature: *const GstIdStr,
5031 );
5032 pub fn gst_caps_features_set_parent_refcount(
5033 features: *mut GstCapsFeatures,
5034 refcount: *mut c_int,
5035 ) -> gboolean;
5036 pub fn gst_caps_features_to_string(features: *const GstCapsFeatures) -> *mut c_char;
5037 pub fn gst_caps_features_from_string(features: *const c_char) -> *mut GstCapsFeatures;
5038
5039 pub fn gst_context_get_type() -> GType;
5043 pub fn gst_context_new(context_type: *const c_char, persistent: gboolean) -> *mut GstContext;
5044 #[cfg(feature = "v1_18_3")]
5045 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5046 pub fn gst_context_copy(context: *const GstContext) -> *mut GstContext;
5047 pub fn gst_context_get_context_type(context: *const GstContext) -> *const c_char;
5048 pub fn gst_context_get_structure(context: *const GstContext) -> *const GstStructure;
5049 pub fn gst_context_has_context_type(
5050 context: *const GstContext,
5051 context_type: *const c_char,
5052 ) -> gboolean;
5053 pub fn gst_context_is_persistent(context: *const GstContext) -> gboolean;
5054 #[cfg(feature = "v1_18_3")]
5055 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5056 pub fn gst_context_ref(context: *mut GstContext) -> *mut GstContext;
5057 #[cfg(feature = "v1_18_3")]
5058 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5059 pub fn gst_context_unref(context: *mut GstContext);
5060 pub fn gst_context_writable_structure(context: *mut GstContext) -> *mut GstStructure;
5061 #[cfg(feature = "v1_18_3")]
5062 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5063 pub fn gst_context_replace(
5064 old_context: *mut *mut GstContext,
5065 new_context: *mut GstContext,
5066 ) -> gboolean;
5067
5068 #[cfg(feature = "v1_20")]
5072 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5073 pub fn gst_custom_meta_get_structure(meta: *mut GstCustomMeta) -> *mut GstStructure;
5074 #[cfg(feature = "v1_20")]
5075 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5076 pub fn gst_custom_meta_has_name(meta: *mut GstCustomMeta, name: *const c_char) -> gboolean;
5077
5078 pub fn gst_date_time_get_type() -> GType;
5082 pub fn gst_date_time_new(
5083 tzoffset: c_float,
5084 year: c_int,
5085 month: c_int,
5086 day: c_int,
5087 hour: c_int,
5088 minute: c_int,
5089 seconds: c_double,
5090 ) -> *mut GstDateTime;
5091 pub fn gst_date_time_new_from_g_date_time(dt: *mut glib::GDateTime) -> *mut GstDateTime;
5092 pub fn gst_date_time_new_from_iso8601_string(string: *const c_char) -> *mut GstDateTime;
5093 pub fn gst_date_time_new_from_unix_epoch_local_time(secs: i64) -> *mut GstDateTime;
5094 #[cfg(feature = "v1_18")]
5095 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5096 pub fn gst_date_time_new_from_unix_epoch_local_time_usecs(usecs: i64) -> *mut GstDateTime;
5097 pub fn gst_date_time_new_from_unix_epoch_utc(secs: i64) -> *mut GstDateTime;
5098 #[cfg(feature = "v1_18")]
5099 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5100 pub fn gst_date_time_new_from_unix_epoch_utc_usecs(usecs: i64) -> *mut GstDateTime;
5101 pub fn gst_date_time_new_local_time(
5102 year: c_int,
5103 month: c_int,
5104 day: c_int,
5105 hour: c_int,
5106 minute: c_int,
5107 seconds: c_double,
5108 ) -> *mut GstDateTime;
5109 pub fn gst_date_time_new_now_local_time() -> *mut GstDateTime;
5110 pub fn gst_date_time_new_now_utc() -> *mut GstDateTime;
5111 pub fn gst_date_time_new_y(year: c_int) -> *mut GstDateTime;
5112 pub fn gst_date_time_new_ym(year: c_int, month: c_int) -> *mut GstDateTime;
5113 pub fn gst_date_time_new_ymd(year: c_int, month: c_int, day: c_int) -> *mut GstDateTime;
5114 pub fn gst_date_time_get_day(datetime: *const GstDateTime) -> c_int;
5115 pub fn gst_date_time_get_hour(datetime: *const GstDateTime) -> c_int;
5116 pub fn gst_date_time_get_microsecond(datetime: *const GstDateTime) -> c_int;
5117 pub fn gst_date_time_get_minute(datetime: *const GstDateTime) -> c_int;
5118 pub fn gst_date_time_get_month(datetime: *const GstDateTime) -> c_int;
5119 pub fn gst_date_time_get_second(datetime: *const GstDateTime) -> c_int;
5120 pub fn gst_date_time_get_time_zone_offset(datetime: *const GstDateTime) -> c_float;
5121 pub fn gst_date_time_get_year(datetime: *const GstDateTime) -> c_int;
5122 pub fn gst_date_time_has_day(datetime: *const GstDateTime) -> gboolean;
5123 pub fn gst_date_time_has_month(datetime: *const GstDateTime) -> gboolean;
5124 pub fn gst_date_time_has_second(datetime: *const GstDateTime) -> gboolean;
5125 pub fn gst_date_time_has_time(datetime: *const GstDateTime) -> gboolean;
5126 pub fn gst_date_time_has_year(datetime: *const GstDateTime) -> gboolean;
5127 pub fn gst_date_time_ref(datetime: *mut GstDateTime) -> *mut GstDateTime;
5128 pub fn gst_date_time_to_g_date_time(datetime: *mut GstDateTime) -> *mut glib::GDateTime;
5129 pub fn gst_date_time_to_iso8601_string(datetime: *mut GstDateTime) -> *mut c_char;
5130 pub fn gst_date_time_unref(datetime: *mut GstDateTime);
5131
5132 pub fn gst_debug_category_free(category: *mut GstDebugCategory);
5136 pub fn gst_debug_category_get_color(category: *mut GstDebugCategory) -> c_uint;
5137 pub fn gst_debug_category_get_description(category: *mut GstDebugCategory) -> *const c_char;
5138 pub fn gst_debug_category_get_name(category: *mut GstDebugCategory) -> *const c_char;
5139 pub fn gst_debug_category_get_threshold(category: *mut GstDebugCategory) -> GstDebugLevel;
5140 pub fn gst_debug_category_reset_threshold(category: *mut GstDebugCategory);
5141 pub fn gst_debug_category_set_threshold(category: *mut GstDebugCategory, level: GstDebugLevel);
5142
5143 pub fn gst_debug_message_get(message: *mut GstDebugMessage) -> *const c_char;
5147 #[cfg(feature = "v1_22")]
5148 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5149 pub fn gst_debug_message_get_id(message: *mut GstDebugMessage) -> *const c_char;
5150
5151 pub fn gst_device_provider_class_add_metadata(
5155 klass: *mut GstDeviceProviderClass,
5156 key: *const c_char,
5157 value: *const c_char,
5158 );
5159 pub fn gst_device_provider_class_add_static_metadata(
5160 klass: *mut GstDeviceProviderClass,
5161 key: *const c_char,
5162 value: *const c_char,
5163 );
5164 pub fn gst_device_provider_class_get_metadata(
5165 klass: *mut GstDeviceProviderClass,
5166 key: *const c_char,
5167 ) -> *const c_char;
5168 pub fn gst_device_provider_class_set_metadata(
5169 klass: *mut GstDeviceProviderClass,
5170 longname: *const c_char,
5171 classification: *const c_char,
5172 description: *const c_char,
5173 author: *const c_char,
5174 );
5175 pub fn gst_device_provider_class_set_static_metadata(
5176 klass: *mut GstDeviceProviderClass,
5177 longname: *const c_char,
5178 classification: *const c_char,
5179 description: *const c_char,
5180 author: *const c_char,
5181 );
5182
5183 pub fn gst_element_class_add_metadata(
5187 klass: *mut GstElementClass,
5188 key: *const c_char,
5189 value: *const c_char,
5190 );
5191 pub fn gst_element_class_add_pad_template(
5192 klass: *mut GstElementClass,
5193 templ: *mut GstPadTemplate,
5194 );
5195 pub fn gst_element_class_add_static_metadata(
5196 klass: *mut GstElementClass,
5197 key: *const c_char,
5198 value: *const c_char,
5199 );
5200 pub fn gst_element_class_add_static_pad_template(
5201 klass: *mut GstElementClass,
5202 static_templ: *mut GstStaticPadTemplate,
5203 );
5204 pub fn gst_element_class_add_static_pad_template_with_gtype(
5205 klass: *mut GstElementClass,
5206 static_templ: *mut GstStaticPadTemplate,
5207 pad_type: GType,
5208 );
5209 pub fn gst_element_class_get_metadata(
5210 klass: *mut GstElementClass,
5211 key: *const c_char,
5212 ) -> *const c_char;
5213 pub fn gst_element_class_get_pad_template(
5214 element_class: *mut GstElementClass,
5215 name: *const c_char,
5216 ) -> *mut GstPadTemplate;
5217 pub fn gst_element_class_get_pad_template_list(
5218 element_class: *mut GstElementClass,
5219 ) -> *mut glib::GList;
5220 pub fn gst_element_class_set_metadata(
5221 klass: *mut GstElementClass,
5222 longname: *const c_char,
5223 classification: *const c_char,
5224 description: *const c_char,
5225 author: *const c_char,
5226 );
5227 pub fn gst_element_class_set_static_metadata(
5228 klass: *mut GstElementClass,
5229 longname: *const c_char,
5230 classification: *const c_char,
5231 description: *const c_char,
5232 author: *const c_char,
5233 );
5234
5235 pub fn gst_event_get_type() -> GType;
5239 pub fn gst_event_new_buffer_size(
5240 format: GstFormat,
5241 minsize: i64,
5242 maxsize: i64,
5243 async_: gboolean,
5244 ) -> *mut GstEvent;
5245 pub fn gst_event_new_caps(caps: *mut GstCaps) -> *mut GstEvent;
5246 pub fn gst_event_new_custom(type_: GstEventType, structure: *mut GstStructure)
5247 -> *mut GstEvent;
5248 pub fn gst_event_new_eos() -> *mut GstEvent;
5249 pub fn gst_event_new_flush_start() -> *mut GstEvent;
5250 pub fn gst_event_new_flush_stop(reset_time: gboolean) -> *mut GstEvent;
5251 pub fn gst_event_new_gap(timestamp: GstClockTime, duration: GstClockTime) -> *mut GstEvent;
5252 #[cfg(feature = "v1_18")]
5253 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5254 pub fn gst_event_new_instant_rate_change(
5255 rate_multiplier: c_double,
5256 new_flags: GstSegmentFlags,
5257 ) -> *mut GstEvent;
5258 #[cfg(feature = "v1_18")]
5259 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5260 pub fn gst_event_new_instant_rate_sync_time(
5261 rate_multiplier: c_double,
5262 running_time: GstClockTime,
5263 upstream_running_time: GstClockTime,
5264 ) -> *mut GstEvent;
5265 pub fn gst_event_new_latency(latency: GstClockTime) -> *mut GstEvent;
5266 pub fn gst_event_new_navigation(structure: *mut GstStructure) -> *mut GstEvent;
5267 pub fn gst_event_new_protection(
5268 system_id: *const c_char,
5269 data: *mut GstBuffer,
5270 origin: *const c_char,
5271 ) -> *mut GstEvent;
5272 pub fn gst_event_new_qos(
5273 type_: GstQOSType,
5274 proportion: c_double,
5275 diff: GstClockTimeDiff,
5276 timestamp: GstClockTime,
5277 ) -> *mut GstEvent;
5278 pub fn gst_event_new_reconfigure() -> *mut GstEvent;
5279 pub fn gst_event_new_seek(
5280 rate: c_double,
5281 format: GstFormat,
5282 flags: GstSeekFlags,
5283 start_type: GstSeekType,
5284 start: i64,
5285 stop_type: GstSeekType,
5286 stop: i64,
5287 ) -> *mut GstEvent;
5288 pub fn gst_event_new_segment(segment: *const GstSegment) -> *mut GstEvent;
5289 pub fn gst_event_new_segment_done(format: GstFormat, position: i64) -> *mut GstEvent;
5290 pub fn gst_event_new_select_streams(streams: *mut glib::GList) -> *mut GstEvent;
5291 pub fn gst_event_new_sink_message(name: *const c_char, msg: *mut GstMessage) -> *mut GstEvent;
5292 pub fn gst_event_new_step(
5293 format: GstFormat,
5294 amount: u64,
5295 rate: c_double,
5296 flush: gboolean,
5297 intermediate: gboolean,
5298 ) -> *mut GstEvent;
5299 pub fn gst_event_new_stream_collection(collection: *mut GstStreamCollection) -> *mut GstEvent;
5300 pub fn gst_event_new_stream_group_done(group_id: c_uint) -> *mut GstEvent;
5301 pub fn gst_event_new_stream_start(stream_id: *const c_char) -> *mut GstEvent;
5302 pub fn gst_event_new_tag(taglist: *mut GstTagList) -> *mut GstEvent;
5303 pub fn gst_event_new_toc(toc: *mut GstToc, updated: gboolean) -> *mut GstEvent;
5304 pub fn gst_event_new_toc_select(uid: *const c_char) -> *mut GstEvent;
5305 #[cfg(feature = "v1_18_3")]
5306 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5307 pub fn gst_event_copy(event: *const GstEvent) -> *mut GstEvent;
5308 pub fn gst_event_copy_segment(event: *mut GstEvent, segment: *mut GstSegment);
5309 pub fn gst_event_get_running_time_offset(event: *mut GstEvent) -> i64;
5310 pub fn gst_event_get_seqnum(event: *mut GstEvent) -> u32;
5311 pub fn gst_event_get_structure(event: *mut GstEvent) -> *const GstStructure;
5312 pub fn gst_event_has_name(event: *mut GstEvent, name: *const c_char) -> gboolean;
5313 #[cfg(feature = "v1_18")]
5314 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5315 pub fn gst_event_has_name_id(event: *mut GstEvent, name: glib::GQuark) -> gboolean;
5316 pub fn gst_event_parse_buffer_size(
5317 event: *mut GstEvent,
5318 format: *mut GstFormat,
5319 minsize: *mut i64,
5320 maxsize: *mut i64,
5321 async_: *mut gboolean,
5322 );
5323 pub fn gst_event_parse_caps(event: *mut GstEvent, caps: *mut *mut GstCaps);
5324 pub fn gst_event_parse_flush_stop(event: *mut GstEvent, reset_time: *mut gboolean);
5325 pub fn gst_event_parse_gap(
5326 event: *mut GstEvent,
5327 timestamp: *mut GstClockTime,
5328 duration: *mut GstClockTime,
5329 );
5330 #[cfg(feature = "v1_20")]
5331 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5332 pub fn gst_event_parse_gap_flags(event: *mut GstEvent, flags: *mut GstGapFlags);
5333 pub fn gst_event_parse_group_id(event: *mut GstEvent, group_id: *mut c_uint) -> gboolean;
5334 #[cfg(feature = "v1_18")]
5335 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5336 pub fn gst_event_parse_instant_rate_change(
5337 event: *mut GstEvent,
5338 rate_multiplier: *mut c_double,
5339 new_flags: *mut GstSegmentFlags,
5340 );
5341 #[cfg(feature = "v1_18")]
5342 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5343 pub fn gst_event_parse_instant_rate_sync_time(
5344 event: *mut GstEvent,
5345 rate_multiplier: *mut c_double,
5346 running_time: *mut GstClockTime,
5347 upstream_running_time: *mut GstClockTime,
5348 );
5349 pub fn gst_event_parse_latency(event: *mut GstEvent, latency: *mut GstClockTime);
5350 pub fn gst_event_parse_protection(
5351 event: *mut GstEvent,
5352 system_id: *mut *const c_char,
5353 data: *mut *mut GstBuffer,
5354 origin: *mut *const c_char,
5355 );
5356 pub fn gst_event_parse_qos(
5357 event: *mut GstEvent,
5358 type_: *mut GstQOSType,
5359 proportion: *mut c_double,
5360 diff: *mut GstClockTimeDiff,
5361 timestamp: *mut GstClockTime,
5362 );
5363 pub fn gst_event_parse_seek(
5364 event: *mut GstEvent,
5365 rate: *mut c_double,
5366 format: *mut GstFormat,
5367 flags: *mut GstSeekFlags,
5368 start_type: *mut GstSeekType,
5369 start: *mut i64,
5370 stop_type: *mut GstSeekType,
5371 stop: *mut i64,
5372 );
5373 #[cfg(feature = "v1_16")]
5374 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5375 pub fn gst_event_parse_seek_trickmode_interval(
5376 event: *mut GstEvent,
5377 interval: *mut GstClockTime,
5378 );
5379 pub fn gst_event_parse_segment(event: *mut GstEvent, segment: *mut *const GstSegment);
5380 pub fn gst_event_parse_segment_done(
5381 event: *mut GstEvent,
5382 format: *mut GstFormat,
5383 position: *mut i64,
5384 );
5385 pub fn gst_event_parse_select_streams(event: *mut GstEvent, streams: *mut *mut glib::GList);
5386 pub fn gst_event_parse_sink_message(event: *mut GstEvent, msg: *mut *mut GstMessage);
5387 pub fn gst_event_parse_step(
5388 event: *mut GstEvent,
5389 format: *mut GstFormat,
5390 amount: *mut u64,
5391 rate: *mut c_double,
5392 flush: *mut gboolean,
5393 intermediate: *mut gboolean,
5394 );
5395 pub fn gst_event_parse_stream(event: *mut GstEvent, stream: *mut *mut GstStream);
5396 pub fn gst_event_parse_stream_collection(
5397 event: *mut GstEvent,
5398 collection: *mut *mut GstStreamCollection,
5399 );
5400 pub fn gst_event_parse_stream_flags(event: *mut GstEvent, flags: *mut GstStreamFlags);
5401 pub fn gst_event_parse_stream_group_done(event: *mut GstEvent, group_id: *mut c_uint);
5402 pub fn gst_event_parse_stream_start(event: *mut GstEvent, stream_id: *mut *const c_char);
5403 pub fn gst_event_parse_tag(event: *mut GstEvent, taglist: *mut *mut GstTagList);
5404 pub fn gst_event_parse_toc(event: *mut GstEvent, toc: *mut *mut GstToc, updated: *mut gboolean);
5405 pub fn gst_event_parse_toc_select(event: *mut GstEvent, uid: *mut *mut c_char);
5406 #[cfg(feature = "v1_18_3")]
5407 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5408 pub fn gst_event_ref(event: *mut GstEvent) -> *mut GstEvent;
5409 #[cfg(feature = "v1_20")]
5410 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5411 pub fn gst_event_set_gap_flags(event: *mut GstEvent, flags: GstGapFlags);
5412 pub fn gst_event_set_group_id(event: *mut GstEvent, group_id: c_uint);
5413 pub fn gst_event_set_running_time_offset(event: *mut GstEvent, offset: i64);
5414 #[cfg(feature = "v1_16")]
5415 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5416 pub fn gst_event_set_seek_trickmode_interval(event: *mut GstEvent, interval: GstClockTime);
5417 pub fn gst_event_set_seqnum(event: *mut GstEvent, seqnum: u32);
5418 pub fn gst_event_set_stream(event: *mut GstEvent, stream: *mut GstStream);
5419 pub fn gst_event_set_stream_flags(event: *mut GstEvent, flags: GstStreamFlags);
5420 #[cfg(feature = "v1_18_3")]
5421 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5422 pub fn gst_event_unref(event: *mut GstEvent);
5423 pub fn gst_event_writable_structure(event: *mut GstEvent) -> *mut GstStructure;
5424 #[cfg(feature = "v1_18_3")]
5425 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5426 pub fn gst_event_replace(old_event: *mut *mut GstEvent, new_event: *mut GstEvent) -> gboolean;
5427 #[cfg(feature = "v1_18_3")]
5428 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5429 pub fn gst_event_steal(old_event: *mut *mut GstEvent) -> *mut GstEvent;
5430 #[cfg(feature = "v1_18_3")]
5431 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5432 pub fn gst_event_take(old_event: *mut *mut GstEvent, new_event: *mut GstEvent) -> gboolean;
5433
5434 #[cfg(feature = "v1_26")]
5438 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5439 pub fn gst_id_str_get_type() -> GType;
5440 #[cfg(feature = "v1_26")]
5441 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5442 pub fn gst_id_str_new() -> *mut GstIdStr;
5443 #[cfg(feature = "v1_26")]
5444 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5445 pub fn gst_id_str_as_str(s: *const GstIdStr) -> *const c_char;
5446 #[cfg(feature = "v1_26")]
5447 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5448 pub fn gst_id_str_clear(s: *mut GstIdStr);
5449 #[cfg(feature = "v1_26")]
5450 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5451 pub fn gst_id_str_copy(s: *const GstIdStr) -> *mut GstIdStr;
5452 #[cfg(feature = "v1_26")]
5453 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5454 pub fn gst_id_str_copy_into(d: *mut GstIdStr, s: *const GstIdStr);
5455 #[cfg(feature = "v1_26")]
5456 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5457 pub fn gst_id_str_free(s: *mut GstIdStr);
5458 #[cfg(feature = "v1_26")]
5459 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5460 pub fn gst_id_str_get_len(s: *const GstIdStr) -> size_t;
5461 #[cfg(feature = "v1_26")]
5462 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5463 pub fn gst_id_str_init(s: *mut GstIdStr);
5464 #[cfg(feature = "v1_26")]
5465 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5466 pub fn gst_id_str_is_equal(s1: *const GstIdStr, s2: *const GstIdStr) -> gboolean;
5467 #[cfg(feature = "v1_26")]
5468 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5469 pub fn gst_id_str_is_equal_to_str(s1: *const GstIdStr, s2: *const c_char) -> gboolean;
5470 #[cfg(feature = "v1_26")]
5471 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5472 pub fn gst_id_str_is_equal_to_str_with_len(
5473 s1: *const GstIdStr,
5474 s2: *const c_char,
5475 len: size_t,
5476 ) -> gboolean;
5477 #[cfg(feature = "v1_26")]
5478 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5479 pub fn gst_id_str_move(d: *mut GstIdStr, s: *mut GstIdStr);
5480 #[cfg(feature = "v1_26")]
5481 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5482 pub fn gst_id_str_set(s: *mut GstIdStr, value: *const c_char);
5483 #[cfg(feature = "v1_26")]
5484 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5485 pub fn gst_id_str_set_static_str(s: *mut GstIdStr, value: *const c_char);
5486 #[cfg(feature = "v1_26")]
5487 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5488 pub fn gst_id_str_set_static_str_with_len(s: *mut GstIdStr, value: *const c_char, len: size_t);
5489 #[cfg(feature = "v1_26")]
5490 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5491 pub fn gst_id_str_set_with_len(s: *mut GstIdStr, value: *const c_char, len: size_t);
5492
5493 pub fn gst_iterator_get_type() -> GType;
5497 pub fn gst_iterator_new(
5498 size: c_uint,
5499 type_: GType,
5500 lock: *mut glib::GMutex,
5501 master_cookie: *mut u32,
5502 copy: GstIteratorCopyFunction,
5503 next: GstIteratorNextFunction,
5504 item: GstIteratorItemFunction,
5505 resync: GstIteratorResyncFunction,
5506 free: GstIteratorFreeFunction,
5507 ) -> *mut GstIterator;
5508 pub fn gst_iterator_new_list(
5509 type_: GType,
5510 lock: *mut glib::GMutex,
5511 master_cookie: *mut u32,
5512 list: *mut *mut glib::GList,
5513 owner: *mut gobject::GObject,
5514 item: GstIteratorItemFunction,
5515 ) -> *mut GstIterator;
5516 pub fn gst_iterator_new_single(
5517 type_: GType,
5518 object: *const gobject::GValue,
5519 ) -> *mut GstIterator;
5520 pub fn gst_iterator_copy(it: *const GstIterator) -> *mut GstIterator;
5521 pub fn gst_iterator_filter(
5522 it: *mut GstIterator,
5523 func: glib::GCompareFunc,
5524 user_data: *const gobject::GValue,
5525 ) -> *mut GstIterator;
5526 pub fn gst_iterator_find_custom(
5527 it: *mut GstIterator,
5528 func: glib::GCompareFunc,
5529 elem: *mut gobject::GValue,
5530 user_data: gpointer,
5531 ) -> gboolean;
5532 pub fn gst_iterator_fold(
5533 it: *mut GstIterator,
5534 func: GstIteratorFoldFunction,
5535 ret: *mut gobject::GValue,
5536 user_data: gpointer,
5537 ) -> GstIteratorResult;
5538 pub fn gst_iterator_foreach(
5539 it: *mut GstIterator,
5540 func: GstIteratorForeachFunction,
5541 user_data: gpointer,
5542 ) -> GstIteratorResult;
5543 pub fn gst_iterator_free(it: *mut GstIterator);
5544 pub fn gst_iterator_next(it: *mut GstIterator, elem: *mut gobject::GValue)
5545 -> GstIteratorResult;
5546 pub fn gst_iterator_push(it: *mut GstIterator, other: *mut GstIterator);
5547 pub fn gst_iterator_resync(it: *mut GstIterator);
5548
5549 pub fn gst_memory_get_type() -> GType;
5553 pub fn gst_memory_new_wrapped(
5554 flags: GstMemoryFlags,
5555 data: gpointer,
5556 maxsize: size_t,
5557 offset: size_t,
5558 size: size_t,
5559 user_data: gpointer,
5560 notify: glib::GDestroyNotify,
5561 ) -> *mut GstMemory;
5562 pub fn gst_memory_copy(mem: *mut GstMemory, offset: ssize_t, size: ssize_t) -> *mut GstMemory;
5563 pub fn gst_memory_get_sizes(
5564 mem: *mut GstMemory,
5565 offset: *mut size_t,
5566 maxsize: *mut size_t,
5567 ) -> size_t;
5568 pub fn gst_memory_init(
5569 mem: *mut GstMemory,
5570 flags: GstMemoryFlags,
5571 allocator: *mut GstAllocator,
5572 parent: *mut GstMemory,
5573 maxsize: size_t,
5574 align: size_t,
5575 offset: size_t,
5576 size: size_t,
5577 );
5578 pub fn gst_memory_is_span(
5579 mem1: *mut GstMemory,
5580 mem2: *mut GstMemory,
5581 offset: *mut size_t,
5582 ) -> gboolean;
5583 pub fn gst_memory_is_type(mem: *mut GstMemory, mem_type: *const c_char) -> gboolean;
5584 pub fn gst_memory_make_mapped(
5585 mem: *mut GstMemory,
5586 info: *mut GstMapInfo,
5587 flags: GstMapFlags,
5588 ) -> *mut GstMemory;
5589 pub fn gst_memory_map(
5590 mem: *mut GstMemory,
5591 info: *mut GstMapInfo,
5592 flags: GstMapFlags,
5593 ) -> gboolean;
5594 #[cfg(feature = "v1_18_3")]
5595 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5596 pub fn gst_memory_ref(memory: *mut GstMemory) -> *mut GstMemory;
5597 pub fn gst_memory_resize(mem: *mut GstMemory, offset: ssize_t, size: size_t);
5598 pub fn gst_memory_share(mem: *mut GstMemory, offset: ssize_t, size: ssize_t) -> *mut GstMemory;
5599 pub fn gst_memory_unmap(mem: *mut GstMemory, info: *mut GstMapInfo);
5600 #[cfg(feature = "v1_18_3")]
5601 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5602 pub fn gst_memory_unref(memory: *mut GstMemory);
5603
5604 pub fn gst_message_get_type() -> GType;
5608 pub fn gst_message_new_application(
5609 src: *mut GstObject,
5610 structure: *mut GstStructure,
5611 ) -> *mut GstMessage;
5612 pub fn gst_message_new_async_done(
5613 src: *mut GstObject,
5614 running_time: GstClockTime,
5615 ) -> *mut GstMessage;
5616 pub fn gst_message_new_async_start(src: *mut GstObject) -> *mut GstMessage;
5617 pub fn gst_message_new_buffering(src: *mut GstObject, percent: c_int) -> *mut GstMessage;
5618 pub fn gst_message_new_clock_lost(src: *mut GstObject, clock: *mut GstClock)
5619 -> *mut GstMessage;
5620 pub fn gst_message_new_clock_provide(
5621 src: *mut GstObject,
5622 clock: *mut GstClock,
5623 ready: gboolean,
5624 ) -> *mut GstMessage;
5625 pub fn gst_message_new_custom(
5626 type_: GstMessageType,
5627 src: *mut GstObject,
5628 structure: *mut GstStructure,
5629 ) -> *mut GstMessage;
5630 pub fn gst_message_new_device_added(
5631 src: *mut GstObject,
5632 device: *mut GstDevice,
5633 ) -> *mut GstMessage;
5634 #[cfg(feature = "v1_16")]
5635 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5636 pub fn gst_message_new_device_changed(
5637 src: *mut GstObject,
5638 device: *mut GstDevice,
5639 changed_device: *mut GstDevice,
5640 ) -> *mut GstMessage;
5641 pub fn gst_message_new_device_removed(
5642 src: *mut GstObject,
5643 device: *mut GstDevice,
5644 ) -> *mut GstMessage;
5645 pub fn gst_message_new_duration_changed(src: *mut GstObject) -> *mut GstMessage;
5646 pub fn gst_message_new_element(
5647 src: *mut GstObject,
5648 structure: *mut GstStructure,
5649 ) -> *mut GstMessage;
5650 pub fn gst_message_new_eos(src: *mut GstObject) -> *mut GstMessage;
5651 pub fn gst_message_new_error(
5652 src: *mut GstObject,
5653 error: *mut glib::GError,
5654 debug: *const c_char,
5655 ) -> *mut GstMessage;
5656 pub fn gst_message_new_error_with_details(
5657 src: *mut GstObject,
5658 error: *mut glib::GError,
5659 debug: *const c_char,
5660 details: *mut GstStructure,
5661 ) -> *mut GstMessage;
5662 pub fn gst_message_new_have_context(
5663 src: *mut GstObject,
5664 context: *mut GstContext,
5665 ) -> *mut GstMessage;
5666 pub fn gst_message_new_info(
5667 src: *mut GstObject,
5668 error: *mut glib::GError,
5669 debug: *const c_char,
5670 ) -> *mut GstMessage;
5671 pub fn gst_message_new_info_with_details(
5672 src: *mut GstObject,
5673 error: *mut glib::GError,
5674 debug: *const c_char,
5675 details: *mut GstStructure,
5676 ) -> *mut GstMessage;
5677 #[cfg(feature = "v1_18")]
5678 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5679 pub fn gst_message_new_instant_rate_request(
5680 src: *mut GstObject,
5681 rate_multiplier: c_double,
5682 ) -> *mut GstMessage;
5683 pub fn gst_message_new_latency(src: *mut GstObject) -> *mut GstMessage;
5684 pub fn gst_message_new_need_context(
5685 src: *mut GstObject,
5686 context_type: *const c_char,
5687 ) -> *mut GstMessage;
5688 pub fn gst_message_new_new_clock(src: *mut GstObject, clock: *mut GstClock) -> *mut GstMessage;
5689 pub fn gst_message_new_progress(
5690 src: *mut GstObject,
5691 type_: GstProgressType,
5692 code: *const c_char,
5693 text: *const c_char,
5694 ) -> *mut GstMessage;
5695 pub fn gst_message_new_property_notify(
5696 src: *mut GstObject,
5697 property_name: *const c_char,
5698 val: *mut gobject::GValue,
5699 ) -> *mut GstMessage;
5700 pub fn gst_message_new_qos(
5701 src: *mut GstObject,
5702 live: gboolean,
5703 running_time: u64,
5704 stream_time: u64,
5705 timestamp: u64,
5706 duration: u64,
5707 ) -> *mut GstMessage;
5708 pub fn gst_message_new_redirect(
5709 src: *mut GstObject,
5710 location: *const c_char,
5711 tag_list: *mut GstTagList,
5712 entry_struct: *const GstStructure,
5713 ) -> *mut GstMessage;
5714 pub fn gst_message_new_request_state(src: *mut GstObject, state: GstState) -> *mut GstMessage;
5715 pub fn gst_message_new_reset_time(
5716 src: *mut GstObject,
5717 running_time: GstClockTime,
5718 ) -> *mut GstMessage;
5719 pub fn gst_message_new_segment_done(
5720 src: *mut GstObject,
5721 format: GstFormat,
5722 position: i64,
5723 ) -> *mut GstMessage;
5724 pub fn gst_message_new_segment_start(
5725 src: *mut GstObject,
5726 format: GstFormat,
5727 position: i64,
5728 ) -> *mut GstMessage;
5729 pub fn gst_message_new_state_changed(
5730 src: *mut GstObject,
5731 oldstate: GstState,
5732 newstate: GstState,
5733 pending: GstState,
5734 ) -> *mut GstMessage;
5735 pub fn gst_message_new_state_dirty(src: *mut GstObject) -> *mut GstMessage;
5736 pub fn gst_message_new_step_done(
5737 src: *mut GstObject,
5738 format: GstFormat,
5739 amount: u64,
5740 rate: c_double,
5741 flush: gboolean,
5742 intermediate: gboolean,
5743 duration: u64,
5744 eos: gboolean,
5745 ) -> *mut GstMessage;
5746 pub fn gst_message_new_step_start(
5747 src: *mut GstObject,
5748 active: gboolean,
5749 format: GstFormat,
5750 amount: u64,
5751 rate: c_double,
5752 flush: gboolean,
5753 intermediate: gboolean,
5754 ) -> *mut GstMessage;
5755 pub fn gst_message_new_stream_collection(
5756 src: *mut GstObject,
5757 collection: *mut GstStreamCollection,
5758 ) -> *mut GstMessage;
5759 pub fn gst_message_new_stream_start(src: *mut GstObject) -> *mut GstMessage;
5760 pub fn gst_message_new_stream_status(
5761 src: *mut GstObject,
5762 type_: GstStreamStatusType,
5763 owner: *mut GstElement,
5764 ) -> *mut GstMessage;
5765 pub fn gst_message_new_streams_selected(
5766 src: *mut GstObject,
5767 collection: *mut GstStreamCollection,
5768 ) -> *mut GstMessage;
5769 pub fn gst_message_new_structure_change(
5770 src: *mut GstObject,
5771 type_: GstStructureChangeType,
5772 owner: *mut GstElement,
5773 busy: gboolean,
5774 ) -> *mut GstMessage;
5775 pub fn gst_message_new_tag(src: *mut GstObject, tag_list: *mut GstTagList) -> *mut GstMessage;
5776 pub fn gst_message_new_toc(
5777 src: *mut GstObject,
5778 toc: *mut GstToc,
5779 updated: gboolean,
5780 ) -> *mut GstMessage;
5781 pub fn gst_message_new_warning(
5782 src: *mut GstObject,
5783 error: *mut glib::GError,
5784 debug: *const c_char,
5785 ) -> *mut GstMessage;
5786 pub fn gst_message_new_warning_with_details(
5787 src: *mut GstObject,
5788 error: *mut glib::GError,
5789 debug: *const c_char,
5790 details: *mut GstStructure,
5791 ) -> *mut GstMessage;
5792 pub fn gst_message_add_redirect_entry(
5793 message: *mut GstMessage,
5794 location: *const c_char,
5795 tag_list: *mut GstTagList,
5796 entry_struct: *const GstStructure,
5797 );
5798 #[cfg(feature = "v1_18_3")]
5799 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5800 pub fn gst_message_copy(msg: *const GstMessage) -> *mut GstMessage;
5801 #[cfg(feature = "v1_26")]
5802 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5803 pub fn gst_message_get_details(message: *mut GstMessage) -> *const GstStructure;
5804 pub fn gst_message_get_num_redirect_entries(message: *mut GstMessage) -> size_t;
5805 pub fn gst_message_get_seqnum(message: *mut GstMessage) -> u32;
5806 pub fn gst_message_get_stream_status_object(message: *mut GstMessage)
5807 -> *const gobject::GValue;
5808 pub fn gst_message_get_structure(message: *mut GstMessage) -> *const GstStructure;
5809 pub fn gst_message_has_name(message: *mut GstMessage, name: *const c_char) -> gboolean;
5810 pub fn gst_message_parse_async_done(message: *mut GstMessage, running_time: *mut GstClockTime);
5811 pub fn gst_message_parse_buffering(message: *mut GstMessage, percent: *mut c_int);
5812 pub fn gst_message_parse_buffering_stats(
5813 message: *mut GstMessage,
5814 mode: *mut GstBufferingMode,
5815 avg_in: *mut c_int,
5816 avg_out: *mut c_int,
5817 buffering_left: *mut i64,
5818 );
5819 pub fn gst_message_parse_clock_lost(message: *mut GstMessage, clock: *mut *mut GstClock);
5820 pub fn gst_message_parse_clock_provide(
5821 message: *mut GstMessage,
5822 clock: *mut *mut GstClock,
5823 ready: *mut gboolean,
5824 );
5825 pub fn gst_message_parse_context_type(
5826 message: *mut GstMessage,
5827 context_type: *mut *const c_char,
5828 ) -> gboolean;
5829 pub fn gst_message_parse_device_added(message: *mut GstMessage, device: *mut *mut GstDevice);
5830 #[cfg(feature = "v1_16")]
5831 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5832 pub fn gst_message_parse_device_changed(
5833 message: *mut GstMessage,
5834 device: *mut *mut GstDevice,
5835 changed_device: *mut *mut GstDevice,
5836 );
5837 pub fn gst_message_parse_device_removed(message: *mut GstMessage, device: *mut *mut GstDevice);
5838 pub fn gst_message_parse_error(
5839 message: *mut GstMessage,
5840 gerror: *mut *mut glib::GError,
5841 debug: *mut *mut c_char,
5842 );
5843 pub fn gst_message_parse_error_details(
5844 message: *mut GstMessage,
5845 structure: *mut *const GstStructure,
5846 );
5847 #[cfg(feature = "v1_26")]
5848 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5849 pub fn gst_message_parse_error_writable_details(
5850 message: *mut GstMessage,
5851 structure: *mut *mut GstStructure,
5852 );
5853 pub fn gst_message_parse_group_id(message: *mut GstMessage, group_id: *mut c_uint) -> gboolean;
5854 pub fn gst_message_parse_have_context(message: *mut GstMessage, context: *mut *mut GstContext);
5855 pub fn gst_message_parse_info(
5856 message: *mut GstMessage,
5857 gerror: *mut *mut glib::GError,
5858 debug: *mut *mut c_char,
5859 );
5860 pub fn gst_message_parse_info_details(
5861 message: *mut GstMessage,
5862 structure: *mut *const GstStructure,
5863 );
5864 #[cfg(feature = "v1_26")]
5865 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5866 pub fn gst_message_parse_info_writable_details(
5867 message: *mut GstMessage,
5868 structure: *mut *mut GstStructure,
5869 );
5870 #[cfg(feature = "v1_18")]
5871 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5872 pub fn gst_message_parse_instant_rate_request(
5873 message: *mut GstMessage,
5874 rate_multiplier: *mut c_double,
5875 );
5876 pub fn gst_message_parse_new_clock(message: *mut GstMessage, clock: *mut *mut GstClock);
5877 pub fn gst_message_parse_progress(
5878 message: *mut GstMessage,
5879 type_: *mut GstProgressType,
5880 code: *mut *mut c_char,
5881 text: *mut *mut c_char,
5882 );
5883 pub fn gst_message_parse_property_notify(
5884 message: *mut GstMessage,
5885 object: *mut *mut GstObject,
5886 property_name: *mut *const c_char,
5887 property_value: *mut *const gobject::GValue,
5888 );
5889 pub fn gst_message_parse_qos(
5890 message: *mut GstMessage,
5891 live: *mut gboolean,
5892 running_time: *mut u64,
5893 stream_time: *mut u64,
5894 timestamp: *mut u64,
5895 duration: *mut u64,
5896 );
5897 pub fn gst_message_parse_qos_stats(
5898 message: *mut GstMessage,
5899 format: *mut GstFormat,
5900 processed: *mut u64,
5901 dropped: *mut u64,
5902 );
5903 pub fn gst_message_parse_qos_values(
5904 message: *mut GstMessage,
5905 jitter: *mut i64,
5906 proportion: *mut c_double,
5907 quality: *mut c_int,
5908 );
5909 pub fn gst_message_parse_redirect_entry(
5910 message: *mut GstMessage,
5911 entry_index: size_t,
5912 location: *mut *const c_char,
5913 tag_list: *mut *mut GstTagList,
5914 entry_struct: *mut *const GstStructure,
5915 );
5916 pub fn gst_message_parse_request_state(message: *mut GstMessage, state: *mut GstState);
5917 pub fn gst_message_parse_reset_time(message: *mut GstMessage, running_time: *mut GstClockTime);
5918 pub fn gst_message_parse_segment_done(
5919 message: *mut GstMessage,
5920 format: *mut GstFormat,
5921 position: *mut i64,
5922 );
5923 pub fn gst_message_parse_segment_start(
5924 message: *mut GstMessage,
5925 format: *mut GstFormat,
5926 position: *mut i64,
5927 );
5928 pub fn gst_message_parse_state_changed(
5929 message: *mut GstMessage,
5930 oldstate: *mut GstState,
5931 newstate: *mut GstState,
5932 pending: *mut GstState,
5933 );
5934 pub fn gst_message_parse_step_done(
5935 message: *mut GstMessage,
5936 format: *mut GstFormat,
5937 amount: *mut u64,
5938 rate: *mut c_double,
5939 flush: *mut gboolean,
5940 intermediate: *mut gboolean,
5941 duration: *mut u64,
5942 eos: *mut gboolean,
5943 );
5944 pub fn gst_message_parse_step_start(
5945 message: *mut GstMessage,
5946 active: *mut gboolean,
5947 format: *mut GstFormat,
5948 amount: *mut u64,
5949 rate: *mut c_double,
5950 flush: *mut gboolean,
5951 intermediate: *mut gboolean,
5952 );
5953 pub fn gst_message_parse_stream_collection(
5954 message: *mut GstMessage,
5955 collection: *mut *mut GstStreamCollection,
5956 );
5957 pub fn gst_message_parse_stream_status(
5958 message: *mut GstMessage,
5959 type_: *mut GstStreamStatusType,
5960 owner: *mut *mut GstElement,
5961 );
5962 pub fn gst_message_parse_streams_selected(
5963 message: *mut GstMessage,
5964 collection: *mut *mut GstStreamCollection,
5965 );
5966 pub fn gst_message_parse_structure_change(
5967 message: *mut GstMessage,
5968 type_: *mut GstStructureChangeType,
5969 owner: *mut *mut GstElement,
5970 busy: *mut gboolean,
5971 );
5972 pub fn gst_message_parse_tag(message: *mut GstMessage, tag_list: *mut *mut GstTagList);
5973 pub fn gst_message_parse_toc(
5974 message: *mut GstMessage,
5975 toc: *mut *mut GstToc,
5976 updated: *mut gboolean,
5977 );
5978 pub fn gst_message_parse_warning(
5979 message: *mut GstMessage,
5980 gerror: *mut *mut glib::GError,
5981 debug: *mut *mut c_char,
5982 );
5983 pub fn gst_message_parse_warning_details(
5984 message: *mut GstMessage,
5985 structure: *mut *const GstStructure,
5986 );
5987 #[cfg(feature = "v1_26")]
5988 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
5989 pub fn gst_message_parse_warning_writable_details(
5990 message: *mut GstMessage,
5991 structure: *mut *mut GstStructure,
5992 );
5993 #[cfg(feature = "v1_18_3")]
5994 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5995 pub fn gst_message_ref(msg: *mut GstMessage) -> *mut GstMessage;
5996 pub fn gst_message_set_buffering_stats(
5997 message: *mut GstMessage,
5998 mode: GstBufferingMode,
5999 avg_in: c_int,
6000 avg_out: c_int,
6001 buffering_left: i64,
6002 );
6003 #[cfg(feature = "v1_26")]
6004 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6005 pub fn gst_message_set_details(message: *mut GstMessage, details: *mut GstStructure);
6006 pub fn gst_message_set_group_id(message: *mut GstMessage, group_id: c_uint);
6007 pub fn gst_message_set_qos_stats(
6008 message: *mut GstMessage,
6009 format: GstFormat,
6010 processed: u64,
6011 dropped: u64,
6012 );
6013 pub fn gst_message_set_qos_values(
6014 message: *mut GstMessage,
6015 jitter: i64,
6016 proportion: c_double,
6017 quality: c_int,
6018 );
6019 pub fn gst_message_set_seqnum(message: *mut GstMessage, seqnum: u32);
6020 pub fn gst_message_set_stream_status_object(
6021 message: *mut GstMessage,
6022 object: *const gobject::GValue,
6023 );
6024 pub fn gst_message_streams_selected_add(message: *mut GstMessage, stream: *mut GstStream);
6025 pub fn gst_message_streams_selected_get_size(message: *mut GstMessage) -> c_uint;
6026 pub fn gst_message_streams_selected_get_stream(
6027 message: *mut GstMessage,
6028 idx: c_uint,
6029 ) -> *mut GstStream;
6030 #[cfg(feature = "v1_18_3")]
6031 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6032 pub fn gst_message_unref(msg: *mut GstMessage);
6033 #[cfg(feature = "v1_26")]
6034 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6035 pub fn gst_message_writable_details(message: *mut GstMessage) -> *mut GstStructure;
6036 pub fn gst_message_writable_structure(message: *mut GstMessage) -> *mut GstStructure;
6037 #[cfg(feature = "v1_18_3")]
6038 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6039 pub fn gst_message_replace(
6040 old_message: *mut *mut GstMessage,
6041 new_message: *mut GstMessage,
6042 ) -> gboolean;
6043 #[cfg(feature = "v1_18_3")]
6044 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6045 pub fn gst_message_take(
6046 old_message: *mut *mut GstMessage,
6047 new_message: *mut GstMessage,
6048 ) -> gboolean;
6049
6050 #[cfg(feature = "v1_16")]
6054 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6055 pub fn gst_meta_compare_seqnum(meta1: *const GstMeta, meta2: *const GstMeta) -> c_int;
6056 #[cfg(feature = "v1_16")]
6057 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6058 pub fn gst_meta_get_seqnum(meta: *const GstMeta) -> u64;
6059 #[cfg(feature = "v1_24")]
6060 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6061 pub fn gst_meta_serialize(meta: *const GstMeta, data: *mut GstByteArrayInterface) -> gboolean;
6062 #[cfg(feature = "v1_24")]
6063 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6064 pub fn gst_meta_serialize_simple(meta: *const GstMeta, data: *mut glib::GByteArray)
6065 -> gboolean;
6066 #[cfg(feature = "v1_26")]
6067 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6068 pub fn gst_meta_api_type_aggregate_params(
6069 api: GType,
6070 aggregated_params: *mut *mut GstStructure,
6071 params0: *const GstStructure,
6072 params1: *const GstStructure,
6073 ) -> gboolean;
6074 pub fn gst_meta_api_type_get_tags(api: GType) -> *const *const c_char;
6075 pub fn gst_meta_api_type_has_tag(api: GType, tag: glib::GQuark) -> gboolean;
6076 pub fn gst_meta_api_type_register(api: *const c_char, tags: *mut *const c_char) -> GType;
6077 #[cfg(feature = "v1_26")]
6078 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6079 pub fn gst_meta_api_type_set_params_aggregator(
6080 api: GType,
6081 aggregator: GstAllocationMetaParamsAggregator,
6082 );
6083 #[cfg(feature = "v1_24")]
6084 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6085 pub fn gst_meta_deserialize(
6086 buffer: *mut GstBuffer,
6087 data: *const u8,
6088 size: size_t,
6089 consumed: *mut u32,
6090 ) -> *mut GstMeta;
6091 pub fn gst_meta_get_info(impl_: *const c_char) -> *const GstMetaInfo;
6092 pub fn gst_meta_register(
6093 api: GType,
6094 impl_: *const c_char,
6095 size: size_t,
6096 init_func: GstMetaInitFunction,
6097 free_func: GstMetaFreeFunction,
6098 transform_func: GstMetaTransformFunction,
6099 ) -> *const GstMetaInfo;
6100 #[cfg(feature = "v1_20")]
6101 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6102 pub fn gst_meta_register_custom(
6103 name: *const c_char,
6104 tags: *mut *const c_char,
6105 transform_func: GstCustomMetaTransformFunction,
6106 user_data: gpointer,
6107 destroy_data: glib::GDestroyNotify,
6108 ) -> *const GstMetaInfo;
6109 #[cfg(feature = "v1_24")]
6110 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6111 pub fn gst_meta_register_custom_simple(name: *const c_char) -> *const GstMetaInfo;
6112
6113 #[cfg(feature = "v1_20")]
6117 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6118 pub fn gst_meta_info_is_custom(info: *const GstMetaInfo) -> gboolean;
6119 #[cfg(feature = "v1_24")]
6120 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6121 pub fn gst_meta_info_register(info: *mut GstMetaInfo) -> *const GstMetaInfo;
6122 #[cfg(feature = "v1_24")]
6123 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6124 pub fn gst_meta_info_new(api: GType, impl_: *const c_char, size: size_t) -> *mut GstMetaInfo;
6125
6126 #[cfg(feature = "v1_20")]
6130 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6131 pub fn gst_mini_object_get_type() -> GType;
6132 #[cfg(feature = "v1_16")]
6133 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6134 pub fn gst_mini_object_add_parent(object: *mut GstMiniObject, parent: *mut GstMiniObject);
6135 pub fn gst_mini_object_copy(mini_object: *const GstMiniObject) -> *mut GstMiniObject;
6136 pub fn gst_mini_object_get_qdata(object: *mut GstMiniObject, quark: glib::GQuark) -> gpointer;
6137 pub fn gst_mini_object_init(
6138 mini_object: *mut GstMiniObject,
6139 flags: c_uint,
6140 type_: GType,
6141 copy_func: GstMiniObjectCopyFunction,
6142 dispose_func: GstMiniObjectDisposeFunction,
6143 free_func: GstMiniObjectFreeFunction,
6144 );
6145 pub fn gst_mini_object_is_writable(mini_object: *const GstMiniObject) -> gboolean;
6146 pub fn gst_mini_object_lock(object: *mut GstMiniObject, flags: GstLockFlags) -> gboolean;
6147 pub fn gst_mini_object_make_writable(mini_object: *mut GstMiniObject) -> *mut GstMiniObject;
6148 pub fn gst_mini_object_ref(mini_object: *mut GstMiniObject) -> *mut GstMiniObject;
6149 #[cfg(feature = "v1_16")]
6150 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6151 pub fn gst_mini_object_remove_parent(object: *mut GstMiniObject, parent: *mut GstMiniObject);
6152 pub fn gst_mini_object_set_qdata(
6153 object: *mut GstMiniObject,
6154 quark: glib::GQuark,
6155 data: gpointer,
6156 destroy: glib::GDestroyNotify,
6157 );
6158 pub fn gst_mini_object_steal_qdata(object: *mut GstMiniObject, quark: glib::GQuark)
6159 -> gpointer;
6160 pub fn gst_mini_object_unlock(object: *mut GstMiniObject, flags: GstLockFlags);
6161 pub fn gst_mini_object_unref(mini_object: *mut GstMiniObject);
6162 pub fn gst_mini_object_weak_ref(
6163 object: *mut GstMiniObject,
6164 notify: GstMiniObjectNotify,
6165 data: gpointer,
6166 );
6167 pub fn gst_mini_object_weak_unref(
6168 object: *mut GstMiniObject,
6169 notify: GstMiniObjectNotify,
6170 data: gpointer,
6171 );
6172 pub fn gst_mini_object_replace(
6173 olddata: *mut *mut GstMiniObject,
6174 newdata: *mut GstMiniObject,
6175 ) -> gboolean;
6176 pub fn gst_mini_object_steal(olddata: *mut *mut GstMiniObject) -> *mut GstMiniObject;
6177 pub fn gst_mini_object_take(
6178 olddata: *mut *mut GstMiniObject,
6179 newdata: *mut GstMiniObject,
6180 ) -> gboolean;
6181
6182 pub fn gst_pad_probe_info_get_buffer(info: *mut GstPadProbeInfo) -> *mut GstBuffer;
6186 pub fn gst_pad_probe_info_get_buffer_list(info: *mut GstPadProbeInfo) -> *mut GstBufferList;
6187 pub fn gst_pad_probe_info_get_event(info: *mut GstPadProbeInfo) -> *mut GstEvent;
6188 pub fn gst_pad_probe_info_get_query(info: *mut GstPadProbeInfo) -> *mut GstQuery;
6189
6190 pub fn gst_parent_buffer_meta_get_info() -> *const GstMetaInfo;
6194
6195 pub fn gst_parse_context_get_type() -> GType;
6199 pub fn gst_parse_context_new() -> *mut GstParseContext;
6200 pub fn gst_parse_context_copy(context: *const GstParseContext) -> *mut GstParseContext;
6201 pub fn gst_parse_context_free(context: *mut GstParseContext);
6202 pub fn gst_parse_context_get_missing_elements(
6203 context: *mut GstParseContext,
6204 ) -> *mut *mut c_char;
6205
6206 pub fn gst_poll_add_fd(set: *mut GstPoll, fd: *mut GstPollFD) -> gboolean;
6210 pub fn gst_poll_fd_can_read(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
6211 pub fn gst_poll_fd_can_write(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
6212 #[cfg(feature = "v1_16")]
6213 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6214 pub fn gst_poll_fd_ctl_pri(set: *mut GstPoll, fd: *mut GstPollFD, active: gboolean)
6215 -> gboolean;
6216 pub fn gst_poll_fd_ctl_read(
6217 set: *mut GstPoll,
6218 fd: *mut GstPollFD,
6219 active: gboolean,
6220 ) -> gboolean;
6221 pub fn gst_poll_fd_ctl_write(
6222 set: *mut GstPoll,
6223 fd: *mut GstPollFD,
6224 active: gboolean,
6225 ) -> gboolean;
6226 pub fn gst_poll_fd_has_closed(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
6227 pub fn gst_poll_fd_has_error(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
6228 #[cfg(feature = "v1_16")]
6229 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6230 pub fn gst_poll_fd_has_pri(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
6231 pub fn gst_poll_fd_ignored(set: *mut GstPoll, fd: *mut GstPollFD);
6232 pub fn gst_poll_free(set: *mut GstPoll);
6233 pub fn gst_poll_get_read_gpollfd(set: *mut GstPoll, fd: *mut glib::GPollFD);
6234 pub fn gst_poll_read_control(set: *mut GstPoll) -> gboolean;
6235 pub fn gst_poll_remove_fd(set: *mut GstPoll, fd: *mut GstPollFD) -> gboolean;
6236 pub fn gst_poll_restart(set: *mut GstPoll);
6237 pub fn gst_poll_set_controllable(set: *mut GstPoll, controllable: gboolean) -> gboolean;
6238 pub fn gst_poll_set_flushing(set: *mut GstPoll, flushing: gboolean);
6239 pub fn gst_poll_wait(set: *mut GstPoll, timeout: GstClockTime) -> c_int;
6240 pub fn gst_poll_write_control(set: *mut GstPoll) -> gboolean;
6241 pub fn gst_poll_new(controllable: gboolean) -> *mut GstPoll;
6242 pub fn gst_poll_new_timer() -> *mut GstPoll;
6243
6244 pub fn gst_poll_fd_init(fd: *mut GstPollFD);
6248
6249 pub fn gst_promise_get_type() -> GType;
6253 pub fn gst_promise_new() -> *mut GstPromise;
6254 pub fn gst_promise_new_with_change_func(
6255 func: GstPromiseChangeFunc,
6256 user_data: gpointer,
6257 notify: glib::GDestroyNotify,
6258 ) -> *mut GstPromise;
6259 pub fn gst_promise_expire(promise: *mut GstPromise);
6260 pub fn gst_promise_get_reply(promise: *mut GstPromise) -> *const GstStructure;
6261 pub fn gst_promise_interrupt(promise: *mut GstPromise);
6262 #[cfg(feature = "v1_18_3")]
6263 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6264 pub fn gst_promise_ref(promise: *mut GstPromise) -> *mut GstPromise;
6265 pub fn gst_promise_reply(promise: *mut GstPromise, s: *mut GstStructure);
6266 #[cfg(feature = "v1_18_3")]
6267 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6268 pub fn gst_promise_unref(promise: *mut GstPromise);
6269 pub fn gst_promise_wait(promise: *mut GstPromise) -> GstPromiseResult;
6270
6271 pub fn gst_protection_meta_get_info() -> *const GstMetaInfo;
6275
6276 pub fn gst_query_get_type() -> GType;
6280 pub fn gst_query_new_accept_caps(caps: *mut GstCaps) -> *mut GstQuery;
6281 pub fn gst_query_new_allocation(caps: *mut GstCaps, need_pool: gboolean) -> *mut GstQuery;
6282 #[cfg(feature = "v1_16")]
6283 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6284 pub fn gst_query_new_bitrate() -> *mut GstQuery;
6285 pub fn gst_query_new_buffering(format: GstFormat) -> *mut GstQuery;
6286 pub fn gst_query_new_caps(filter: *mut GstCaps) -> *mut GstQuery;
6287 pub fn gst_query_new_context(context_type: *const c_char) -> *mut GstQuery;
6288 pub fn gst_query_new_convert(
6289 src_format: GstFormat,
6290 value: i64,
6291 dest_format: GstFormat,
6292 ) -> *mut GstQuery;
6293 pub fn gst_query_new_custom(type_: GstQueryType, structure: *mut GstStructure)
6294 -> *mut GstQuery;
6295 pub fn gst_query_new_drain() -> *mut GstQuery;
6296 pub fn gst_query_new_duration(format: GstFormat) -> *mut GstQuery;
6297 pub fn gst_query_new_formats() -> *mut GstQuery;
6298 pub fn gst_query_new_latency() -> *mut GstQuery;
6299 pub fn gst_query_new_position(format: GstFormat) -> *mut GstQuery;
6300 pub fn gst_query_new_scheduling() -> *mut GstQuery;
6301 pub fn gst_query_new_seeking(format: GstFormat) -> *mut GstQuery;
6302 pub fn gst_query_new_segment(format: GstFormat) -> *mut GstQuery;
6303 #[cfg(feature = "v1_22")]
6304 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6305 pub fn gst_query_new_selectable() -> *mut GstQuery;
6306 pub fn gst_query_new_uri() -> *mut GstQuery;
6307 pub fn gst_query_add_allocation_meta(
6308 query: *mut GstQuery,
6309 api: GType,
6310 params: *const GstStructure,
6311 );
6312 pub fn gst_query_add_allocation_param(
6313 query: *mut GstQuery,
6314 allocator: *mut GstAllocator,
6315 params: *const GstAllocationParams,
6316 );
6317 pub fn gst_query_add_allocation_pool(
6318 query: *mut GstQuery,
6319 pool: *mut GstBufferPool,
6320 size: c_uint,
6321 min_buffers: c_uint,
6322 max_buffers: c_uint,
6323 );
6324 pub fn gst_query_add_buffering_range(query: *mut GstQuery, start: i64, stop: i64) -> gboolean;
6325 pub fn gst_query_add_scheduling_mode(query: *mut GstQuery, mode: GstPadMode);
6326 #[cfg(feature = "v1_18_3")]
6327 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6328 pub fn gst_query_copy(q: *const GstQuery) -> *mut GstQuery;
6329 pub fn gst_query_find_allocation_meta(
6330 query: *mut GstQuery,
6331 api: GType,
6332 index: *mut c_uint,
6333 ) -> gboolean;
6334 pub fn gst_query_get_n_allocation_metas(query: *mut GstQuery) -> c_uint;
6335 pub fn gst_query_get_n_allocation_params(query: *mut GstQuery) -> c_uint;
6336 pub fn gst_query_get_n_allocation_pools(query: *mut GstQuery) -> c_uint;
6337 pub fn gst_query_get_n_buffering_ranges(query: *mut GstQuery) -> c_uint;
6338 pub fn gst_query_get_n_scheduling_modes(query: *mut GstQuery) -> c_uint;
6339 pub fn gst_query_get_structure(query: *mut GstQuery) -> *const GstStructure;
6340 pub fn gst_query_has_scheduling_mode(query: *mut GstQuery, mode: GstPadMode) -> gboolean;
6341 pub fn gst_query_has_scheduling_mode_with_flags(
6342 query: *mut GstQuery,
6343 mode: GstPadMode,
6344 flags: GstSchedulingFlags,
6345 ) -> gboolean;
6346 pub fn gst_query_parse_accept_caps(query: *mut GstQuery, caps: *mut *mut GstCaps);
6347 pub fn gst_query_parse_accept_caps_result(query: *mut GstQuery, result: *mut gboolean);
6348 pub fn gst_query_parse_allocation(
6349 query: *mut GstQuery,
6350 caps: *mut *mut GstCaps,
6351 need_pool: *mut gboolean,
6352 );
6353 #[cfg(feature = "v1_16")]
6354 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6355 pub fn gst_query_parse_bitrate(query: *mut GstQuery, nominal_bitrate: *mut c_uint);
6356 pub fn gst_query_parse_buffering_percent(
6357 query: *mut GstQuery,
6358 busy: *mut gboolean,
6359 percent: *mut c_int,
6360 );
6361 pub fn gst_query_parse_buffering_range(
6362 query: *mut GstQuery,
6363 format: *mut GstFormat,
6364 start: *mut i64,
6365 stop: *mut i64,
6366 estimated_total: *mut i64,
6367 );
6368 pub fn gst_query_parse_buffering_stats(
6369 query: *mut GstQuery,
6370 mode: *mut GstBufferingMode,
6371 avg_in: *mut c_int,
6372 avg_out: *mut c_int,
6373 buffering_left: *mut i64,
6374 );
6375 pub fn gst_query_parse_caps(query: *mut GstQuery, filter: *mut *mut GstCaps);
6376 pub fn gst_query_parse_caps_result(query: *mut GstQuery, caps: *mut *mut GstCaps);
6377 pub fn gst_query_parse_context(query: *mut GstQuery, context: *mut *mut GstContext);
6378 pub fn gst_query_parse_context_type(
6379 query: *mut GstQuery,
6380 context_type: *mut *const c_char,
6381 ) -> gboolean;
6382 pub fn gst_query_parse_convert(
6383 query: *mut GstQuery,
6384 src_format: *mut GstFormat,
6385 src_value: *mut i64,
6386 dest_format: *mut GstFormat,
6387 dest_value: *mut i64,
6388 );
6389 pub fn gst_query_parse_duration(
6390 query: *mut GstQuery,
6391 format: *mut GstFormat,
6392 duration: *mut i64,
6393 );
6394 pub fn gst_query_parse_latency(
6395 query: *mut GstQuery,
6396 live: *mut gboolean,
6397 min_latency: *mut GstClockTime,
6398 max_latency: *mut GstClockTime,
6399 );
6400 pub fn gst_query_parse_n_formats(query: *mut GstQuery, n_formats: *mut c_uint);
6401 pub fn gst_query_parse_nth_allocation_meta(
6402 query: *mut GstQuery,
6403 index: c_uint,
6404 params: *mut *const GstStructure,
6405 ) -> GType;
6406 pub fn gst_query_parse_nth_allocation_param(
6407 query: *mut GstQuery,
6408 index: c_uint,
6409 allocator: *mut *mut GstAllocator,
6410 params: *mut GstAllocationParams,
6411 );
6412 pub fn gst_query_parse_nth_allocation_pool(
6413 query: *mut GstQuery,
6414 index: c_uint,
6415 pool: *mut *mut GstBufferPool,
6416 size: *mut c_uint,
6417 min_buffers: *mut c_uint,
6418 max_buffers: *mut c_uint,
6419 );
6420 pub fn gst_query_parse_nth_buffering_range(
6421 query: *mut GstQuery,
6422 index: c_uint,
6423 start: *mut i64,
6424 stop: *mut i64,
6425 ) -> gboolean;
6426 pub fn gst_query_parse_nth_format(query: *mut GstQuery, nth: c_uint, format: *mut GstFormat);
6427 pub fn gst_query_parse_nth_scheduling_mode(query: *mut GstQuery, index: c_uint) -> GstPadMode;
6428 pub fn gst_query_parse_position(query: *mut GstQuery, format: *mut GstFormat, cur: *mut i64);
6429 pub fn gst_query_parse_scheduling(
6430 query: *mut GstQuery,
6431 flags: *mut GstSchedulingFlags,
6432 minsize: *mut c_int,
6433 maxsize: *mut c_int,
6434 align: *mut c_int,
6435 );
6436 pub fn gst_query_parse_seeking(
6437 query: *mut GstQuery,
6438 format: *mut GstFormat,
6439 seekable: *mut gboolean,
6440 segment_start: *mut i64,
6441 segment_end: *mut i64,
6442 );
6443 pub fn gst_query_parse_segment(
6444 query: *mut GstQuery,
6445 rate: *mut c_double,
6446 format: *mut GstFormat,
6447 start_value: *mut i64,
6448 stop_value: *mut i64,
6449 );
6450 #[cfg(feature = "v1_22")]
6451 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6452 pub fn gst_query_parse_selectable(query: *mut GstQuery, selectable: *mut gboolean);
6453 pub fn gst_query_parse_uri(query: *mut GstQuery, uri: *mut *mut c_char);
6454 pub fn gst_query_parse_uri_redirection(query: *mut GstQuery, uri: *mut *mut c_char);
6455 pub fn gst_query_parse_uri_redirection_permanent(
6456 query: *mut GstQuery,
6457 permanent: *mut gboolean,
6458 );
6459 #[cfg(feature = "v1_18_3")]
6460 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6461 pub fn gst_query_ref(q: *mut GstQuery) -> *mut GstQuery;
6462 pub fn gst_query_remove_nth_allocation_meta(query: *mut GstQuery, index: c_uint);
6463 pub fn gst_query_remove_nth_allocation_param(query: *mut GstQuery, index: c_uint);
6464 pub fn gst_query_remove_nth_allocation_pool(query: *mut GstQuery, index: c_uint);
6465 pub fn gst_query_set_accept_caps_result(query: *mut GstQuery, result: gboolean);
6466 #[cfg(feature = "v1_16")]
6467 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6468 pub fn gst_query_set_bitrate(query: *mut GstQuery, nominal_bitrate: c_uint);
6469 pub fn gst_query_set_buffering_percent(query: *mut GstQuery, busy: gboolean, percent: c_int);
6470 pub fn gst_query_set_buffering_range(
6471 query: *mut GstQuery,
6472 format: GstFormat,
6473 start: i64,
6474 stop: i64,
6475 estimated_total: i64,
6476 );
6477 pub fn gst_query_set_buffering_stats(
6478 query: *mut GstQuery,
6479 mode: GstBufferingMode,
6480 avg_in: c_int,
6481 avg_out: c_int,
6482 buffering_left: i64,
6483 );
6484 pub fn gst_query_set_caps_result(query: *mut GstQuery, caps: *mut GstCaps);
6485 pub fn gst_query_set_context(query: *mut GstQuery, context: *mut GstContext);
6486 pub fn gst_query_set_convert(
6487 query: *mut GstQuery,
6488 src_format: GstFormat,
6489 src_value: i64,
6490 dest_format: GstFormat,
6491 dest_value: i64,
6492 );
6493 pub fn gst_query_set_duration(query: *mut GstQuery, format: GstFormat, duration: i64);
6494 pub fn gst_query_set_formats(query: *mut GstQuery, n_formats: c_int, ...);
6495 pub fn gst_query_set_formatsv(
6496 query: *mut GstQuery,
6497 n_formats: c_int,
6498 formats: *const GstFormat,
6499 );
6500 pub fn gst_query_set_latency(
6501 query: *mut GstQuery,
6502 live: gboolean,
6503 min_latency: GstClockTime,
6504 max_latency: GstClockTime,
6505 );
6506 pub fn gst_query_set_nth_allocation_param(
6507 query: *mut GstQuery,
6508 index: c_uint,
6509 allocator: *mut GstAllocator,
6510 params: *const GstAllocationParams,
6511 );
6512 pub fn gst_query_set_nth_allocation_pool(
6513 query: *mut GstQuery,
6514 index: c_uint,
6515 pool: *mut GstBufferPool,
6516 size: c_uint,
6517 min_buffers: c_uint,
6518 max_buffers: c_uint,
6519 );
6520 pub fn gst_query_set_position(query: *mut GstQuery, format: GstFormat, cur: i64);
6521 pub fn gst_query_set_scheduling(
6522 query: *mut GstQuery,
6523 flags: GstSchedulingFlags,
6524 minsize: c_int,
6525 maxsize: c_int,
6526 align: c_int,
6527 );
6528 pub fn gst_query_set_seeking(
6529 query: *mut GstQuery,
6530 format: GstFormat,
6531 seekable: gboolean,
6532 segment_start: i64,
6533 segment_end: i64,
6534 );
6535 pub fn gst_query_set_segment(
6536 query: *mut GstQuery,
6537 rate: c_double,
6538 format: GstFormat,
6539 start_value: i64,
6540 stop_value: i64,
6541 );
6542 #[cfg(feature = "v1_22")]
6543 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6544 pub fn gst_query_set_selectable(query: *mut GstQuery, selectable: gboolean);
6545 pub fn gst_query_set_uri(query: *mut GstQuery, uri: *const c_char);
6546 pub fn gst_query_set_uri_redirection(query: *mut GstQuery, uri: *const c_char);
6547 pub fn gst_query_set_uri_redirection_permanent(query: *mut GstQuery, permanent: gboolean);
6548 #[cfg(feature = "v1_18_3")]
6549 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6550 pub fn gst_query_unref(q: *mut GstQuery);
6551 pub fn gst_query_writable_structure(query: *mut GstQuery) -> *mut GstStructure;
6552 #[cfg(feature = "v1_18_3")]
6553 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6554 pub fn gst_query_replace(old_query: *mut *mut GstQuery, new_query: *mut GstQuery) -> gboolean;
6555 #[cfg(feature = "v1_18_3")]
6556 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6557 pub fn gst_query_take(old_query: *mut *mut GstQuery, new_query: *mut GstQuery) -> gboolean;
6558
6559 pub fn gst_reference_timestamp_meta_get_info() -> *const GstMetaInfo;
6563
6564 pub fn gst_sample_get_type() -> GType;
6568 pub fn gst_sample_new(
6569 buffer: *mut GstBuffer,
6570 caps: *mut GstCaps,
6571 segment: *const GstSegment,
6572 info: *mut GstStructure,
6573 ) -> *mut GstSample;
6574 #[cfg(feature = "v1_18_3")]
6575 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6576 pub fn gst_sample_copy(sample: *const GstSample) -> *mut GstSample;
6577 pub fn gst_sample_get_buffer(sample: *mut GstSample) -> *mut GstBuffer;
6578 pub fn gst_sample_get_buffer_list(sample: *mut GstSample) -> *mut GstBufferList;
6579 pub fn gst_sample_get_caps(sample: *mut GstSample) -> *mut GstCaps;
6580 pub fn gst_sample_get_info(sample: *mut GstSample) -> *const GstStructure;
6581 pub fn gst_sample_get_segment(sample: *mut GstSample) -> *mut GstSegment;
6582 #[cfg(feature = "v1_18_3")]
6583 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6584 pub fn gst_sample_ref(sample: *mut GstSample) -> *mut GstSample;
6585 #[cfg(feature = "v1_16")]
6586 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6587 pub fn gst_sample_set_buffer(sample: *mut GstSample, buffer: *mut GstBuffer);
6588 pub fn gst_sample_set_buffer_list(sample: *mut GstSample, buffer_list: *mut GstBufferList);
6589 #[cfg(feature = "v1_16")]
6590 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6591 pub fn gst_sample_set_caps(sample: *mut GstSample, caps: *mut GstCaps);
6592 #[cfg(feature = "v1_16")]
6593 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6594 pub fn gst_sample_set_info(sample: *mut GstSample, info: *mut GstStructure) -> gboolean;
6595 #[cfg(feature = "v1_16")]
6596 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6597 pub fn gst_sample_set_segment(sample: *mut GstSample, segment: *const GstSegment);
6598 #[cfg(feature = "v1_18_3")]
6599 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6600 pub fn gst_sample_unref(sample: *mut GstSample);
6601
6602 pub fn gst_segment_get_type() -> GType;
6606 pub fn gst_segment_new() -> *mut GstSegment;
6607 pub fn gst_segment_clip(
6608 segment: *const GstSegment,
6609 format: GstFormat,
6610 start: u64,
6611 stop: u64,
6612 clip_start: *mut u64,
6613 clip_stop: *mut u64,
6614 ) -> gboolean;
6615 pub fn gst_segment_copy(segment: *const GstSegment) -> *mut GstSegment;
6616 pub fn gst_segment_copy_into(src: *const GstSegment, dest: *mut GstSegment);
6617 pub fn gst_segment_do_seek(
6618 segment: *mut GstSegment,
6619 rate: c_double,
6620 format: GstFormat,
6621 flags: GstSeekFlags,
6622 start_type: GstSeekType,
6623 start: u64,
6624 stop_type: GstSeekType,
6625 stop: u64,
6626 update: *mut gboolean,
6627 ) -> gboolean;
6628 pub fn gst_segment_free(segment: *mut GstSegment);
6629 pub fn gst_segment_init(segment: *mut GstSegment, format: GstFormat);
6630 pub fn gst_segment_is_equal(s0: *const GstSegment, s1: *const GstSegment) -> gboolean;
6631 pub fn gst_segment_offset_running_time(
6632 segment: *mut GstSegment,
6633 format: GstFormat,
6634 offset: i64,
6635 ) -> gboolean;
6636 pub fn gst_segment_position_from_running_time(
6637 segment: *const GstSegment,
6638 format: GstFormat,
6639 running_time: u64,
6640 ) -> u64;
6641 pub fn gst_segment_position_from_running_time_full(
6642 segment: *const GstSegment,
6643 format: GstFormat,
6644 running_time: u64,
6645 position: *mut u64,
6646 ) -> c_int;
6647 pub fn gst_segment_position_from_stream_time(
6648 segment: *const GstSegment,
6649 format: GstFormat,
6650 stream_time: u64,
6651 ) -> u64;
6652 pub fn gst_segment_position_from_stream_time_full(
6653 segment: *const GstSegment,
6654 format: GstFormat,
6655 stream_time: u64,
6656 position: *mut u64,
6657 ) -> c_int;
6658 pub fn gst_segment_set_running_time(
6659 segment: *mut GstSegment,
6660 format: GstFormat,
6661 running_time: u64,
6662 ) -> gboolean;
6663 pub fn gst_segment_to_position(
6664 segment: *const GstSegment,
6665 format: GstFormat,
6666 running_time: u64,
6667 ) -> u64;
6668 pub fn gst_segment_to_running_time(
6669 segment: *const GstSegment,
6670 format: GstFormat,
6671 position: u64,
6672 ) -> u64;
6673 pub fn gst_segment_to_running_time_full(
6674 segment: *const GstSegment,
6675 format: GstFormat,
6676 position: u64,
6677 running_time: *mut u64,
6678 ) -> c_int;
6679 pub fn gst_segment_to_stream_time(
6680 segment: *const GstSegment,
6681 format: GstFormat,
6682 position: u64,
6683 ) -> u64;
6684 pub fn gst_segment_to_stream_time_full(
6685 segment: *const GstSegment,
6686 format: GstFormat,
6687 position: u64,
6688 stream_time: *mut u64,
6689 ) -> c_int;
6690
6691 pub fn gst_static_caps_get_type() -> GType;
6695 pub fn gst_static_caps_cleanup(static_caps: *mut GstStaticCaps);
6696 pub fn gst_static_caps_get(static_caps: *mut GstStaticCaps) -> *mut GstCaps;
6697
6698 pub fn gst_static_pad_template_get_type() -> GType;
6702 pub fn gst_static_pad_template_get(
6703 pad_template: *mut GstStaticPadTemplate,
6704 ) -> *mut GstPadTemplate;
6705 pub fn gst_static_pad_template_get_caps(templ: *mut GstStaticPadTemplate) -> *mut GstCaps;
6706
6707 pub fn gst_structure_get_type() -> GType;
6711 pub fn gst_structure_from_string(
6712 string: *const c_char,
6713 end: *mut *mut c_char,
6714 ) -> *mut GstStructure;
6715 pub fn gst_structure_new(
6716 name: *const c_char,
6717 firstfield: *const c_char,
6718 ...
6719 ) -> *mut GstStructure;
6720 pub fn gst_structure_new_empty(name: *const c_char) -> *mut GstStructure;
6721 pub fn gst_structure_new_from_string(string: *const c_char) -> *mut GstStructure;
6722 pub fn gst_structure_new_id(
6723 name_quark: glib::GQuark,
6724 field_quark: glib::GQuark,
6725 ...
6726 ) -> *mut GstStructure;
6727 pub fn gst_structure_new_id_empty(quark: glib::GQuark) -> *mut GstStructure;
6728 #[cfg(feature = "v1_26")]
6729 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6730 pub fn gst_structure_new_id_str(
6731 name: *const GstIdStr,
6732 fieldname: *const GstIdStr,
6733 ...
6734 ) -> *mut GstStructure;
6735 #[cfg(feature = "v1_26")]
6736 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6737 pub fn gst_structure_new_id_str_empty(name: *const GstIdStr) -> *mut GstStructure;
6738 #[cfg(feature = "v1_26")]
6742 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6743 pub fn gst_structure_new_static_str(
6744 name: *const c_char,
6745 firstfield: *const c_char,
6746 ...
6747 ) -> *mut GstStructure;
6748 #[cfg(feature = "v1_26")]
6749 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6750 pub fn gst_structure_new_static_str_empty(name: *const c_char) -> *mut GstStructure;
6751 pub fn gst_structure_can_intersect(
6756 struct1: *const GstStructure,
6757 struct2: *const GstStructure,
6758 ) -> gboolean;
6759 pub fn gst_structure_copy(structure: *const GstStructure) -> *mut GstStructure;
6760 pub fn gst_structure_filter_and_map_in_place(
6761 structure: *mut GstStructure,
6762 func: GstStructureFilterMapFunc,
6763 user_data: gpointer,
6764 );
6765 #[cfg(feature = "v1_26")]
6766 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6767 pub fn gst_structure_filter_and_map_in_place_id_str(
6768 structure: *mut GstStructure,
6769 func: GstStructureFilterMapIdStrFunc,
6770 user_data: gpointer,
6771 );
6772 pub fn gst_structure_fixate(structure: *mut GstStructure);
6773 pub fn gst_structure_fixate_field(
6774 structure: *mut GstStructure,
6775 field_name: *const c_char,
6776 ) -> gboolean;
6777 pub fn gst_structure_fixate_field_boolean(
6778 structure: *mut GstStructure,
6779 field_name: *const c_char,
6780 target: gboolean,
6781 ) -> gboolean;
6782 pub fn gst_structure_fixate_field_nearest_double(
6783 structure: *mut GstStructure,
6784 field_name: *const c_char,
6785 target: c_double,
6786 ) -> gboolean;
6787 pub fn gst_structure_fixate_field_nearest_fraction(
6788 structure: *mut GstStructure,
6789 field_name: *const c_char,
6790 target_numerator: c_int,
6791 target_denominator: c_int,
6792 ) -> gboolean;
6793 pub fn gst_structure_fixate_field_nearest_int(
6794 structure: *mut GstStructure,
6795 field_name: *const c_char,
6796 target: c_int,
6797 ) -> gboolean;
6798 pub fn gst_structure_fixate_field_string(
6799 structure: *mut GstStructure,
6800 field_name: *const c_char,
6801 target: *const c_char,
6802 ) -> gboolean;
6803 pub fn gst_structure_foreach(
6804 structure: *const GstStructure,
6805 func: GstStructureForeachFunc,
6806 user_data: gpointer,
6807 ) -> gboolean;
6808 #[cfg(feature = "v1_26")]
6809 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6810 pub fn gst_structure_foreach_id_str(
6811 structure: *const GstStructure,
6812 func: GstStructureForeachIdStrFunc,
6813 user_data: gpointer,
6814 ) -> gboolean;
6815 pub fn gst_structure_free(structure: *mut GstStructure);
6816 pub fn gst_structure_get(
6817 structure: *const GstStructure,
6818 first_fieldname: *const c_char,
6819 ...
6820 ) -> gboolean;
6821 pub fn gst_structure_get_array(
6822 structure: *mut GstStructure,
6823 fieldname: *const c_char,
6824 array: *mut *mut gobject::GValueArray,
6825 ) -> gboolean;
6826 pub fn gst_structure_get_boolean(
6827 structure: *const GstStructure,
6828 fieldname: *const c_char,
6829 value: *mut gboolean,
6830 ) -> gboolean;
6831 pub fn gst_structure_get_clock_time(
6832 structure: *const GstStructure,
6833 fieldname: *const c_char,
6834 value: *mut GstClockTime,
6835 ) -> gboolean;
6836 pub fn gst_structure_get_date(
6837 structure: *const GstStructure,
6838 fieldname: *const c_char,
6839 value: *mut *mut glib::GDate,
6840 ) -> gboolean;
6841 pub fn gst_structure_get_date_time(
6842 structure: *const GstStructure,
6843 fieldname: *const c_char,
6844 value: *mut *mut GstDateTime,
6845 ) -> gboolean;
6846 pub fn gst_structure_get_double(
6847 structure: *const GstStructure,
6848 fieldname: *const c_char,
6849 value: *mut c_double,
6850 ) -> gboolean;
6851 pub fn gst_structure_get_enum(
6852 structure: *const GstStructure,
6853 fieldname: *const c_char,
6854 enumtype: GType,
6855 value: *mut c_int,
6856 ) -> gboolean;
6857 pub fn gst_structure_get_field_type(
6858 structure: *const GstStructure,
6859 fieldname: *const c_char,
6860 ) -> GType;
6861 #[cfg(feature = "v1_22")]
6862 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6863 pub fn gst_structure_get_flags(
6864 structure: *const GstStructure,
6865 fieldname: *const c_char,
6866 flags_type: GType,
6867 value: *mut c_uint,
6868 ) -> gboolean;
6869 pub fn gst_structure_get_flagset(
6870 structure: *const GstStructure,
6871 fieldname: *const c_char,
6872 value_flags: *mut c_uint,
6873 value_mask: *mut c_uint,
6874 ) -> gboolean;
6875 pub fn gst_structure_get_fraction(
6876 structure: *const GstStructure,
6877 fieldname: *const c_char,
6878 value_numerator: *mut c_int,
6879 value_denominator: *mut c_int,
6880 ) -> gboolean;
6881 pub fn gst_structure_get_int(
6882 structure: *const GstStructure,
6883 fieldname: *const c_char,
6884 value: *mut c_int,
6885 ) -> gboolean;
6886 pub fn gst_structure_get_int64(
6887 structure: *const GstStructure,
6888 fieldname: *const c_char,
6889 value: *mut i64,
6890 ) -> gboolean;
6891 pub fn gst_structure_get_list(
6892 structure: *mut GstStructure,
6893 fieldname: *const c_char,
6894 array: *mut *mut gobject::GValueArray,
6895 ) -> gboolean;
6896 pub fn gst_structure_get_name(structure: *const GstStructure) -> *const c_char;
6897 pub fn gst_structure_get_name_id(structure: *const GstStructure) -> glib::GQuark;
6898 #[cfg(feature = "v1_26")]
6899 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6900 pub fn gst_structure_get_name_id_str(structure: *const GstStructure) -> *const GstIdStr;
6901 pub fn gst_structure_get_string(
6902 structure: *const GstStructure,
6903 fieldname: *const c_char,
6904 ) -> *const c_char;
6905 pub fn gst_structure_get_uint(
6906 structure: *const GstStructure,
6907 fieldname: *const c_char,
6908 value: *mut c_uint,
6909 ) -> gboolean;
6910 pub fn gst_structure_get_uint64(
6911 structure: *const GstStructure,
6912 fieldname: *const c_char,
6913 value: *mut u64,
6914 ) -> gboolean;
6915 pub fn gst_structure_get_value(
6917 structure: *const GstStructure,
6918 fieldname: *const c_char,
6919 ) -> *const gobject::GValue;
6920 pub fn gst_structure_has_field(
6921 structure: *const GstStructure,
6922 fieldname: *const c_char,
6923 ) -> gboolean;
6924 pub fn gst_structure_has_field_typed(
6925 structure: *const GstStructure,
6926 fieldname: *const c_char,
6927 type_: GType,
6928 ) -> gboolean;
6929 pub fn gst_structure_has_name(structure: *const GstStructure, name: *const c_char) -> gboolean;
6930 pub fn gst_structure_id_get(
6931 structure: *const GstStructure,
6932 first_field_id: glib::GQuark,
6933 ...
6934 ) -> gboolean;
6935 pub fn gst_structure_id_get_value(
6937 structure: *const GstStructure,
6938 field: glib::GQuark,
6939 ) -> *const gobject::GValue;
6940 pub fn gst_structure_id_has_field(
6941 structure: *const GstStructure,
6942 field: glib::GQuark,
6943 ) -> gboolean;
6944 pub fn gst_structure_id_has_field_typed(
6945 structure: *const GstStructure,
6946 field: glib::GQuark,
6947 type_: GType,
6948 ) -> gboolean;
6949 pub fn gst_structure_id_set(structure: *mut GstStructure, fieldname: glib::GQuark, ...);
6950 pub fn gst_structure_id_set_value(
6952 structure: *mut GstStructure,
6953 field: glib::GQuark,
6954 value: *const gobject::GValue,
6955 );
6956 #[cfg(feature = "v1_26")]
6957 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6958 pub fn gst_structure_id_str_get(
6959 structure: *const GstStructure,
6960 first_fieldname: *const GstIdStr,
6961 ...
6962 ) -> gboolean;
6963 #[cfg(feature = "v1_26")]
6964 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6965 pub fn gst_structure_id_str_get_field_type(
6966 structure: *const GstStructure,
6967 fieldname: *const GstIdStr,
6968 ) -> GType;
6969 #[cfg(feature = "v1_26")]
6973 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6974 pub fn gst_structure_id_str_get_value(
6975 structure: *const GstStructure,
6976 fieldname: *const GstIdStr,
6977 ) -> *const gobject::GValue;
6978 #[cfg(feature = "v1_26")]
6979 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6980 pub fn gst_structure_id_str_has_field(
6981 structure: *const GstStructure,
6982 fieldname: *const GstIdStr,
6983 ) -> gboolean;
6984 #[cfg(feature = "v1_26")]
6985 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6986 pub fn gst_structure_id_str_has_field_typed(
6987 structure: *const GstStructure,
6988 fieldname: *const GstIdStr,
6989 type_: GType,
6990 ) -> gboolean;
6991 #[cfg(feature = "v1_26")]
6992 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6993 pub fn gst_structure_id_str_nth_field_name(
6994 structure: *const GstStructure,
6995 index: c_uint,
6996 ) -> *const GstIdStr;
6997 #[cfg(feature = "v1_26")]
6998 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
6999 pub fn gst_structure_id_str_remove_field(
7000 structure: *mut GstStructure,
7001 fieldname: *const GstIdStr,
7002 );
7003 #[cfg(feature = "v1_26")]
7004 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7005 pub fn gst_structure_id_str_remove_fields(
7006 structure: *mut GstStructure,
7007 fieldname: *const GstIdStr,
7008 ...
7009 );
7010 #[cfg(feature = "v1_26")]
7014 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7015 pub fn gst_structure_id_str_set(structure: *mut GstStructure, fieldname: *const GstIdStr, ...);
7016 #[cfg(feature = "v1_26")]
7020 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7021 pub fn gst_structure_id_str_set_value(
7022 structure: *mut GstStructure,
7023 fieldname: *const GstIdStr,
7024 value: *const gobject::GValue,
7025 );
7026 #[cfg(feature = "v1_26")]
7027 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7028 pub fn gst_structure_id_str_take_value(
7029 structure: *mut GstStructure,
7030 fieldname: *const GstIdStr,
7031 value: *mut gobject::GValue,
7032 );
7033 pub fn gst_structure_id_take_value(
7034 structure: *mut GstStructure,
7035 field: glib::GQuark,
7036 value: *mut gobject::GValue,
7037 );
7038 pub fn gst_structure_intersect(
7039 struct1: *const GstStructure,
7040 struct2: *const GstStructure,
7041 ) -> *mut GstStructure;
7042 pub fn gst_structure_is_equal(
7043 structure1: *const GstStructure,
7044 structure2: *const GstStructure,
7045 ) -> gboolean;
7046 pub fn gst_structure_is_subset(
7047 subset: *const GstStructure,
7048 superset: *const GstStructure,
7049 ) -> gboolean;
7050 pub fn gst_structure_map_in_place(
7051 structure: *mut GstStructure,
7052 func: GstStructureMapFunc,
7053 user_data: gpointer,
7054 ) -> gboolean;
7055 #[cfg(feature = "v1_26")]
7056 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7057 pub fn gst_structure_map_in_place_id_str(
7058 structure: *mut GstStructure,
7059 func: GstStructureMapIdStrFunc,
7060 user_data: gpointer,
7061 ) -> gboolean;
7062 pub fn gst_structure_n_fields(structure: *const GstStructure) -> c_int;
7063 pub fn gst_structure_nth_field_name(
7064 structure: *const GstStructure,
7065 index: c_uint,
7066 ) -> *const c_char;
7067 pub fn gst_structure_remove_all_fields(structure: *mut GstStructure);
7068 pub fn gst_structure_remove_field(structure: *mut GstStructure, fieldname: *const c_char);
7069 pub fn gst_structure_remove_fields(structure: *mut GstStructure, fieldname: *const c_char, ...);
7070 #[cfg(feature = "v1_20")]
7072 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7073 pub fn gst_structure_serialize(
7074 structure: *const GstStructure,
7075 flags: GstSerializeFlags,
7076 ) -> *mut c_char;
7077 #[cfg(feature = "v1_24")]
7078 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7079 pub fn gst_structure_serialize_full(
7080 structure: *const GstStructure,
7081 flags: GstSerializeFlags,
7082 ) -> *mut c_char;
7083 pub fn gst_structure_set(structure: *mut GstStructure, fieldname: *const c_char, ...);
7084 pub fn gst_structure_set_array(
7085 structure: *mut GstStructure,
7086 fieldname: *const c_char,
7087 array: *const gobject::GValueArray,
7088 );
7089 pub fn gst_structure_set_list(
7090 structure: *mut GstStructure,
7091 fieldname: *const c_char,
7092 array: *const gobject::GValueArray,
7093 );
7094 pub fn gst_structure_set_name(structure: *mut GstStructure, name: *const c_char);
7095 #[cfg(feature = "v1_26")]
7096 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7097 pub fn gst_structure_set_name_id_str(structure: *mut GstStructure, name: *const GstIdStr);
7098 #[cfg(feature = "v1_26")]
7099 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7100 pub fn gst_structure_set_name_static_str(structure: *mut GstStructure, name: *const c_char);
7101 pub fn gst_structure_set_parent_refcount(
7102 structure: *mut GstStructure,
7103 refcount: *mut c_int,
7104 ) -> gboolean;
7105 #[cfg(feature = "v1_26")]
7106 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7107 pub fn gst_structure_set_static_str(
7108 structure: *mut GstStructure,
7109 fieldname: *const c_char,
7110 ...
7111 );
7112 pub fn gst_structure_set_value(
7117 structure: *mut GstStructure,
7118 fieldname: *const c_char,
7119 value: *const gobject::GValue,
7120 );
7121 #[cfg(feature = "v1_26")]
7122 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7123 pub fn gst_structure_set_value_static_str(
7124 structure: *mut GstStructure,
7125 fieldname: *const c_char,
7126 value: *const gobject::GValue,
7127 );
7128 pub fn gst_structure_take_value(
7129 structure: *mut GstStructure,
7130 fieldname: *const c_char,
7131 value: *mut gobject::GValue,
7132 );
7133 #[cfg(feature = "v1_26")]
7134 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7135 pub fn gst_structure_take_value_static_str(
7136 structure: *mut GstStructure,
7137 fieldname: *const c_char,
7138 value: *mut gobject::GValue,
7139 );
7140 pub fn gst_structure_to_string(structure: *const GstStructure) -> *mut c_char;
7141 #[cfg(feature = "v1_18")]
7142 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7143 pub fn gst_structure_take(
7144 oldstr_ptr: *mut *mut GstStructure,
7145 newstr: *mut GstStructure,
7146 ) -> gboolean;
7147
7148 pub fn gst_tag_list_get_type() -> GType;
7152 pub fn gst_tag_list_new(tag: *const c_char, ...) -> *mut GstTagList;
7153 pub fn gst_tag_list_new_empty() -> *mut GstTagList;
7154 pub fn gst_tag_list_new_from_string(str: *const c_char) -> *mut GstTagList;
7155 pub fn gst_tag_list_add(list: *mut GstTagList, mode: GstTagMergeMode, tag: *const c_char, ...);
7157 pub fn gst_tag_list_add_value(
7160 list: *mut GstTagList,
7161 mode: GstTagMergeMode,
7162 tag: *const c_char,
7163 value: *const gobject::GValue,
7164 );
7165 pub fn gst_tag_list_add_values(
7166 list: *mut GstTagList,
7167 mode: GstTagMergeMode,
7168 tag: *const c_char,
7169 ...
7170 );
7171 #[cfg(feature = "v1_18_3")]
7172 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7173 pub fn gst_tag_list_copy(taglist: *const GstTagList) -> *mut GstTagList;
7174 pub fn gst_tag_list_foreach(
7175 list: *const GstTagList,
7176 func: GstTagForeachFunc,
7177 user_data: gpointer,
7178 );
7179 pub fn gst_tag_list_get_boolean(
7180 list: *const GstTagList,
7181 tag: *const c_char,
7182 value: *mut gboolean,
7183 ) -> gboolean;
7184 pub fn gst_tag_list_get_boolean_index(
7185 list: *const GstTagList,
7186 tag: *const c_char,
7187 index: c_uint,
7188 value: *mut gboolean,
7189 ) -> gboolean;
7190 pub fn gst_tag_list_get_date(
7191 list: *const GstTagList,
7192 tag: *const c_char,
7193 value: *mut *mut glib::GDate,
7194 ) -> gboolean;
7195 pub fn gst_tag_list_get_date_index(
7196 list: *const GstTagList,
7197 tag: *const c_char,
7198 index: c_uint,
7199 value: *mut *mut glib::GDate,
7200 ) -> gboolean;
7201 pub fn gst_tag_list_get_date_time(
7202 list: *const GstTagList,
7203 tag: *const c_char,
7204 value: *mut *mut GstDateTime,
7205 ) -> gboolean;
7206 pub fn gst_tag_list_get_date_time_index(
7207 list: *const GstTagList,
7208 tag: *const c_char,
7209 index: c_uint,
7210 value: *mut *mut GstDateTime,
7211 ) -> gboolean;
7212 pub fn gst_tag_list_get_double(
7213 list: *const GstTagList,
7214 tag: *const c_char,
7215 value: *mut c_double,
7216 ) -> gboolean;
7217 pub fn gst_tag_list_get_double_index(
7218 list: *const GstTagList,
7219 tag: *const c_char,
7220 index: c_uint,
7221 value: *mut c_double,
7222 ) -> gboolean;
7223 pub fn gst_tag_list_get_float(
7224 list: *const GstTagList,
7225 tag: *const c_char,
7226 value: *mut c_float,
7227 ) -> gboolean;
7228 pub fn gst_tag_list_get_float_index(
7229 list: *const GstTagList,
7230 tag: *const c_char,
7231 index: c_uint,
7232 value: *mut c_float,
7233 ) -> gboolean;
7234 pub fn gst_tag_list_get_int(
7235 list: *const GstTagList,
7236 tag: *const c_char,
7237 value: *mut c_int,
7238 ) -> gboolean;
7239 pub fn gst_tag_list_get_int64(
7240 list: *const GstTagList,
7241 tag: *const c_char,
7242 value: *mut i64,
7243 ) -> gboolean;
7244 pub fn gst_tag_list_get_int64_index(
7245 list: *const GstTagList,
7246 tag: *const c_char,
7247 index: c_uint,
7248 value: *mut i64,
7249 ) -> gboolean;
7250 pub fn gst_tag_list_get_int_index(
7251 list: *const GstTagList,
7252 tag: *const c_char,
7253 index: c_uint,
7254 value: *mut c_int,
7255 ) -> gboolean;
7256 pub fn gst_tag_list_get_pointer(
7257 list: *const GstTagList,
7258 tag: *const c_char,
7259 value: *mut gpointer,
7260 ) -> gboolean;
7261 pub fn gst_tag_list_get_pointer_index(
7262 list: *const GstTagList,
7263 tag: *const c_char,
7264 index: c_uint,
7265 value: *mut gpointer,
7266 ) -> gboolean;
7267 pub fn gst_tag_list_get_sample(
7268 list: *const GstTagList,
7269 tag: *const c_char,
7270 sample: *mut *mut GstSample,
7271 ) -> gboolean;
7272 pub fn gst_tag_list_get_sample_index(
7273 list: *const GstTagList,
7274 tag: *const c_char,
7275 index: c_uint,
7276 sample: *mut *mut GstSample,
7277 ) -> gboolean;
7278 pub fn gst_tag_list_get_scope(list: *const GstTagList) -> GstTagScope;
7279 pub fn gst_tag_list_get_string(
7280 list: *const GstTagList,
7281 tag: *const c_char,
7282 value: *mut *mut c_char,
7283 ) -> gboolean;
7284 pub fn gst_tag_list_get_string_index(
7285 list: *const GstTagList,
7286 tag: *const c_char,
7287 index: c_uint,
7288 value: *mut *mut c_char,
7289 ) -> gboolean;
7290 pub fn gst_tag_list_get_tag_size(list: *const GstTagList, tag: *const c_char) -> c_uint;
7291 pub fn gst_tag_list_get_uint(
7292 list: *const GstTagList,
7293 tag: *const c_char,
7294 value: *mut c_uint,
7295 ) -> gboolean;
7296 pub fn gst_tag_list_get_uint64(
7297 list: *const GstTagList,
7298 tag: *const c_char,
7299 value: *mut u64,
7300 ) -> gboolean;
7301 pub fn gst_tag_list_get_uint64_index(
7302 list: *const GstTagList,
7303 tag: *const c_char,
7304 index: c_uint,
7305 value: *mut u64,
7306 ) -> gboolean;
7307 pub fn gst_tag_list_get_uint_index(
7308 list: *const GstTagList,
7309 tag: *const c_char,
7310 index: c_uint,
7311 value: *mut c_uint,
7312 ) -> gboolean;
7313 pub fn gst_tag_list_get_value_index(
7314 list: *const GstTagList,
7315 tag: *const c_char,
7316 index: c_uint,
7317 ) -> *const gobject::GValue;
7318 pub fn gst_tag_list_insert(
7319 into: *mut GstTagList,
7320 from: *const GstTagList,
7321 mode: GstTagMergeMode,
7322 );
7323 pub fn gst_tag_list_is_empty(list: *const GstTagList) -> gboolean;
7324 pub fn gst_tag_list_is_equal(list1: *const GstTagList, list2: *const GstTagList) -> gboolean;
7325 pub fn gst_tag_list_merge(
7326 list1: *const GstTagList,
7327 list2: *const GstTagList,
7328 mode: GstTagMergeMode,
7329 ) -> *mut GstTagList;
7330 pub fn gst_tag_list_n_tags(list: *const GstTagList) -> c_int;
7331 pub fn gst_tag_list_nth_tag_name(list: *const GstTagList, index: c_uint) -> *const c_char;
7332 pub fn gst_tag_list_peek_string_index(
7333 list: *const GstTagList,
7334 tag: *const c_char,
7335 index: c_uint,
7336 value: *mut *const c_char,
7337 ) -> gboolean;
7338 #[cfg(feature = "v1_18_3")]
7339 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7340 pub fn gst_tag_list_ref(taglist: *mut GstTagList) -> *mut GstTagList;
7341 pub fn gst_tag_list_remove_tag(list: *mut GstTagList, tag: *const c_char);
7342 pub fn gst_tag_list_set_scope(list: *mut GstTagList, scope: GstTagScope);
7343 pub fn gst_tag_list_to_string(list: *const GstTagList) -> *mut c_char;
7344 #[cfg(feature = "v1_18_3")]
7345 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7346 pub fn gst_tag_list_unref(taglist: *mut GstTagList);
7347 pub fn gst_tag_list_copy_value(
7348 dest: *mut gobject::GValue,
7349 list: *const GstTagList,
7350 tag: *const c_char,
7351 ) -> gboolean;
7352 #[cfg(feature = "v1_18_3")]
7353 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7354 pub fn gst_tag_list_replace(
7355 old_taglist: *mut *mut GstTagList,
7356 new_taglist: *mut GstTagList,
7357 ) -> gboolean;
7358 #[cfg(feature = "v1_18_3")]
7359 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7360 pub fn gst_tag_list_take(
7361 old_taglist: *mut *mut GstTagList,
7362 new_taglist: *mut GstTagList,
7363 ) -> gboolean;
7364
7365 pub fn gst_toc_get_type() -> GType;
7369 pub fn gst_toc_new(scope: GstTocScope) -> *mut GstToc;
7370 pub fn gst_toc_append_entry(toc: *mut GstToc, entry: *mut GstTocEntry);
7371 pub fn gst_toc_dump(toc: *mut GstToc);
7372 pub fn gst_toc_find_entry(toc: *const GstToc, uid: *const c_char) -> *mut GstTocEntry;
7373 pub fn gst_toc_get_entries(toc: *const GstToc) -> *mut glib::GList;
7374 pub fn gst_toc_get_scope(toc: *const GstToc) -> GstTocScope;
7375 pub fn gst_toc_get_tags(toc: *const GstToc) -> *mut GstTagList;
7376 pub fn gst_toc_merge_tags(toc: *mut GstToc, tags: *mut GstTagList, mode: GstTagMergeMode);
7377 pub fn gst_toc_set_tags(toc: *mut GstToc, tags: *mut GstTagList);
7378
7379 pub fn gst_toc_entry_get_type() -> GType;
7383 pub fn gst_toc_entry_new(type_: GstTocEntryType, uid: *const c_char) -> *mut GstTocEntry;
7384 pub fn gst_toc_entry_append_sub_entry(entry: *mut GstTocEntry, subentry: *mut GstTocEntry);
7385 pub fn gst_toc_entry_get_entry_type(entry: *const GstTocEntry) -> GstTocEntryType;
7386 pub fn gst_toc_entry_get_loop(
7387 entry: *const GstTocEntry,
7388 loop_type: *mut GstTocLoopType,
7389 repeat_count: *mut c_int,
7390 ) -> gboolean;
7391 pub fn gst_toc_entry_get_parent(entry: *mut GstTocEntry) -> *mut GstTocEntry;
7392 pub fn gst_toc_entry_get_start_stop_times(
7393 entry: *const GstTocEntry,
7394 start: *mut i64,
7395 stop: *mut i64,
7396 ) -> gboolean;
7397 pub fn gst_toc_entry_get_sub_entries(entry: *const GstTocEntry) -> *mut glib::GList;
7398 pub fn gst_toc_entry_get_tags(entry: *const GstTocEntry) -> *mut GstTagList;
7399 pub fn gst_toc_entry_get_toc(entry: *mut GstTocEntry) -> *mut GstToc;
7400 pub fn gst_toc_entry_get_uid(entry: *const GstTocEntry) -> *const c_char;
7401 pub fn gst_toc_entry_is_alternative(entry: *const GstTocEntry) -> gboolean;
7402 pub fn gst_toc_entry_is_sequence(entry: *const GstTocEntry) -> gboolean;
7403 pub fn gst_toc_entry_merge_tags(
7404 entry: *mut GstTocEntry,
7405 tags: *mut GstTagList,
7406 mode: GstTagMergeMode,
7407 );
7408 pub fn gst_toc_entry_set_loop(
7409 entry: *mut GstTocEntry,
7410 loop_type: GstTocLoopType,
7411 repeat_count: c_int,
7412 );
7413 pub fn gst_toc_entry_set_start_stop_times(entry: *mut GstTocEntry, start: i64, stop: i64);
7414 pub fn gst_toc_entry_set_tags(entry: *mut GstTocEntry, tags: *mut GstTagList);
7415
7416 #[cfg(feature = "v1_26")]
7420 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7421 pub fn gst_tracer_class_set_use_structure_params(
7422 tracer_class: *mut GstTracerClass,
7423 use_structure_params: gboolean,
7424 );
7425 #[cfg(feature = "v1_26")]
7426 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7427 pub fn gst_tracer_class_uses_structure_params(tracer_class: *mut GstTracerClass) -> gboolean;
7428
7429 pub fn gst_type_find_get_type() -> GType;
7433 pub fn gst_type_find_get_length(find: *mut GstTypeFind) -> u64;
7434 pub fn gst_type_find_peek(find: *mut GstTypeFind, offset: i64, size: c_uint) -> *const u8;
7435 pub fn gst_type_find_suggest(find: *mut GstTypeFind, probability: c_uint, caps: *mut GstCaps);
7436 #[cfg(feature = "v1_20")]
7437 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7438 pub fn gst_type_find_suggest_empty_simple(
7439 find: *mut GstTypeFind,
7440 probability: c_uint,
7441 media_type: *const c_char,
7442 );
7443 pub fn gst_type_find_suggest_simple(
7444 find: *mut GstTypeFind,
7445 probability: c_uint,
7446 media_type: *const c_char,
7447 fieldname: *const c_char,
7448 ...
7449 );
7450 pub fn gst_type_find_register(
7451 plugin: *mut GstPlugin,
7452 name: *const c_char,
7453 rank: c_uint,
7454 func: GstTypeFindFunction,
7455 extensions: *const c_char,
7456 possible_caps: *mut GstCaps,
7457 data: gpointer,
7458 data_notify: glib::GDestroyNotify,
7459 ) -> gboolean;
7460
7461 pub fn gst_uri_get_type() -> GType;
7465 pub fn gst_uri_new(
7466 scheme: *const c_char,
7467 userinfo: *const c_char,
7468 host: *const c_char,
7469 port: c_uint,
7470 path: *const c_char,
7471 query: *const c_char,
7472 fragment: *const c_char,
7473 ) -> *mut GstUri;
7474 pub fn gst_uri_append_path(uri: *mut GstUri, relative_path: *const c_char) -> gboolean;
7475 pub fn gst_uri_append_path_segment(uri: *mut GstUri, path_segment: *const c_char) -> gboolean;
7476 #[cfg(feature = "v1_18_3")]
7477 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7478 pub fn gst_uri_copy(uri: *const GstUri) -> *mut GstUri;
7479 pub fn gst_uri_equal(first: *const GstUri, second: *const GstUri) -> gboolean;
7480 pub fn gst_uri_from_string_with_base(base: *mut GstUri, uri: *const c_char) -> *mut GstUri;
7481 pub fn gst_uri_get_fragment(uri: *const GstUri) -> *const c_char;
7482 pub fn gst_uri_get_host(uri: *const GstUri) -> *const c_char;
7483 pub fn gst_uri_get_media_fragment_table(uri: *const GstUri) -> *mut glib::GHashTable;
7484 pub fn gst_uri_get_path(uri: *const GstUri) -> *mut c_char;
7485 pub fn gst_uri_get_path_segments(uri: *const GstUri) -> *mut glib::GList;
7486 pub fn gst_uri_get_path_string(uri: *const GstUri) -> *mut c_char;
7487 pub fn gst_uri_get_port(uri: *const GstUri) -> c_uint;
7488 pub fn gst_uri_get_query_keys(uri: *const GstUri) -> *mut glib::GList;
7489 pub fn gst_uri_get_query_string(uri: *const GstUri) -> *mut c_char;
7490 #[cfg(feature = "v1_24")]
7491 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7492 pub fn gst_uri_get_query_string_ordered(
7493 uri: *const GstUri,
7494 keys: *const glib::GList,
7495 ) -> *mut c_char;
7496 pub fn gst_uri_get_query_table(uri: *const GstUri) -> *mut glib::GHashTable;
7497 pub fn gst_uri_get_query_value(uri: *const GstUri, query_key: *const c_char) -> *const c_char;
7498 pub fn gst_uri_get_scheme(uri: *const GstUri) -> *const c_char;
7499 pub fn gst_uri_get_userinfo(uri: *const GstUri) -> *const c_char;
7500 pub fn gst_uri_is_normalized(uri: *const GstUri) -> gboolean;
7501 pub fn gst_uri_is_writable(uri: *const GstUri) -> gboolean;
7502 pub fn gst_uri_join(base_uri: *mut GstUri, ref_uri: *mut GstUri) -> *mut GstUri;
7503 pub fn gst_uri_make_writable(uri: *mut GstUri) -> *mut GstUri;
7504 pub fn gst_uri_new_with_base(
7505 base: *mut GstUri,
7506 scheme: *const c_char,
7507 userinfo: *const c_char,
7508 host: *const c_char,
7509 port: c_uint,
7510 path: *const c_char,
7511 query: *const c_char,
7512 fragment: *const c_char,
7513 ) -> *mut GstUri;
7514 pub fn gst_uri_normalize(uri: *mut GstUri) -> gboolean;
7515 pub fn gst_uri_query_has_key(uri: *const GstUri, query_key: *const c_char) -> gboolean;
7516 #[cfg(feature = "v1_18_3")]
7517 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7518 pub fn gst_uri_ref(uri: *mut GstUri) -> *mut GstUri;
7519 pub fn gst_uri_remove_query_key(uri: *mut GstUri, query_key: *const c_char) -> gboolean;
7520 pub fn gst_uri_set_fragment(uri: *mut GstUri, fragment: *const c_char) -> gboolean;
7521 pub fn gst_uri_set_host(uri: *mut GstUri, host: *const c_char) -> gboolean;
7522 pub fn gst_uri_set_path(uri: *mut GstUri, path: *const c_char) -> gboolean;
7523 pub fn gst_uri_set_path_segments(uri: *mut GstUri, path_segments: *mut glib::GList)
7524 -> gboolean;
7525 pub fn gst_uri_set_path_string(uri: *mut GstUri, path: *const c_char) -> gboolean;
7526 pub fn gst_uri_set_port(uri: *mut GstUri, port: c_uint) -> gboolean;
7527 pub fn gst_uri_set_query_string(uri: *mut GstUri, query: *const c_char) -> gboolean;
7528 pub fn gst_uri_set_query_table(
7529 uri: *mut GstUri,
7530 query_table: *mut glib::GHashTable,
7531 ) -> gboolean;
7532 pub fn gst_uri_set_query_value(
7533 uri: *mut GstUri,
7534 query_key: *const c_char,
7535 query_value: *const c_char,
7536 ) -> gboolean;
7537 pub fn gst_uri_set_scheme(uri: *mut GstUri, scheme: *const c_char) -> gboolean;
7538 pub fn gst_uri_set_userinfo(uri: *mut GstUri, userinfo: *const c_char) -> gboolean;
7539 pub fn gst_uri_to_string(uri: *const GstUri) -> *mut c_char;
7540 #[cfg(feature = "v1_24")]
7541 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7542 pub fn gst_uri_to_string_with_keys(uri: *const GstUri, keys: *const glib::GList)
7543 -> *mut c_char;
7544 #[cfg(feature = "v1_18_3")]
7545 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7546 pub fn gst_uri_unref(uri: *mut GstUri);
7547 pub fn gst_uri_construct(protocol: *const c_char, location: *const c_char) -> *mut c_char;
7548 pub fn gst_uri_from_string(uri: *const c_char) -> *mut GstUri;
7549 #[cfg(feature = "v1_18")]
7550 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7551 pub fn gst_uri_from_string_escaped(uri: *const c_char) -> *mut GstUri;
7552 pub fn gst_uri_get_location(uri: *const c_char) -> *mut c_char;
7553 pub fn gst_uri_get_protocol(uri: *const c_char) -> *mut c_char;
7554 pub fn gst_uri_has_protocol(uri: *const c_char, protocol: *const c_char) -> gboolean;
7555 pub fn gst_uri_is_valid(uri: *const c_char) -> gboolean;
7556 pub fn gst_uri_join_strings(base_uri: *const c_char, ref_uri: *const c_char) -> *mut c_char;
7557 pub fn gst_uri_protocol_is_supported(type_: GstURIType, protocol: *const c_char) -> gboolean;
7558 pub fn gst_uri_protocol_is_valid(protocol: *const c_char) -> gboolean;
7559
7560 #[cfg(feature = "v1_26")]
7564 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7565 pub fn gst_vec_deque_clear(array: *mut GstVecDeque);
7566 #[cfg(feature = "v1_26")]
7567 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7568 pub fn gst_vec_deque_drop_element(array: *mut GstVecDeque, idx: size_t) -> gpointer;
7569 #[cfg(feature = "v1_26")]
7570 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7571 pub fn gst_vec_deque_drop_struct(
7572 array: *mut GstVecDeque,
7573 idx: size_t,
7574 p_struct: gpointer,
7575 ) -> gboolean;
7576 #[cfg(feature = "v1_26")]
7577 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7578 pub fn gst_vec_deque_find(
7579 array: *mut GstVecDeque,
7580 func: glib::GCompareFunc,
7581 data: gpointer,
7582 ) -> size_t;
7583 #[cfg(feature = "v1_26")]
7584 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7585 pub fn gst_vec_deque_free(array: *mut GstVecDeque);
7586 #[cfg(feature = "v1_26")]
7587 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7588 pub fn gst_vec_deque_get_length(array: *mut GstVecDeque) -> size_t;
7589 #[cfg(feature = "v1_26")]
7590 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7591 pub fn gst_vec_deque_is_empty(array: *mut GstVecDeque) -> gboolean;
7592 #[cfg(feature = "v1_26")]
7593 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7594 pub fn gst_vec_deque_peek_head(array: *mut GstVecDeque) -> gpointer;
7595 #[cfg(feature = "v1_26")]
7596 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7597 pub fn gst_vec_deque_peek_head_struct(array: *mut GstVecDeque) -> gpointer;
7598 #[cfg(feature = "v1_26")]
7599 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7600 pub fn gst_vec_deque_peek_nth(array: *mut GstVecDeque, idx: size_t) -> gpointer;
7601 #[cfg(feature = "v1_26")]
7602 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7603 pub fn gst_vec_deque_peek_nth_struct(array: *mut GstVecDeque, idx: size_t) -> gpointer;
7604 #[cfg(feature = "v1_26")]
7605 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7606 pub fn gst_vec_deque_peek_tail(array: *mut GstVecDeque) -> gpointer;
7607 #[cfg(feature = "v1_26")]
7608 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7609 pub fn gst_vec_deque_peek_tail_struct(array: *mut GstVecDeque) -> gpointer;
7610 #[cfg(feature = "v1_26")]
7611 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7612 pub fn gst_vec_deque_pop_head(array: *mut GstVecDeque) -> gpointer;
7613 #[cfg(feature = "v1_26")]
7614 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7615 pub fn gst_vec_deque_pop_head_struct(array: *mut GstVecDeque) -> gpointer;
7616 #[cfg(feature = "v1_26")]
7617 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7618 pub fn gst_vec_deque_pop_tail(array: *mut GstVecDeque) -> gpointer;
7619 #[cfg(feature = "v1_26")]
7620 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7621 pub fn gst_vec_deque_pop_tail_struct(array: *mut GstVecDeque) -> gpointer;
7622 #[cfg(feature = "v1_26")]
7623 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7624 pub fn gst_vec_deque_push_sorted(
7625 array: *mut GstVecDeque,
7626 data: gpointer,
7627 func: glib::GCompareDataFunc,
7628 user_data: gpointer,
7629 );
7630 #[cfg(feature = "v1_26")]
7631 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7632 pub fn gst_vec_deque_push_sorted_struct(
7633 array: *mut GstVecDeque,
7634 p_struct: gpointer,
7635 func: glib::GCompareDataFunc,
7636 user_data: gpointer,
7637 );
7638 #[cfg(feature = "v1_26")]
7639 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7640 pub fn gst_vec_deque_push_tail(array: *mut GstVecDeque, data: gpointer);
7641 #[cfg(feature = "v1_26")]
7642 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7643 pub fn gst_vec_deque_push_tail_struct(array: *mut GstVecDeque, p_struct: gpointer);
7644 #[cfg(feature = "v1_26")]
7645 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7646 pub fn gst_vec_deque_set_clear_func(array: *mut GstVecDeque, clear_func: glib::GDestroyNotify);
7647 #[cfg(feature = "v1_26")]
7648 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7649 pub fn gst_vec_deque_sort(
7650 array: *mut GstVecDeque,
7651 compare_func: glib::GCompareDataFunc,
7652 user_data: gpointer,
7653 );
7654 #[cfg(feature = "v1_26")]
7655 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7656 pub fn gst_vec_deque_new(initial_size: size_t) -> *mut GstVecDeque;
7657 #[cfg(feature = "v1_26")]
7658 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
7659 pub fn gst_vec_deque_new_for_struct(
7660 struct_size: size_t,
7661 initial_size: size_t,
7662 ) -> *mut GstVecDeque;
7663
7664 pub fn gst_allocator_get_type() -> GType;
7668 pub fn gst_allocator_find(name: *const c_char) -> *mut GstAllocator;
7669 pub fn gst_allocator_register(name: *const c_char, allocator: *mut GstAllocator);
7670 pub fn gst_allocator_alloc(
7671 allocator: *mut GstAllocator,
7672 size: size_t,
7673 params: *mut GstAllocationParams,
7674 ) -> *mut GstMemory;
7675 pub fn gst_allocator_free(allocator: *mut GstAllocator, memory: *mut GstMemory);
7676 pub fn gst_allocator_set_default(allocator: *mut GstAllocator);
7677
7678 pub fn gst_bin_get_type() -> GType;
7682 pub fn gst_bin_new(name: *const c_char) -> *mut GstElement;
7683 pub fn gst_bin_add(bin: *mut GstBin, element: *mut GstElement) -> gboolean;
7684 pub fn gst_bin_add_many(bin: *mut GstBin, element_1: *mut GstElement, ...);
7685 pub fn gst_bin_find_unlinked_pad(bin: *mut GstBin, direction: GstPadDirection) -> *mut GstPad;
7686 pub fn gst_bin_get_by_interface(bin: *mut GstBin, iface: GType) -> *mut GstElement;
7687 pub fn gst_bin_get_by_name(bin: *mut GstBin, name: *const c_char) -> *mut GstElement;
7688 pub fn gst_bin_get_by_name_recurse_up(bin: *mut GstBin, name: *const c_char)
7689 -> *mut GstElement;
7690 pub fn gst_bin_get_suppressed_flags(bin: *mut GstBin) -> GstElementFlags;
7691 #[cfg(feature = "v1_18")]
7692 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7693 pub fn gst_bin_iterate_all_by_element_factory_name(
7694 bin: *mut GstBin,
7695 factory_name: *const c_char,
7696 ) -> *mut GstIterator;
7697 pub fn gst_bin_iterate_all_by_interface(bin: *mut GstBin, iface: GType) -> *mut GstIterator;
7698 pub fn gst_bin_iterate_elements(bin: *mut GstBin) -> *mut GstIterator;
7699 pub fn gst_bin_iterate_recurse(bin: *mut GstBin) -> *mut GstIterator;
7700 pub fn gst_bin_iterate_sinks(bin: *mut GstBin) -> *mut GstIterator;
7701 pub fn gst_bin_iterate_sorted(bin: *mut GstBin) -> *mut GstIterator;
7702 pub fn gst_bin_iterate_sources(bin: *mut GstBin) -> *mut GstIterator;
7703 pub fn gst_bin_recalculate_latency(bin: *mut GstBin) -> gboolean;
7704 pub fn gst_bin_remove(bin: *mut GstBin, element: *mut GstElement) -> gboolean;
7705 pub fn gst_bin_remove_many(bin: *mut GstBin, element_1: *mut GstElement, ...);
7706 pub fn gst_bin_set_suppressed_flags(bin: *mut GstBin, flags: GstElementFlags);
7707 pub fn gst_bin_sync_children_states(bin: *mut GstBin) -> gboolean;
7708
7709 pub fn gst_bitmask_get_type() -> GType;
7713
7714 pub fn gst_buffer_pool_get_type() -> GType;
7718 pub fn gst_buffer_pool_new() -> *mut GstBufferPool;
7719 pub fn gst_buffer_pool_config_add_option(config: *mut GstStructure, option: *const c_char);
7720 pub fn gst_buffer_pool_config_get_allocator(
7721 config: *mut GstStructure,
7722 allocator: *mut *mut GstAllocator,
7723 params: *mut GstAllocationParams,
7724 ) -> gboolean;
7725 pub fn gst_buffer_pool_config_get_option(
7726 config: *mut GstStructure,
7727 index: c_uint,
7728 ) -> *const c_char;
7729 pub fn gst_buffer_pool_config_get_params(
7730 config: *mut GstStructure,
7731 caps: *mut *mut GstCaps,
7732 size: *mut c_uint,
7733 min_buffers: *mut c_uint,
7734 max_buffers: *mut c_uint,
7735 ) -> gboolean;
7736 pub fn gst_buffer_pool_config_has_option(
7737 config: *mut GstStructure,
7738 option: *const c_char,
7739 ) -> gboolean;
7740 pub fn gst_buffer_pool_config_n_options(config: *mut GstStructure) -> c_uint;
7741 pub fn gst_buffer_pool_config_set_allocator(
7742 config: *mut GstStructure,
7743 allocator: *mut GstAllocator,
7744 params: *const GstAllocationParams,
7745 );
7746 pub fn gst_buffer_pool_config_set_params(
7747 config: *mut GstStructure,
7748 caps: *mut GstCaps,
7749 size: c_uint,
7750 min_buffers: c_uint,
7751 max_buffers: c_uint,
7752 );
7753 pub fn gst_buffer_pool_config_validate_params(
7754 config: *mut GstStructure,
7755 caps: *mut GstCaps,
7756 size: c_uint,
7757 min_buffers: c_uint,
7758 max_buffers: c_uint,
7759 ) -> gboolean;
7760 pub fn gst_buffer_pool_acquire_buffer(
7761 pool: *mut GstBufferPool,
7762 buffer: *mut *mut GstBuffer,
7763 params: *mut GstBufferPoolAcquireParams,
7764 ) -> GstFlowReturn;
7765 pub fn gst_buffer_pool_get_config(pool: *mut GstBufferPool) -> *mut GstStructure;
7766 pub fn gst_buffer_pool_get_options(pool: *mut GstBufferPool) -> *mut *const c_char;
7767 pub fn gst_buffer_pool_has_option(pool: *mut GstBufferPool, option: *const c_char) -> gboolean;
7768 pub fn gst_buffer_pool_is_active(pool: *mut GstBufferPool) -> gboolean;
7769 pub fn gst_buffer_pool_release_buffer(pool: *mut GstBufferPool, buffer: *mut GstBuffer);
7770 pub fn gst_buffer_pool_set_active(pool: *mut GstBufferPool, active: gboolean) -> gboolean;
7771 pub fn gst_buffer_pool_set_config(
7772 pool: *mut GstBufferPool,
7773 config: *mut GstStructure,
7774 ) -> gboolean;
7775 pub fn gst_buffer_pool_set_flushing(pool: *mut GstBufferPool, flushing: gboolean);
7776
7777 pub fn gst_bus_get_type() -> GType;
7781 pub fn gst_bus_new() -> *mut GstBus;
7782 pub fn gst_bus_add_signal_watch(bus: *mut GstBus);
7783 pub fn gst_bus_add_signal_watch_full(bus: *mut GstBus, priority: c_int);
7784 pub fn gst_bus_add_watch(bus: *mut GstBus, func: GstBusFunc, user_data: gpointer) -> c_uint;
7785 pub fn gst_bus_add_watch_full(
7786 bus: *mut GstBus,
7787 priority: c_int,
7788 func: GstBusFunc,
7789 user_data: gpointer,
7790 notify: glib::GDestroyNotify,
7791 ) -> c_uint;
7792 pub fn gst_bus_async_signal_func(
7793 bus: *mut GstBus,
7794 message: *mut GstMessage,
7795 data: gpointer,
7796 ) -> gboolean;
7797 pub fn gst_bus_create_watch(bus: *mut GstBus) -> *mut glib::GSource;
7798 pub fn gst_bus_disable_sync_message_emission(bus: *mut GstBus);
7799 pub fn gst_bus_enable_sync_message_emission(bus: *mut GstBus);
7800 pub fn gst_bus_get_pollfd(bus: *mut GstBus, fd: *mut glib::GPollFD);
7801 pub fn gst_bus_have_pending(bus: *mut GstBus) -> gboolean;
7802 pub fn gst_bus_peek(bus: *mut GstBus) -> *mut GstMessage;
7803 pub fn gst_bus_poll(
7804 bus: *mut GstBus,
7805 events: GstMessageType,
7806 timeout: GstClockTime,
7807 ) -> *mut GstMessage;
7808 pub fn gst_bus_pop(bus: *mut GstBus) -> *mut GstMessage;
7809 pub fn gst_bus_pop_filtered(bus: *mut GstBus, types: GstMessageType) -> *mut GstMessage;
7810 pub fn gst_bus_post(bus: *mut GstBus, message: *mut GstMessage) -> gboolean;
7811 pub fn gst_bus_remove_signal_watch(bus: *mut GstBus);
7812 pub fn gst_bus_remove_watch(bus: *mut GstBus) -> gboolean;
7813 pub fn gst_bus_set_flushing(bus: *mut GstBus, flushing: gboolean);
7814 pub fn gst_bus_set_sync_handler(
7815 bus: *mut GstBus,
7816 func: GstBusSyncHandler,
7817 user_data: gpointer,
7818 notify: glib::GDestroyNotify,
7819 );
7820 pub fn gst_bus_sync_signal_handler(
7821 bus: *mut GstBus,
7822 message: *mut GstMessage,
7823 data: gpointer,
7824 ) -> GstBusSyncReply;
7825 pub fn gst_bus_timed_pop(bus: *mut GstBus, timeout: GstClockTime) -> *mut GstMessage;
7826 pub fn gst_bus_timed_pop_filtered(
7827 bus: *mut GstBus,
7828 timeout: GstClockTime,
7829 types: GstMessageType,
7830 ) -> *mut GstMessage;
7831
7832 pub fn gst_clock_get_type() -> GType;
7836 pub fn gst_clock_id_compare_func(id1: gconstpointer, id2: gconstpointer) -> c_int;
7837 #[cfg(feature = "v1_16")]
7838 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7839 pub fn gst_clock_id_get_clock(id: GstClockID) -> *mut GstClock;
7840 pub fn gst_clock_id_get_time(id: GstClockID) -> GstClockTime;
7841 pub fn gst_clock_id_ref(id: GstClockID) -> GstClockID;
7842 pub fn gst_clock_id_unref(id: GstClockID);
7843 pub fn gst_clock_id_unschedule(id: GstClockID);
7844 #[cfg(feature = "v1_16")]
7845 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7846 pub fn gst_clock_id_uses_clock(id: GstClockID, clock: *mut GstClock) -> gboolean;
7847 pub fn gst_clock_id_wait(id: GstClockID, jitter: *mut GstClockTimeDiff) -> GstClockReturn;
7848 pub fn gst_clock_id_wait_async(
7849 id: GstClockID,
7850 func: GstClockCallback,
7851 user_data: gpointer,
7852 destroy_data: glib::GDestroyNotify,
7853 ) -> GstClockReturn;
7854 pub fn gst_clock_add_observation(
7855 clock: *mut GstClock,
7856 observation_internal: GstClockTime,
7857 observation_external: GstClockTime,
7858 r_squared: *mut c_double,
7859 ) -> gboolean;
7860 pub fn gst_clock_add_observation_unapplied(
7861 clock: *mut GstClock,
7862 observation_internal: GstClockTime,
7863 observation_external: GstClockTime,
7864 r_squared: *mut c_double,
7865 internal: *mut GstClockTime,
7866 external: *mut GstClockTime,
7867 rate_num: *mut GstClockTime,
7868 rate_denom: *mut GstClockTime,
7869 ) -> gboolean;
7870 pub fn gst_clock_adjust_unlocked(clock: *mut GstClock, internal: GstClockTime) -> GstClockTime;
7871 pub fn gst_clock_adjust_with_calibration(
7872 clock: *mut GstClock,
7873 internal_target: GstClockTime,
7874 cinternal: GstClockTime,
7875 cexternal: GstClockTime,
7876 cnum: GstClockTime,
7877 cdenom: GstClockTime,
7878 ) -> GstClockTime;
7879 pub fn gst_clock_get_calibration(
7880 clock: *mut GstClock,
7881 internal: *mut GstClockTime,
7882 external: *mut GstClockTime,
7883 rate_num: *mut GstClockTime,
7884 rate_denom: *mut GstClockTime,
7885 );
7886 pub fn gst_clock_get_internal_time(clock: *mut GstClock) -> GstClockTime;
7887 pub fn gst_clock_get_master(clock: *mut GstClock) -> *mut GstClock;
7888 pub fn gst_clock_get_resolution(clock: *mut GstClock) -> GstClockTime;
7889 pub fn gst_clock_get_time(clock: *mut GstClock) -> GstClockTime;
7890 pub fn gst_clock_get_timeout(clock: *mut GstClock) -> GstClockTime;
7891 pub fn gst_clock_is_synced(clock: *mut GstClock) -> gboolean;
7892 pub fn gst_clock_new_periodic_id(
7893 clock: *mut GstClock,
7894 start_time: GstClockTime,
7895 interval: GstClockTime,
7896 ) -> GstClockID;
7897 pub fn gst_clock_new_single_shot_id(clock: *mut GstClock, time: GstClockTime) -> GstClockID;
7898 pub fn gst_clock_periodic_id_reinit(
7899 clock: *mut GstClock,
7900 id: GstClockID,
7901 start_time: GstClockTime,
7902 interval: GstClockTime,
7903 ) -> gboolean;
7904 pub fn gst_clock_set_calibration(
7905 clock: *mut GstClock,
7906 internal: GstClockTime,
7907 external: GstClockTime,
7908 rate_num: GstClockTime,
7909 rate_denom: GstClockTime,
7910 );
7911 pub fn gst_clock_set_master(clock: *mut GstClock, master: *mut GstClock) -> gboolean;
7912 pub fn gst_clock_set_resolution(clock: *mut GstClock, resolution: GstClockTime)
7913 -> GstClockTime;
7914 pub fn gst_clock_set_synced(clock: *mut GstClock, synced: gboolean);
7915 pub fn gst_clock_set_timeout(clock: *mut GstClock, timeout: GstClockTime);
7916 pub fn gst_clock_single_shot_id_reinit(
7917 clock: *mut GstClock,
7918 id: GstClockID,
7919 time: GstClockTime,
7920 ) -> gboolean;
7921 pub fn gst_clock_unadjust_unlocked(
7922 clock: *mut GstClock,
7923 external: GstClockTime,
7924 ) -> GstClockTime;
7925 pub fn gst_clock_unadjust_with_calibration(
7926 clock: *mut GstClock,
7927 external_target: GstClockTime,
7928 cinternal: GstClockTime,
7929 cexternal: GstClockTime,
7930 cnum: GstClockTime,
7931 cdenom: GstClockTime,
7932 ) -> GstClockTime;
7933 pub fn gst_clock_wait_for_sync(clock: *mut GstClock, timeout: GstClockTime) -> gboolean;
7934
7935 pub fn gst_control_binding_get_type() -> GType;
7939 pub fn gst_control_binding_get_g_value_array(
7940 binding: *mut GstControlBinding,
7941 timestamp: GstClockTime,
7942 interval: GstClockTime,
7943 n_values: c_uint,
7944 values: *mut gobject::GValue,
7945 ) -> gboolean;
7946 pub fn gst_control_binding_get_value(
7947 binding: *mut GstControlBinding,
7948 timestamp: GstClockTime,
7949 ) -> *mut gobject::GValue;
7950 pub fn gst_control_binding_get_value_array(
7951 binding: *mut GstControlBinding,
7952 timestamp: GstClockTime,
7953 interval: GstClockTime,
7954 n_values: c_uint,
7955 values: gpointer,
7956 ) -> gboolean;
7957 pub fn gst_control_binding_is_disabled(binding: *mut GstControlBinding) -> gboolean;
7958 pub fn gst_control_binding_set_disabled(binding: *mut GstControlBinding, disabled: gboolean);
7959 pub fn gst_control_binding_sync_values(
7960 binding: *mut GstControlBinding,
7961 object: *mut GstObject,
7962 timestamp: GstClockTime,
7963 last_sync: GstClockTime,
7964 ) -> gboolean;
7965
7966 pub fn gst_control_source_get_type() -> GType;
7970 pub fn gst_control_source_get_value(
7971 self_: *mut GstControlSource,
7972 timestamp: GstClockTime,
7973 value: *mut c_double,
7974 ) -> gboolean;
7975 pub fn gst_control_source_get_value_array(
7976 self_: *mut GstControlSource,
7977 timestamp: GstClockTime,
7978 interval: GstClockTime,
7979 n_values: c_uint,
7980 values: *mut c_double,
7981 ) -> gboolean;
7982
7983 pub fn gst_device_get_type() -> GType;
7987 pub fn gst_device_create_element(
7988 device: *mut GstDevice,
7989 name: *const c_char,
7990 ) -> *mut GstElement;
7991 pub fn gst_device_get_caps(device: *mut GstDevice) -> *mut GstCaps;
7992 pub fn gst_device_get_device_class(device: *mut GstDevice) -> *mut c_char;
7993 pub fn gst_device_get_display_name(device: *mut GstDevice) -> *mut c_char;
7994 pub fn gst_device_get_properties(device: *mut GstDevice) -> *mut GstStructure;
7995 pub fn gst_device_has_classes(device: *mut GstDevice, classes: *const c_char) -> gboolean;
7996 pub fn gst_device_has_classesv(device: *mut GstDevice, classes: *mut *mut c_char) -> gboolean;
7997 pub fn gst_device_reconfigure_element(
7998 device: *mut GstDevice,
7999 element: *mut GstElement,
8000 ) -> gboolean;
8001
8002 pub fn gst_device_monitor_get_type() -> GType;
8006 pub fn gst_device_monitor_new() -> *mut GstDeviceMonitor;
8007 pub fn gst_device_monitor_add_filter(
8008 monitor: *mut GstDeviceMonitor,
8009 classes: *const c_char,
8010 caps: *mut GstCaps,
8011 ) -> c_uint;
8012 pub fn gst_device_monitor_get_bus(monitor: *mut GstDeviceMonitor) -> *mut GstBus;
8013 pub fn gst_device_monitor_get_devices(monitor: *mut GstDeviceMonitor) -> *mut glib::GList;
8014 pub fn gst_device_monitor_get_providers(monitor: *mut GstDeviceMonitor) -> *mut *mut c_char;
8015 pub fn gst_device_monitor_get_show_all_devices(monitor: *mut GstDeviceMonitor) -> gboolean;
8016 pub fn gst_device_monitor_remove_filter(
8017 monitor: *mut GstDeviceMonitor,
8018 filter_id: c_uint,
8019 ) -> gboolean;
8020 pub fn gst_device_monitor_set_show_all_devices(
8021 monitor: *mut GstDeviceMonitor,
8022 show_all: gboolean,
8023 );
8024 pub fn gst_device_monitor_start(monitor: *mut GstDeviceMonitor) -> gboolean;
8025 pub fn gst_device_monitor_stop(monitor: *mut GstDeviceMonitor);
8026
8027 pub fn gst_device_provider_get_type() -> GType;
8031 pub fn gst_device_provider_register(
8032 plugin: *mut GstPlugin,
8033 name: *const c_char,
8034 rank: c_uint,
8035 type_: GType,
8036 ) -> gboolean;
8037 pub fn gst_device_provider_can_monitor(provider: *mut GstDeviceProvider) -> gboolean;
8038 pub fn gst_device_provider_device_add(provider: *mut GstDeviceProvider, device: *mut GstDevice);
8039 #[cfg(feature = "v1_16")]
8040 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
8041 pub fn gst_device_provider_device_changed(
8042 provider: *mut GstDeviceProvider,
8043 device: *mut GstDevice,
8044 changed_device: *mut GstDevice,
8045 );
8046 pub fn gst_device_provider_device_remove(
8047 provider: *mut GstDeviceProvider,
8048 device: *mut GstDevice,
8049 );
8050 pub fn gst_device_provider_get_bus(provider: *mut GstDeviceProvider) -> *mut GstBus;
8051 pub fn gst_device_provider_get_devices(provider: *mut GstDeviceProvider) -> *mut glib::GList;
8052 pub fn gst_device_provider_get_factory(
8053 provider: *mut GstDeviceProvider,
8054 ) -> *mut GstDeviceProviderFactory;
8055 pub fn gst_device_provider_get_hidden_providers(
8056 provider: *mut GstDeviceProvider,
8057 ) -> *mut *mut c_char;
8058 pub fn gst_device_provider_get_metadata(
8059 provider: *mut GstDeviceProvider,
8060 key: *const c_char,
8061 ) -> *const c_char;
8062 pub fn gst_device_provider_hide_provider(provider: *mut GstDeviceProvider, name: *const c_char);
8063 #[cfg(feature = "v1_20")]
8064 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8065 pub fn gst_device_provider_is_started(provider: *mut GstDeviceProvider) -> gboolean;
8066 pub fn gst_device_provider_start(provider: *mut GstDeviceProvider) -> gboolean;
8067 pub fn gst_device_provider_stop(provider: *mut GstDeviceProvider);
8068 pub fn gst_device_provider_unhide_provider(
8069 provider: *mut GstDeviceProvider,
8070 name: *const c_char,
8071 );
8072
8073 pub fn gst_device_provider_factory_get_type() -> GType;
8077 pub fn gst_device_provider_factory_find(name: *const c_char) -> *mut GstDeviceProviderFactory;
8078 pub fn gst_device_provider_factory_get_by_name(
8079 factoryname: *const c_char,
8080 ) -> *mut GstDeviceProvider;
8081 pub fn gst_device_provider_factory_list_get_device_providers(
8082 minrank: GstRank,
8083 ) -> *mut glib::GList;
8084 pub fn gst_device_provider_factory_get(
8085 factory: *mut GstDeviceProviderFactory,
8086 ) -> *mut GstDeviceProvider;
8087 pub fn gst_device_provider_factory_get_device_provider_type(
8088 factory: *mut GstDeviceProviderFactory,
8089 ) -> GType;
8090 pub fn gst_device_provider_factory_get_metadata(
8091 factory: *mut GstDeviceProviderFactory,
8092 key: *const c_char,
8093 ) -> *const c_char;
8094 pub fn gst_device_provider_factory_get_metadata_keys(
8095 factory: *mut GstDeviceProviderFactory,
8096 ) -> *mut *mut c_char;
8097 pub fn gst_device_provider_factory_has_classes(
8098 factory: *mut GstDeviceProviderFactory,
8099 classes: *const c_char,
8100 ) -> gboolean;
8101 pub fn gst_device_provider_factory_has_classesv(
8102 factory: *mut GstDeviceProviderFactory,
8103 classes: *mut *mut c_char,
8104 ) -> gboolean;
8105
8106 pub fn gst_double_range_get_type() -> GType;
8110
8111 pub fn gst_dynamic_type_factory_get_type() -> GType;
8115 pub fn gst_dynamic_type_factory_load(factoryname: *const c_char) -> GType;
8116
8117 pub fn gst_element_get_type() -> GType;
8121 pub fn gst_element_make_from_uri(
8122 type_: GstURIType,
8123 uri: *const c_char,
8124 elementname: *const c_char,
8125 error: *mut *mut glib::GError,
8126 ) -> *mut GstElement;
8127 pub fn gst_element_register(
8128 plugin: *mut GstPlugin,
8129 name: *const c_char,
8130 rank: c_uint,
8131 type_: GType,
8132 ) -> gboolean;
8133 pub fn gst_element_state_change_return_get_name(
8134 state_ret: GstStateChangeReturn,
8135 ) -> *const c_char;
8136 pub fn gst_element_state_get_name(state: GstState) -> *const c_char;
8137 #[cfg(feature = "v1_20")]
8138 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8139 pub fn gst_element_type_set_skip_documentation(type_: GType);
8140 pub fn gst_element_abort_state(element: *mut GstElement);
8141 pub fn gst_element_add_pad(element: *mut GstElement, pad: *mut GstPad) -> gboolean;
8142 pub fn gst_element_add_property_deep_notify_watch(
8143 element: *mut GstElement,
8144 property_name: *const c_char,
8145 include_value: gboolean,
8146 ) -> c_ulong;
8147 pub fn gst_element_add_property_notify_watch(
8148 element: *mut GstElement,
8149 property_name: *const c_char,
8150 include_value: gboolean,
8151 ) -> c_ulong;
8152 pub fn gst_element_call_async(
8153 element: *mut GstElement,
8154 func: GstElementCallAsyncFunc,
8155 user_data: gpointer,
8156 destroy_notify: glib::GDestroyNotify,
8157 );
8158 pub fn gst_element_change_state(
8159 element: *mut GstElement,
8160 transition: GstStateChange,
8161 ) -> GstStateChangeReturn;
8162 pub fn gst_element_continue_state(
8163 element: *mut GstElement,
8164 ret: GstStateChangeReturn,
8165 ) -> GstStateChangeReturn;
8166 pub fn gst_element_create_all_pads(element: *mut GstElement);
8167 #[cfg(feature = "v1_24")]
8168 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8169 pub fn gst_element_decorate_stream_id(
8170 element: *mut GstElement,
8171 stream_id: *const c_char,
8172 ) -> *mut c_char;
8173 #[cfg(feature = "v1_24")]
8174 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8175 pub fn gst_element_decorate_stream_id_printf(
8176 element: *mut GstElement,
8177 format: *const c_char,
8178 ...
8179 ) -> *mut c_char;
8180 pub fn gst_element_foreach_pad(
8184 element: *mut GstElement,
8185 func: GstElementForeachPadFunc,
8186 user_data: gpointer,
8187 ) -> gboolean;
8188 pub fn gst_element_foreach_sink_pad(
8189 element: *mut GstElement,
8190 func: GstElementForeachPadFunc,
8191 user_data: gpointer,
8192 ) -> gboolean;
8193 pub fn gst_element_foreach_src_pad(
8194 element: *mut GstElement,
8195 func: GstElementForeachPadFunc,
8196 user_data: gpointer,
8197 ) -> gboolean;
8198 pub fn gst_element_get_base_time(element: *mut GstElement) -> GstClockTime;
8199 pub fn gst_element_get_bus(element: *mut GstElement) -> *mut GstBus;
8200 pub fn gst_element_get_clock(element: *mut GstElement) -> *mut GstClock;
8201 pub fn gst_element_get_compatible_pad(
8202 element: *mut GstElement,
8203 pad: *mut GstPad,
8204 caps: *mut GstCaps,
8205 ) -> *mut GstPad;
8206 pub fn gst_element_get_compatible_pad_template(
8207 element: *mut GstElement,
8208 compattempl: *mut GstPadTemplate,
8209 ) -> *mut GstPadTemplate;
8210 pub fn gst_element_get_context(
8211 element: *mut GstElement,
8212 context_type: *const c_char,
8213 ) -> *mut GstContext;
8214 pub fn gst_element_get_context_unlocked(
8215 element: *mut GstElement,
8216 context_type: *const c_char,
8217 ) -> *mut GstContext;
8218 pub fn gst_element_get_contexts(element: *mut GstElement) -> *mut glib::GList;
8219 #[cfg(feature = "v1_18")]
8220 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8221 pub fn gst_element_get_current_clock_time(element: *mut GstElement) -> GstClockTime;
8222 #[cfg(feature = "v1_18")]
8223 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8224 pub fn gst_element_get_current_running_time(element: *mut GstElement) -> GstClockTime;
8225 pub fn gst_element_get_factory(element: *mut GstElement) -> *mut GstElementFactory;
8226 pub fn gst_element_get_metadata(element: *mut GstElement, key: *const c_char) -> *const c_char;
8227 pub fn gst_element_get_pad_template(
8228 element: *mut GstElement,
8229 name: *const c_char,
8230 ) -> *mut GstPadTemplate;
8231 pub fn gst_element_get_pad_template_list(element: *mut GstElement) -> *mut glib::GList;
8232 pub fn gst_element_get_request_pad(
8233 element: *mut GstElement,
8234 name: *const c_char,
8235 ) -> *mut GstPad;
8236 pub fn gst_element_get_start_time(element: *mut GstElement) -> GstClockTime;
8237 pub fn gst_element_get_state(
8238 element: *mut GstElement,
8239 state: *mut GstState,
8240 pending: *mut GstState,
8241 timeout: GstClockTime,
8242 ) -> GstStateChangeReturn;
8243 pub fn gst_element_get_static_pad(element: *mut GstElement, name: *const c_char)
8244 -> *mut GstPad;
8245 pub fn gst_element_is_locked_state(element: *mut GstElement) -> gboolean;
8246 pub fn gst_element_iterate_pads(element: *mut GstElement) -> *mut GstIterator;
8247 pub fn gst_element_iterate_sink_pads(element: *mut GstElement) -> *mut GstIterator;
8248 pub fn gst_element_iterate_src_pads(element: *mut GstElement) -> *mut GstIterator;
8249 pub fn gst_element_link(src: *mut GstElement, dest: *mut GstElement) -> gboolean;
8250 pub fn gst_element_link_filtered(
8251 src: *mut GstElement,
8252 dest: *mut GstElement,
8253 filter: *mut GstCaps,
8254 ) -> gboolean;
8255 pub fn gst_element_link_many(
8256 element_1: *mut GstElement,
8257 element_2: *mut GstElement,
8258 ...
8259 ) -> gboolean;
8260 pub fn gst_element_link_pads(
8261 src: *mut GstElement,
8262 srcpadname: *const c_char,
8263 dest: *mut GstElement,
8264 destpadname: *const c_char,
8265 ) -> gboolean;
8266 pub fn gst_element_link_pads_filtered(
8267 src: *mut GstElement,
8268 srcpadname: *const c_char,
8269 dest: *mut GstElement,
8270 destpadname: *const c_char,
8271 filter: *mut GstCaps,
8272 ) -> gboolean;
8273 pub fn gst_element_link_pads_full(
8274 src: *mut GstElement,
8275 srcpadname: *const c_char,
8276 dest: *mut GstElement,
8277 destpadname: *const c_char,
8278 flags: GstPadLinkCheck,
8279 ) -> gboolean;
8280 pub fn gst_element_lost_state(element: *mut GstElement);
8281 pub fn gst_element_message_full(
8282 element: *mut GstElement,
8283 type_: GstMessageType,
8284 domain: glib::GQuark,
8285 code: c_int,
8286 text: *mut c_char,
8287 debug: *mut c_char,
8288 file: *const c_char,
8289 function: *const c_char,
8290 line: c_int,
8291 );
8292 pub fn gst_element_message_full_with_details(
8293 element: *mut GstElement,
8294 type_: GstMessageType,
8295 domain: glib::GQuark,
8296 code: c_int,
8297 text: *mut c_char,
8298 debug: *mut c_char,
8299 file: *const c_char,
8300 function: *const c_char,
8301 line: c_int,
8302 structure: *mut GstStructure,
8303 );
8304 pub fn gst_element_no_more_pads(element: *mut GstElement);
8305 pub fn gst_element_post_message(element: *mut GstElement, message: *mut GstMessage)
8306 -> gboolean;
8307 pub fn gst_element_provide_clock(element: *mut GstElement) -> *mut GstClock;
8308 pub fn gst_element_query(element: *mut GstElement, query: *mut GstQuery) -> gboolean;
8309 pub fn gst_element_query_convert(
8310 element: *mut GstElement,
8311 src_format: GstFormat,
8312 src_val: i64,
8313 dest_format: GstFormat,
8314 dest_val: *mut i64,
8315 ) -> gboolean;
8316 pub fn gst_element_query_duration(
8317 element: *mut GstElement,
8318 format: GstFormat,
8319 duration: *mut i64,
8320 ) -> gboolean;
8321 pub fn gst_element_query_position(
8322 element: *mut GstElement,
8323 format: GstFormat,
8324 cur: *mut i64,
8325 ) -> gboolean;
8326 pub fn gst_element_release_request_pad(element: *mut GstElement, pad: *mut GstPad);
8327 pub fn gst_element_remove_pad(element: *mut GstElement, pad: *mut GstPad) -> gboolean;
8328 pub fn gst_element_remove_property_notify_watch(element: *mut GstElement, watch_id: c_ulong);
8329 pub fn gst_element_request_pad(
8330 element: *mut GstElement,
8331 templ: *mut GstPadTemplate,
8332 name: *const c_char,
8333 caps: *const GstCaps,
8334 ) -> *mut GstPad;
8335 #[cfg(feature = "v1_20")]
8336 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8337 pub fn gst_element_request_pad_simple(
8338 element: *mut GstElement,
8339 name: *const c_char,
8340 ) -> *mut GstPad;
8341 pub fn gst_element_seek(
8342 element: *mut GstElement,
8343 rate: c_double,
8344 format: GstFormat,
8345 flags: GstSeekFlags,
8346 start_type: GstSeekType,
8347 start: i64,
8348 stop_type: GstSeekType,
8349 stop: i64,
8350 ) -> gboolean;
8351 pub fn gst_element_seek_simple(
8352 element: *mut GstElement,
8353 format: GstFormat,
8354 seek_flags: GstSeekFlags,
8355 seek_pos: i64,
8356 ) -> gboolean;
8357 pub fn gst_element_send_event(element: *mut GstElement, event: *mut GstEvent) -> gboolean;
8358 pub fn gst_element_set_base_time(element: *mut GstElement, time: GstClockTime);
8359 pub fn gst_element_set_bus(element: *mut GstElement, bus: *mut GstBus);
8360 pub fn gst_element_set_clock(element: *mut GstElement, clock: *mut GstClock) -> gboolean;
8361 pub fn gst_element_set_context(element: *mut GstElement, context: *mut GstContext);
8362 pub fn gst_element_set_locked_state(
8363 element: *mut GstElement,
8364 locked_state: gboolean,
8365 ) -> gboolean;
8366 pub fn gst_element_set_start_time(element: *mut GstElement, time: GstClockTime);
8367 pub fn gst_element_set_state(element: *mut GstElement, state: GstState)
8368 -> GstStateChangeReturn;
8369 pub fn gst_element_sync_state_with_parent(element: *mut GstElement) -> gboolean;
8370 pub fn gst_element_unlink(src: *mut GstElement, dest: *mut GstElement);
8371 pub fn gst_element_unlink_many(element_1: *mut GstElement, element_2: *mut GstElement, ...);
8372 pub fn gst_element_unlink_pads(
8373 src: *mut GstElement,
8374 srcpadname: *const c_char,
8375 dest: *mut GstElement,
8376 destpadname: *const c_char,
8377 );
8378
8379 pub fn gst_element_factory_get_type() -> GType;
8383 pub fn gst_element_factory_find(name: *const c_char) -> *mut GstElementFactory;
8384 pub fn gst_element_factory_list_filter(
8385 list: *mut glib::GList,
8386 caps: *const GstCaps,
8387 direction: GstPadDirection,
8388 subsetonly: gboolean,
8389 ) -> *mut glib::GList;
8390 pub fn gst_element_factory_list_get_elements(
8391 type_: GstElementFactoryListType,
8392 minrank: GstRank,
8393 ) -> *mut glib::GList;
8394 pub fn gst_element_factory_make(
8395 factoryname: *const c_char,
8396 name: *const c_char,
8397 ) -> *mut GstElement;
8398 #[cfg(feature = "v1_20")]
8399 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8400 pub fn gst_element_factory_make_full(
8401 factoryname: *const c_char,
8402 first: *const c_char,
8403 ...
8404 ) -> *mut GstElement;
8405 #[cfg(feature = "v1_20")]
8409 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8410 pub fn gst_element_factory_make_with_properties(
8411 factoryname: *const c_char,
8412 n: c_uint,
8413 names: *mut *const c_char,
8414 values: *const gobject::GValue,
8415 ) -> *mut GstElement;
8416 pub fn gst_element_factory_can_sink_all_caps(
8417 factory: *mut GstElementFactory,
8418 caps: *const GstCaps,
8419 ) -> gboolean;
8420 pub fn gst_element_factory_can_sink_any_caps(
8421 factory: *mut GstElementFactory,
8422 caps: *const GstCaps,
8423 ) -> gboolean;
8424 pub fn gst_element_factory_can_src_all_caps(
8425 factory: *mut GstElementFactory,
8426 caps: *const GstCaps,
8427 ) -> gboolean;
8428 pub fn gst_element_factory_can_src_any_caps(
8429 factory: *mut GstElementFactory,
8430 caps: *const GstCaps,
8431 ) -> gboolean;
8432 pub fn gst_element_factory_create(
8433 factory: *mut GstElementFactory,
8434 name: *const c_char,
8435 ) -> *mut GstElement;
8436 #[cfg(feature = "v1_20")]
8437 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8438 pub fn gst_element_factory_create_full(
8439 factory: *mut GstElementFactory,
8440 first: *const c_char,
8441 ...
8442 ) -> *mut GstElement;
8443 #[cfg(feature = "v1_20")]
8447 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8448 pub fn gst_element_factory_create_with_properties(
8449 factory: *mut GstElementFactory,
8450 n: c_uint,
8451 names: *mut *const c_char,
8452 values: *const gobject::GValue,
8453 ) -> *mut GstElement;
8454 pub fn gst_element_factory_get_element_type(factory: *mut GstElementFactory) -> GType;
8455 pub fn gst_element_factory_get_metadata(
8456 factory: *mut GstElementFactory,
8457 key: *const c_char,
8458 ) -> *const c_char;
8459 pub fn gst_element_factory_get_metadata_keys(
8460 factory: *mut GstElementFactory,
8461 ) -> *mut *mut c_char;
8462 pub fn gst_element_factory_get_num_pad_templates(factory: *mut GstElementFactory) -> c_uint;
8463 #[cfg(feature = "v1_20")]
8464 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8465 pub fn gst_element_factory_get_skip_documentation(factory: *mut GstElementFactory) -> gboolean;
8466 pub fn gst_element_factory_get_static_pad_templates(
8467 factory: *mut GstElementFactory,
8468 ) -> *const glib::GList;
8469 pub fn gst_element_factory_get_uri_protocols(
8470 factory: *mut GstElementFactory,
8471 ) -> *const *const c_char;
8472 pub fn gst_element_factory_get_uri_type(factory: *mut GstElementFactory) -> GstURIType;
8473 pub fn gst_element_factory_has_interface(
8474 factory: *mut GstElementFactory,
8475 interfacename: *const c_char,
8476 ) -> gboolean;
8477 pub fn gst_element_factory_list_is_type(
8478 factory: *mut GstElementFactory,
8479 type_: GstElementFactoryListType,
8480 ) -> gboolean;
8481
8482 pub fn gst_flagset_get_type() -> GType;
8486 pub fn gst_flagset_register(flags_type: GType) -> GType;
8487
8488 pub fn gst_fraction_get_type() -> GType;
8492
8493 pub fn gst_fraction_range_get_type() -> GType;
8497
8498 pub fn gst_ghost_pad_get_type() -> GType;
8502 pub fn gst_ghost_pad_new(name: *const c_char, target: *mut GstPad) -> *mut GstPad;
8503 pub fn gst_ghost_pad_new_from_template(
8504 name: *const c_char,
8505 target: *mut GstPad,
8506 templ: *mut GstPadTemplate,
8507 ) -> *mut GstPad;
8508 pub fn gst_ghost_pad_new_no_target(name: *const c_char, dir: GstPadDirection) -> *mut GstPad;
8509 pub fn gst_ghost_pad_new_no_target_from_template(
8510 name: *const c_char,
8511 templ: *mut GstPadTemplate,
8512 ) -> *mut GstPad;
8513 pub fn gst_ghost_pad_activate_mode_default(
8514 pad: *mut GstPad,
8515 parent: *mut GstObject,
8516 mode: GstPadMode,
8517 active: gboolean,
8518 ) -> gboolean;
8519 pub fn gst_ghost_pad_internal_activate_mode_default(
8520 pad: *mut GstPad,
8521 parent: *mut GstObject,
8522 mode: GstPadMode,
8523 active: gboolean,
8524 ) -> gboolean;
8525 pub fn gst_ghost_pad_construct(gpad: *mut GstGhostPad) -> gboolean;
8526 pub fn gst_ghost_pad_get_target(gpad: *mut GstGhostPad) -> *mut GstPad;
8527 pub fn gst_ghost_pad_set_target(gpad: *mut GstGhostPad, newtarget: *mut GstPad) -> gboolean;
8528
8529 pub fn gst_int64_range_get_type() -> GType;
8533
8534 pub fn gst_int_range_get_type() -> GType;
8538
8539 pub fn gst_object_get_type() -> GType;
8543 pub fn gst_object_check_uniqueness(list: *mut glib::GList, name: *const c_char) -> gboolean;
8544 pub fn gst_object_default_deep_notify(
8545 object: *mut gobject::GObject,
8546 orig: *mut GstObject,
8547 pspec: *mut gobject::GParamSpec,
8548 excluded_props: *mut *mut c_char,
8549 );
8550 pub fn gst_object_ref_sink(object: gpointer) -> gpointer;
8551 pub fn gst_object_replace(oldobj: *mut *mut GstObject, newobj: *mut GstObject) -> gboolean;
8552 pub fn gst_object_add_control_binding(
8553 object: *mut GstObject,
8554 binding: *mut GstControlBinding,
8555 ) -> gboolean;
8556 pub fn gst_object_default_error(
8557 source: *mut GstObject,
8558 error: *const glib::GError,
8559 debug: *const c_char,
8560 );
8561 pub fn gst_object_get_control_binding(
8562 object: *mut GstObject,
8563 property_name: *const c_char,
8564 ) -> *mut GstControlBinding;
8565 pub fn gst_object_get_control_rate(object: *mut GstObject) -> GstClockTime;
8566 pub fn gst_object_get_g_value_array(
8567 object: *mut GstObject,
8568 property_name: *const c_char,
8569 timestamp: GstClockTime,
8570 interval: GstClockTime,
8571 n_values: c_uint,
8572 values: *mut gobject::GValue,
8573 ) -> gboolean;
8574 pub fn gst_object_get_name(object: *mut GstObject) -> *mut c_char;
8575 pub fn gst_object_get_parent(object: *mut GstObject) -> *mut GstObject;
8576 pub fn gst_object_get_path_string(object: *mut GstObject) -> *mut c_char;
8577 pub fn gst_object_get_value(
8578 object: *mut GstObject,
8579 property_name: *const c_char,
8580 timestamp: GstClockTime,
8581 ) -> *mut gobject::GValue;
8582 pub fn gst_object_get_value_array(
8583 object: *mut GstObject,
8584 property_name: *const c_char,
8585 timestamp: GstClockTime,
8586 interval: GstClockTime,
8587 n_values: c_uint,
8588 values: gpointer,
8589 ) -> gboolean;
8590 pub fn gst_object_has_active_control_bindings(object: *mut GstObject) -> gboolean;
8591 pub fn gst_object_has_ancestor(object: *mut GstObject, ancestor: *mut GstObject) -> gboolean;
8592 pub fn gst_object_has_as_ancestor(object: *mut GstObject, ancestor: *mut GstObject)
8593 -> gboolean;
8594 pub fn gst_object_has_as_parent(object: *mut GstObject, parent: *mut GstObject) -> gboolean;
8595 pub fn gst_object_ref(object: *mut GstObject) -> *mut GstObject;
8596 pub fn gst_object_remove_control_binding(
8597 object: *mut GstObject,
8598 binding: *mut GstControlBinding,
8599 ) -> gboolean;
8600 pub fn gst_object_set_control_binding_disabled(
8601 object: *mut GstObject,
8602 property_name: *const c_char,
8603 disabled: gboolean,
8604 );
8605 pub fn gst_object_set_control_bindings_disabled(object: *mut GstObject, disabled: gboolean);
8606 pub fn gst_object_set_control_rate(object: *mut GstObject, control_rate: GstClockTime);
8607 pub fn gst_object_set_name(object: *mut GstObject, name: *const c_char) -> gboolean;
8608 pub fn gst_object_set_parent(object: *mut GstObject, parent: *mut GstObject) -> gboolean;
8609 pub fn gst_object_suggest_next_sync(object: *mut GstObject) -> GstClockTime;
8610 pub fn gst_object_sync_values(object: *mut GstObject, timestamp: GstClockTime) -> gboolean;
8611 pub fn gst_object_unparent(object: *mut GstObject);
8612 pub fn gst_object_unref(object: *mut GstObject);
8613
8614 pub fn gst_pad_get_type() -> GType;
8618 pub fn gst_pad_new(name: *const c_char, direction: GstPadDirection) -> *mut GstPad;
8619 pub fn gst_pad_new_from_static_template(
8620 templ: *mut GstStaticPadTemplate,
8621 name: *const c_char,
8622 ) -> *mut GstPad;
8623 pub fn gst_pad_new_from_template(
8624 templ: *mut GstPadTemplate,
8625 name: *const c_char,
8626 ) -> *mut GstPad;
8627 pub fn gst_pad_link_get_name(ret: GstPadLinkReturn) -> *const c_char;
8628 pub fn gst_pad_activate_mode(pad: *mut GstPad, mode: GstPadMode, active: gboolean) -> gboolean;
8629 pub fn gst_pad_add_probe(
8630 pad: *mut GstPad,
8631 mask: GstPadProbeType,
8632 callback: GstPadProbeCallback,
8633 user_data: gpointer,
8634 destroy_data: glib::GDestroyNotify,
8635 ) -> c_ulong;
8636 pub fn gst_pad_can_link(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> gboolean;
8637 pub fn gst_pad_chain(pad: *mut GstPad, buffer: *mut GstBuffer) -> GstFlowReturn;
8638 pub fn gst_pad_chain_list(pad: *mut GstPad, list: *mut GstBufferList) -> GstFlowReturn;
8639 pub fn gst_pad_check_reconfigure(pad: *mut GstPad) -> gboolean;
8640 pub fn gst_pad_create_stream_id(
8641 pad: *mut GstPad,
8642 parent: *mut GstElement,
8643 stream_id: *const c_char,
8644 ) -> *mut c_char;
8645 pub fn gst_pad_create_stream_id_printf(
8646 pad: *mut GstPad,
8647 parent: *mut GstElement,
8648 stream_id: *const c_char,
8649 ...
8650 ) -> *mut c_char;
8651 pub fn gst_pad_event_default(
8653 pad: *mut GstPad,
8654 parent: *mut GstObject,
8655 event: *mut GstEvent,
8656 ) -> gboolean;
8657 pub fn gst_pad_forward(
8658 pad: *mut GstPad,
8659 forward: GstPadForwardFunction,
8660 user_data: gpointer,
8661 ) -> gboolean;
8662 pub fn gst_pad_get_allowed_caps(pad: *mut GstPad) -> *mut GstCaps;
8663 pub fn gst_pad_get_current_caps(pad: *mut GstPad) -> *mut GstCaps;
8664 pub fn gst_pad_get_direction(pad: *mut GstPad) -> GstPadDirection;
8665 pub fn gst_pad_get_element_private(pad: *mut GstPad) -> gpointer;
8666 pub fn gst_pad_get_last_flow_return(pad: *mut GstPad) -> GstFlowReturn;
8667 pub fn gst_pad_get_offset(pad: *mut GstPad) -> i64;
8668 pub fn gst_pad_get_pad_template(pad: *mut GstPad) -> *mut GstPadTemplate;
8669 pub fn gst_pad_get_pad_template_caps(pad: *mut GstPad) -> *mut GstCaps;
8670 pub fn gst_pad_get_parent_element(pad: *mut GstPad) -> *mut GstElement;
8671 pub fn gst_pad_get_peer(pad: *mut GstPad) -> *mut GstPad;
8672 pub fn gst_pad_get_range(
8673 pad: *mut GstPad,
8674 offset: u64,
8675 size: c_uint,
8676 buffer: *mut *mut GstBuffer,
8677 ) -> GstFlowReturn;
8678 #[cfg(feature = "v1_18")]
8679 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8680 pub fn gst_pad_get_single_internal_link(pad: *mut GstPad) -> *mut GstPad;
8681 pub fn gst_pad_get_sticky_event(
8682 pad: *mut GstPad,
8683 event_type: GstEventType,
8684 idx: c_uint,
8685 ) -> *mut GstEvent;
8686 pub fn gst_pad_get_stream(pad: *mut GstPad) -> *mut GstStream;
8687 pub fn gst_pad_get_stream_id(pad: *mut GstPad) -> *mut c_char;
8688 pub fn gst_pad_get_task_state(pad: *mut GstPad) -> GstTaskState;
8689 pub fn gst_pad_has_current_caps(pad: *mut GstPad) -> gboolean;
8690 pub fn gst_pad_is_active(pad: *mut GstPad) -> gboolean;
8691 pub fn gst_pad_is_blocked(pad: *mut GstPad) -> gboolean;
8692 pub fn gst_pad_is_blocking(pad: *mut GstPad) -> gboolean;
8693 pub fn gst_pad_is_linked(pad: *mut GstPad) -> gboolean;
8694 pub fn gst_pad_iterate_internal_links(pad: *mut GstPad) -> *mut GstIterator;
8695 pub fn gst_pad_iterate_internal_links_default(
8696 pad: *mut GstPad,
8697 parent: *mut GstObject,
8698 ) -> *mut GstIterator;
8699 pub fn gst_pad_link(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> GstPadLinkReturn;
8700 pub fn gst_pad_link_full(
8701 srcpad: *mut GstPad,
8702 sinkpad: *mut GstPad,
8703 flags: GstPadLinkCheck,
8704 ) -> GstPadLinkReturn;
8705 pub fn gst_pad_link_maybe_ghosting(src: *mut GstPad, sink: *mut GstPad) -> gboolean;
8706 pub fn gst_pad_link_maybe_ghosting_full(
8707 src: *mut GstPad,
8708 sink: *mut GstPad,
8709 flags: GstPadLinkCheck,
8710 ) -> gboolean;
8711 pub fn gst_pad_mark_reconfigure(pad: *mut GstPad);
8712 pub fn gst_pad_needs_reconfigure(pad: *mut GstPad) -> gboolean;
8713 pub fn gst_pad_pause_task(pad: *mut GstPad) -> gboolean;
8714 pub fn gst_pad_peer_query(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8715 pub fn gst_pad_peer_query_accept_caps(pad: *mut GstPad, caps: *mut GstCaps) -> gboolean;
8716 pub fn gst_pad_peer_query_caps(pad: *mut GstPad, filter: *mut GstCaps) -> *mut GstCaps;
8717 pub fn gst_pad_peer_query_convert(
8718 pad: *mut GstPad,
8719 src_format: GstFormat,
8720 src_val: i64,
8721 dest_format: GstFormat,
8722 dest_val: *mut i64,
8723 ) -> gboolean;
8724 pub fn gst_pad_peer_query_duration(
8725 pad: *mut GstPad,
8726 format: GstFormat,
8727 duration: *mut i64,
8728 ) -> gboolean;
8729 pub fn gst_pad_peer_query_position(
8730 pad: *mut GstPad,
8731 format: GstFormat,
8732 cur: *mut i64,
8733 ) -> gboolean;
8734 pub fn gst_pad_proxy_query_accept_caps(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8735 pub fn gst_pad_proxy_query_caps(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8736 pub fn gst_pad_pull_range(
8737 pad: *mut GstPad,
8738 offset: u64,
8739 size: c_uint,
8740 buffer: *mut *mut GstBuffer,
8741 ) -> GstFlowReturn;
8742 pub fn gst_pad_push(pad: *mut GstPad, buffer: *mut GstBuffer) -> GstFlowReturn;
8743 pub fn gst_pad_push_event(pad: *mut GstPad, event: *mut GstEvent) -> gboolean;
8744 pub fn gst_pad_push_list(pad: *mut GstPad, list: *mut GstBufferList) -> GstFlowReturn;
8745 pub fn gst_pad_query(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8746 pub fn gst_pad_query_accept_caps(pad: *mut GstPad, caps: *mut GstCaps) -> gboolean;
8747 pub fn gst_pad_query_caps(pad: *mut GstPad, filter: *mut GstCaps) -> *mut GstCaps;
8748 pub fn gst_pad_query_convert(
8749 pad: *mut GstPad,
8750 src_format: GstFormat,
8751 src_val: i64,
8752 dest_format: GstFormat,
8753 dest_val: *mut i64,
8754 ) -> gboolean;
8755 pub fn gst_pad_query_default(
8756 pad: *mut GstPad,
8757 parent: *mut GstObject,
8758 query: *mut GstQuery,
8759 ) -> gboolean;
8760 pub fn gst_pad_query_duration(
8761 pad: *mut GstPad,
8762 format: GstFormat,
8763 duration: *mut i64,
8764 ) -> gboolean;
8765 pub fn gst_pad_query_position(pad: *mut GstPad, format: GstFormat, cur: *mut i64) -> gboolean;
8766 pub fn gst_pad_remove_probe(pad: *mut GstPad, id: c_ulong);
8767 pub fn gst_pad_send_event(pad: *mut GstPad, event: *mut GstEvent) -> gboolean;
8768 pub fn gst_pad_set_activate_function_full(
8769 pad: *mut GstPad,
8770 activate: GstPadActivateFunction,
8771 user_data: gpointer,
8772 notify: glib::GDestroyNotify,
8773 );
8774 pub fn gst_pad_set_activatemode_function_full(
8775 pad: *mut GstPad,
8776 activatemode: GstPadActivateModeFunction,
8777 user_data: gpointer,
8778 notify: glib::GDestroyNotify,
8779 );
8780 pub fn gst_pad_set_active(pad: *mut GstPad, active: gboolean) -> gboolean;
8781 pub fn gst_pad_set_chain_function_full(
8782 pad: *mut GstPad,
8783 chain: GstPadChainFunction,
8784 user_data: gpointer,
8785 notify: glib::GDestroyNotify,
8786 );
8787 pub fn gst_pad_set_chain_list_function_full(
8788 pad: *mut GstPad,
8789 chainlist: GstPadChainListFunction,
8790 user_data: gpointer,
8791 notify: glib::GDestroyNotify,
8792 );
8793 pub fn gst_pad_set_element_private(pad: *mut GstPad, priv_: gpointer);
8794 pub fn gst_pad_set_event_full_function_full(
8795 pad: *mut GstPad,
8796 event: GstPadEventFullFunction,
8797 user_data: gpointer,
8798 notify: glib::GDestroyNotify,
8799 );
8800 pub fn gst_pad_set_event_function_full(
8801 pad: *mut GstPad,
8802 event: GstPadEventFunction,
8803 user_data: gpointer,
8804 notify: glib::GDestroyNotify,
8805 );
8806 pub fn gst_pad_set_getrange_function_full(
8807 pad: *mut GstPad,
8808 get: GstPadGetRangeFunction,
8809 user_data: gpointer,
8810 notify: glib::GDestroyNotify,
8811 );
8812 pub fn gst_pad_set_iterate_internal_links_function_full(
8813 pad: *mut GstPad,
8814 iterintlink: GstPadIterIntLinkFunction,
8815 user_data: gpointer,
8816 notify: glib::GDestroyNotify,
8817 );
8818 pub fn gst_pad_set_link_function_full(
8819 pad: *mut GstPad,
8820 link: GstPadLinkFunction,
8821 user_data: gpointer,
8822 notify: glib::GDestroyNotify,
8823 );
8824 pub fn gst_pad_set_offset(pad: *mut GstPad, offset: i64);
8825 pub fn gst_pad_set_query_function_full(
8826 pad: *mut GstPad,
8827 query: GstPadQueryFunction,
8828 user_data: gpointer,
8829 notify: glib::GDestroyNotify,
8830 );
8831 pub fn gst_pad_set_unlink_function_full(
8832 pad: *mut GstPad,
8833 unlink: GstPadUnlinkFunction,
8834 user_data: gpointer,
8835 notify: glib::GDestroyNotify,
8836 );
8837 pub fn gst_pad_start_task(
8838 pad: *mut GstPad,
8839 func: GstTaskFunction,
8840 user_data: gpointer,
8841 notify: glib::GDestroyNotify,
8842 ) -> gboolean;
8843 pub fn gst_pad_sticky_events_foreach(
8844 pad: *mut GstPad,
8845 foreach_func: GstPadStickyEventsForeachFunction,
8846 user_data: gpointer,
8847 );
8848 pub fn gst_pad_stop_task(pad: *mut GstPad) -> gboolean;
8849 pub fn gst_pad_store_sticky_event(pad: *mut GstPad, event: *mut GstEvent) -> GstFlowReturn;
8850 pub fn gst_pad_unlink(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> gboolean;
8851 pub fn gst_pad_use_fixed_caps(pad: *mut GstPad);
8852
8853 pub fn gst_pad_template_get_type() -> GType;
8857 pub fn gst_pad_template_new(
8858 name_template: *const c_char,
8859 direction: GstPadDirection,
8860 presence: GstPadPresence,
8861 caps: *mut GstCaps,
8862 ) -> *mut GstPadTemplate;
8863 pub fn gst_pad_template_new_from_static_pad_template_with_gtype(
8864 pad_template: *mut GstStaticPadTemplate,
8865 pad_type: GType,
8866 ) -> *mut GstPadTemplate;
8867 pub fn gst_pad_template_new_with_gtype(
8868 name_template: *const c_char,
8869 direction: GstPadDirection,
8870 presence: GstPadPresence,
8871 caps: *mut GstCaps,
8872 pad_type: GType,
8873 ) -> *mut GstPadTemplate;
8874 pub fn gst_pad_template_get_caps(templ: *mut GstPadTemplate) -> *mut GstCaps;
8875 #[cfg(feature = "v1_18")]
8876 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8877 pub fn gst_pad_template_get_documentation_caps(templ: *mut GstPadTemplate) -> *mut GstCaps;
8878 pub fn gst_pad_template_pad_created(templ: *mut GstPadTemplate, pad: *mut GstPad);
8879 #[cfg(feature = "v1_18")]
8880 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8881 pub fn gst_pad_template_set_documentation_caps(templ: *mut GstPadTemplate, caps: *mut GstCaps);
8882
8883 pub fn gst_param_spec_array_get_type() -> GType;
8887
8888 pub fn gst_param_spec_fraction_get_type() -> GType;
8892
8893 pub fn gst_pipeline_get_type() -> GType;
8897 pub fn gst_pipeline_new(name: *const c_char) -> *mut GstElement;
8898 pub fn gst_pipeline_auto_clock(pipeline: *mut GstPipeline);
8899 pub fn gst_pipeline_get_auto_flush_bus(pipeline: *mut GstPipeline) -> gboolean;
8900 pub fn gst_pipeline_get_bus(pipeline: *mut GstPipeline) -> *mut GstBus;
8901 pub fn gst_pipeline_get_clock(pipeline: *mut GstPipeline) -> *mut GstClock;
8902 #[cfg(feature = "v1_24")]
8903 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8904 pub fn gst_pipeline_get_configured_latency(pipeline: *mut GstPipeline) -> GstClockTime;
8905 pub fn gst_pipeline_get_delay(pipeline: *mut GstPipeline) -> GstClockTime;
8906 pub fn gst_pipeline_get_latency(pipeline: *mut GstPipeline) -> GstClockTime;
8907 pub fn gst_pipeline_get_pipeline_clock(pipeline: *mut GstPipeline) -> *mut GstClock;
8908 #[cfg(feature = "v1_24")]
8909 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8910 pub fn gst_pipeline_is_live(pipeline: *mut GstPipeline) -> gboolean;
8911 pub fn gst_pipeline_set_auto_flush_bus(pipeline: *mut GstPipeline, auto_flush: gboolean);
8912 pub fn gst_pipeline_set_clock(pipeline: *mut GstPipeline, clock: *mut GstClock) -> gboolean;
8913 pub fn gst_pipeline_set_delay(pipeline: *mut GstPipeline, delay: GstClockTime);
8914 pub fn gst_pipeline_set_latency(pipeline: *mut GstPipeline, latency: GstClockTime);
8915 pub fn gst_pipeline_use_clock(pipeline: *mut GstPipeline, clock: *mut GstClock);
8916
8917 pub fn gst_plugin_get_type() -> GType;
8921 pub fn gst_plugin_list_free(list: *mut glib::GList);
8922 pub fn gst_plugin_load_by_name(name: *const c_char) -> *mut GstPlugin;
8923 pub fn gst_plugin_load_file(
8924 filename: *const c_char,
8925 error: *mut *mut glib::GError,
8926 ) -> *mut GstPlugin;
8927 pub fn gst_plugin_register_static(
8928 major_version: c_int,
8929 minor_version: c_int,
8930 name: *const c_char,
8931 description: *const c_char,
8932 init_func: GstPluginInitFunc,
8933 version: *const c_char,
8934 license: *const c_char,
8935 source: *const c_char,
8936 package: *const c_char,
8937 origin: *const c_char,
8938 ) -> gboolean;
8939 pub fn gst_plugin_register_static_full(
8940 major_version: c_int,
8941 minor_version: c_int,
8942 name: *const c_char,
8943 description: *const c_char,
8944 init_full_func: GstPluginInitFullFunc,
8945 version: *const c_char,
8946 license: *const c_char,
8947 source: *const c_char,
8948 package: *const c_char,
8949 origin: *const c_char,
8950 user_data: gpointer,
8951 ) -> gboolean;
8952 pub fn gst_plugin_add_dependency(
8953 plugin: *mut GstPlugin,
8954 env_vars: *mut *const c_char,
8955 paths: *mut *const c_char,
8956 names: *mut *const c_char,
8957 flags: GstPluginDependencyFlags,
8958 );
8959 pub fn gst_plugin_add_dependency_simple(
8960 plugin: *mut GstPlugin,
8961 env_vars: *const c_char,
8962 paths: *const c_char,
8963 names: *const c_char,
8964 flags: GstPluginDependencyFlags,
8965 );
8966 #[cfg(feature = "v1_24")]
8967 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8968 pub fn gst_plugin_add_status_error(plugin: *mut GstPlugin, message: *const c_char);
8969 #[cfg(feature = "v1_24")]
8970 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8971 pub fn gst_plugin_add_status_info(plugin: *mut GstPlugin, message: *const c_char);
8972 #[cfg(feature = "v1_24")]
8973 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8974 pub fn gst_plugin_add_status_warning(plugin: *mut GstPlugin, message: *const c_char);
8975 pub fn gst_plugin_get_cache_data(plugin: *mut GstPlugin) -> *const GstStructure;
8976 pub fn gst_plugin_get_description(plugin: *mut GstPlugin) -> *const c_char;
8977 pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *const c_char;
8978 pub fn gst_plugin_get_license(plugin: *mut GstPlugin) -> *const c_char;
8979 pub fn gst_plugin_get_name(plugin: *mut GstPlugin) -> *const c_char;
8980 pub fn gst_plugin_get_origin(plugin: *mut GstPlugin) -> *const c_char;
8981 pub fn gst_plugin_get_package(plugin: *mut GstPlugin) -> *const c_char;
8982 pub fn gst_plugin_get_release_date_string(plugin: *mut GstPlugin) -> *const c_char;
8983 pub fn gst_plugin_get_source(plugin: *mut GstPlugin) -> *const c_char;
8984 #[cfg(feature = "v1_24")]
8985 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8986 pub fn gst_plugin_get_status_errors(plugin: *mut GstPlugin) -> *mut *mut c_char;
8987 #[cfg(feature = "v1_24")]
8988 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8989 pub fn gst_plugin_get_status_infos(plugin: *mut GstPlugin) -> *mut *mut c_char;
8990 #[cfg(feature = "v1_24")]
8991 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8992 pub fn gst_plugin_get_status_warnings(plugin: *mut GstPlugin) -> *mut *mut c_char;
8993 pub fn gst_plugin_get_version(plugin: *mut GstPlugin) -> *const c_char;
8994 pub fn gst_plugin_is_loaded(plugin: *mut GstPlugin) -> gboolean;
8995 pub fn gst_plugin_load(plugin: *mut GstPlugin) -> *mut GstPlugin;
8996 pub fn gst_plugin_set_cache_data(plugin: *mut GstPlugin, cache_data: *mut GstStructure);
8997
8998 pub fn gst_plugin_feature_get_type() -> GType;
9002 pub fn gst_plugin_feature_list_copy(list: *mut glib::GList) -> *mut glib::GList;
9003 pub fn gst_plugin_feature_list_debug(list: *mut glib::GList);
9004 pub fn gst_plugin_feature_list_free(list: *mut glib::GList);
9005 pub fn gst_plugin_feature_rank_compare_func(p1: gconstpointer, p2: gconstpointer) -> c_int;
9006 pub fn gst_plugin_feature_check_version(
9007 feature: *mut GstPluginFeature,
9008 min_major: c_uint,
9009 min_minor: c_uint,
9010 min_micro: c_uint,
9011 ) -> gboolean;
9012 pub fn gst_plugin_feature_get_plugin(feature: *mut GstPluginFeature) -> *mut GstPlugin;
9013 pub fn gst_plugin_feature_get_plugin_name(feature: *mut GstPluginFeature) -> *const c_char;
9014 pub fn gst_plugin_feature_get_rank(feature: *mut GstPluginFeature) -> c_uint;
9015 pub fn gst_plugin_feature_load(feature: *mut GstPluginFeature) -> *mut GstPluginFeature;
9016 pub fn gst_plugin_feature_set_rank(feature: *mut GstPluginFeature, rank: c_uint);
9017
9018 pub fn gst_proxy_pad_get_type() -> GType;
9022 pub fn gst_proxy_pad_chain_default(
9023 pad: *mut GstPad,
9024 parent: *mut GstObject,
9025 buffer: *mut GstBuffer,
9026 ) -> GstFlowReturn;
9027 pub fn gst_proxy_pad_chain_list_default(
9028 pad: *mut GstPad,
9029 parent: *mut GstObject,
9030 list: *mut GstBufferList,
9031 ) -> GstFlowReturn;
9032 pub fn gst_proxy_pad_getrange_default(
9033 pad: *mut GstPad,
9034 parent: *mut GstObject,
9035 offset: u64,
9036 size: c_uint,
9037 buffer: *mut *mut GstBuffer,
9038 ) -> GstFlowReturn;
9039 pub fn gst_proxy_pad_iterate_internal_links_default(
9040 pad: *mut GstPad,
9041 parent: *mut GstObject,
9042 ) -> *mut GstIterator;
9043 pub fn gst_proxy_pad_get_internal(pad: *mut GstProxyPad) -> *mut GstProxyPad;
9044
9045 pub fn gst_registry_get_type() -> GType;
9049 pub fn gst_registry_fork_is_enabled() -> gboolean;
9050 pub fn gst_registry_fork_set_enabled(enabled: gboolean);
9051 pub fn gst_registry_get() -> *mut GstRegistry;
9052 pub fn gst_registry_add_feature(
9053 registry: *mut GstRegistry,
9054 feature: *mut GstPluginFeature,
9055 ) -> gboolean;
9056 pub fn gst_registry_add_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin) -> gboolean;
9057 pub fn gst_registry_check_feature_version(
9058 registry: *mut GstRegistry,
9059 feature_name: *const c_char,
9060 min_major: c_uint,
9061 min_minor: c_uint,
9062 min_micro: c_uint,
9063 ) -> gboolean;
9064 pub fn gst_registry_feature_filter(
9065 registry: *mut GstRegistry,
9066 filter: GstPluginFeatureFilter,
9067 first: gboolean,
9068 user_data: gpointer,
9069 ) -> *mut glib::GList;
9070 pub fn gst_registry_find_feature(
9071 registry: *mut GstRegistry,
9072 name: *const c_char,
9073 type_: GType,
9074 ) -> *mut GstPluginFeature;
9075 pub fn gst_registry_find_plugin(
9076 registry: *mut GstRegistry,
9077 name: *const c_char,
9078 ) -> *mut GstPlugin;
9079 pub fn gst_registry_get_feature_list(
9080 registry: *mut GstRegistry,
9081 type_: GType,
9082 ) -> *mut glib::GList;
9083 pub fn gst_registry_get_feature_list_by_plugin(
9084 registry: *mut GstRegistry,
9085 name: *const c_char,
9086 ) -> *mut glib::GList;
9087 pub fn gst_registry_get_feature_list_cookie(registry: *mut GstRegistry) -> u32;
9088 pub fn gst_registry_get_plugin_list(registry: *mut GstRegistry) -> *mut glib::GList;
9089 pub fn gst_registry_lookup(
9090 registry: *mut GstRegistry,
9091 filename: *const c_char,
9092 ) -> *mut GstPlugin;
9093 pub fn gst_registry_lookup_feature(
9094 registry: *mut GstRegistry,
9095 name: *const c_char,
9096 ) -> *mut GstPluginFeature;
9097 pub fn gst_registry_plugin_filter(
9098 registry: *mut GstRegistry,
9099 filter: GstPluginFilter,
9100 first: gboolean,
9101 user_data: gpointer,
9102 ) -> *mut glib::GList;
9103 pub fn gst_registry_remove_feature(registry: *mut GstRegistry, feature: *mut GstPluginFeature);
9104 pub fn gst_registry_remove_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin);
9105 pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *const c_char) -> gboolean;
9106
9107 #[cfg(feature = "v1_20")]
9111 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9112 pub fn gst_shared_task_pool_get_type() -> GType;
9113 #[cfg(feature = "v1_20")]
9114 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9115 pub fn gst_shared_task_pool_new() -> *mut GstTaskPool;
9116 #[cfg(feature = "v1_20")]
9117 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9118 pub fn gst_shared_task_pool_get_max_threads(pool: *mut GstSharedTaskPool) -> c_uint;
9119 #[cfg(feature = "v1_20")]
9120 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9121 pub fn gst_shared_task_pool_set_max_threads(pool: *mut GstSharedTaskPool, max_threads: c_uint);
9122
9123 pub fn gst_stream_get_type() -> GType;
9127 pub fn gst_stream_new(
9128 stream_id: *const c_char,
9129 caps: *mut GstCaps,
9130 type_: GstStreamType,
9131 flags: GstStreamFlags,
9132 ) -> *mut GstStream;
9133 pub fn gst_stream_get_caps(stream: *mut GstStream) -> *mut GstCaps;
9134 pub fn gst_stream_get_stream_flags(stream: *mut GstStream) -> GstStreamFlags;
9135 pub fn gst_stream_get_stream_id(stream: *mut GstStream) -> *const c_char;
9136 pub fn gst_stream_get_stream_type(stream: *mut GstStream) -> GstStreamType;
9137 pub fn gst_stream_get_tags(stream: *mut GstStream) -> *mut GstTagList;
9138 pub fn gst_stream_set_caps(stream: *mut GstStream, caps: *mut GstCaps);
9139 pub fn gst_stream_set_stream_flags(stream: *mut GstStream, flags: GstStreamFlags);
9140 pub fn gst_stream_set_stream_type(stream: *mut GstStream, stream_type: GstStreamType);
9141 pub fn gst_stream_set_tags(stream: *mut GstStream, tags: *mut GstTagList);
9142
9143 pub fn gst_stream_collection_get_type() -> GType;
9147 pub fn gst_stream_collection_new(upstream_id: *const c_char) -> *mut GstStreamCollection;
9148 pub fn gst_stream_collection_add_stream(
9149 collection: *mut GstStreamCollection,
9150 stream: *mut GstStream,
9151 ) -> gboolean;
9152 pub fn gst_stream_collection_get_size(collection: *mut GstStreamCollection) -> c_uint;
9153 pub fn gst_stream_collection_get_stream(
9154 collection: *mut GstStreamCollection,
9155 index: c_uint,
9156 ) -> *mut GstStream;
9157 pub fn gst_stream_collection_get_upstream_id(
9158 collection: *mut GstStreamCollection,
9159 ) -> *const c_char;
9160
9161 pub fn gst_system_clock_get_type() -> GType;
9165 pub fn gst_system_clock_obtain() -> *mut GstClock;
9166 pub fn gst_system_clock_set_default(new_clock: *mut GstClock);
9167
9168 pub fn gst_task_get_type() -> GType;
9172 pub fn gst_task_new(
9173 func: GstTaskFunction,
9174 user_data: gpointer,
9175 notify: glib::GDestroyNotify,
9176 ) -> *mut GstTask;
9177 pub fn gst_task_cleanup_all();
9178 pub fn gst_task_get_pool(task: *mut GstTask) -> *mut GstTaskPool;
9179 pub fn gst_task_get_state(task: *mut GstTask) -> GstTaskState;
9180 pub fn gst_task_join(task: *mut GstTask) -> gboolean;
9181 pub fn gst_task_pause(task: *mut GstTask) -> gboolean;
9182 #[cfg(feature = "v1_18")]
9183 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9184 pub fn gst_task_resume(task: *mut GstTask) -> gboolean;
9185 pub fn gst_task_set_enter_callback(
9186 task: *mut GstTask,
9187 enter_func: GstTaskThreadFunc,
9188 user_data: gpointer,
9189 notify: glib::GDestroyNotify,
9190 );
9191 pub fn gst_task_set_leave_callback(
9192 task: *mut GstTask,
9193 leave_func: GstTaskThreadFunc,
9194 user_data: gpointer,
9195 notify: glib::GDestroyNotify,
9196 );
9197 pub fn gst_task_set_lock(task: *mut GstTask, mutex: *mut glib::GRecMutex);
9198 pub fn gst_task_set_pool(task: *mut GstTask, pool: *mut GstTaskPool);
9199 pub fn gst_task_set_state(task: *mut GstTask, state: GstTaskState) -> gboolean;
9200 pub fn gst_task_start(task: *mut GstTask) -> gboolean;
9201 pub fn gst_task_stop(task: *mut GstTask) -> gboolean;
9202
9203 pub fn gst_task_pool_get_type() -> GType;
9207 pub fn gst_task_pool_new() -> *mut GstTaskPool;
9208 pub fn gst_task_pool_cleanup(pool: *mut GstTaskPool);
9209 #[cfg(feature = "v1_20")]
9210 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9211 pub fn gst_task_pool_dispose_handle(pool: *mut GstTaskPool, id: gpointer);
9212 pub fn gst_task_pool_join(pool: *mut GstTaskPool, id: gpointer);
9213 pub fn gst_task_pool_prepare(pool: *mut GstTaskPool, error: *mut *mut glib::GError);
9214 pub fn gst_task_pool_push(
9215 pool: *mut GstTaskPool,
9216 func: GstTaskPoolFunction,
9217 user_data: gpointer,
9218 error: *mut *mut glib::GError,
9219 ) -> gpointer;
9220
9221 pub fn gst_tracer_get_type() -> GType;
9225 pub fn gst_tracer_register(
9226 plugin: *mut GstPlugin,
9227 name: *const c_char,
9228 type_: GType,
9229 ) -> gboolean;
9230
9231 pub fn gst_tracer_factory_get_type() -> GType;
9235 pub fn gst_tracer_factory_get_list() -> *mut glib::GList;
9236 pub fn gst_tracer_factory_get_tracer_type(factory: *mut GstTracerFactory) -> GType;
9237
9238 pub fn gst_tracer_record_get_type() -> GType;
9242 pub fn gst_tracer_record_new(
9243 name: *const c_char,
9244 firstfield: *const c_char,
9245 ...
9246 ) -> *mut GstTracerRecord;
9247 pub fn gst_tracer_record_log(self_: *mut GstTracerRecord, ...);
9248
9249 pub fn gst_type_find_factory_get_type() -> GType;
9253 pub fn gst_type_find_factory_get_list() -> *mut glib::GList;
9254 pub fn gst_type_find_factory_call_function(
9255 factory: *mut GstTypeFindFactory,
9256 find: *mut GstTypeFind,
9257 );
9258 pub fn gst_type_find_factory_get_caps(factory: *mut GstTypeFindFactory) -> *mut GstCaps;
9259 pub fn gst_type_find_factory_get_extensions(
9260 factory: *mut GstTypeFindFactory,
9261 ) -> *const *const c_char;
9262 pub fn gst_type_find_factory_has_function(factory: *mut GstTypeFindFactory) -> gboolean;
9263
9264 pub fn gst_value_array_get_type() -> GType;
9268 pub fn gst_value_array_append_and_take_value(
9269 value: *mut gobject::GValue,
9270 append_value: *mut gobject::GValue,
9271 );
9272 pub fn gst_value_array_append_value(
9273 value: *mut gobject::GValue,
9274 append_value: *const gobject::GValue,
9275 );
9276 pub fn gst_value_array_get_size(value: *const gobject::GValue) -> c_uint;
9277 pub fn gst_value_array_get_value(
9278 value: *const gobject::GValue,
9279 index: c_uint,
9280 ) -> *const gobject::GValue;
9281 #[cfg(feature = "v1_18")]
9282 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9283 pub fn gst_value_array_init(
9284 value: *mut gobject::GValue,
9285 prealloc: c_uint,
9286 ) -> *mut gobject::GValue;
9287 pub fn gst_value_array_prepend_value(
9288 value: *mut gobject::GValue,
9289 prepend_value: *const gobject::GValue,
9290 );
9291
9292 pub fn gst_value_list_get_type() -> GType;
9296 pub fn gst_value_list_append_and_take_value(
9297 value: *mut gobject::GValue,
9298 append_value: *mut gobject::GValue,
9299 );
9300 pub fn gst_value_list_append_value(
9301 value: *mut gobject::GValue,
9302 append_value: *const gobject::GValue,
9303 );
9304 pub fn gst_value_list_concat(
9305 dest: *mut gobject::GValue,
9306 value1: *const gobject::GValue,
9307 value2: *const gobject::GValue,
9308 );
9309 pub fn gst_value_list_get_size(value: *const gobject::GValue) -> c_uint;
9310 pub fn gst_value_list_get_value(
9311 value: *const gobject::GValue,
9312 index: c_uint,
9313 ) -> *const gobject::GValue;
9314 #[cfg(feature = "v1_18")]
9315 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9316 pub fn gst_value_list_init(
9317 value: *mut gobject::GValue,
9318 prealloc: c_uint,
9319 ) -> *mut gobject::GValue;
9320 pub fn gst_value_list_merge(
9321 dest: *mut gobject::GValue,
9322 value1: *const gobject::GValue,
9323 value2: *const gobject::GValue,
9324 );
9325 pub fn gst_value_list_prepend_value(
9326 value: *mut gobject::GValue,
9327 prepend_value: *const gobject::GValue,
9328 );
9329
9330 pub fn gst_child_proxy_get_type() -> GType;
9334 pub fn gst_child_proxy_child_added(
9335 parent: *mut GstChildProxy,
9336 child: *mut gobject::GObject,
9337 name: *const c_char,
9338 );
9339 pub fn gst_child_proxy_child_removed(
9340 parent: *mut GstChildProxy,
9341 child: *mut gobject::GObject,
9342 name: *const c_char,
9343 );
9344 pub fn gst_child_proxy_get(object: *mut GstChildProxy, first_property_name: *const c_char, ...);
9345 pub fn gst_child_proxy_get_child_by_index(
9346 parent: *mut GstChildProxy,
9347 index: c_uint,
9348 ) -> *mut gobject::GObject;
9349 pub fn gst_child_proxy_get_child_by_name(
9350 parent: *mut GstChildProxy,
9351 name: *const c_char,
9352 ) -> *mut gobject::GObject;
9353 #[cfg(feature = "v1_22")]
9354 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
9355 pub fn gst_child_proxy_get_child_by_name_recurse(
9356 child_proxy: *mut GstChildProxy,
9357 name: *const c_char,
9358 ) -> *mut gobject::GObject;
9359 pub fn gst_child_proxy_get_children_count(parent: *mut GstChildProxy) -> c_uint;
9360 pub fn gst_child_proxy_get_property(
9361 object: *mut GstChildProxy,
9362 name: *const c_char,
9363 value: *mut gobject::GValue,
9364 );
9365 pub fn gst_child_proxy_lookup(
9367 object: *mut GstChildProxy,
9368 name: *const c_char,
9369 target: *mut *mut gobject::GObject,
9370 pspec: *mut *mut gobject::GParamSpec,
9371 ) -> gboolean;
9372 pub fn gst_child_proxy_set(object: *mut GstChildProxy, first_property_name: *const c_char, ...);
9373 pub fn gst_child_proxy_set_property(
9374 object: *mut GstChildProxy,
9375 name: *const c_char,
9376 value: *const gobject::GValue,
9377 );
9378 pub fn gst_preset_get_type() -> GType;
9384 pub fn gst_preset_get_app_dir() -> *const c_char;
9385 pub fn gst_preset_set_app_dir(app_dir: *const c_char) -> gboolean;
9386 pub fn gst_preset_delete_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
9387 pub fn gst_preset_get_meta(
9388 preset: *mut GstPreset,
9389 name: *const c_char,
9390 tag: *const c_char,
9391 value: *mut *mut c_char,
9392 ) -> gboolean;
9393 pub fn gst_preset_get_preset_names(preset: *mut GstPreset) -> *mut *mut c_char;
9394 pub fn gst_preset_get_property_names(preset: *mut GstPreset) -> *mut *mut c_char;
9395 pub fn gst_preset_is_editable(preset: *mut GstPreset) -> gboolean;
9396 pub fn gst_preset_load_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
9397 pub fn gst_preset_rename_preset(
9398 preset: *mut GstPreset,
9399 old_name: *const c_char,
9400 new_name: *const c_char,
9401 ) -> gboolean;
9402 pub fn gst_preset_save_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
9403 pub fn gst_preset_set_meta(
9404 preset: *mut GstPreset,
9405 name: *const c_char,
9406 tag: *const c_char,
9407 value: *const c_char,
9408 ) -> gboolean;
9409
9410 pub fn gst_tag_setter_get_type() -> GType;
9414 pub fn gst_tag_setter_add_tag_value(
9417 setter: *mut GstTagSetter,
9418 mode: GstTagMergeMode,
9419 tag: *const c_char,
9420 value: *const gobject::GValue,
9421 );
9422 pub fn gst_tag_setter_add_tag_values(
9423 setter: *mut GstTagSetter,
9424 mode: GstTagMergeMode,
9425 tag: *const c_char,
9426 ...
9427 );
9428 pub fn gst_tag_setter_add_tags(
9429 setter: *mut GstTagSetter,
9430 mode: GstTagMergeMode,
9431 tag: *const c_char,
9432 ...
9433 );
9434 pub fn gst_tag_setter_get_tag_list(setter: *mut GstTagSetter) -> *const GstTagList;
9435 pub fn gst_tag_setter_get_tag_merge_mode(setter: *mut GstTagSetter) -> GstTagMergeMode;
9436 pub fn gst_tag_setter_merge_tags(
9437 setter: *mut GstTagSetter,
9438 list: *const GstTagList,
9439 mode: GstTagMergeMode,
9440 );
9441 pub fn gst_tag_setter_reset_tags(setter: *mut GstTagSetter);
9442 pub fn gst_tag_setter_set_tag_merge_mode(setter: *mut GstTagSetter, mode: GstTagMergeMode);
9443
9444 pub fn gst_toc_setter_get_type() -> GType;
9448 pub fn gst_toc_setter_get_toc(setter: *mut GstTocSetter) -> *mut GstToc;
9449 pub fn gst_toc_setter_reset(setter: *mut GstTocSetter);
9450 pub fn gst_toc_setter_set_toc(setter: *mut GstTocSetter, toc: *mut GstToc);
9451
9452 pub fn gst_uri_handler_get_type() -> GType;
9456 pub fn gst_uri_handler_get_protocols(handler: *mut GstURIHandler) -> *const *const c_char;
9457 pub fn gst_uri_handler_get_uri(handler: *mut GstURIHandler) -> *mut c_char;
9458 pub fn gst_uri_handler_get_uri_type(handler: *mut GstURIHandler) -> GstURIType;
9459 pub fn gst_uri_handler_set_uri(
9460 handler: *mut GstURIHandler,
9461 uri: *const c_char,
9462 error: *mut *mut glib::GError,
9463 ) -> gboolean;
9464
9465 pub fn gst_calculate_linear_regression(
9469 xy: *const GstClockTime,
9470 temp: *mut GstClockTime,
9471 n: c_uint,
9472 m_num: *mut GstClockTime,
9473 m_denom: *mut GstClockTime,
9474 b: *mut GstClockTime,
9475 xbase: *mut GstClockTime,
9476 r_squared: *mut c_double,
9477 ) -> gboolean;
9478 #[cfg(feature = "v1_18_3")]
9479 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9480 pub fn gst_clear_buffer(buf_ptr: *mut *mut GstBuffer);
9481 #[cfg(feature = "v1_18_3")]
9482 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9483 pub fn gst_clear_buffer_list(list_ptr: *mut *mut GstBufferList);
9484 #[cfg(feature = "v1_18_3")]
9485 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9486 pub fn gst_clear_caps(caps_ptr: *mut *mut GstCaps);
9487 #[cfg(feature = "v1_24")]
9488 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9489 pub fn gst_clear_context(context_ptr: *mut *mut GstContext);
9490 #[cfg(feature = "v1_18_3")]
9491 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9492 pub fn gst_clear_event(event_ptr: *mut *mut GstEvent);
9493 #[cfg(feature = "v1_18_3")]
9494 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9495 pub fn gst_clear_message(msg_ptr: *mut *mut GstMessage);
9496 #[cfg(feature = "v1_16")]
9497 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
9498 pub fn gst_clear_mini_object(object_ptr: *mut *mut GstMiniObject);
9499 #[cfg(feature = "v1_16")]
9500 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
9501 pub fn gst_clear_object(object_ptr: *mut *mut GstObject);
9502 #[cfg(feature = "v1_24")]
9503 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9504 pub fn gst_clear_promise(promise_ptr: *mut *mut GstPromise);
9505 #[cfg(feature = "v1_18_3")]
9506 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9507 pub fn gst_clear_query(query_ptr: *mut *mut GstQuery);
9508 #[cfg(feature = "v1_24")]
9509 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9510 pub fn gst_clear_sample(sample_ptr: *mut *mut GstSample);
9511 #[cfg(feature = "v1_16")]
9512 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
9513 pub fn gst_clear_structure(structure_ptr: *mut *mut GstStructure);
9514 #[cfg(feature = "v1_18_3")]
9515 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9516 pub fn gst_clear_tag_list(taglist_ptr: *mut *mut GstTagList);
9517 #[cfg(feature = "v1_18_3")]
9518 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
9519 pub fn gst_clear_uri(uri_ptr: *mut *mut GstUri);
9520 pub fn gst_debug_add_log_function(
9521 func: GstLogFunction,
9522 user_data: gpointer,
9523 notify: glib::GDestroyNotify,
9524 );
9525 pub fn gst_debug_add_ring_buffer_logger(max_size_per_thread: c_uint, thread_timeout: c_uint);
9526 pub fn gst_debug_bin_to_dot_data(
9527 bin: *mut GstBin,
9528 details: GstDebugGraphDetails,
9529 ) -> *mut c_char;
9530 pub fn gst_debug_bin_to_dot_file(
9531 bin: *mut GstBin,
9532 details: GstDebugGraphDetails,
9533 file_name: *const c_char,
9534 );
9535 pub fn gst_debug_bin_to_dot_file_with_ts(
9536 bin: *mut GstBin,
9537 details: GstDebugGraphDetails,
9538 file_name: *const c_char,
9539 );
9540 pub fn gst_debug_construct_term_color(colorinfo: c_uint) -> *mut c_char;
9541 pub fn gst_debug_construct_win_color(colorinfo: c_uint) -> c_int;
9542 pub fn gst_debug_get_all_categories() -> *mut glib::GSList;
9543 pub fn gst_debug_get_color_mode() -> GstDebugColorMode;
9544 pub fn gst_debug_get_default_threshold() -> GstDebugLevel;
9545 pub fn gst_debug_get_stack_trace(flags: GstStackTraceFlags) -> *mut c_char;
9546 pub fn gst_debug_is_active() -> gboolean;
9547 pub fn gst_debug_is_colored() -> gboolean;
9548 pub fn gst_debug_log(
9549 category: *mut GstDebugCategory,
9550 level: GstDebugLevel,
9551 file: *const c_char,
9552 function: *const c_char,
9553 line: c_int,
9554 object: *mut gobject::GObject,
9555 format: *const c_char,
9556 ...
9557 );
9558 pub fn gst_debug_log_default(
9559 category: *mut GstDebugCategory,
9560 level: GstDebugLevel,
9561 file: *const c_char,
9562 function: *const c_char,
9563 line: c_int,
9564 object: *mut gobject::GObject,
9565 message: *mut GstDebugMessage,
9566 user_data: gpointer,
9567 );
9568 #[cfg(feature = "v1_18")]
9569 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9570 pub fn gst_debug_log_get_line(
9571 category: *mut GstDebugCategory,
9572 level: GstDebugLevel,
9573 file: *const c_char,
9574 function: *const c_char,
9575 line: c_int,
9576 object: *mut gobject::GObject,
9577 message: *mut GstDebugMessage,
9578 ) -> *mut c_char;
9579 #[cfg(feature = "v1_22")]
9580 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
9581 pub fn gst_debug_log_id(
9582 category: *mut GstDebugCategory,
9583 level: GstDebugLevel,
9584 file: *const c_char,
9585 function: *const c_char,
9586 line: c_int,
9587 id: *const c_char,
9588 format: *const c_char,
9589 ...
9590 );
9591 #[cfg(feature = "v1_22")]
9592 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
9593 pub fn gst_debug_log_id_literal(
9594 category: *mut GstDebugCategory,
9595 level: GstDebugLevel,
9596 file: *const c_char,
9597 function: *const c_char,
9598 line: c_int,
9599 id: *const c_char,
9600 message_string: *const c_char,
9601 );
9602 #[cfg(feature = "v1_20")]
9606 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9607 pub fn gst_debug_log_literal(
9608 category: *mut GstDebugCategory,
9609 level: GstDebugLevel,
9610 file: *const c_char,
9611 function: *const c_char,
9612 line: c_int,
9613 object: *mut gobject::GObject,
9614 message_string: *const c_char,
9615 );
9616 #[cfg(feature = "v1_26")]
9618 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9619 pub fn gst_debug_print_object(ptr: gconstpointer) -> *mut c_char;
9620 #[cfg(feature = "v1_26")]
9621 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9622 pub fn gst_debug_print_segment(segment: *const GstSegment) -> *mut c_char;
9623 pub fn gst_debug_print_stack_trace();
9624 pub fn gst_debug_remove_log_function(func: GstLogFunction) -> c_uint;
9625 pub fn gst_debug_remove_log_function_by_data(data: gpointer) -> c_uint;
9626 pub fn gst_debug_remove_ring_buffer_logger();
9627 pub fn gst_debug_ring_buffer_logger_get_logs() -> *mut *mut c_char;
9628 pub fn gst_debug_set_active(active: gboolean);
9629 pub fn gst_debug_set_color_mode(mode: GstDebugColorMode);
9630 pub fn gst_debug_set_color_mode_from_string(mode: *const c_char);
9631 pub fn gst_debug_set_colored(colored: gboolean);
9632 pub fn gst_debug_set_default_threshold(level: GstDebugLevel);
9633 pub fn gst_debug_set_threshold_for_name(name: *const c_char, level: GstDebugLevel);
9634 pub fn gst_debug_set_threshold_from_string(list: *const c_char, reset: gboolean);
9635 pub fn gst_debug_unset_threshold_for_name(name: *const c_char);
9636 pub fn gst_deinit();
9637 pub fn gst_dynamic_type_register(plugin: *mut GstPlugin, type_: GType) -> gboolean;
9638 pub fn gst_error_get_message(domain: glib::GQuark, code: c_int) -> *mut c_char;
9639 pub fn gst_filename_to_uri(
9640 filename: *const c_char,
9641 error: *mut *mut glib::GError,
9642 ) -> *mut c_char;
9643 pub fn gst_flow_get_name(ret: GstFlowReturn) -> *const c_char;
9644 pub fn gst_flow_to_quark(ret: GstFlowReturn) -> glib::GQuark;
9645 pub fn gst_formats_contains(formats: *const GstFormat, format: GstFormat) -> gboolean;
9646 pub fn gst_get_main_executable_path() -> *const c_char;
9647 pub fn gst_info_strdup_printf(format: *const c_char, ...) -> *mut c_char;
9648 pub fn gst_init(argc: *mut c_int, argv: *mut *mut *mut c_char);
9651 pub fn gst_init_check(
9652 argc: *mut c_int,
9653 argv: *mut *mut *mut c_char,
9654 error: *mut *mut glib::GError,
9655 ) -> gboolean;
9656 pub fn gst_init_get_option_group() -> *mut glib::GOptionGroup;
9657 pub fn gst_is_caps_features(obj: gconstpointer) -> gboolean;
9658 pub fn gst_is_initialized() -> gboolean;
9659 pub fn gst_make_element_message_details(name: *const c_char, ...) -> *mut GstStructure;
9660 pub fn gst_param_spec_array(
9661 name: *const c_char,
9662 nick: *const c_char,
9663 blurb: *const c_char,
9664 element_spec: *mut gobject::GParamSpec,
9665 flags: gobject::GParamFlags,
9666 ) -> *mut gobject::GParamSpec;
9667 pub fn gst_param_spec_fraction(
9668 name: *const c_char,
9669 nick: *const c_char,
9670 blurb: *const c_char,
9671 min_num: c_int,
9672 min_denom: c_int,
9673 max_num: c_int,
9674 max_denom: c_int,
9675 default_num: c_int,
9676 default_denom: c_int,
9677 flags: gobject::GParamFlags,
9678 ) -> *mut gobject::GParamSpec;
9679 pub fn gst_parent_buffer_meta_api_get_type() -> GType;
9680 pub fn gst_parse_bin_from_description(
9681 bin_description: *const c_char,
9682 ghost_unlinked_pads: gboolean,
9683 error: *mut *mut glib::GError,
9684 ) -> *mut GstBin;
9685 pub fn gst_parse_bin_from_description_full(
9686 bin_description: *const c_char,
9687 ghost_unlinked_pads: gboolean,
9688 context: *mut GstParseContext,
9689 flags: GstParseFlags,
9690 error: *mut *mut glib::GError,
9691 ) -> *mut GstElement;
9692 pub fn gst_parse_launch(
9693 pipeline_description: *const c_char,
9694 error: *mut *mut glib::GError,
9695 ) -> *mut GstElement;
9696 pub fn gst_parse_launch_full(
9697 pipeline_description: *const c_char,
9698 context: *mut GstParseContext,
9699 flags: GstParseFlags,
9700 error: *mut *mut glib::GError,
9701 ) -> *mut GstElement;
9702 pub fn gst_parse_launchv(
9703 argv: *mut *const c_char,
9704 error: *mut *mut glib::GError,
9705 ) -> *mut GstElement;
9706 pub fn gst_parse_launchv_full(
9707 argv: *mut *const c_char,
9708 context: *mut GstParseContext,
9709 flags: GstParseFlags,
9710 error: *mut *mut glib::GError,
9711 ) -> *mut GstElement;
9712 pub fn gst_print(format: *const c_char, ...);
9713 pub fn gst_printerr(format: *const c_char, ...);
9714 pub fn gst_printerrln(format: *const c_char, ...);
9715 pub fn gst_println(format: *const c_char, ...);
9716 pub fn gst_protection_filter_systems_by_available_decryptors(
9717 system_identifiers: *mut *const c_char,
9718 ) -> *mut *mut c_char;
9719 pub fn gst_protection_meta_api_get_type() -> GType;
9720 pub fn gst_protection_select_system(system_identifiers: *mut *const c_char) -> *const c_char;
9721 pub fn gst_reference_timestamp_meta_api_get_type() -> GType;
9722 pub fn gst_segtrap_is_enabled() -> gboolean;
9723 pub fn gst_segtrap_set_enabled(enabled: gboolean);
9724 pub fn gst_tag_exists(tag: *const c_char) -> gboolean;
9725 pub fn gst_tag_get_description(tag: *const c_char) -> *const c_char;
9726 pub fn gst_tag_get_flag(tag: *const c_char) -> GstTagFlag;
9727 pub fn gst_tag_get_nick(tag: *const c_char) -> *const c_char;
9728 pub fn gst_tag_get_type(tag: *const c_char) -> GType;
9729 pub fn gst_tag_is_fixed(tag: *const c_char) -> gboolean;
9730 pub fn gst_tag_merge_strings_with_comma(
9731 dest: *mut gobject::GValue,
9732 src: *const gobject::GValue,
9733 );
9734 pub fn gst_tag_merge_use_first(dest: *mut gobject::GValue, src: *const gobject::GValue);
9735 pub fn gst_tag_register(
9736 name: *const c_char,
9737 flag: GstTagFlag,
9738 type_: GType,
9739 nick: *const c_char,
9740 blurb: *const c_char,
9741 func: GstTagMergeFunc,
9742 );
9743 pub fn gst_tag_register_static(
9744 name: *const c_char,
9745 flag: GstTagFlag,
9746 type_: GType,
9747 nick: *const c_char,
9748 blurb: *const c_char,
9749 func: GstTagMergeFunc,
9750 );
9751 #[cfg(feature = "v1_18")]
9752 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9753 pub fn gst_tracing_get_active_tracers() -> *mut glib::GList;
9754 pub fn gst_tracing_register_hook(
9755 tracer: *mut GstTracer,
9756 detail: *const c_char,
9757 func: gobject::GCallback,
9758 );
9759 #[cfg(feature = "v1_18")]
9760 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9761 pub fn gst_type_is_plugin_api(type_: GType, flags: *mut GstPluginAPIFlags) -> gboolean;
9762 #[cfg(feature = "v1_18")]
9763 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9764 pub fn gst_type_mark_as_plugin_api(type_: GType, flags: GstPluginAPIFlags);
9765 pub fn gst_update_registry() -> gboolean;
9766 pub fn gst_util_array_binary_search(
9767 array: gpointer,
9768 num_elements: c_uint,
9769 element_size: size_t,
9770 search_func: glib::GCompareDataFunc,
9771 mode: GstSearchMode,
9772 search_data: gconstpointer,
9773 user_data: gpointer,
9774 ) -> gpointer;
9775 #[cfg(feature = "v1_24")]
9776 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9777 pub fn gst_util_ceil_log2(v: u32) -> c_uint;
9778 pub fn gst_util_double_to_fraction(src: c_double, dest_n: *mut c_int, dest_d: *mut c_int);
9779 pub fn gst_util_dump_buffer(buf: *mut GstBuffer);
9780 pub fn gst_util_dump_mem(mem: *const u8, size: c_uint);
9781 #[cfg(feature = "v1_24")]
9782 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9783 pub fn gst_util_filename_compare(a: *const c_char, b: *const c_char) -> c_int;
9784 #[cfg(feature = "v1_26")]
9785 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9786 pub fn gst_util_floor_log2(v: u32) -> c_uint;
9787 pub fn gst_util_fraction_add(
9788 a_n: c_int,
9789 a_d: c_int,
9790 b_n: c_int,
9791 b_d: c_int,
9792 res_n: *mut c_int,
9793 res_d: *mut c_int,
9794 ) -> gboolean;
9795 pub fn gst_util_fraction_compare(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int) -> c_int;
9796 pub fn gst_util_fraction_multiply(
9797 a_n: c_int,
9798 a_d: c_int,
9799 b_n: c_int,
9800 b_d: c_int,
9801 res_n: *mut c_int,
9802 res_d: *mut c_int,
9803 ) -> gboolean;
9804 #[cfg(feature = "v1_26")]
9805 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
9806 pub fn gst_util_fraction_multiply_int64(
9807 a_n: i64,
9808 a_d: i64,
9809 b_n: i64,
9810 b_d: i64,
9811 res_n: *mut i64,
9812 res_d: *mut i64,
9813 ) -> gboolean;
9814 pub fn gst_util_fraction_to_double(src_n: c_int, src_d: c_int, dest: *mut c_double);
9815 pub fn gst_util_gdouble_to_guint64(value: c_double) -> u64;
9816 pub fn gst_util_get_object_array(
9817 object: *mut gobject::GObject,
9818 name: *const c_char,
9819 array: *mut *mut gobject::GValueArray,
9820 ) -> gboolean;
9821 pub fn gst_util_get_timestamp() -> GstClockTime;
9822 pub fn gst_util_greatest_common_divisor(a: c_int, b: c_int) -> c_int;
9823 pub fn gst_util_greatest_common_divisor_int64(a: i64, b: i64) -> i64;
9824 pub fn gst_util_group_id_next() -> c_uint;
9825 pub fn gst_util_guint64_to_gdouble(value: u64) -> c_double;
9826 pub fn gst_util_seqnum_compare(s1: u32, s2: u32) -> i32;
9827 pub fn gst_util_seqnum_next() -> u32;
9828 pub fn gst_util_set_object_arg(
9829 object: *mut gobject::GObject,
9830 name: *const c_char,
9831 value: *const c_char,
9832 );
9833 pub fn gst_util_set_object_array(
9834 object: *mut gobject::GObject,
9835 name: *const c_char,
9836 array: *const gobject::GValueArray,
9837 ) -> gboolean;
9838 pub fn gst_util_set_value_from_string(value: *mut gobject::GValue, value_str: *const c_char);
9839 #[cfg(feature = "v1_24")]
9840 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9841 pub fn gst_util_simplify_fraction(
9842 numerator: *mut c_int,
9843 denominator: *mut c_int,
9844 n_terms: c_uint,
9845 threshold: c_uint,
9846 );
9847 pub fn gst_util_uint64_scale(val: u64, num: u64, denom: u64) -> u64;
9848 pub fn gst_util_uint64_scale_ceil(val: u64, num: u64, denom: u64) -> u64;
9849 pub fn gst_util_uint64_scale_int(val: u64, num: c_int, denom: c_int) -> u64;
9850 pub fn gst_util_uint64_scale_int_ceil(val: u64, num: c_int, denom: c_int) -> u64;
9851 pub fn gst_util_uint64_scale_int_round(val: u64, num: c_int, denom: c_int) -> u64;
9852 pub fn gst_util_uint64_scale_round(val: u64, num: u64, denom: u64) -> u64;
9853 pub fn gst_value_can_compare(
9854 value1: *const gobject::GValue,
9855 value2: *const gobject::GValue,
9856 ) -> gboolean;
9857 pub fn gst_value_can_intersect(
9858 value1: *const gobject::GValue,
9859 value2: *const gobject::GValue,
9860 ) -> gboolean;
9861 pub fn gst_value_can_subtract(
9862 minuend: *const gobject::GValue,
9863 subtrahend: *const gobject::GValue,
9864 ) -> gboolean;
9865 pub fn gst_value_can_union(
9866 value1: *const gobject::GValue,
9867 value2: *const gobject::GValue,
9868 ) -> gboolean;
9869 pub fn gst_value_compare(
9870 value1: *const gobject::GValue,
9871 value2: *const gobject::GValue,
9872 ) -> c_int;
9873 pub fn gst_value_deserialize(dest: *mut gobject::GValue, src: *const c_char) -> gboolean;
9874 #[cfg(feature = "v1_20")]
9875 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9876 pub fn gst_value_deserialize_with_pspec(
9877 dest: *mut gobject::GValue,
9878 src: *const c_char,
9879 pspec: *mut gobject::GParamSpec,
9880 ) -> gboolean;
9881 pub fn gst_value_fixate(dest: *mut gobject::GValue, src: *const gobject::GValue) -> gboolean;
9882 pub fn gst_value_fraction_multiply(
9883 product: *mut gobject::GValue,
9884 factor1: *const gobject::GValue,
9885 factor2: *const gobject::GValue,
9886 ) -> gboolean;
9887 pub fn gst_value_fraction_subtract(
9888 dest: *mut gobject::GValue,
9889 minuend: *const gobject::GValue,
9890 subtrahend: *const gobject::GValue,
9891 ) -> gboolean;
9892 pub fn gst_value_get_bitmask(value: *const gobject::GValue) -> u64;
9893 pub fn gst_value_get_caps(value: *const gobject::GValue) -> *const GstCaps;
9894 pub fn gst_value_get_caps_features(value: *const gobject::GValue) -> *const GstCapsFeatures;
9895 pub fn gst_value_get_double_range_max(value: *const gobject::GValue) -> c_double;
9896 pub fn gst_value_get_double_range_min(value: *const gobject::GValue) -> c_double;
9897 pub fn gst_value_get_flagset_flags(value: *const gobject::GValue) -> c_uint;
9898 pub fn gst_value_get_flagset_mask(value: *const gobject::GValue) -> c_uint;
9899 pub fn gst_value_get_fraction_denominator(value: *const gobject::GValue) -> c_int;
9900 pub fn gst_value_get_fraction_numerator(value: *const gobject::GValue) -> c_int;
9901 pub fn gst_value_get_fraction_range_max(
9902 value: *const gobject::GValue,
9903 ) -> *const gobject::GValue;
9904 pub fn gst_value_get_fraction_range_min(
9905 value: *const gobject::GValue,
9906 ) -> *const gobject::GValue;
9907 pub fn gst_value_get_int64_range_max(value: *const gobject::GValue) -> i64;
9908 pub fn gst_value_get_int64_range_min(value: *const gobject::GValue) -> i64;
9909 pub fn gst_value_get_int64_range_step(value: *const gobject::GValue) -> i64;
9910 pub fn gst_value_get_int_range_max(value: *const gobject::GValue) -> c_int;
9911 pub fn gst_value_get_int_range_min(value: *const gobject::GValue) -> c_int;
9912 pub fn gst_value_get_int_range_step(value: *const gobject::GValue) -> c_int;
9913 pub fn gst_value_get_structure(value: *const gobject::GValue) -> *const GstStructure;
9914 pub fn gst_value_init_and_copy(dest: *mut gobject::GValue, src: *const gobject::GValue);
9915 pub fn gst_value_intersect(
9916 dest: *mut gobject::GValue,
9917 value1: *const gobject::GValue,
9918 value2: *const gobject::GValue,
9919 ) -> gboolean;
9920 pub fn gst_value_is_fixed(value: *const gobject::GValue) -> gboolean;
9921 pub fn gst_value_is_subset(
9922 value1: *const gobject::GValue,
9923 value2: *const gobject::GValue,
9924 ) -> gboolean;
9925 pub fn gst_value_register(table: *const GstValueTable);
9926 pub fn gst_value_serialize(value: *const gobject::GValue) -> *mut c_char;
9927 pub fn gst_value_set_bitmask(value: *mut gobject::GValue, bitmask: u64);
9928 pub fn gst_value_set_caps(value: *mut gobject::GValue, caps: *const GstCaps);
9929 pub fn gst_value_set_caps_features(
9930 value: *mut gobject::GValue,
9931 features: *const GstCapsFeatures,
9932 );
9933 pub fn gst_value_set_double_range(value: *mut gobject::GValue, start: c_double, end: c_double);
9934 pub fn gst_value_set_flagset(value: *mut gobject::GValue, flags: c_uint, mask: c_uint);
9935 pub fn gst_value_set_fraction(
9936 value: *mut gobject::GValue,
9937 numerator: c_int,
9938 denominator: c_int,
9939 );
9940 pub fn gst_value_set_fraction_range(
9941 value: *mut gobject::GValue,
9942 start: *const gobject::GValue,
9943 end: *const gobject::GValue,
9944 );
9945 pub fn gst_value_set_fraction_range_full(
9946 value: *mut gobject::GValue,
9947 numerator_start: c_int,
9948 denominator_start: c_int,
9949 numerator_end: c_int,
9950 denominator_end: c_int,
9951 );
9952 pub fn gst_value_set_int64_range(value: *mut gobject::GValue, start: i64, end: i64);
9953 pub fn gst_value_set_int64_range_step(
9954 value: *mut gobject::GValue,
9955 start: i64,
9956 end: i64,
9957 step: i64,
9958 );
9959 pub fn gst_value_set_int_range(value: *mut gobject::GValue, start: c_int, end: c_int);
9960 pub fn gst_value_set_int_range_step(
9961 value: *mut gobject::GValue,
9962 start: c_int,
9963 end: c_int,
9964 step: c_int,
9965 );
9966 pub fn gst_value_set_structure(value: *mut gobject::GValue, structure: *const GstStructure);
9967 pub fn gst_value_subtract(
9968 dest: *mut gobject::GValue,
9969 minuend: *const gobject::GValue,
9970 subtrahend: *const gobject::GValue,
9971 ) -> gboolean;
9972 pub fn gst_value_union(
9973 dest: *mut gobject::GValue,
9974 value1: *const gobject::GValue,
9975 value2: *const gobject::GValue,
9976 ) -> gboolean;
9977 pub fn gst_version(
9978 major: *mut c_uint,
9979 minor: *mut c_uint,
9980 micro: *mut c_uint,
9981 nano: *mut c_uint,
9982 );
9983 pub fn gst_version_string() -> *mut c_char;
9984
9985}