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