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