1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6#![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
15#[allow(unused_imports)]
16use libc::{
17 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
18 intptr_t, size_t, ssize_t, uintptr_t, FILE,
19};
20
21#[allow(unused_imports)]
22use glib::{gboolean, gconstpointer, gpointer, GType};
23
24// Aliases
25pub type GstBufferMapInfo = GstMapInfo;
26pub type GstClockID = gpointer;
27pub type GstClockTime = u64;
28pub type GstClockTimeDiff = i64;
29pub type GstElementFactoryListType = u64;
30pub type GstMemoryMapInfo = GstMapInfo;
31
32// Enums
33pub type GstBufferingMode = c_int;
34pub const GST_BUFFERING_STREAM: GstBufferingMode = 0;
35pub const GST_BUFFERING_DOWNLOAD: GstBufferingMode = 1;
36pub const GST_BUFFERING_TIMESHIFT: GstBufferingMode = 2;
37pub const GST_BUFFERING_LIVE: GstBufferingMode = 3;
38
39pub type GstBusSyncReply = c_int;
40pub const GST_BUS_DROP: GstBusSyncReply = 0;
41pub const GST_BUS_PASS: GstBusSyncReply = 1;
42pub const GST_BUS_ASYNC: GstBusSyncReply = 2;
43
44pub type GstCapsIntersectMode = c_int;
45pub const GST_CAPS_INTERSECT_ZIG_ZAG: GstCapsIntersectMode = 0;
46pub const GST_CAPS_INTERSECT_FIRST: GstCapsIntersectMode = 1;
47
48pub type GstClockEntryType = c_int;
49pub const GST_CLOCK_ENTRY_SINGLE: GstClockEntryType = 0;
50pub const GST_CLOCK_ENTRY_PERIODIC: GstClockEntryType = 1;
51
52pub type GstClockReturn = c_int;
53pub const GST_CLOCK_OK: GstClockReturn = 0;
54pub const GST_CLOCK_EARLY: GstClockReturn = 1;
55pub const GST_CLOCK_UNSCHEDULED: GstClockReturn = 2;
56pub const GST_CLOCK_BUSY: GstClockReturn = 3;
57pub const GST_CLOCK_BADTIME: GstClockReturn = 4;
58pub const GST_CLOCK_ERROR: GstClockReturn = 5;
59pub const GST_CLOCK_UNSUPPORTED: GstClockReturn = 6;
60pub const GST_CLOCK_DONE: GstClockReturn = 7;
61
62pub type GstClockType = c_int;
63pub const GST_CLOCK_TYPE_REALTIME: GstClockType = 0;
64pub const GST_CLOCK_TYPE_MONOTONIC: GstClockType = 1;
65pub const GST_CLOCK_TYPE_OTHER: GstClockType = 2;
66pub const GST_CLOCK_TYPE_TAI: GstClockType = 3;
67
68pub type GstCoreError = c_int;
69pub const GST_CORE_ERROR_FAILED: GstCoreError = 1;
70pub const GST_CORE_ERROR_TOO_LAZY: GstCoreError = 2;
71pub const GST_CORE_ERROR_NOT_IMPLEMENTED: GstCoreError = 3;
72pub const GST_CORE_ERROR_STATE_CHANGE: GstCoreError = 4;
73pub const GST_CORE_ERROR_PAD: GstCoreError = 5;
74pub const GST_CORE_ERROR_THREAD: GstCoreError = 6;
75pub const GST_CORE_ERROR_NEGOTIATION: GstCoreError = 7;
76pub const GST_CORE_ERROR_EVENT: GstCoreError = 8;
77pub const GST_CORE_ERROR_SEEK: GstCoreError = 9;
78pub const GST_CORE_ERROR_CAPS: GstCoreError = 10;
79pub const GST_CORE_ERROR_TAG: GstCoreError = 11;
80pub const GST_CORE_ERROR_MISSING_PLUGIN: GstCoreError = 12;
81pub const GST_CORE_ERROR_CLOCK: GstCoreError = 13;
82pub const GST_CORE_ERROR_DISABLED: GstCoreError = 14;
83pub const GST_CORE_ERROR_NUM_ERRORS: GstCoreError = 15;
84
85pub type GstDebugColorMode = c_int;
86pub const GST_DEBUG_COLOR_MODE_OFF: GstDebugColorMode = 0;
87pub const GST_DEBUG_COLOR_MODE_ON: GstDebugColorMode = 1;
88pub const GST_DEBUG_COLOR_MODE_UNIX: GstDebugColorMode = 2;
89
90pub type GstDebugLevel = c_int;
91pub const GST_LEVEL_NONE: GstDebugLevel = 0;
92pub const GST_LEVEL_ERROR: GstDebugLevel = 1;
93pub const GST_LEVEL_WARNING: GstDebugLevel = 2;
94pub const GST_LEVEL_FIXME: GstDebugLevel = 3;
95pub const GST_LEVEL_INFO: GstDebugLevel = 4;
96pub const GST_LEVEL_DEBUG: GstDebugLevel = 5;
97pub const GST_LEVEL_LOG: GstDebugLevel = 6;
98pub const GST_LEVEL_TRACE: GstDebugLevel = 7;
99pub const GST_LEVEL_MEMDUMP: GstDebugLevel = 9;
100pub const GST_LEVEL_COUNT: GstDebugLevel = 10;
101
102pub type GstEventType = c_int;
103pub const GST_EVENT_UNKNOWN: GstEventType = 0;
104pub const GST_EVENT_FLUSH_START: GstEventType = 2563;
105pub const GST_EVENT_FLUSH_STOP: GstEventType = 5127;
106pub const GST_EVENT_STREAM_START: GstEventType = 10254;
107pub const GST_EVENT_CAPS: GstEventType = 12814;
108pub const GST_EVENT_SEGMENT: GstEventType = 17934;
109pub const GST_EVENT_STREAM_COLLECTION: GstEventType = 19230;
110pub const GST_EVENT_TAG: GstEventType = 20510;
111pub const GST_EVENT_BUFFERSIZE: GstEventType = 23054;
112pub const GST_EVENT_SINK_MESSAGE: GstEventType = 25630;
113pub const GST_EVENT_STREAM_GROUP_DONE: GstEventType = 26894;
114pub const GST_EVENT_EOS: GstEventType = 28174;
115pub const GST_EVENT_TOC: GstEventType = 30750;
116pub const GST_EVENT_PROTECTION: GstEventType = 33310;
117pub const GST_EVENT_SEGMENT_DONE: GstEventType = 38406;
118pub const GST_EVENT_GAP: GstEventType = 40966;
119pub const GST_EVENT_INSTANT_RATE_CHANGE: GstEventType = 46090;
120pub const GST_EVENT_QOS: GstEventType = 48641;
121pub const GST_EVENT_SEEK: GstEventType = 51201;
122pub const GST_EVENT_NAVIGATION: GstEventType = 53761;
123pub const GST_EVENT_LATENCY: GstEventType = 56321;
124pub const GST_EVENT_STEP: GstEventType = 58881;
125pub const GST_EVENT_RECONFIGURE: GstEventType = 61441;
126pub const GST_EVENT_TOC_SELECT: GstEventType = 64001;
127pub const GST_EVENT_SELECT_STREAMS: GstEventType = 66561;
128pub const GST_EVENT_INSTANT_RATE_SYNC_TIME: GstEventType = 66817;
129pub const GST_EVENT_CUSTOM_UPSTREAM: GstEventType = 69121;
130pub const GST_EVENT_CUSTOM_DOWNSTREAM: GstEventType = 71686;
131pub const GST_EVENT_CUSTOM_DOWNSTREAM_OOB: GstEventType = 74242;
132pub const GST_EVENT_CUSTOM_DOWNSTREAM_STICKY: GstEventType = 76830;
133pub const GST_EVENT_CUSTOM_BOTH: GstEventType = 79367;
134pub const GST_EVENT_CUSTOM_BOTH_OOB: GstEventType = 81923;
135
136pub type GstFlowReturn = c_int;
137pub const GST_FLOW_CUSTOM_SUCCESS_2: GstFlowReturn = 102;
138pub const GST_FLOW_CUSTOM_SUCCESS_1: GstFlowReturn = 101;
139pub const GST_FLOW_CUSTOM_SUCCESS: GstFlowReturn = 100;
140pub const GST_FLOW_OK: GstFlowReturn = 0;
141pub const GST_FLOW_NOT_LINKED: GstFlowReturn = -1;
142pub const GST_FLOW_FLUSHING: GstFlowReturn = -2;
143pub const GST_FLOW_EOS: GstFlowReturn = -3;
144pub const GST_FLOW_NOT_NEGOTIATED: GstFlowReturn = -4;
145pub const GST_FLOW_ERROR: GstFlowReturn = -5;
146pub const GST_FLOW_NOT_SUPPORTED: GstFlowReturn = -6;
147pub const GST_FLOW_CUSTOM_ERROR: GstFlowReturn = -100;
148pub const GST_FLOW_CUSTOM_ERROR_1: GstFlowReturn = -101;
149pub const GST_FLOW_CUSTOM_ERROR_2: GstFlowReturn = -102;
150
151pub type GstFormat = c_int;
152pub const GST_FORMAT_UNDEFINED: GstFormat = 0;
153pub const GST_FORMAT_DEFAULT: GstFormat = 1;
154pub const GST_FORMAT_BYTES: GstFormat = 2;
155pub const GST_FORMAT_TIME: GstFormat = 3;
156pub const GST_FORMAT_BUFFERS: GstFormat = 4;
157pub const GST_FORMAT_PERCENT: GstFormat = 5;
158
159pub type GstIteratorItem = c_int;
160pub const GST_ITERATOR_ITEM_SKIP: GstIteratorItem = 0;
161pub const GST_ITERATOR_ITEM_PASS: GstIteratorItem = 1;
162pub const GST_ITERATOR_ITEM_END: GstIteratorItem = 2;
163
164pub type GstIteratorResult = c_int;
165pub const GST_ITERATOR_DONE: GstIteratorResult = 0;
166pub const GST_ITERATOR_OK: GstIteratorResult = 1;
167pub const GST_ITERATOR_RESYNC: GstIteratorResult = 2;
168pub const GST_ITERATOR_ERROR: GstIteratorResult = 3;
169
170pub type GstLibraryError = c_int;
171pub const GST_LIBRARY_ERROR_FAILED: GstLibraryError = 1;
172pub const GST_LIBRARY_ERROR_TOO_LAZY: GstLibraryError = 2;
173pub const GST_LIBRARY_ERROR_INIT: GstLibraryError = 3;
174pub const GST_LIBRARY_ERROR_SHUTDOWN: GstLibraryError = 4;
175pub const GST_LIBRARY_ERROR_SETTINGS: GstLibraryError = 5;
176pub const GST_LIBRARY_ERROR_ENCODE: GstLibraryError = 6;
177pub const GST_LIBRARY_ERROR_NUM_ERRORS: GstLibraryError = 7;
178
179pub type GstPadDirection = c_int;
180pub const GST_PAD_UNKNOWN: GstPadDirection = 0;
181pub const GST_PAD_SRC: GstPadDirection = 1;
182pub const GST_PAD_SINK: GstPadDirection = 2;
183
184pub type GstPadLinkReturn = c_int;
185pub const GST_PAD_LINK_OK: GstPadLinkReturn = 0;
186pub const GST_PAD_LINK_WRONG_HIERARCHY: GstPadLinkReturn = -1;
187pub const GST_PAD_LINK_WAS_LINKED: GstPadLinkReturn = -2;
188pub const GST_PAD_LINK_WRONG_DIRECTION: GstPadLinkReturn = -3;
189pub const GST_PAD_LINK_NOFORMAT: GstPadLinkReturn = -4;
190pub const GST_PAD_LINK_NOSCHED: GstPadLinkReturn = -5;
191pub const GST_PAD_LINK_REFUSED: GstPadLinkReturn = -6;
192
193pub type GstPadMode = c_int;
194pub const GST_PAD_MODE_NONE: GstPadMode = 0;
195pub const GST_PAD_MODE_PUSH: GstPadMode = 1;
196pub const GST_PAD_MODE_PULL: GstPadMode = 2;
197
198pub type GstPadPresence = c_int;
199pub const GST_PAD_ALWAYS: GstPadPresence = 0;
200pub const GST_PAD_SOMETIMES: GstPadPresence = 1;
201pub const GST_PAD_REQUEST: GstPadPresence = 2;
202
203pub type GstPadProbeReturn = c_int;
204pub const GST_PAD_PROBE_DROP: GstPadProbeReturn = 0;
205pub const GST_PAD_PROBE_OK: GstPadProbeReturn = 1;
206pub const GST_PAD_PROBE_REMOVE: GstPadProbeReturn = 2;
207pub const GST_PAD_PROBE_PASS: GstPadProbeReturn = 3;
208pub const GST_PAD_PROBE_HANDLED: GstPadProbeReturn = 4;
209
210pub type GstParseError = c_int;
211pub const GST_PARSE_ERROR_SYNTAX: GstParseError = 0;
212pub const GST_PARSE_ERROR_NO_SUCH_ELEMENT: GstParseError = 1;
213pub const GST_PARSE_ERROR_NO_SUCH_PROPERTY: GstParseError = 2;
214pub const GST_PARSE_ERROR_LINK: GstParseError = 3;
215pub const GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY: GstParseError = 4;
216pub const GST_PARSE_ERROR_EMPTY_BIN: GstParseError = 5;
217pub const GST_PARSE_ERROR_EMPTY: GstParseError = 6;
218pub const GST_PARSE_ERROR_DELAYED_LINK: GstParseError = 7;
219
220pub type GstPluginError = c_int;
221pub const GST_PLUGIN_ERROR_MODULE: GstPluginError = 0;
222pub const GST_PLUGIN_ERROR_DEPENDENCIES: GstPluginError = 1;
223pub const GST_PLUGIN_ERROR_NAME_MISMATCH: GstPluginError = 2;
224
225pub type GstProgressType = c_int;
226pub const GST_PROGRESS_TYPE_START: GstProgressType = 0;
227pub const GST_PROGRESS_TYPE_CONTINUE: GstProgressType = 1;
228pub const GST_PROGRESS_TYPE_COMPLETE: GstProgressType = 2;
229pub const GST_PROGRESS_TYPE_CANCELED: GstProgressType = 3;
230pub const GST_PROGRESS_TYPE_ERROR: GstProgressType = 4;
231
232pub type GstPromiseResult = c_int;
233pub const GST_PROMISE_RESULT_PENDING: GstPromiseResult = 0;
234pub const GST_PROMISE_RESULT_INTERRUPTED: GstPromiseResult = 1;
235pub const GST_PROMISE_RESULT_REPLIED: GstPromiseResult = 2;
236pub const GST_PROMISE_RESULT_EXPIRED: GstPromiseResult = 3;
237
238pub type GstQOSType = c_int;
239pub const GST_QOS_TYPE_OVERFLOW: GstQOSType = 0;
240pub const GST_QOS_TYPE_UNDERFLOW: GstQOSType = 1;
241pub const GST_QOS_TYPE_THROTTLE: GstQOSType = 2;
242
243pub type GstQueryType = c_int;
244pub const GST_QUERY_UNKNOWN: GstQueryType = 0;
245pub const GST_QUERY_POSITION: GstQueryType = 2563;
246pub const GST_QUERY_DURATION: GstQueryType = 5123;
247pub const GST_QUERY_LATENCY: GstQueryType = 7683;
248pub const GST_QUERY_JITTER: GstQueryType = 10243;
249pub const GST_QUERY_RATE: GstQueryType = 12803;
250pub const GST_QUERY_SEEKING: GstQueryType = 15363;
251pub const GST_QUERY_SEGMENT: GstQueryType = 17923;
252pub const GST_QUERY_CONVERT: GstQueryType = 20483;
253pub const GST_QUERY_FORMATS: GstQueryType = 23043;
254pub const GST_QUERY_BUFFERING: GstQueryType = 28163;
255pub const GST_QUERY_CUSTOM: GstQueryType = 30723;
256pub const GST_QUERY_URI: GstQueryType = 33283;
257pub const GST_QUERY_ALLOCATION: GstQueryType = 35846;
258pub const GST_QUERY_SCHEDULING: GstQueryType = 38401;
259pub const GST_QUERY_ACCEPT_CAPS: GstQueryType = 40963;
260pub const GST_QUERY_CAPS: GstQueryType = 43523;
261pub const GST_QUERY_DRAIN: GstQueryType = 46086;
262pub const GST_QUERY_CONTEXT: GstQueryType = 48643;
263pub const GST_QUERY_BITRATE: GstQueryType = 51202;
264#[cfg(feature = "v1_22")]
265#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
266pub const GST_QUERY_SELECTABLE: GstQueryType = 53763;
267
268pub type GstRank = c_int;
269pub const GST_RANK_NONE: GstRank = 0;
270pub const GST_RANK_MARGINAL: GstRank = 64;
271pub const GST_RANK_SECONDARY: GstRank = 128;
272pub const GST_RANK_PRIMARY: GstRank = 256;
273
274pub type GstResourceError = c_int;
275pub const GST_RESOURCE_ERROR_FAILED: GstResourceError = 1;
276pub const GST_RESOURCE_ERROR_TOO_LAZY: GstResourceError = 2;
277pub const GST_RESOURCE_ERROR_NOT_FOUND: GstResourceError = 3;
278pub const GST_RESOURCE_ERROR_BUSY: GstResourceError = 4;
279pub const GST_RESOURCE_ERROR_OPEN_READ: GstResourceError = 5;
280pub const GST_RESOURCE_ERROR_OPEN_WRITE: GstResourceError = 6;
281pub const GST_RESOURCE_ERROR_OPEN_READ_WRITE: GstResourceError = 7;
282pub const GST_RESOURCE_ERROR_CLOSE: GstResourceError = 8;
283pub const GST_RESOURCE_ERROR_READ: GstResourceError = 9;
284pub const GST_RESOURCE_ERROR_WRITE: GstResourceError = 10;
285pub const GST_RESOURCE_ERROR_SEEK: GstResourceError = 11;
286pub const GST_RESOURCE_ERROR_SYNC: GstResourceError = 12;
287pub const GST_RESOURCE_ERROR_SETTINGS: GstResourceError = 13;
288pub const GST_RESOURCE_ERROR_NO_SPACE_LEFT: GstResourceError = 14;
289pub const GST_RESOURCE_ERROR_NOT_AUTHORIZED: GstResourceError = 15;
290pub const GST_RESOURCE_ERROR_NUM_ERRORS: GstResourceError = 16;
291
292pub type GstSearchMode = c_int;
293pub const GST_SEARCH_MODE_EXACT: GstSearchMode = 0;
294pub const GST_SEARCH_MODE_BEFORE: GstSearchMode = 1;
295pub const GST_SEARCH_MODE_AFTER: GstSearchMode = 2;
296
297pub type GstSeekType = c_int;
298pub const GST_SEEK_TYPE_NONE: GstSeekType = 0;
299pub const GST_SEEK_TYPE_SET: GstSeekType = 1;
300pub const GST_SEEK_TYPE_END: GstSeekType = 2;
301
302pub type GstState = c_int;
303pub const GST_STATE_VOID_PENDING: GstState = 0;
304pub const GST_STATE_NULL: GstState = 1;
305pub const GST_STATE_READY: GstState = 2;
306pub const GST_STATE_PAUSED: GstState = 3;
307pub const GST_STATE_PLAYING: GstState = 4;
308
309pub type GstStateChange = c_int;
310pub const GST_STATE_CHANGE_NULL_TO_READY: GstStateChange = 10;
311pub const GST_STATE_CHANGE_READY_TO_PAUSED: GstStateChange = 19;
312pub const GST_STATE_CHANGE_PAUSED_TO_PLAYING: GstStateChange = 28;
313pub const GST_STATE_CHANGE_PLAYING_TO_PAUSED: GstStateChange = 35;
314pub const GST_STATE_CHANGE_PAUSED_TO_READY: GstStateChange = 26;
315pub const GST_STATE_CHANGE_READY_TO_NULL: GstStateChange = 17;
316pub const GST_STATE_CHANGE_NULL_TO_NULL: GstStateChange = 9;
317pub const GST_STATE_CHANGE_READY_TO_READY: GstStateChange = 18;
318pub const GST_STATE_CHANGE_PAUSED_TO_PAUSED: GstStateChange = 27;
319pub const GST_STATE_CHANGE_PLAYING_TO_PLAYING: GstStateChange = 36;
320
321pub type GstStateChangeReturn = c_int;
322pub const GST_STATE_CHANGE_FAILURE: GstStateChangeReturn = 0;
323pub const GST_STATE_CHANGE_SUCCESS: GstStateChangeReturn = 1;
324pub const GST_STATE_CHANGE_ASYNC: GstStateChangeReturn = 2;
325pub const GST_STATE_CHANGE_NO_PREROLL: GstStateChangeReturn = 3;
326
327pub type GstStreamError = c_int;
328pub const GST_STREAM_ERROR_FAILED: GstStreamError = 1;
329pub const GST_STREAM_ERROR_TOO_LAZY: GstStreamError = 2;
330pub const GST_STREAM_ERROR_NOT_IMPLEMENTED: GstStreamError = 3;
331pub const GST_STREAM_ERROR_TYPE_NOT_FOUND: GstStreamError = 4;
332pub const GST_STREAM_ERROR_WRONG_TYPE: GstStreamError = 5;
333pub const GST_STREAM_ERROR_CODEC_NOT_FOUND: GstStreamError = 6;
334pub const GST_STREAM_ERROR_DECODE: GstStreamError = 7;
335pub const GST_STREAM_ERROR_ENCODE: GstStreamError = 8;
336pub const GST_STREAM_ERROR_DEMUX: GstStreamError = 9;
337pub const GST_STREAM_ERROR_MUX: GstStreamError = 10;
338pub const GST_STREAM_ERROR_FORMAT: GstStreamError = 11;
339pub const GST_STREAM_ERROR_DECRYPT: GstStreamError = 12;
340pub const GST_STREAM_ERROR_DECRYPT_NOKEY: GstStreamError = 13;
341pub const GST_STREAM_ERROR_NUM_ERRORS: GstStreamError = 14;
342
343pub type GstStreamStatusType = c_int;
344pub const GST_STREAM_STATUS_TYPE_CREATE: GstStreamStatusType = 0;
345pub const GST_STREAM_STATUS_TYPE_ENTER: GstStreamStatusType = 1;
346pub const GST_STREAM_STATUS_TYPE_LEAVE: GstStreamStatusType = 2;
347pub const GST_STREAM_STATUS_TYPE_DESTROY: GstStreamStatusType = 3;
348pub const GST_STREAM_STATUS_TYPE_START: GstStreamStatusType = 8;
349pub const GST_STREAM_STATUS_TYPE_PAUSE: GstStreamStatusType = 9;
350pub const GST_STREAM_STATUS_TYPE_STOP: GstStreamStatusType = 10;
351
352pub type GstStructureChangeType = c_int;
353pub const GST_STRUCTURE_CHANGE_TYPE_PAD_LINK: GstStructureChangeType = 0;
354pub const GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK: GstStructureChangeType = 1;
355
356pub type GstTagFlag = c_int;
357pub const GST_TAG_FLAG_UNDEFINED: GstTagFlag = 0;
358pub const GST_TAG_FLAG_META: GstTagFlag = 1;
359pub const GST_TAG_FLAG_ENCODED: GstTagFlag = 2;
360pub const GST_TAG_FLAG_DECODED: GstTagFlag = 3;
361pub const GST_TAG_FLAG_COUNT: GstTagFlag = 4;
362
363pub type GstTagMergeMode = c_int;
364pub const GST_TAG_MERGE_UNDEFINED: GstTagMergeMode = 0;
365pub const GST_TAG_MERGE_REPLACE_ALL: GstTagMergeMode = 1;
366pub const GST_TAG_MERGE_REPLACE: GstTagMergeMode = 2;
367pub const GST_TAG_MERGE_APPEND: GstTagMergeMode = 3;
368pub const GST_TAG_MERGE_PREPEND: GstTagMergeMode = 4;
369pub const GST_TAG_MERGE_KEEP: GstTagMergeMode = 5;
370pub const GST_TAG_MERGE_KEEP_ALL: GstTagMergeMode = 6;
371pub const GST_TAG_MERGE_COUNT: GstTagMergeMode = 7;
372
373pub type GstTagScope = c_int;
374pub const GST_TAG_SCOPE_STREAM: GstTagScope = 0;
375pub const GST_TAG_SCOPE_GLOBAL: GstTagScope = 1;
376
377pub type GstTaskState = c_int;
378pub const GST_TASK_STARTED: GstTaskState = 0;
379pub const GST_TASK_STOPPED: GstTaskState = 1;
380pub const GST_TASK_PAUSED: GstTaskState = 2;
381
382pub type GstTocEntryType = c_int;
383pub const GST_TOC_ENTRY_TYPE_ANGLE: GstTocEntryType = -3;
384pub const GST_TOC_ENTRY_TYPE_VERSION: GstTocEntryType = -2;
385pub const GST_TOC_ENTRY_TYPE_EDITION: GstTocEntryType = -1;
386pub const GST_TOC_ENTRY_TYPE_INVALID: GstTocEntryType = 0;
387pub const GST_TOC_ENTRY_TYPE_TITLE: GstTocEntryType = 1;
388pub const GST_TOC_ENTRY_TYPE_TRACK: GstTocEntryType = 2;
389pub const GST_TOC_ENTRY_TYPE_CHAPTER: GstTocEntryType = 3;
390
391pub type GstTocLoopType = c_int;
392pub const GST_TOC_LOOP_NONE: GstTocLoopType = 0;
393pub const GST_TOC_LOOP_FORWARD: GstTocLoopType = 1;
394pub const GST_TOC_LOOP_REVERSE: GstTocLoopType = 2;
395pub const GST_TOC_LOOP_PING_PONG: GstTocLoopType = 3;
396
397pub type GstTocScope = c_int;
398pub const GST_TOC_SCOPE_GLOBAL: GstTocScope = 1;
399pub const GST_TOC_SCOPE_CURRENT: GstTocScope = 2;
400
401pub type GstTracerValueScope = c_int;
402pub const GST_TRACER_VALUE_SCOPE_PROCESS: GstTracerValueScope = 0;
403pub const GST_TRACER_VALUE_SCOPE_THREAD: GstTracerValueScope = 1;
404pub const GST_TRACER_VALUE_SCOPE_ELEMENT: GstTracerValueScope = 2;
405pub const GST_TRACER_VALUE_SCOPE_PAD: GstTracerValueScope = 3;
406
407pub type GstTypeFindProbability = c_int;
408pub const GST_TYPE_FIND_NONE: GstTypeFindProbability = 0;
409pub const GST_TYPE_FIND_MINIMUM: GstTypeFindProbability = 1;
410pub const GST_TYPE_FIND_POSSIBLE: GstTypeFindProbability = 50;
411pub const GST_TYPE_FIND_LIKELY: GstTypeFindProbability = 80;
412pub const GST_TYPE_FIND_NEARLY_CERTAIN: GstTypeFindProbability = 99;
413pub const GST_TYPE_FIND_MAXIMUM: GstTypeFindProbability = 100;
414
415pub type GstURIError = c_int;
416pub const GST_URI_ERROR_UNSUPPORTED_PROTOCOL: GstURIError = 0;
417pub const GST_URI_ERROR_BAD_URI: GstURIError = 1;
418pub const GST_URI_ERROR_BAD_STATE: GstURIError = 2;
419pub const GST_URI_ERROR_BAD_REFERENCE: GstURIError = 3;
420
421pub type GstURIType = c_int;
422pub const GST_URI_UNKNOWN: GstURIType = 0;
423pub const GST_URI_SINK: GstURIType = 1;
424pub const GST_URI_SRC: GstURIType = 2;
425
426// Constants
427pub const GST_ALLOCATOR_SYSMEM: &[u8] = b"SystemMemory\0";
428pub const GST_BUFFER_COPY_ALL: GstBufferCopyFlags = 15;
429pub const GST_BUFFER_COPY_METADATA: GstBufferCopyFlags = 7;
430pub const GST_BUFFER_OFFSET_NONE: u64 = 18446744073709551615;
431pub const GST_CAN_INLINE: c_int = 1;
432pub const GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY: &[u8] = b"memory:SystemMemory\0";
433pub const GST_CLOCK_TIME_NONE: GstClockTime = 18446744073709551615;
434pub const GST_DEBUG_BG_MASK: c_int = 240;
435pub const GST_DEBUG_FG_MASK: c_int = 15;
436pub const GST_DEBUG_FORMAT_MASK: c_int = 65280;
437pub const GST_ELEMENT_FACTORY_KLASS_DECODER: &[u8] = b"Decoder\0";
438pub const GST_ELEMENT_FACTORY_KLASS_DECRYPTOR: &[u8] = b"Decryptor\0";
439pub const GST_ELEMENT_FACTORY_KLASS_DEMUXER: &[u8] = b"Demuxer\0";
440pub const GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER: &[u8] = b"Depayloader\0";
441pub const GST_ELEMENT_FACTORY_KLASS_ENCODER: &[u8] = b"Encoder\0";
442pub const GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR: &[u8] = b"Encryptor\0";
443pub const GST_ELEMENT_FACTORY_KLASS_FORMATTER: &[u8] = b"Formatter\0";
444pub const GST_ELEMENT_FACTORY_KLASS_HARDWARE: &[u8] = b"Hardware\0";
445pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO: &[u8] = b"Audio\0";
446pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE: &[u8] = b"Image\0";
447pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA: &[u8] = b"Metadata\0";
448pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE: &[u8] = b"Subtitle\0";
449pub const GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO: &[u8] = b"Video\0";
450pub const GST_ELEMENT_FACTORY_KLASS_MUXER: &[u8] = b"Muxer\0";
451pub const GST_ELEMENT_FACTORY_KLASS_PARSER: &[u8] = b"Parser\0";
452pub const GST_ELEMENT_FACTORY_KLASS_PAYLOADER: &[u8] = b"Payloader\0";
453pub const GST_ELEMENT_FACTORY_KLASS_SINK: &[u8] = b"Sink\0";
454pub const GST_ELEMENT_FACTORY_KLASS_SRC: &[u8] = b"Source\0";
455pub const GST_ELEMENT_FACTORY_TYPE_ANY: GstElementFactoryListType = 562949953421311;
456pub const GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS: GstElementFactoryListType = 3940649673949188;
457pub const GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER: GstElementFactoryListType = 1125899906842626;
458pub const GST_ELEMENT_FACTORY_TYPE_DECODABLE: GstElementFactoryListType = 1377;
459pub const GST_ELEMENT_FACTORY_TYPE_DECODER: GstElementFactoryListType = 1;
460pub const GST_ELEMENT_FACTORY_TYPE_DECRYPTOR: GstElementFactoryListType = 1024;
461pub const GST_ELEMENT_FACTORY_TYPE_DEMUXER: GstElementFactoryListType = 32;
462pub const GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER: GstElementFactoryListType = 256;
463pub const GST_ELEMENT_FACTORY_TYPE_ENCODER: GstElementFactoryListType = 2;
464pub const GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR: GstElementFactoryListType = 2048;
465pub const GST_ELEMENT_FACTORY_TYPE_FORMATTER: GstElementFactoryListType = 512;
466pub const GST_ELEMENT_FACTORY_TYPE_HARDWARE: GstElementFactoryListType = 4096;
467pub const GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS: GstElementFactoryListType = 281474976710656;
468pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY: GstElementFactoryListType = 18446462598732840960;
469pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO: GstElementFactoryListType = 1125899906842624;
470pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE: GstElementFactoryListType = 2251799813685248;
471pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA: GstElementFactoryListType = 9007199254740992;
472pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE: GstElementFactoryListType = 4503599627370496;
473pub const GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO: GstElementFactoryListType = 562949953421312;
474pub const GST_ELEMENT_FACTORY_TYPE_MUXER: GstElementFactoryListType = 16;
475pub const GST_ELEMENT_FACTORY_TYPE_PARSER: GstElementFactoryListType = 64;
476pub const GST_ELEMENT_FACTORY_TYPE_PAYLOADER: GstElementFactoryListType = 128;
477pub const GST_ELEMENT_FACTORY_TYPE_SINK: GstElementFactoryListType = 4;
478pub const GST_ELEMENT_FACTORY_TYPE_SRC: GstElementFactoryListType = 8;
479pub const GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER: GstElementFactoryListType = 8192;
480pub const GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER: GstElementFactoryListType = 2814749767106562;
481pub const GST_ELEMENT_METADATA_AUTHOR: &[u8] = b"author\0";
482pub const GST_ELEMENT_METADATA_DESCRIPTION: &[u8] = b"description\0";
483pub const GST_ELEMENT_METADATA_DOC_URI: &[u8] = b"doc-uri\0";
484pub const GST_ELEMENT_METADATA_ICON_NAME: &[u8] = b"icon-name\0";
485pub const GST_ELEMENT_METADATA_KLASS: &[u8] = b"klass\0";
486pub const GST_ELEMENT_METADATA_LONGNAME: &[u8] = b"long-name\0";
487pub const GST_EVENT_NUM_SHIFT: c_int = 8;
488pub const GST_EVENT_TYPE_BOTH: GstEventTypeFlags = 3;
489pub const GST_FLAG_SET_MASK_EXACT: c_uint = 4294967295;
490pub const GST_FORMAT_PERCENT_MAX: i64 = 1000000;
491pub const GST_FORMAT_PERCENT_SCALE: i64 = 10000;
492pub const GST_GROUP_ID_INVALID: c_int = 0;
493pub const GST_LICENSE_UNKNOWN: &[u8] = b"unknown\0";
494pub const GST_LOCK_FLAG_READWRITE: GstLockFlags = 3;
495pub const GST_MAP_READWRITE: GstMapFlags = 3;
496pub const GST_META_TAG_MEMORY_REFERENCE_STR: &[u8] = b"memory-reference\0";
497pub const GST_META_TAG_MEMORY_STR: &[u8] = b"memory\0";
498pub const GST_MSECOND: GstClockTimeDiff = 1000000;
499pub const GST_NSECOND: GstClockTimeDiff = 1;
500pub const GST_PARAM_CONDITIONALLY_AVAILABLE: c_int = 16384;
501pub const GST_PARAM_CONTROLLABLE: c_int = 512;
502pub const GST_PARAM_DOC_SHOW_DEFAULT: c_int = 8192;
503pub const GST_PARAM_MUTABLE_PAUSED: c_int = 2048;
504pub const GST_PARAM_MUTABLE_PLAYING: c_int = 4096;
505pub const GST_PARAM_MUTABLE_READY: c_int = 1024;
506pub const GST_PARAM_USER_SHIFT: c_int = 65536;
507pub const GST_PROTECTION_SYSTEM_ID_CAPS_FIELD: &[u8] = b"protection-system\0";
508pub const GST_PROTECTION_UNSPECIFIED_SYSTEM_ID: &[u8] = b"unspecified-system-id\0";
509pub const GST_QUERY_NUM_SHIFT: c_int = 8;
510pub const GST_QUERY_TYPE_BOTH: GstQueryTypeFlags = 3;
511pub const GST_SECOND: GstClockTimeDiff = 1000000000;
512pub const GST_SEGMENT_INSTANT_FLAGS: c_int = 912;
513pub const GST_SEQNUM_INVALID: c_int = 0;
514pub const GST_TAG_ALBUM: &[u8] = b"album\0";
515pub const GST_TAG_ALBUM_ARTIST: &[u8] = b"album-artist\0";
516pub const GST_TAG_ALBUM_ARTIST_SORTNAME: &[u8] = b"album-artist-sortname\0";
517pub const GST_TAG_ALBUM_GAIN: &[u8] = b"replaygain-album-gain\0";
518pub const GST_TAG_ALBUM_PEAK: &[u8] = b"replaygain-album-peak\0";
519pub const GST_TAG_ALBUM_SORTNAME: &[u8] = b"album-sortname\0";
520pub const GST_TAG_ALBUM_VOLUME_COUNT: &[u8] = b"album-disc-count\0";
521pub const GST_TAG_ALBUM_VOLUME_NUMBER: &[u8] = b"album-disc-number\0";
522pub const GST_TAG_APPLICATION_DATA: &[u8] = b"application-data\0";
523pub const GST_TAG_APPLICATION_NAME: &[u8] = b"application-name\0";
524pub const GST_TAG_ARTIST: &[u8] = b"artist\0";
525pub const GST_TAG_ARTIST_SORTNAME: &[u8] = b"artist-sortname\0";
526pub const GST_TAG_ATTACHMENT: &[u8] = b"attachment\0";
527pub const GST_TAG_AUDIO_CODEC: &[u8] = b"audio-codec\0";
528pub const GST_TAG_BEATS_PER_MINUTE: &[u8] = b"beats-per-minute\0";
529pub const GST_TAG_BITRATE: &[u8] = b"bitrate\0";
530pub const GST_TAG_CODEC: &[u8] = b"codec\0";
531pub const GST_TAG_COMMENT: &[u8] = b"comment\0";
532pub const GST_TAG_COMPOSER: &[u8] = b"composer\0";
533pub const GST_TAG_COMPOSER_SORTNAME: &[u8] = b"composer-sortname\0";
534pub const GST_TAG_CONDUCTOR: &[u8] = b"conductor\0";
535pub const GST_TAG_CONTACT: &[u8] = b"contact\0";
536pub const GST_TAG_CONTAINER_FORMAT: &[u8] = b"container-format\0";
537pub const GST_TAG_COPYRIGHT: &[u8] = b"copyright\0";
538pub const GST_TAG_COPYRIGHT_URI: &[u8] = b"copyright-uri\0";
539pub const GST_TAG_DATE: &[u8] = b"date\0";
540pub const GST_TAG_DATE_TIME: &[u8] = b"datetime\0";
541pub const GST_TAG_DESCRIPTION: &[u8] = b"description\0";
542pub const GST_TAG_DEVICE_MANUFACTURER: &[u8] = b"device-manufacturer\0";
543pub const GST_TAG_DEVICE_MODEL: &[u8] = b"device-model\0";
544pub const GST_TAG_DURATION: &[u8] = b"duration\0";
545pub const GST_TAG_ENCODED_BY: &[u8] = b"encoded-by\0";
546pub const GST_TAG_ENCODER: &[u8] = b"encoder\0";
547pub const GST_TAG_ENCODER_VERSION: &[u8] = b"encoder-version\0";
548pub const GST_TAG_EXTENDED_COMMENT: &[u8] = b"extended-comment\0";
549pub const GST_TAG_GENRE: &[u8] = b"genre\0";
550pub const GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION: &[u8] = b"geo-location-capture-direction\0";
551pub const GST_TAG_GEO_LOCATION_CITY: &[u8] = b"geo-location-city\0";
552pub const GST_TAG_GEO_LOCATION_COUNTRY: &[u8] = b"geo-location-country\0";
553pub const GST_TAG_GEO_LOCATION_ELEVATION: &[u8] = b"geo-location-elevation\0";
554pub const GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR: &[u8] = b"geo-location-horizontal-error\0";
555pub const GST_TAG_GEO_LOCATION_LATITUDE: &[u8] = b"geo-location-latitude\0";
556pub const GST_TAG_GEO_LOCATION_LONGITUDE: &[u8] = b"geo-location-longitude\0";
557pub const GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION: &[u8] = b"geo-location-movement-direction\0";
558pub const GST_TAG_GEO_LOCATION_MOVEMENT_SPEED: &[u8] = b"geo-location-movement-speed\0";
559pub const GST_TAG_GEO_LOCATION_NAME: &[u8] = b"geo-location-name\0";
560pub const GST_TAG_GEO_LOCATION_SUBLOCATION: &[u8] = b"geo-location-sublocation\0";
561pub const GST_TAG_GROUPING: &[u8] = b"grouping\0";
562pub const GST_TAG_HOMEPAGE: &[u8] = b"homepage\0";
563pub const GST_TAG_IMAGE: &[u8] = b"image\0";
564pub const GST_TAG_IMAGE_ORIENTATION: &[u8] = b"image-orientation\0";
565pub const GST_TAG_INTERPRETED_BY: &[u8] = b"interpreted-by\0";
566pub const GST_TAG_ISRC: &[u8] = b"isrc\0";
567pub const GST_TAG_KEYWORDS: &[u8] = b"keywords\0";
568pub const GST_TAG_LANGUAGE_CODE: &[u8] = b"language-code\0";
569pub const GST_TAG_LANGUAGE_NAME: &[u8] = b"language-name\0";
570pub const GST_TAG_LICENSE: &[u8] = b"license\0";
571pub const GST_TAG_LICENSE_URI: &[u8] = b"license-uri\0";
572pub const GST_TAG_LOCATION: &[u8] = b"location\0";
573pub const GST_TAG_LYRICS: &[u8] = b"lyrics\0";
574pub const GST_TAG_MAXIMUM_BITRATE: &[u8] = b"maximum-bitrate\0";
575pub const GST_TAG_MIDI_BASE_NOTE: &[u8] = b"midi-base-note\0";
576pub const GST_TAG_MINIMUM_BITRATE: &[u8] = b"minimum-bitrate\0";
577pub const GST_TAG_NOMINAL_BITRATE: &[u8] = b"nominal-bitrate\0";
578pub const GST_TAG_ORGANIZATION: &[u8] = b"organization\0";
579pub const GST_TAG_PERFORMER: &[u8] = b"performer\0";
580pub const GST_TAG_PREVIEW_IMAGE: &[u8] = b"preview-image\0";
581pub const GST_TAG_PRIVATE_DATA: &[u8] = b"private-data\0";
582pub const GST_TAG_PUBLISHER: &[u8] = b"publisher\0";
583pub const GST_TAG_REFERENCE_LEVEL: &[u8] = b"replaygain-reference-level\0";
584pub const GST_TAG_SERIAL: &[u8] = b"serial\0";
585pub const GST_TAG_SHOW_EPISODE_NUMBER: &[u8] = b"show-episode-number\0";
586pub const GST_TAG_SHOW_NAME: &[u8] = b"show-name\0";
587pub const GST_TAG_SHOW_SEASON_NUMBER: &[u8] = b"show-season-number\0";
588pub const GST_TAG_SHOW_SORTNAME: &[u8] = b"show-sortname\0";
589pub const GST_TAG_SUBTITLE_CODEC: &[u8] = b"subtitle-codec\0";
590pub const GST_TAG_TITLE: &[u8] = b"title\0";
591pub const GST_TAG_TITLE_SORTNAME: &[u8] = b"title-sortname\0";
592pub const GST_TAG_TRACK_COUNT: &[u8] = b"track-count\0";
593pub const GST_TAG_TRACK_GAIN: &[u8] = b"replaygain-track-gain\0";
594pub const GST_TAG_TRACK_NUMBER: &[u8] = b"track-number\0";
595pub const GST_TAG_TRACK_PEAK: &[u8] = b"replaygain-track-peak\0";
596pub const GST_TAG_USER_RATING: &[u8] = b"user-rating\0";
597pub const GST_TAG_VERSION: &[u8] = b"version\0";
598pub const GST_TAG_VIDEO_CODEC: &[u8] = b"video-codec\0";
599pub const GST_TOC_REPEAT_COUNT_INFINITE: c_int = -1;
600pub const GST_URI_NO_PORT: c_int = 0;
601pub const GST_USECOND: GstClockTimeDiff = 1000;
602pub const GST_VALUE_EQUAL: c_int = 0;
603pub const GST_VALUE_GREATER_THAN: c_int = 1;
604pub const GST_VALUE_LESS_THAN: c_int = -1;
605pub const GST_VALUE_UNORDERED: c_int = 2;
606
607// Flags
608pub type GstAllocatorFlags = c_uint;
609pub const GST_ALLOCATOR_FLAG_CUSTOM_ALLOC: GstAllocatorFlags = 16;
610#[cfg(feature = "v1_24")]
611#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
612pub const GST_ALLOCATOR_FLAG_NO_COPY: GstAllocatorFlags = 32;
613pub const GST_ALLOCATOR_FLAG_LAST: GstAllocatorFlags = 1048576;
614
615pub type GstBinFlags = c_uint;
616pub const GST_BIN_FLAG_NO_RESYNC: GstBinFlags = 16384;
617pub const GST_BIN_FLAG_STREAMS_AWARE: GstBinFlags = 32768;
618pub const GST_BIN_FLAG_LAST: GstBinFlags = 524288;
619
620pub type GstBufferCopyFlags = c_uint;
621pub const GST_BUFFER_COPY_NONE: GstBufferCopyFlags = 0;
622pub const GST_BUFFER_COPY_FLAGS: GstBufferCopyFlags = 1;
623pub const GST_BUFFER_COPY_TIMESTAMPS: GstBufferCopyFlags = 2;
624pub const GST_BUFFER_COPY_META: GstBufferCopyFlags = 4;
625pub const GST_BUFFER_COPY_MEMORY: GstBufferCopyFlags = 8;
626pub const GST_BUFFER_COPY_MERGE: GstBufferCopyFlags = 16;
627pub const GST_BUFFER_COPY_DEEP: GstBufferCopyFlags = 32;
628
629pub type GstBufferFlags = c_uint;
630pub const GST_BUFFER_FLAG_LIVE: GstBufferFlags = 16;
631pub const GST_BUFFER_FLAG_DECODE_ONLY: GstBufferFlags = 32;
632pub const GST_BUFFER_FLAG_DISCONT: GstBufferFlags = 64;
633pub const GST_BUFFER_FLAG_RESYNC: GstBufferFlags = 128;
634pub const GST_BUFFER_FLAG_CORRUPTED: GstBufferFlags = 256;
635pub const GST_BUFFER_FLAG_MARKER: GstBufferFlags = 512;
636pub const GST_BUFFER_FLAG_HEADER: GstBufferFlags = 1024;
637pub const GST_BUFFER_FLAG_GAP: GstBufferFlags = 2048;
638pub const GST_BUFFER_FLAG_DROPPABLE: GstBufferFlags = 4096;
639pub const GST_BUFFER_FLAG_DELTA_UNIT: GstBufferFlags = 8192;
640pub const GST_BUFFER_FLAG_TAG_MEMORY: GstBufferFlags = 16384;
641pub const GST_BUFFER_FLAG_SYNC_AFTER: GstBufferFlags = 32768;
642pub const GST_BUFFER_FLAG_NON_DROPPABLE: GstBufferFlags = 65536;
643pub const GST_BUFFER_FLAG_LAST: GstBufferFlags = 1048576;
644
645pub type GstBufferPoolAcquireFlags = c_uint;
646pub const GST_BUFFER_POOL_ACQUIRE_FLAG_NONE: GstBufferPoolAcquireFlags = 0;
647pub const GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT: GstBufferPoolAcquireFlags = 1;
648pub const GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT: GstBufferPoolAcquireFlags = 2;
649pub const GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT: GstBufferPoolAcquireFlags = 4;
650pub const GST_BUFFER_POOL_ACQUIRE_FLAG_LAST: GstBufferPoolAcquireFlags = 65536;
651
652pub type GstBusFlags = c_uint;
653pub const GST_BUS_FLUSHING: GstBusFlags = 16;
654pub const GST_BUS_FLAG_LAST: GstBusFlags = 32;
655
656pub type GstCapsFlags = c_uint;
657pub const GST_CAPS_FLAG_ANY: GstCapsFlags = 16;
658
659pub type GstClockFlags = c_uint;
660pub const GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC: GstClockFlags = 16;
661pub const GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC: GstClockFlags = 32;
662pub const GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC: GstClockFlags = 64;
663pub const GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC: GstClockFlags = 128;
664pub const GST_CLOCK_FLAG_CAN_SET_RESOLUTION: GstClockFlags = 256;
665pub const GST_CLOCK_FLAG_CAN_SET_MASTER: GstClockFlags = 512;
666pub const GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC: GstClockFlags = 1024;
667pub const GST_CLOCK_FLAG_LAST: GstClockFlags = 4096;
668
669pub type GstDebugColorFlags = c_uint;
670pub const GST_DEBUG_FG_BLACK: GstDebugColorFlags = 0;
671pub const GST_DEBUG_FG_RED: GstDebugColorFlags = 1;
672pub const GST_DEBUG_FG_GREEN: GstDebugColorFlags = 2;
673pub const GST_DEBUG_FG_YELLOW: GstDebugColorFlags = 3;
674pub const GST_DEBUG_FG_BLUE: GstDebugColorFlags = 4;
675pub const GST_DEBUG_FG_MAGENTA: GstDebugColorFlags = 5;
676pub const GST_DEBUG_FG_CYAN: GstDebugColorFlags = 6;
677pub const GST_DEBUG_FG_WHITE: GstDebugColorFlags = 7;
678pub const GST_DEBUG_BG_BLACK: GstDebugColorFlags = 0;
679pub const GST_DEBUG_BG_RED: GstDebugColorFlags = 16;
680pub const GST_DEBUG_BG_GREEN: GstDebugColorFlags = 32;
681pub const GST_DEBUG_BG_YELLOW: GstDebugColorFlags = 48;
682pub const GST_DEBUG_BG_BLUE: GstDebugColorFlags = 64;
683pub const GST_DEBUG_BG_MAGENTA: GstDebugColorFlags = 80;
684pub const GST_DEBUG_BG_CYAN: GstDebugColorFlags = 96;
685pub const GST_DEBUG_BG_WHITE: GstDebugColorFlags = 112;
686pub const GST_DEBUG_BOLD: GstDebugColorFlags = 256;
687pub const GST_DEBUG_UNDERLINE: GstDebugColorFlags = 512;
688
689pub type GstDebugGraphDetails = c_uint;
690pub const GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE: GstDebugGraphDetails = 1;
691pub const GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS: GstDebugGraphDetails = 2;
692pub const GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS: GstDebugGraphDetails = 4;
693pub const GST_DEBUG_GRAPH_SHOW_STATES: GstDebugGraphDetails = 8;
694pub const GST_DEBUG_GRAPH_SHOW_FULL_PARAMS: GstDebugGraphDetails = 16;
695pub const GST_DEBUG_GRAPH_SHOW_ALL: GstDebugGraphDetails = 15;
696pub const GST_DEBUG_GRAPH_SHOW_VERBOSE: GstDebugGraphDetails = 4294967295;
697
698pub type GstElementFlags = c_uint;
699pub const GST_ELEMENT_FLAG_LOCKED_STATE: GstElementFlags = 16;
700pub const GST_ELEMENT_FLAG_SINK: GstElementFlags = 32;
701pub const GST_ELEMENT_FLAG_SOURCE: GstElementFlags = 64;
702pub const GST_ELEMENT_FLAG_PROVIDE_CLOCK: GstElementFlags = 128;
703pub const GST_ELEMENT_FLAG_REQUIRE_CLOCK: GstElementFlags = 256;
704pub const GST_ELEMENT_FLAG_INDEXABLE: GstElementFlags = 512;
705pub const GST_ELEMENT_FLAG_LAST: GstElementFlags = 16384;
706
707pub type GstEventTypeFlags = c_uint;
708pub const GST_EVENT_TYPE_UPSTREAM: GstEventTypeFlags = 1;
709pub const GST_EVENT_TYPE_DOWNSTREAM: GstEventTypeFlags = 2;
710pub const GST_EVENT_TYPE_SERIALIZED: GstEventTypeFlags = 4;
711pub const GST_EVENT_TYPE_STICKY: GstEventTypeFlags = 8;
712pub const GST_EVENT_TYPE_STICKY_MULTI: GstEventTypeFlags = 16;
713
714pub type GstGapFlags = c_uint;
715pub const GST_GAP_FLAG_MISSING_DATA: GstGapFlags = 1;
716
717pub type GstLockFlags = c_uint;
718pub const GST_LOCK_FLAG_READ: GstLockFlags = 1;
719pub const GST_LOCK_FLAG_WRITE: GstLockFlags = 2;
720pub const GST_LOCK_FLAG_EXCLUSIVE: GstLockFlags = 4;
721pub const GST_LOCK_FLAG_LAST: GstLockFlags = 256;
722
723pub type GstMapFlags = c_uint;
724pub const GST_MAP_READ: GstMapFlags = 1;
725pub const GST_MAP_WRITE: GstMapFlags = 2;
726pub const GST_MAP_FLAG_LAST: GstMapFlags = 65536;
727
728pub type GstMemoryFlags = c_uint;
729pub const GST_MEMORY_FLAG_READONLY: GstMemoryFlags = 2;
730pub const GST_MEMORY_FLAG_NO_SHARE: GstMemoryFlags = 16;
731pub const GST_MEMORY_FLAG_ZERO_PREFIXED: GstMemoryFlags = 32;
732pub const GST_MEMORY_FLAG_ZERO_PADDED: GstMemoryFlags = 64;
733pub const GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS: GstMemoryFlags = 128;
734pub const GST_MEMORY_FLAG_NOT_MAPPABLE: GstMemoryFlags = 256;
735pub const GST_MEMORY_FLAG_LAST: GstMemoryFlags = 1048576;
736
737pub type GstMessageType = c_uint;
738pub const GST_MESSAGE_UNKNOWN: GstMessageType = 0;
739pub const GST_MESSAGE_EOS: GstMessageType = 1;
740pub const GST_MESSAGE_ERROR: GstMessageType = 2;
741pub const GST_MESSAGE_WARNING: GstMessageType = 4;
742pub const GST_MESSAGE_INFO: GstMessageType = 8;
743pub const GST_MESSAGE_TAG: GstMessageType = 16;
744pub const GST_MESSAGE_BUFFERING: GstMessageType = 32;
745pub const GST_MESSAGE_STATE_CHANGED: GstMessageType = 64;
746pub const GST_MESSAGE_STATE_DIRTY: GstMessageType = 128;
747pub const GST_MESSAGE_STEP_DONE: GstMessageType = 256;
748pub const GST_MESSAGE_CLOCK_PROVIDE: GstMessageType = 512;
749pub const GST_MESSAGE_CLOCK_LOST: GstMessageType = 1024;
750pub const GST_MESSAGE_NEW_CLOCK: GstMessageType = 2048;
751pub const GST_MESSAGE_STRUCTURE_CHANGE: GstMessageType = 4096;
752pub const GST_MESSAGE_STREAM_STATUS: GstMessageType = 8192;
753pub const GST_MESSAGE_APPLICATION: GstMessageType = 16384;
754pub const GST_MESSAGE_ELEMENT: GstMessageType = 32768;
755pub const GST_MESSAGE_SEGMENT_START: GstMessageType = 65536;
756pub const GST_MESSAGE_SEGMENT_DONE: GstMessageType = 131072;
757pub const GST_MESSAGE_DURATION_CHANGED: GstMessageType = 262144;
758pub const GST_MESSAGE_LATENCY: GstMessageType = 524288;
759pub const GST_MESSAGE_ASYNC_START: GstMessageType = 1048576;
760pub const GST_MESSAGE_ASYNC_DONE: GstMessageType = 2097152;
761pub const GST_MESSAGE_REQUEST_STATE: GstMessageType = 4194304;
762pub const GST_MESSAGE_STEP_START: GstMessageType = 8388608;
763pub const GST_MESSAGE_QOS: GstMessageType = 16777216;
764pub const GST_MESSAGE_PROGRESS: GstMessageType = 33554432;
765pub const GST_MESSAGE_TOC: GstMessageType = 67108864;
766pub const GST_MESSAGE_RESET_TIME: GstMessageType = 134217728;
767pub const GST_MESSAGE_STREAM_START: GstMessageType = 268435456;
768pub const GST_MESSAGE_NEED_CONTEXT: GstMessageType = 536870912;
769pub const GST_MESSAGE_HAVE_CONTEXT: GstMessageType = 1073741824;
770pub const GST_MESSAGE_EXTENDED: GstMessageType = 2147483648;
771pub const GST_MESSAGE_DEVICE_ADDED: GstMessageType = 2147483649;
772pub const GST_MESSAGE_DEVICE_REMOVED: GstMessageType = 2147483650;
773pub const GST_MESSAGE_PROPERTY_NOTIFY: GstMessageType = 2147483651;
774pub const GST_MESSAGE_STREAM_COLLECTION: GstMessageType = 2147483652;
775pub const GST_MESSAGE_STREAMS_SELECTED: GstMessageType = 2147483653;
776pub const GST_MESSAGE_REDIRECT: GstMessageType = 2147483654;
777pub const GST_MESSAGE_DEVICE_CHANGED: GstMessageType = 2147483655;
778pub const GST_MESSAGE_INSTANT_RATE_REQUEST: GstMessageType = 2147483656;
779pub const GST_MESSAGE_ANY: GstMessageType = 4294967295;
780
781pub type GstMetaFlags = c_uint;
782pub const GST_META_FLAG_NONE: GstMetaFlags = 0;
783pub const GST_META_FLAG_READONLY: GstMetaFlags = 1;
784pub const GST_META_FLAG_POOLED: GstMetaFlags = 2;
785pub const GST_META_FLAG_LOCKED: GstMetaFlags = 4;
786pub const GST_META_FLAG_LAST: GstMetaFlags = 65536;
787
788pub type GstMiniObjectFlags = c_uint;
789pub const GST_MINI_OBJECT_FLAG_LOCKABLE: GstMiniObjectFlags = 1;
790pub const GST_MINI_OBJECT_FLAG_LOCK_READONLY: GstMiniObjectFlags = 2;
791pub const GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED: GstMiniObjectFlags = 4;
792pub const GST_MINI_OBJECT_FLAG_LAST: GstMiniObjectFlags = 16;
793
794pub type GstObjectFlags = c_uint;
795pub const GST_OBJECT_FLAG_MAY_BE_LEAKED: GstObjectFlags = 1;
796pub const GST_OBJECT_FLAG_LAST: GstObjectFlags = 16;
797
798pub type GstPadFlags = c_uint;
799pub const GST_PAD_FLAG_BLOCKED: GstPadFlags = 16;
800pub const GST_PAD_FLAG_FLUSHING: GstPadFlags = 32;
801pub const GST_PAD_FLAG_EOS: GstPadFlags = 64;
802pub const GST_PAD_FLAG_BLOCKING: GstPadFlags = 128;
803pub const GST_PAD_FLAG_NEED_PARENT: GstPadFlags = 256;
804pub const GST_PAD_FLAG_NEED_RECONFIGURE: GstPadFlags = 512;
805pub const GST_PAD_FLAG_PENDING_EVENTS: GstPadFlags = 1024;
806pub const GST_PAD_FLAG_FIXED_CAPS: GstPadFlags = 2048;
807pub const GST_PAD_FLAG_PROXY_CAPS: GstPadFlags = 4096;
808pub const GST_PAD_FLAG_PROXY_ALLOCATION: GstPadFlags = 8192;
809pub const GST_PAD_FLAG_PROXY_SCHEDULING: GstPadFlags = 16384;
810pub const GST_PAD_FLAG_ACCEPT_INTERSECT: GstPadFlags = 32768;
811pub const GST_PAD_FLAG_ACCEPT_TEMPLATE: GstPadFlags = 65536;
812pub const GST_PAD_FLAG_LAST: GstPadFlags = 1048576;
813
814pub type GstPadLinkCheck = c_uint;
815pub const GST_PAD_LINK_CHECK_NOTHING: GstPadLinkCheck = 0;
816pub const GST_PAD_LINK_CHECK_HIERARCHY: GstPadLinkCheck = 1;
817pub const GST_PAD_LINK_CHECK_TEMPLATE_CAPS: GstPadLinkCheck = 2;
818pub const GST_PAD_LINK_CHECK_CAPS: GstPadLinkCheck = 4;
819pub const GST_PAD_LINK_CHECK_NO_RECONFIGURE: GstPadLinkCheck = 8;
820pub const GST_PAD_LINK_CHECK_DEFAULT: GstPadLinkCheck = 5;
821
822pub type GstPadProbeType = c_uint;
823pub const GST_PAD_PROBE_TYPE_INVALID: GstPadProbeType = 0;
824pub const GST_PAD_PROBE_TYPE_IDLE: GstPadProbeType = 1;
825pub const GST_PAD_PROBE_TYPE_BLOCK: GstPadProbeType = 2;
826pub const GST_PAD_PROBE_TYPE_BUFFER: GstPadProbeType = 16;
827pub const GST_PAD_PROBE_TYPE_BUFFER_LIST: GstPadProbeType = 32;
828pub const GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM: GstPadProbeType = 64;
829pub const GST_PAD_PROBE_TYPE_EVENT_UPSTREAM: GstPadProbeType = 128;
830pub const GST_PAD_PROBE_TYPE_EVENT_FLUSH: GstPadProbeType = 256;
831pub const GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM: GstPadProbeType = 512;
832pub const GST_PAD_PROBE_TYPE_QUERY_UPSTREAM: GstPadProbeType = 1024;
833pub const GST_PAD_PROBE_TYPE_PUSH: GstPadProbeType = 4096;
834pub const GST_PAD_PROBE_TYPE_PULL: GstPadProbeType = 8192;
835pub const GST_PAD_PROBE_TYPE_BLOCKING: GstPadProbeType = 3;
836pub const GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM: GstPadProbeType = 112;
837pub const GST_PAD_PROBE_TYPE_DATA_UPSTREAM: GstPadProbeType = 128;
838pub const GST_PAD_PROBE_TYPE_DATA_BOTH: GstPadProbeType = 240;
839pub const GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM: GstPadProbeType = 114;
840pub const GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM: GstPadProbeType = 130;
841pub const GST_PAD_PROBE_TYPE_EVENT_BOTH: GstPadProbeType = 192;
842pub const GST_PAD_PROBE_TYPE_QUERY_BOTH: GstPadProbeType = 1536;
843pub const GST_PAD_PROBE_TYPE_ALL_BOTH: GstPadProbeType = 1776;
844pub const GST_PAD_PROBE_TYPE_SCHEDULING: GstPadProbeType = 12288;
845
846pub type GstPadTemplateFlags = c_uint;
847pub const GST_PAD_TEMPLATE_FLAG_LAST: GstPadTemplateFlags = 256;
848
849pub type GstParseFlags = c_uint;
850pub const GST_PARSE_FLAG_NONE: GstParseFlags = 0;
851pub const GST_PARSE_FLAG_FATAL_ERRORS: GstParseFlags = 1;
852pub const GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS: GstParseFlags = 2;
853pub const GST_PARSE_FLAG_PLACE_IN_BIN: GstParseFlags = 4;
854
855pub type GstPipelineFlags = c_uint;
856pub const GST_PIPELINE_FLAG_FIXED_CLOCK: GstPipelineFlags = 524288;
857pub const GST_PIPELINE_FLAG_LAST: GstPipelineFlags = 8388608;
858
859pub type GstPluginAPIFlags = c_uint;
860pub const GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS: GstPluginAPIFlags = 1;
861
862pub type GstPluginDependencyFlags = c_uint;
863pub const GST_PLUGIN_DEPENDENCY_FLAG_NONE: GstPluginDependencyFlags = 0;
864pub const GST_PLUGIN_DEPENDENCY_FLAG_RECURSE: GstPluginDependencyFlags = 1;
865pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY: GstPluginDependencyFlags = 2;
866pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX: GstPluginDependencyFlags = 4;
867pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX: GstPluginDependencyFlags = 8;
868pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE: GstPluginDependencyFlags = 16;
869
870pub type GstPluginFlags = c_uint;
871pub const GST_PLUGIN_FLAG_CACHED: GstPluginFlags = 16;
872pub const GST_PLUGIN_FLAG_BLACKLISTED: GstPluginFlags = 32;
873
874pub type GstQueryTypeFlags = c_uint;
875pub const GST_QUERY_TYPE_UPSTREAM: GstQueryTypeFlags = 1;
876pub const GST_QUERY_TYPE_DOWNSTREAM: GstQueryTypeFlags = 2;
877pub const GST_QUERY_TYPE_SERIALIZED: GstQueryTypeFlags = 4;
878
879pub type GstSchedulingFlags = c_uint;
880pub const GST_SCHEDULING_FLAG_SEEKABLE: GstSchedulingFlags = 1;
881pub const GST_SCHEDULING_FLAG_SEQUENTIAL: GstSchedulingFlags = 2;
882pub const GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED: GstSchedulingFlags = 4;
883
884pub type GstSeekFlags = c_uint;
885pub const GST_SEEK_FLAG_NONE: GstSeekFlags = 0;
886pub const GST_SEEK_FLAG_FLUSH: GstSeekFlags = 1;
887pub const GST_SEEK_FLAG_ACCURATE: GstSeekFlags = 2;
888pub const GST_SEEK_FLAG_KEY_UNIT: GstSeekFlags = 4;
889pub const GST_SEEK_FLAG_SEGMENT: GstSeekFlags = 8;
890pub const GST_SEEK_FLAG_TRICKMODE: GstSeekFlags = 16;
891pub const GST_SEEK_FLAG_SKIP: GstSeekFlags = 16;
892pub const GST_SEEK_FLAG_SNAP_BEFORE: GstSeekFlags = 32;
893pub const GST_SEEK_FLAG_SNAP_AFTER: GstSeekFlags = 64;
894pub const GST_SEEK_FLAG_SNAP_NEAREST: GstSeekFlags = 96;
895pub const GST_SEEK_FLAG_TRICKMODE_KEY_UNITS: GstSeekFlags = 128;
896pub const GST_SEEK_FLAG_TRICKMODE_NO_AUDIO: GstSeekFlags = 256;
897pub const GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED: GstSeekFlags = 512;
898pub const GST_SEEK_FLAG_INSTANT_RATE_CHANGE: GstSeekFlags = 1024;
899
900pub type GstSegmentFlags = c_uint;
901pub const GST_SEGMENT_FLAG_NONE: GstSegmentFlags = 0;
902pub const GST_SEGMENT_FLAG_RESET: GstSegmentFlags = 1;
903pub const GST_SEGMENT_FLAG_TRICKMODE: GstSegmentFlags = 16;
904pub const GST_SEGMENT_FLAG_SKIP: GstSegmentFlags = 16;
905pub const GST_SEGMENT_FLAG_SEGMENT: GstSegmentFlags = 8;
906pub const GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS: GstSegmentFlags = 128;
907pub const GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED: GstSegmentFlags = 512;
908pub const GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO: GstSegmentFlags = 256;
909
910pub type GstSerializeFlags = c_uint;
911pub const GST_SERIALIZE_FLAG_NONE: GstSerializeFlags = 0;
912pub const GST_SERIALIZE_FLAG_BACKWARD_COMPAT: GstSerializeFlags = 1;
913
914pub type GstStackTraceFlags = c_uint;
915pub const GST_STACK_TRACE_SHOW_NONE: GstStackTraceFlags = 0;
916pub const GST_STACK_TRACE_SHOW_FULL: GstStackTraceFlags = 1;
917
918pub type GstStreamFlags = c_uint;
919pub const GST_STREAM_FLAG_NONE: GstStreamFlags = 0;
920pub const GST_STREAM_FLAG_SPARSE: GstStreamFlags = 1;
921pub const GST_STREAM_FLAG_SELECT: GstStreamFlags = 2;
922pub const GST_STREAM_FLAG_UNSELECT: GstStreamFlags = 4;
923
924pub type GstStreamType = c_uint;
925pub const GST_STREAM_TYPE_UNKNOWN: GstStreamType = 1;
926pub const GST_STREAM_TYPE_AUDIO: GstStreamType = 2;
927pub const GST_STREAM_TYPE_VIDEO: GstStreamType = 4;
928pub const GST_STREAM_TYPE_CONTAINER: GstStreamType = 8;
929pub const GST_STREAM_TYPE_TEXT: GstStreamType = 16;
930
931pub type GstTracerValueFlags = c_uint;
932pub const GST_TRACER_VALUE_FLAGS_NONE: GstTracerValueFlags = 0;
933pub const GST_TRACER_VALUE_FLAGS_OPTIONAL: GstTracerValueFlags = 1;
934pub const GST_TRACER_VALUE_FLAGS_AGGREGATED: GstTracerValueFlags = 2;
935
936// Unions
937#[derive(Copy, Clone)]
938#[repr(C)]
939pub union GstControlBinding_ABI {
940 pub abi: GstControlBinding_ABI_abi,
941 pub _gst_reserved: [gpointer; 4],
942}
943
944impl ::std::fmt::Debug for GstControlBinding_ABI {
945 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
946 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstControlBinding_ABI @ {self:p}"))
947 .field(name:"abi", value:unsafe { &self.abi })
948 .finish()
949 }
950}
951
952#[derive(Copy, Clone)]
953#[repr(C)]
954pub union GstPadProbeInfo_ABI {
955 pub _gst_reserved: [gpointer; 4],
956 pub abi: GstPadProbeInfo_ABI_abi,
957}
958
959impl ::std::fmt::Debug for GstPadProbeInfo_ABI {
960 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
961 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadProbeInfo_ABI @ {self:p}"))
962 .field("_gst_reserved", unsafe { &self._gst_reserved })
963 .field(name:"abi", value:unsafe { &self.abi })
964 .finish()
965 }
966}
967
968#[derive(Copy, Clone)]
969#[repr(C)]
970pub union GstPadTemplate_ABI {
971 pub _gst_reserved: [gpointer; 4],
972 pub abi: GstPadTemplate_ABI_abi,
973}
974
975impl ::std::fmt::Debug for GstPadTemplate_ABI {
976 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
977 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadTemplate_ABI @ {self:p}"))
978 .field("_gst_reserved", unsafe { &self._gst_reserved })
979 .field(name:"abi", value:unsafe { &self.abi })
980 .finish()
981 }
982}
983
984#[derive(Copy, Clone)]
985#[repr(C)]
986pub union GstPad_ABI {
987 pub _gst_reserved: [gpointer; 4],
988 pub abi: GstPad_ABI_abi,
989}
990
991impl ::std::fmt::Debug for GstPad_ABI {
992 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
993 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPad_ABI @ {self:p}"))
994 .field("_gst_reserved", unsafe { &self._gst_reserved })
995 .field(name:"abi", value:unsafe { &self.abi })
996 .finish()
997 }
998}
999
1000// Callbacks
1001pub type GstBufferForeachMetaFunc =
1002 Option<unsafe extern "C" fn(*mut GstBuffer, *mut *mut GstMeta, gpointer) -> gboolean>;
1003pub type GstBufferListFunc =
1004 Option<unsafe extern "C" fn(*mut *mut GstBuffer, c_uint, gpointer) -> gboolean>;
1005pub type GstBusFunc =
1006 Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage, gpointer) -> gboolean>;
1007pub type GstBusSyncHandler =
1008 Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage, gpointer) -> GstBusSyncReply>;
1009pub type GstCapsFilterMapFunc =
1010 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1011pub type GstCapsForeachFunc =
1012 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1013pub type GstCapsMapFunc =
1014 Option<unsafe extern "C" fn(*mut GstCapsFeatures, *mut GstStructure, gpointer) -> gboolean>;
1015pub type GstClockCallback =
1016 Option<unsafe extern "C" fn(*mut GstClock, GstClockTime, GstClockID, gpointer) -> gboolean>;
1017pub type GstControlBindingConvert =
1018 Option<unsafe extern "C" fn(*mut GstControlBinding, c_double, *mut gobject::GValue)>;
1019pub type GstControlSourceGetValue =
1020 Option<unsafe extern "C" fn(*mut GstControlSource, GstClockTime, *mut c_double) -> gboolean>;
1021pub type GstControlSourceGetValueArray = Option<
1022 unsafe extern "C" fn(
1023 *mut GstControlSource,
1024 GstClockTime,
1025 GstClockTime,
1026 c_uint,
1027 *mut c_double,
1028 ) -> gboolean,
1029>;
1030pub type GstCustomMetaTransformFunction = Option<
1031 unsafe extern "C" fn(
1032 *mut GstBuffer,
1033 *mut GstCustomMeta,
1034 *mut GstBuffer,
1035 glib::GQuark,
1036 gpointer,
1037 gpointer,
1038 ) -> gboolean,
1039>;
1040pub type GstDebugFuncPtr = Option<unsafe extern "C" fn()>;
1041pub type GstElementCallAsyncFunc = Option<unsafe extern "C" fn(*mut GstElement, gpointer)>;
1042pub type GstElementForeachPadFunc =
1043 Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad, gpointer) -> gboolean>;
1044pub type GstIteratorCopyFunction =
1045 Option<unsafe extern "C" fn(*const GstIterator, *mut GstIterator)>;
1046pub type GstIteratorFoldFunction = Option<
1047 unsafe extern "C" fn(*const gobject::GValue, *mut gobject::GValue, gpointer) -> gboolean,
1048>;
1049pub type GstIteratorForeachFunction =
1050 Option<unsafe extern "C" fn(*const gobject::GValue, gpointer)>;
1051pub type GstIteratorFreeFunction = Option<unsafe extern "C" fn(*mut GstIterator)>;
1052pub type GstIteratorItemFunction =
1053 Option<unsafe extern "C" fn(*mut GstIterator, *const gobject::GValue) -> GstIteratorItem>;
1054pub type GstIteratorNextFunction =
1055 Option<unsafe extern "C" fn(*mut GstIterator, *mut gobject::GValue) -> GstIteratorResult>;
1056pub type GstIteratorResyncFunction = Option<unsafe extern "C" fn(*mut GstIterator)>;
1057pub type GstLogFunction = Option<
1058 unsafe extern "C" fn(
1059 *mut GstDebugCategory,
1060 GstDebugLevel,
1061 *const c_char,
1062 *const c_char,
1063 c_int,
1064 *mut gobject::GObject,
1065 *mut GstDebugMessage,
1066 gpointer,
1067 ),
1068>;
1069pub type GstMemoryCopyFunction =
1070 Option<unsafe extern "C" fn(*mut GstMemory, ssize_t, ssize_t) -> *mut GstMemory>;
1071pub type GstMemoryIsSpanFunction =
1072 Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMemory, *mut size_t) -> gboolean>;
1073pub type GstMemoryMapFullFunction =
1074 Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMapInfo, size_t) -> gpointer>;
1075pub type GstMemoryMapFunction =
1076 Option<unsafe extern "C" fn(*mut GstMemory, size_t, GstMapFlags) -> gpointer>;
1077pub type GstMemoryShareFunction =
1078 Option<unsafe extern "C" fn(*mut GstMemory, ssize_t, ssize_t) -> *mut GstMemory>;
1079pub type GstMemoryUnmapFullFunction = Option<unsafe extern "C" fn(*mut GstMemory, *mut GstMapInfo)>;
1080pub type GstMemoryUnmapFunction = Option<unsafe extern "C" fn(*mut GstMemory)>;
1081pub type GstMetaFreeFunction = Option<unsafe extern "C" fn(*mut GstMeta, *mut GstBuffer)>;
1082pub type GstMetaInitFunction =
1083 Option<unsafe extern "C" fn(*mut GstMeta, gpointer, *mut GstBuffer) -> gboolean>;
1084pub type GstMetaTransformFunction = Option<
1085 unsafe extern "C" fn(
1086 *mut GstBuffer,
1087 *mut GstMeta,
1088 *mut GstBuffer,
1089 glib::GQuark,
1090 gpointer,
1091 ) -> gboolean,
1092>;
1093pub type GstMiniObjectCopyFunction =
1094 Option<unsafe extern "C" fn(*const GstMiniObject) -> *mut GstMiniObject>;
1095pub type GstMiniObjectDisposeFunction =
1096 Option<unsafe extern "C" fn(*mut GstMiniObject) -> gboolean>;
1097pub type GstMiniObjectFreeFunction = Option<unsafe extern "C" fn(*mut GstMiniObject)>;
1098pub type GstMiniObjectNotify = Option<unsafe extern "C" fn(gpointer, *mut GstMiniObject)>;
1099pub type GstPadActivateFunction =
1100 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject) -> gboolean>;
1101pub type GstPadActivateModeFunction =
1102 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, GstPadMode, gboolean) -> gboolean>;
1103pub type GstPadChainFunction =
1104 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstBuffer) -> GstFlowReturn>;
1105pub type GstPadChainListFunction =
1106 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstBufferList) -> GstFlowReturn>;
1107pub type GstPadEventFullFunction =
1108 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstEvent) -> GstFlowReturn>;
1109pub type GstPadEventFunction =
1110 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstEvent) -> gboolean>;
1111pub type GstPadForwardFunction = Option<unsafe extern "C" fn(*mut GstPad, gpointer) -> gboolean>;
1112pub type GstPadGetRangeFunction = Option<
1113 unsafe extern "C" fn(
1114 *mut GstPad,
1115 *mut GstObject,
1116 u64,
1117 c_uint,
1118 *mut *mut GstBuffer,
1119 ) -> GstFlowReturn,
1120>;
1121pub type GstPadIterIntLinkFunction =
1122 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject) -> *mut GstIterator>;
1123pub type GstPadLinkFunction =
1124 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstPad) -> GstPadLinkReturn>;
1125pub type GstPadProbeCallback =
1126 Option<unsafe extern "C" fn(*mut GstPad, *mut GstPadProbeInfo, gpointer) -> GstPadProbeReturn>;
1127pub type GstPadQueryFunction =
1128 Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject, *mut GstQuery) -> gboolean>;
1129pub type GstPadStickyEventsForeachFunction =
1130 Option<unsafe extern "C" fn(*mut GstPad, *mut *mut GstEvent, gpointer) -> gboolean>;
1131pub type GstPadUnlinkFunction = Option<unsafe extern "C" fn(*mut GstPad, *mut GstObject)>;
1132pub type GstPluginFeatureFilter =
1133 Option<unsafe extern "C" fn(*mut GstPluginFeature, gpointer) -> gboolean>;
1134pub type GstPluginFilter = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
1135pub type GstPluginInitFullFunc = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
1136pub type GstPluginInitFunc = Option<unsafe extern "C" fn(*mut GstPlugin) -> gboolean>;
1137pub type GstPromiseChangeFunc = Option<unsafe extern "C" fn(*mut GstPromise, gpointer)>;
1138pub type GstStructureFilterMapFunc =
1139 Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
1140pub type GstStructureForeachFunc =
1141 Option<unsafe extern "C" fn(glib::GQuark, *const gobject::GValue, gpointer) -> gboolean>;
1142pub type GstStructureMapFunc =
1143 Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
1144pub type GstTagForeachFunc =
1145 Option<unsafe extern "C" fn(*const GstTagList, *const c_char, gpointer)>;
1146pub type GstTagMergeFunc =
1147 Option<unsafe extern "C" fn(*mut gobject::GValue, *const gobject::GValue)>;
1148pub type GstTaskFunction = Option<unsafe extern "C" fn(gpointer)>;
1149pub type GstTaskPoolFunction = Option<unsafe extern "C" fn(*mut c_void)>;
1150pub type GstTaskThreadFunc =
1151 Option<unsafe extern "C" fn(*mut GstTask, *mut glib::GThread, gpointer)>;
1152pub type GstTypeFindFunction = Option<unsafe extern "C" fn(*mut GstTypeFind, gpointer)>;
1153pub type GstValueCompareFunc =
1154 Option<unsafe extern "C" fn(*const gobject::GValue, *const gobject::GValue) -> c_int>;
1155pub type GstValueDeserializeFunc =
1156 Option<unsafe extern "C" fn(*mut gobject::GValue, *const c_char) -> gboolean>;
1157pub type GstValueDeserializeWithPSpecFunc = Option<
1158 unsafe extern "C" fn(*mut gobject::GValue, *const c_char, *mut gobject::GParamSpec) -> gboolean,
1159>;
1160pub type GstValueSerializeFunc =
1161 Option<unsafe extern "C" fn(*const gobject::GValue) -> *mut c_char>;
1162
1163// Records
1164#[derive(Copy, Clone)]
1165#[repr(C)]
1166pub struct GstAllocationParams {
1167 pub flags: GstMemoryFlags,
1168 pub align: size_t,
1169 pub prefix: size_t,
1170 pub padding: size_t,
1171 pub _gst_reserved: [gpointer; 4],
1172}
1173
1174impl ::std::fmt::Debug for GstAllocationParams {
1175 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1176 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstAllocationParams @ {self:p}"))
1177 .field("flags", &self.flags)
1178 .field("align", &self.align)
1179 .field("prefix", &self.prefix)
1180 .field(name:"padding", &self.padding)
1181 .finish()
1182 }
1183}
1184
1185#[derive(Copy, Clone)]
1186#[repr(C)]
1187pub struct GstAllocatorClass {
1188 pub object_class: GstObjectClass,
1189 pub alloc: Option<
1190 unsafe extern "C" fn(*mut GstAllocator, size_t, *mut GstAllocationParams) -> *mut GstMemory,
1191 >,
1192 pub free: Option<unsafe extern "C" fn(*mut GstAllocator, *mut GstMemory)>,
1193 pub _gst_reserved: [gpointer; 4],
1194}
1195
1196impl ::std::fmt::Debug for GstAllocatorClass {
1197 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1198 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstAllocatorClass @ {self:p}"))
1199 .field("object_class", &self.object_class)
1200 .field("alloc", &self.alloc)
1201 .field(name:"free", &self.free)
1202 .finish()
1203 }
1204}
1205
1206#[repr(C)]
1207pub struct _GstAllocatorPrivate {
1208 _data: [u8; 0],
1209 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1210}
1211
1212pub type GstAllocatorPrivate = *mut _GstAllocatorPrivate;
1213
1214#[repr(C)]
1215pub struct GstAtomicQueue {
1216 _data: [u8; 0],
1217 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1218}
1219
1220impl ::std::fmt::Debug for GstAtomicQueue {
1221 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1222 fDebugStruct<'_, '_>.debug_struct(&format!("GstAtomicQueue @ {self:p}"))
1223 .finish()
1224 }
1225}
1226
1227#[derive(Copy, Clone)]
1228#[repr(C)]
1229pub struct GstBinClass {
1230 pub parent_class: GstElementClass,
1231 pub pool: *mut glib::GThreadPool,
1232 pub element_added: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement)>,
1233 pub element_removed: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement)>,
1234 pub add_element: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement) -> gboolean>,
1235 pub remove_element: Option<unsafe extern "C" fn(*mut GstBin, *mut GstElement) -> gboolean>,
1236 pub handle_message: Option<unsafe extern "C" fn(*mut GstBin, *mut GstMessage)>,
1237 pub do_latency: Option<unsafe extern "C" fn(*mut GstBin) -> gboolean>,
1238 pub deep_element_added: Option<unsafe extern "C" fn(*mut GstBin, *mut GstBin, *mut GstElement)>,
1239 pub deep_element_removed:
1240 Option<unsafe extern "C" fn(*mut GstBin, *mut GstBin, *mut GstElement)>,
1241 pub _gst_reserved: [gpointer; 2],
1242}
1243
1244impl ::std::fmt::Debug for GstBinClass {
1245 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1246 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBinClass @ {self:p}"))
1247 .field("parent_class", &self.parent_class)
1248 .field("element_added", &self.element_added)
1249 .field("element_removed", &self.element_removed)
1250 .field("add_element", &self.add_element)
1251 .field("remove_element", &self.remove_element)
1252 .field("handle_message", &self.handle_message)
1253 .field("do_latency", &self.do_latency)
1254 .field("deep_element_added", &self.deep_element_added)
1255 .field(name:"deep_element_removed", &self.deep_element_removed)
1256 .finish()
1257 }
1258}
1259
1260#[repr(C)]
1261pub struct _GstBinPrivate {
1262 _data: [u8; 0],
1263 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1264}
1265
1266pub type GstBinPrivate = *mut _GstBinPrivate;
1267
1268#[derive(Copy, Clone)]
1269#[repr(C)]
1270pub struct GstBuffer {
1271 pub mini_object: GstMiniObject,
1272 pub pool: *mut GstBufferPool,
1273 pub pts: GstClockTime,
1274 pub dts: GstClockTime,
1275 pub duration: GstClockTime,
1276 pub offset: u64,
1277 pub offset_end: u64,
1278}
1279
1280impl ::std::fmt::Debug for GstBuffer {
1281 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1282 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBuffer @ {self:p}"))
1283 .field("mini_object", &self.mini_object)
1284 .field("pool", &self.pool)
1285 .field("pts", &self.pts)
1286 .field("dts", &self.dts)
1287 .field("duration", &self.duration)
1288 .field("offset", &self.offset)
1289 .field(name:"offset_end", &self.offset_end)
1290 .finish()
1291 }
1292}
1293
1294#[repr(C)]
1295pub struct GstBufferList {
1296 _data: [u8; 0],
1297 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1298}
1299
1300impl ::std::fmt::Debug for GstBufferList {
1301 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1302 fDebugStruct<'_, '_>.debug_struct(&format!("GstBufferList @ {self:p}"))
1303 .finish()
1304 }
1305}
1306
1307#[derive(Copy, Clone)]
1308#[repr(C)]
1309pub struct GstBufferPoolAcquireParams {
1310 pub format: GstFormat,
1311 pub start: i64,
1312 pub stop: i64,
1313 pub flags: GstBufferPoolAcquireFlags,
1314 pub _gst_reserved: [gpointer; 4],
1315}
1316
1317impl ::std::fmt::Debug for GstBufferPoolAcquireParams {
1318 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1319 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBufferPoolAcquireParams @ {self:p}"))
1320 .field("format", &self.format)
1321 .field("start", &self.start)
1322 .field("stop", &self.stop)
1323 .field(name:"flags", &self.flags)
1324 .finish()
1325 }
1326}
1327
1328#[derive(Copy, Clone)]
1329#[repr(C)]
1330pub struct GstBufferPoolClass {
1331 pub object_class: GstObjectClass,
1332 pub get_options: Option<unsafe extern "C" fn(*mut GstBufferPool) -> *mut *const c_char>,
1333 pub set_config: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstStructure) -> gboolean>,
1334 pub start: Option<unsafe extern "C" fn(*mut GstBufferPool) -> gboolean>,
1335 pub stop: Option<unsafe extern "C" fn(*mut GstBufferPool) -> gboolean>,
1336 pub acquire_buffer: Option<
1337 unsafe extern "C" fn(
1338 *mut GstBufferPool,
1339 *mut *mut GstBuffer,
1340 *mut GstBufferPoolAcquireParams,
1341 ) -> GstFlowReturn,
1342 >,
1343 pub alloc_buffer: Option<
1344 unsafe extern "C" fn(
1345 *mut GstBufferPool,
1346 *mut *mut GstBuffer,
1347 *mut GstBufferPoolAcquireParams,
1348 ) -> GstFlowReturn,
1349 >,
1350 pub reset_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1351 pub release_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1352 pub free_buffer: Option<unsafe extern "C" fn(*mut GstBufferPool, *mut GstBuffer)>,
1353 pub flush_start: Option<unsafe extern "C" fn(*mut GstBufferPool)>,
1354 pub flush_stop: Option<unsafe extern "C" fn(*mut GstBufferPool)>,
1355 pub _gst_reserved: [gpointer; 2],
1356}
1357
1358impl ::std::fmt::Debug for GstBufferPoolClass {
1359 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1360 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBufferPoolClass @ {self:p}"))
1361 .field("object_class", &self.object_class)
1362 .field("get_options", &self.get_options)
1363 .field("set_config", &self.set_config)
1364 .field("start", &self.start)
1365 .field("stop", &self.stop)
1366 .field("acquire_buffer", &self.acquire_buffer)
1367 .field("alloc_buffer", &self.alloc_buffer)
1368 .field("reset_buffer", &self.reset_buffer)
1369 .field("release_buffer", &self.release_buffer)
1370 .field("free_buffer", &self.free_buffer)
1371 .field("flush_start", &self.flush_start)
1372 .field(name:"flush_stop", &self.flush_stop)
1373 .finish()
1374 }
1375}
1376
1377#[repr(C)]
1378pub struct _GstBufferPoolPrivate {
1379 _data: [u8; 0],
1380 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1381}
1382
1383pub type GstBufferPoolPrivate = *mut _GstBufferPoolPrivate;
1384
1385#[derive(Copy, Clone)]
1386#[repr(C)]
1387pub struct GstBusClass {
1388 pub parent_class: GstObjectClass,
1389 pub message: Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage)>,
1390 pub sync_message: Option<unsafe extern "C" fn(*mut GstBus, *mut GstMessage)>,
1391 pub _gst_reserved: [gpointer; 4],
1392}
1393
1394impl ::std::fmt::Debug for GstBusClass {
1395 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1396 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBusClass @ {self:p}"))
1397 .field("parent_class", &self.parent_class)
1398 .field("message", &self.message)
1399 .field(name:"sync_message", &self.sync_message)
1400 .finish()
1401 }
1402}
1403
1404#[repr(C)]
1405pub struct _GstBusPrivate {
1406 _data: [u8; 0],
1407 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1408}
1409
1410pub type GstBusPrivate = *mut _GstBusPrivate;
1411
1412#[derive(Copy, Clone)]
1413#[repr(C)]
1414pub struct GstCaps {
1415 pub mini_object: GstMiniObject,
1416}
1417
1418impl ::std::fmt::Debug for GstCaps {
1419 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1420 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstCaps @ {self:p}"))
1421 .field(name:"mini_object", &self.mini_object)
1422 .finish()
1423 }
1424}
1425
1426#[repr(C)]
1427pub struct GstCapsFeatures {
1428 _data: [u8; 0],
1429 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1430}
1431
1432impl ::std::fmt::Debug for GstCapsFeatures {
1433 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1434 fDebugStruct<'_, '_>.debug_struct(&format!("GstCapsFeatures @ {self:p}"))
1435 .finish()
1436 }
1437}
1438
1439#[derive(Copy, Clone)]
1440#[repr(C)]
1441pub struct GstChildProxyInterface {
1442 pub parent: gobject::GTypeInterface,
1443 pub get_child_by_name:
1444 Option<unsafe extern "C" fn(*mut GstChildProxy, *const c_char) -> *mut gobject::GObject>,
1445 pub get_child_by_index:
1446 Option<unsafe extern "C" fn(*mut GstChildProxy, c_uint) -> *mut gobject::GObject>,
1447 pub get_children_count: Option<unsafe extern "C" fn(*mut GstChildProxy) -> c_uint>,
1448 pub child_added:
1449 Option<unsafe extern "C" fn(*mut GstChildProxy, *mut gobject::GObject, *const c_char)>,
1450 pub child_removed:
1451 Option<unsafe extern "C" fn(*mut GstChildProxy, *mut gobject::GObject, *const c_char)>,
1452 pub _gst_reserved: [gpointer; 4],
1453}
1454
1455impl ::std::fmt::Debug for GstChildProxyInterface {
1456 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1457 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstChildProxyInterface @ {self:p}"))
1458 .field("parent", &self.parent)
1459 .field("get_child_by_name", &self.get_child_by_name)
1460 .field("get_child_by_index", &self.get_child_by_index)
1461 .field("get_children_count", &self.get_children_count)
1462 .field("child_added", &self.child_added)
1463 .field(name:"child_removed", &self.child_removed)
1464 .finish()
1465 }
1466}
1467
1468#[derive(Copy, Clone)]
1469#[repr(C)]
1470pub struct GstClockClass {
1471 pub parent_class: GstObjectClass,
1472 pub change_resolution:
1473 Option<unsafe extern "C" fn(*mut GstClock, GstClockTime, GstClockTime) -> GstClockTime>,
1474 pub get_resolution: Option<unsafe extern "C" fn(*mut GstClock) -> GstClockTime>,
1475 pub get_internal_time: Option<unsafe extern "C" fn(*mut GstClock) -> GstClockTime>,
1476 pub wait: Option<
1477 unsafe extern "C" fn(
1478 *mut GstClock,
1479 *mut GstClockEntry,
1480 *mut GstClockTimeDiff,
1481 ) -> GstClockReturn,
1482 >,
1483 pub wait_async:
1484 Option<unsafe extern "C" fn(*mut GstClock, *mut GstClockEntry) -> GstClockReturn>,
1485 pub unschedule: Option<unsafe extern "C" fn(*mut GstClock, *mut GstClockEntry)>,
1486 pub _gst_reserved: [gpointer; 4],
1487}
1488
1489impl ::std::fmt::Debug for GstClockClass {
1490 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1491 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstClockClass @ {self:p}"))
1492 .field("parent_class", &self.parent_class)
1493 .field("change_resolution", &self.change_resolution)
1494 .field("get_resolution", &self.get_resolution)
1495 .field("get_internal_time", &self.get_internal_time)
1496 .field("wait", &self.wait)
1497 .field("wait_async", &self.wait_async)
1498 .field(name:"unschedule", &self.unschedule)
1499 .finish()
1500 }
1501}
1502
1503#[derive(Copy, Clone)]
1504#[repr(C)]
1505pub struct GstClockEntry {
1506 pub refcount: c_int,
1507 pub clock: *mut GstClock,
1508 pub type_: GstClockEntryType,
1509 pub time: GstClockTime,
1510 pub interval: GstClockTime,
1511 pub status: GstClockReturn,
1512 pub func: GstClockCallback,
1513 pub user_data: gpointer,
1514 pub destroy_data: glib::GDestroyNotify,
1515 pub unscheduled: gboolean,
1516 pub woken_up: gboolean,
1517 pub _gst_reserved: [gpointer; 4],
1518}
1519
1520impl ::std::fmt::Debug for GstClockEntry {
1521 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1522 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstClockEntry @ {self:p}"))
1523 .field(name:"refcount", &self.refcount)
1524 .finish()
1525 }
1526}
1527
1528#[repr(C)]
1529pub struct _GstClockPrivate {
1530 _data: [u8; 0],
1531 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1532}
1533
1534pub type GstClockPrivate = *mut _GstClockPrivate;
1535
1536#[repr(C)]
1537pub struct GstContext {
1538 _data: [u8; 0],
1539 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1540}
1541
1542impl ::std::fmt::Debug for GstContext {
1543 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1544 f.debug_struct(&format!("GstContext @ {self:p}")).finish()
1545 }
1546}
1547
1548#[derive(Copy, Clone)]
1549#[repr(C)]
1550pub struct GstControlBindingClass {
1551 pub parent_class: GstObjectClass,
1552 pub sync_values: Option<
1553 unsafe extern "C" fn(
1554 *mut GstControlBinding,
1555 *mut GstObject,
1556 GstClockTime,
1557 GstClockTime,
1558 ) -> gboolean,
1559 >,
1560 pub get_value:
1561 Option<unsafe extern "C" fn(*mut GstControlBinding, GstClockTime) -> *mut gobject::GValue>,
1562 pub get_value_array: Option<
1563 unsafe extern "C" fn(
1564 *mut GstControlBinding,
1565 GstClockTime,
1566 GstClockTime,
1567 c_uint,
1568 gpointer,
1569 ) -> gboolean,
1570 >,
1571 pub get_g_value_array: Option<
1572 unsafe extern "C" fn(
1573 *mut GstControlBinding,
1574 GstClockTime,
1575 GstClockTime,
1576 c_uint,
1577 *mut gobject::GValue,
1578 ) -> gboolean,
1579 >,
1580 pub _gst_reserved: [gpointer; 4],
1581}
1582
1583impl ::std::fmt::Debug for GstControlBindingClass {
1584 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1585 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstControlBindingClass @ {self:p}"))
1586 .field("parent_class", &self.parent_class)
1587 .field("sync_values", &self.sync_values)
1588 .field("get_value", &self.get_value)
1589 .field("get_value_array", &self.get_value_array)
1590 .field(name:"get_g_value_array", &self.get_g_value_array)
1591 .finish()
1592 }
1593}
1594
1595#[repr(C)]
1596pub struct _GstControlBindingPrivate {
1597 _data: [u8; 0],
1598 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1599}
1600
1601pub type GstControlBindingPrivate = *mut _GstControlBindingPrivate;
1602
1603#[derive(Copy, Clone)]
1604#[repr(C)]
1605pub struct GstControlBinding_ABI_abi {
1606 pub priv_: *mut GstControlBindingPrivate,
1607}
1608
1609impl ::std::fmt::Debug for GstControlBinding_ABI_abi {
1610 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1611 fDebugStruct<'_, '_>.debug_struct(&format!("GstControlBinding_ABI_abi @ {self:p}"))
1612 .finish()
1613 }
1614}
1615
1616#[derive(Copy, Clone)]
1617#[repr(C)]
1618pub struct GstControlSourceClass {
1619 pub parent_class: GstObjectClass,
1620 pub _gst_reserved: [gpointer; 4],
1621}
1622
1623impl ::std::fmt::Debug for GstControlSourceClass {
1624 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1625 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstControlSourceClass @ {self:p}"))
1626 .field(name:"parent_class", &self.parent_class)
1627 .finish()
1628 }
1629}
1630
1631#[derive(Copy, Clone)]
1632#[repr(C)]
1633pub struct GstCustomMeta {
1634 pub meta: GstMeta,
1635 pub structure: *mut GstStructure,
1636}
1637
1638impl ::std::fmt::Debug for GstCustomMeta {
1639 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1640 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstCustomMeta @ {self:p}"))
1641 .field("meta", &self.meta)
1642 .field(name:"structure", &self.structure)
1643 .finish()
1644 }
1645}
1646
1647#[repr(C)]
1648pub struct GstDateTime {
1649 _data: [u8; 0],
1650 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1651}
1652
1653impl ::std::fmt::Debug for GstDateTime {
1654 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1655 f.debug_struct(&format!("GstDateTime @ {self:p}")).finish()
1656 }
1657}
1658
1659#[derive(Copy, Clone)]
1660#[repr(C)]
1661pub struct GstDebugCategory {
1662 pub threshold: c_int,
1663 pub color: c_uint,
1664 pub name: *const c_char,
1665 pub description: *const c_char,
1666}
1667
1668impl ::std::fmt::Debug for GstDebugCategory {
1669 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1670 fDebugStruct<'_, '_>.debug_struct(&format!("GstDebugCategory @ {self:p}"))
1671 .finish()
1672 }
1673}
1674
1675#[repr(C)]
1676pub struct _GstDebugMessage {
1677 _data: [u8; 0],
1678 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1679}
1680
1681pub type GstDebugMessage = *mut _GstDebugMessage;
1682
1683#[derive(Copy, Clone)]
1684#[repr(C)]
1685pub struct GstDeviceClass {
1686 pub parent_class: GstObjectClass,
1687 pub create_element:
1688 Option<unsafe extern "C" fn(*mut GstDevice, *const c_char) -> *mut GstElement>,
1689 pub reconfigure_element:
1690 Option<unsafe extern "C" fn(*mut GstDevice, *mut GstElement) -> gboolean>,
1691 pub _gst_reserved: [gpointer; 4],
1692}
1693
1694impl ::std::fmt::Debug for GstDeviceClass {
1695 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1696 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDeviceClass @ {self:p}"))
1697 .field("parent_class", &self.parent_class)
1698 .field("create_element", &self.create_element)
1699 .field(name:"reconfigure_element", &self.reconfigure_element)
1700 .finish()
1701 }
1702}
1703
1704#[derive(Copy, Clone)]
1705#[repr(C)]
1706pub struct GstDeviceMonitorClass {
1707 pub parent_class: GstObjectClass,
1708 pub _gst_reserved: [gpointer; 4],
1709}
1710
1711impl ::std::fmt::Debug for GstDeviceMonitorClass {
1712 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1713 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDeviceMonitorClass @ {self:p}"))
1714 .field(name:"parent_class", &self.parent_class)
1715 .finish()
1716 }
1717}
1718
1719#[repr(C)]
1720pub struct _GstDeviceMonitorPrivate {
1721 _data: [u8; 0],
1722 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1723}
1724
1725pub type GstDeviceMonitorPrivate = *mut _GstDeviceMonitorPrivate;
1726
1727#[repr(C)]
1728pub struct _GstDevicePrivate {
1729 _data: [u8; 0],
1730 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1731}
1732
1733pub type GstDevicePrivate = *mut _GstDevicePrivate;
1734
1735#[derive(Copy, Clone)]
1736#[repr(C)]
1737pub struct GstDeviceProviderClass {
1738 pub parent_class: GstObjectClass,
1739 pub factory: *mut GstDeviceProviderFactory,
1740 pub probe: Option<unsafe extern "C" fn(*mut GstDeviceProvider) -> *mut glib::GList>,
1741 pub start: Option<unsafe extern "C" fn(*mut GstDeviceProvider) -> gboolean>,
1742 pub stop: Option<unsafe extern "C" fn(*mut GstDeviceProvider)>,
1743 pub metadata: gpointer,
1744 pub _gst_reserved: [gpointer; 4],
1745}
1746
1747impl ::std::fmt::Debug for GstDeviceProviderClass {
1748 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1749 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDeviceProviderClass @ {self:p}"))
1750 .field("parent_class", &self.parent_class)
1751 .field("factory", &self.factory)
1752 .field("probe", &self.probe)
1753 .field("start", &self.start)
1754 .field(name:"stop", &self.stop)
1755 .finish()
1756 }
1757}
1758
1759#[repr(C)]
1760pub struct _GstDeviceProviderFactoryClass {
1761 _data: [u8; 0],
1762 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1763}
1764
1765pub type GstDeviceProviderFactoryClass = *mut _GstDeviceProviderFactoryClass;
1766
1767#[repr(C)]
1768pub struct _GstDeviceProviderPrivate {
1769 _data: [u8; 0],
1770 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1771}
1772
1773pub type GstDeviceProviderPrivate = *mut _GstDeviceProviderPrivate;
1774
1775#[repr(C)]
1776pub struct _GstDynamicTypeFactoryClass {
1777 _data: [u8; 0],
1778 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1779}
1780
1781pub type GstDynamicTypeFactoryClass = *mut _GstDynamicTypeFactoryClass;
1782
1783#[derive(Copy, Clone)]
1784#[repr(C)]
1785pub struct GstElementClass {
1786 pub parent_class: GstObjectClass,
1787 pub metadata: gpointer,
1788 pub elementfactory: *mut GstElementFactory,
1789 pub padtemplates: *mut glib::GList,
1790 pub numpadtemplates: c_int,
1791 pub pad_templ_cookie: u32,
1792 pub pad_added: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1793 pub pad_removed: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1794 pub no_more_pads: Option<unsafe extern "C" fn(*mut GstElement)>,
1795 pub request_new_pad: Option<
1796 unsafe extern "C" fn(
1797 *mut GstElement,
1798 *mut GstPadTemplate,
1799 *const c_char,
1800 *const GstCaps,
1801 ) -> *mut GstPad,
1802 >,
1803 pub release_pad: Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad)>,
1804 pub get_state: Option<
1805 unsafe extern "C" fn(
1806 *mut GstElement,
1807 *mut GstState,
1808 *mut GstState,
1809 GstClockTime,
1810 ) -> GstStateChangeReturn,
1811 >,
1812 pub set_state: Option<unsafe extern "C" fn(*mut GstElement, GstState) -> GstStateChangeReturn>,
1813 pub change_state:
1814 Option<unsafe extern "C" fn(*mut GstElement, GstStateChange) -> GstStateChangeReturn>,
1815 pub state_changed: Option<unsafe extern "C" fn(*mut GstElement, GstState, GstState, GstState)>,
1816 pub set_bus: Option<unsafe extern "C" fn(*mut GstElement, *mut GstBus)>,
1817 pub provide_clock: Option<unsafe extern "C" fn(*mut GstElement) -> *mut GstClock>,
1818 pub set_clock: Option<unsafe extern "C" fn(*mut GstElement, *mut GstClock) -> gboolean>,
1819 pub send_event: Option<unsafe extern "C" fn(*mut GstElement, *mut GstEvent) -> gboolean>,
1820 pub query: Option<unsafe extern "C" fn(*mut GstElement, *mut GstQuery) -> gboolean>,
1821 pub post_message: Option<unsafe extern "C" fn(*mut GstElement, *mut GstMessage) -> gboolean>,
1822 pub set_context: Option<unsafe extern "C" fn(*mut GstElement, *mut GstContext)>,
1823 pub _gst_reserved: [gpointer; 18],
1824}
1825
1826impl ::std::fmt::Debug for GstElementClass {
1827 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1828 f.debug_struct(&format!("GstElementClass @ {self:p}"))
1829 .field("parent_class", &self.parent_class)
1830 .field("metadata", &self.metadata)
1831 .field("elementfactory", &self.elementfactory)
1832 .field("padtemplates", &self.padtemplates)
1833 .field("numpadtemplates", &self.numpadtemplates)
1834 .field("pad_templ_cookie", &self.pad_templ_cookie)
1835 .field("pad_added", &self.pad_added)
1836 .field("pad_removed", &self.pad_removed)
1837 .field("no_more_pads", &self.no_more_pads)
1838 .field("request_new_pad", &self.request_new_pad)
1839 .field("release_pad", &self.release_pad)
1840 .field("get_state", &self.get_state)
1841 .field("set_state", &self.set_state)
1842 .field("change_state", &self.change_state)
1843 .field("state_changed", &self.state_changed)
1844 .field("set_bus", &self.set_bus)
1845 .field("provide_clock", &self.provide_clock)
1846 .field("set_clock", &self.set_clock)
1847 .field("send_event", &self.send_event)
1848 .field("query", &self.query)
1849 .field("post_message", &self.post_message)
1850 .field("set_context", &self.set_context)
1851 .finish()
1852 }
1853}
1854
1855#[repr(C)]
1856pub struct _GstElementFactoryClass {
1857 _data: [u8; 0],
1858 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1859}
1860
1861pub type GstElementFactoryClass = *mut _GstElementFactoryClass;
1862
1863#[derive(Copy, Clone)]
1864#[repr(C)]
1865pub struct GstEvent {
1866 pub mini_object: GstMiniObject,
1867 pub type_: GstEventType,
1868 pub timestamp: u64,
1869 pub seqnum: u32,
1870}
1871
1872impl ::std::fmt::Debug for GstEvent {
1873 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1874 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstEvent @ {self:p}"))
1875 .field("mini_object", &self.mini_object)
1876 .field("type_", &self.type_)
1877 .field("timestamp", &self.timestamp)
1878 .field(name:"seqnum", &self.seqnum)
1879 .finish()
1880 }
1881}
1882
1883#[derive(Copy, Clone)]
1884#[repr(C)]
1885pub struct GstFormatDefinition {
1886 pub value: GstFormat,
1887 pub nick: *const c_char,
1888 pub description: *const c_char,
1889 pub quark: glib::GQuark,
1890}
1891
1892impl ::std::fmt::Debug for GstFormatDefinition {
1893 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1894 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstFormatDefinition @ {self:p}"))
1895 .field("value", &self.value)
1896 .field("nick", &self.nick)
1897 .field("description", &self.description)
1898 .field(name:"quark", &self.quark)
1899 .finish()
1900 }
1901}
1902
1903#[derive(Copy, Clone)]
1904#[repr(C)]
1905pub struct GstGhostPadClass {
1906 pub parent_class: GstProxyPadClass,
1907 pub _gst_reserved: [gpointer; 4],
1908}
1909
1910impl ::std::fmt::Debug for GstGhostPadClass {
1911 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1912 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstGhostPadClass @ {self:p}"))
1913 .field(name:"parent_class", &self.parent_class)
1914 .finish()
1915 }
1916}
1917
1918#[repr(C)]
1919pub struct _GstGhostPadPrivate {
1920 _data: [u8; 0],
1921 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1922}
1923
1924pub type GstGhostPadPrivate = *mut _GstGhostPadPrivate;
1925
1926#[derive(Copy, Clone)]
1927#[repr(C)]
1928pub struct GstIterator {
1929 pub copy: GstIteratorCopyFunction,
1930 pub next: GstIteratorNextFunction,
1931 pub item: GstIteratorItemFunction,
1932 pub resync: GstIteratorResyncFunction,
1933 pub free: GstIteratorFreeFunction,
1934 pub pushed: *mut GstIterator,
1935 pub type_: GType,
1936 pub lock: *mut glib::GMutex,
1937 pub cookie: u32,
1938 pub master_cookie: *mut u32,
1939 pub size: c_uint,
1940 pub _gst_reserved: [gpointer; 4],
1941}
1942
1943impl ::std::fmt::Debug for GstIterator {
1944 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1945 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstIterator @ {self:p}"))
1946 .field("copy", &self.copy)
1947 .field("next", &self.next)
1948 .field("item", &self.item)
1949 .field("resync", &self.resync)
1950 .field("free", &self.free)
1951 .field("pushed", &self.pushed)
1952 .field("type_", &self.type_)
1953 .field("lock", &self.lock)
1954 .field("cookie", &self.cookie)
1955 .field("master_cookie", &self.master_cookie)
1956 .field(name:"size", &self.size)
1957 .finish()
1958 }
1959}
1960
1961#[derive(Copy, Clone)]
1962#[repr(C)]
1963pub struct GstMapInfo {
1964 pub memory: *mut GstMemory,
1965 pub flags: GstMapFlags,
1966 pub data: *mut u8,
1967 pub size: size_t,
1968 pub maxsize: size_t,
1969 pub user_data: [gpointer; 4],
1970 pub _gst_reserved: [gpointer; 4],
1971}
1972
1973impl ::std::fmt::Debug for GstMapInfo {
1974 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1975 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMapInfo @ {self:p}"))
1976 .field("memory", &self.memory)
1977 .field("flags", &self.flags)
1978 .field("data", &self.data)
1979 .field("size", &self.size)
1980 .field("maxsize", &self.maxsize)
1981 .field(name:"user_data", &self.user_data)
1982 .finish()
1983 }
1984}
1985
1986#[derive(Copy, Clone)]
1987#[repr(C)]
1988pub struct GstMemory {
1989 pub mini_object: GstMiniObject,
1990 pub allocator: *mut GstAllocator,
1991 pub parent: *mut GstMemory,
1992 pub maxsize: size_t,
1993 pub align: size_t,
1994 pub offset: size_t,
1995 pub size: size_t,
1996}
1997
1998impl ::std::fmt::Debug for GstMemory {
1999 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2000 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMemory @ {self:p}"))
2001 .field("mini_object", &self.mini_object)
2002 .field("allocator", &self.allocator)
2003 .field("parent", &self.parent)
2004 .field("maxsize", &self.maxsize)
2005 .field("align", &self.align)
2006 .field("offset", &self.offset)
2007 .field(name:"size", &self.size)
2008 .finish()
2009 }
2010}
2011
2012#[derive(Copy, Clone)]
2013#[repr(C)]
2014pub struct GstMessage {
2015 pub mini_object: GstMiniObject,
2016 pub type_: GstMessageType,
2017 pub timestamp: u64,
2018 pub src: *mut GstObject,
2019 pub seqnum: u32,
2020 pub lock: glib::GMutex,
2021 pub cond: glib::GCond,
2022}
2023
2024impl ::std::fmt::Debug for GstMessage {
2025 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2026 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMessage @ {self:p}"))
2027 .field("mini_object", &self.mini_object)
2028 .field("type_", &self.type_)
2029 .field("timestamp", &self.timestamp)
2030 .field("src", &self.src)
2031 .field(name:"seqnum", &self.seqnum)
2032 .finish()
2033 }
2034}
2035
2036#[derive(Copy, Clone)]
2037#[repr(C)]
2038pub struct GstMeta {
2039 pub flags: GstMetaFlags,
2040 pub info: *const GstMetaInfo,
2041}
2042
2043impl ::std::fmt::Debug for GstMeta {
2044 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2045 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMeta @ {self:p}"))
2046 .field("flags", &self.flags)
2047 .field(name:"info", &self.info)
2048 .finish()
2049 }
2050}
2051
2052#[derive(Copy, Clone)]
2053#[repr(C)]
2054pub struct GstMetaInfo {
2055 pub api: GType,
2056 pub type_: GType,
2057 pub size: size_t,
2058 pub init_func: GstMetaInitFunction,
2059 pub free_func: GstMetaFreeFunction,
2060 pub transform_func: GstMetaTransformFunction,
2061}
2062
2063impl ::std::fmt::Debug for GstMetaInfo {
2064 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2065 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMetaInfo @ {self:p}"))
2066 .field("api", &self.api)
2067 .field("type_", &self.type_)
2068 .field("size", &self.size)
2069 .field("init_func", &self.init_func)
2070 .field("free_func", &self.free_func)
2071 .field(name:"transform_func", &self.transform_func)
2072 .finish()
2073 }
2074}
2075
2076#[derive(Copy, Clone)]
2077#[repr(C)]
2078pub struct GstMetaTransformCopy {
2079 pub region: gboolean,
2080 pub offset: size_t,
2081 pub size: size_t,
2082}
2083
2084impl ::std::fmt::Debug for GstMetaTransformCopy {
2085 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2086 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMetaTransformCopy @ {self:p}"))
2087 .field("region", &self.region)
2088 .field("offset", &self.offset)
2089 .field(name:"size", &self.size)
2090 .finish()
2091 }
2092}
2093
2094#[derive(Copy, Clone)]
2095#[repr(C)]
2096pub struct GstMiniObject {
2097 pub type_: GType,
2098 pub refcount: c_int,
2099 pub lockstate: c_int,
2100 pub flags: c_uint,
2101 pub copy: GstMiniObjectCopyFunction,
2102 pub dispose: GstMiniObjectDisposeFunction,
2103 pub free: GstMiniObjectFreeFunction,
2104 pub priv_uint: c_uint,
2105 pub priv_pointer: gpointer,
2106}
2107
2108impl ::std::fmt::Debug for GstMiniObject {
2109 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2110 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstMiniObject @ {self:p}"))
2111 .field("type_", &self.type_)
2112 .field("refcount", &self.refcount)
2113 .field("lockstate", &self.lockstate)
2114 .field("flags", &self.flags)
2115 .field("copy", &self.copy)
2116 .field("dispose", &self.dispose)
2117 .field(name:"free", &self.free)
2118 .finish()
2119 }
2120}
2121
2122#[derive(Copy, Clone)]
2123#[repr(C)]
2124pub struct GstObjectClass {
2125 pub parent_class: gobject::GInitiallyUnownedClass,
2126 pub path_string_separator: *const c_char,
2127 pub deep_notify:
2128 Option<unsafe extern "C" fn(*mut GstObject, *mut GstObject, *mut gobject::GParamSpec)>,
2129 pub _gst_reserved: [gpointer; 4],
2130}
2131
2132impl ::std::fmt::Debug for GstObjectClass {
2133 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2134 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstObjectClass @ {self:p}"))
2135 .field("parent_class", &self.parent_class)
2136 .field("path_string_separator", &self.path_string_separator)
2137 .field(name:"deep_notify", &self.deep_notify)
2138 .finish()
2139 }
2140}
2141
2142#[derive(Copy, Clone)]
2143#[repr(C)]
2144pub struct GstPadClass {
2145 pub parent_class: GstObjectClass,
2146 pub linked: Option<unsafe extern "C" fn(*mut GstPad, *mut GstPad)>,
2147 pub unlinked: Option<unsafe extern "C" fn(*mut GstPad, *mut GstPad)>,
2148 pub _gst_reserved: [gpointer; 4],
2149}
2150
2151impl ::std::fmt::Debug for GstPadClass {
2152 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2153 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadClass @ {self:p}"))
2154 .field("parent_class", &self.parent_class)
2155 .field("linked", &self.linked)
2156 .field(name:"unlinked", &self.unlinked)
2157 .finish()
2158 }
2159}
2160
2161#[repr(C)]
2162pub struct _GstPadPrivate {
2163 _data: [u8; 0],
2164 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2165}
2166
2167pub type GstPadPrivate = *mut _GstPadPrivate;
2168
2169#[derive(Copy, Clone)]
2170#[repr(C)]
2171pub struct GstPadProbeInfo {
2172 pub type_: GstPadProbeType,
2173 pub id: c_ulong,
2174 pub data: gpointer,
2175 pub offset: u64,
2176 pub size: c_uint,
2177 pub ABI: GstPadProbeInfo_ABI,
2178}
2179
2180impl ::std::fmt::Debug for GstPadProbeInfo {
2181 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2182 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadProbeInfo @ {self:p}"))
2183 .field("type_", &self.type_)
2184 .field("id", &self.id)
2185 .field("data", &self.data)
2186 .field("offset", &self.offset)
2187 .field("size", &self.size)
2188 .field(name:"ABI", &self.ABI)
2189 .finish()
2190 }
2191}
2192
2193#[derive(Copy, Clone)]
2194#[repr(C)]
2195pub struct GstPadProbeInfo_ABI_abi {
2196 pub flow_ret: GstFlowReturn,
2197}
2198
2199impl ::std::fmt::Debug for GstPadProbeInfo_ABI_abi {
2200 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2201 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadProbeInfo_ABI_abi @ {self:p}"))
2202 .field(name:"flow_ret", &self.flow_ret)
2203 .finish()
2204 }
2205}
2206
2207#[derive(Copy, Clone)]
2208#[repr(C)]
2209pub struct GstPadTemplateClass {
2210 pub parent_class: GstObjectClass,
2211 pub pad_created: Option<unsafe extern "C" fn(*mut GstPadTemplate, *mut GstPad)>,
2212 pub _gst_reserved: [gpointer; 4],
2213}
2214
2215impl ::std::fmt::Debug for GstPadTemplateClass {
2216 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2217 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadTemplateClass @ {self:p}"))
2218 .field("parent_class", &self.parent_class)
2219 .field(name:"pad_created", &self.pad_created)
2220 .finish()
2221 }
2222}
2223
2224#[derive(Copy, Clone)]
2225#[repr(C)]
2226pub struct GstPadTemplate_ABI_abi {
2227 pub gtype: GType,
2228 pub documentation_caps: *mut GstCaps,
2229}
2230
2231impl ::std::fmt::Debug for GstPadTemplate_ABI_abi {
2232 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2233 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadTemplate_ABI_abi @ {self:p}"))
2234 .field("gtype", &self.gtype)
2235 .field(name:"documentation_caps", &self.documentation_caps)
2236 .finish()
2237 }
2238}
2239
2240#[derive(Copy, Clone)]
2241#[repr(C)]
2242pub struct GstPad_ABI_abi {
2243 pub last_flowret: GstFlowReturn,
2244 pub eventfullfunc: GstPadEventFullFunction,
2245}
2246
2247impl ::std::fmt::Debug for GstPad_ABI_abi {
2248 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2249 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPad_ABI_abi @ {self:p}"))
2250 .field("last_flowret", &self.last_flowret)
2251 .field(name:"eventfullfunc", &self.eventfullfunc)
2252 .finish()
2253 }
2254}
2255
2256#[derive(Copy, Clone)]
2257#[repr(C)]
2258pub struct GstParamSpecArray {
2259 pub parent_instance: gobject::GParamSpec,
2260 pub element_spec: *mut gobject::GParamSpec,
2261}
2262
2263impl ::std::fmt::Debug for GstParamSpecArray {
2264 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2265 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstParamSpecArray @ {self:p}"))
2266 .field("parent_instance", &self.parent_instance)
2267 .field(name:"element_spec", &self.element_spec)
2268 .finish()
2269 }
2270}
2271
2272#[derive(Copy, Clone)]
2273#[repr(C)]
2274pub struct GstParamSpecFraction {
2275 pub parent_instance: gobject::GParamSpec,
2276 pub min_num: c_int,
2277 pub min_den: c_int,
2278 pub max_num: c_int,
2279 pub max_den: c_int,
2280 pub def_num: c_int,
2281 pub def_den: c_int,
2282}
2283
2284impl ::std::fmt::Debug for GstParamSpecFraction {
2285 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2286 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstParamSpecFraction @ {self:p}"))
2287 .field("parent_instance", &self.parent_instance)
2288 .field("min_num", &self.min_num)
2289 .field("min_den", &self.min_den)
2290 .field("max_num", &self.max_num)
2291 .field("max_den", &self.max_den)
2292 .field("def_num", &self.def_num)
2293 .field(name:"def_den", &self.def_den)
2294 .finish()
2295 }
2296}
2297
2298#[derive(Copy, Clone)]
2299#[repr(C)]
2300pub struct GstParentBufferMeta {
2301 pub parent: GstMeta,
2302 pub buffer: *mut GstBuffer,
2303}
2304
2305impl ::std::fmt::Debug for GstParentBufferMeta {
2306 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2307 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstParentBufferMeta @ {self:p}"))
2308 .field("parent", &self.parent)
2309 .field(name:"buffer", &self.buffer)
2310 .finish()
2311 }
2312}
2313
2314#[repr(C)]
2315pub struct GstParseContext {
2316 _data: [u8; 0],
2317 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2318}
2319
2320impl ::std::fmt::Debug for GstParseContext {
2321 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2322 fDebugStruct<'_, '_>.debug_struct(&format!("GstParseContext @ {self:p}"))
2323 .finish()
2324 }
2325}
2326
2327#[derive(Copy, Clone)]
2328#[repr(C)]
2329pub struct GstPipelineClass {
2330 pub parent_class: GstBinClass,
2331 pub _gst_reserved: [gpointer; 4],
2332}
2333
2334impl ::std::fmt::Debug for GstPipelineClass {
2335 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2336 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPipelineClass @ {self:p}"))
2337 .field(name:"parent_class", &self.parent_class)
2338 .finish()
2339 }
2340}
2341
2342#[repr(C)]
2343pub struct _GstPipelinePrivate {
2344 _data: [u8; 0],
2345 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2346}
2347
2348pub type GstPipelinePrivate = *mut _GstPipelinePrivate;
2349
2350#[repr(C)]
2351pub struct _GstPluginClass {
2352 _data: [u8; 0],
2353 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2354}
2355
2356pub type GstPluginClass = *mut _GstPluginClass;
2357
2358#[derive(Copy, Clone)]
2359#[repr(C)]
2360pub struct GstPluginDesc {
2361 pub major_version: c_int,
2362 pub minor_version: c_int,
2363 pub name: *const c_char,
2364 pub description: *const c_char,
2365 pub plugin_init: GstPluginInitFunc,
2366 pub version: *const c_char,
2367 pub license: *const c_char,
2368 pub source: *const c_char,
2369 pub package: *const c_char,
2370 pub origin: *const c_char,
2371 pub release_datetime: *const c_char,
2372 pub _gst_reserved: [gpointer; 4],
2373}
2374
2375impl ::std::fmt::Debug for GstPluginDesc {
2376 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2377 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPluginDesc @ {self:p}"))
2378 .field("major_version", &self.major_version)
2379 .field("minor_version", &self.minor_version)
2380 .field("name", &self.name)
2381 .field("description", &self.description)
2382 .field("plugin_init", &self.plugin_init)
2383 .field("version", &self.version)
2384 .field("license", &self.license)
2385 .field("source", &self.source)
2386 .field("package", &self.package)
2387 .field("origin", &self.origin)
2388 .field(name:"release_datetime", &self.release_datetime)
2389 .finish()
2390 }
2391}
2392
2393#[repr(C)]
2394pub struct _GstPluginFeatureClass {
2395 _data: [u8; 0],
2396 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2397}
2398
2399pub type GstPluginFeatureClass = *mut _GstPluginFeatureClass;
2400
2401#[repr(C)]
2402pub struct _GstPoll {
2403 _data: [u8; 0],
2404 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2405}
2406
2407pub type GstPoll = *mut _GstPoll;
2408
2409#[derive(Copy, Clone)]
2410#[repr(C)]
2411pub struct GstPollFD {
2412 pub fd: c_int,
2413 pub idx: c_int,
2414}
2415
2416impl ::std::fmt::Debug for GstPollFD {
2417 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2418 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPollFD @ {self:p}"))
2419 .field(name:"fd", &self.fd)
2420 .finish()
2421 }
2422}
2423
2424#[derive(Copy, Clone)]
2425#[repr(C)]
2426pub struct GstPresetInterface {
2427 pub parent: gobject::GTypeInterface,
2428 pub get_preset_names: Option<unsafe extern "C" fn(*mut GstPreset) -> *mut *mut c_char>,
2429 pub get_property_names: Option<unsafe extern "C" fn(*mut GstPreset) -> *mut *mut c_char>,
2430 pub load_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2431 pub save_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2432 pub rename_preset:
2433 Option<unsafe extern "C" fn(*mut GstPreset, *const c_char, *const c_char) -> gboolean>,
2434 pub delete_preset: Option<unsafe extern "C" fn(*mut GstPreset, *const c_char) -> gboolean>,
2435 pub set_meta: Option<
2436 unsafe extern "C" fn(
2437 *mut GstPreset,
2438 *const c_char,
2439 *const c_char,
2440 *mut *mut c_char,
2441 ) -> gboolean,
2442 >,
2443 pub get_meta: Option<
2444 unsafe extern "C" fn(
2445 *mut GstPreset,
2446 *const c_char,
2447 *const c_char,
2448 *mut *mut c_char,
2449 ) -> gboolean,
2450 >,
2451 pub _gst_reserved: [gpointer; 4],
2452}
2453
2454impl ::std::fmt::Debug for GstPresetInterface {
2455 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2456 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPresetInterface @ {self:p}"))
2457 .field("parent", &self.parent)
2458 .field("get_preset_names", &self.get_preset_names)
2459 .field("get_property_names", &self.get_property_names)
2460 .field("load_preset", &self.load_preset)
2461 .field("save_preset", &self.save_preset)
2462 .field("rename_preset", &self.rename_preset)
2463 .field("delete_preset", &self.delete_preset)
2464 .field("set_meta", &self.set_meta)
2465 .field(name:"get_meta", &self.get_meta)
2466 .finish()
2467 }
2468}
2469
2470#[derive(Copy, Clone)]
2471#[repr(C)]
2472pub struct GstPromise {
2473 pub parent: GstMiniObject,
2474}
2475
2476impl ::std::fmt::Debug for GstPromise {
2477 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2478 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPromise @ {self:p}"))
2479 .field(name:"parent", &self.parent)
2480 .finish()
2481 }
2482}
2483
2484#[derive(Copy, Clone)]
2485#[repr(C)]
2486pub struct GstProtectionMeta {
2487 pub meta: GstMeta,
2488 pub info: *mut GstStructure,
2489}
2490
2491impl ::std::fmt::Debug for GstProtectionMeta {
2492 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2493 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstProtectionMeta @ {self:p}"))
2494 .field("meta", &self.meta)
2495 .field(name:"info", &self.info)
2496 .finish()
2497 }
2498}
2499
2500#[derive(Copy, Clone)]
2501#[repr(C)]
2502pub struct GstProxyPadClass {
2503 pub parent_class: GstPadClass,
2504 pub _gst_reserved: [gpointer; 1],
2505}
2506
2507impl ::std::fmt::Debug for GstProxyPadClass {
2508 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2509 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstProxyPadClass @ {self:p}"))
2510 .field(name:"parent_class", &self.parent_class)
2511 .finish()
2512 }
2513}
2514
2515#[repr(C)]
2516pub struct _GstProxyPadPrivate {
2517 _data: [u8; 0],
2518 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2519}
2520
2521pub type GstProxyPadPrivate = *mut _GstProxyPadPrivate;
2522
2523#[derive(Copy, Clone)]
2524#[repr(C)]
2525pub struct GstQuery {
2526 pub mini_object: GstMiniObject,
2527 pub type_: GstQueryType,
2528}
2529
2530impl ::std::fmt::Debug for GstQuery {
2531 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2532 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstQuery @ {self:p}"))
2533 .field("mini_object", &self.mini_object)
2534 .field(name:"type_", &self.type_)
2535 .finish()
2536 }
2537}
2538
2539#[derive(Copy, Clone)]
2540#[repr(C)]
2541pub struct GstReferenceTimestampMeta {
2542 pub parent: GstMeta,
2543 pub reference: *mut GstCaps,
2544 pub timestamp: GstClockTime,
2545 pub duration: GstClockTime,
2546}
2547
2548impl ::std::fmt::Debug for GstReferenceTimestampMeta {
2549 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2550 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstReferenceTimestampMeta @ {self:p}"))
2551 .field("parent", &self.parent)
2552 .field("reference", &self.reference)
2553 .field("timestamp", &self.timestamp)
2554 .field(name:"duration", &self.duration)
2555 .finish()
2556 }
2557}
2558
2559#[derive(Copy, Clone)]
2560#[repr(C)]
2561pub struct GstRegistryClass {
2562 pub parent_class: GstObjectClass,
2563}
2564
2565impl ::std::fmt::Debug for GstRegistryClass {
2566 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2567 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstRegistryClass @ {self:p}"))
2568 .field(name:"parent_class", &self.parent_class)
2569 .finish()
2570 }
2571}
2572
2573#[repr(C)]
2574pub struct _GstRegistryPrivate {
2575 _data: [u8; 0],
2576 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2577}
2578
2579pub type GstRegistryPrivate = *mut _GstRegistryPrivate;
2580
2581#[repr(C)]
2582pub struct GstSample {
2583 _data: [u8; 0],
2584 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2585}
2586
2587impl ::std::fmt::Debug for GstSample {
2588 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2589 f.debug_struct(&format!("GstSample @ {self:p}")).finish()
2590 }
2591}
2592
2593#[derive(Copy, Clone)]
2594#[repr(C)]
2595pub struct GstSegment {
2596 pub flags: GstSegmentFlags,
2597 pub rate: c_double,
2598 pub applied_rate: c_double,
2599 pub format: GstFormat,
2600 pub base: u64,
2601 pub offset: u64,
2602 pub start: u64,
2603 pub stop: u64,
2604 pub time: u64,
2605 pub position: u64,
2606 pub duration: u64,
2607 pub _gst_reserved: [gpointer; 4],
2608}
2609
2610impl ::std::fmt::Debug for GstSegment {
2611 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2612 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstSegment @ {self:p}"))
2613 .field("flags", &self.flags)
2614 .field("rate", &self.rate)
2615 .field("applied_rate", &self.applied_rate)
2616 .field("format", &self.format)
2617 .field("base", &self.base)
2618 .field("offset", &self.offset)
2619 .field("start", &self.start)
2620 .field("stop", &self.stop)
2621 .field("time", &self.time)
2622 .field("position", &self.position)
2623 .field(name:"duration", &self.duration)
2624 .finish()
2625 }
2626}
2627
2628#[derive(Copy, Clone)]
2629#[repr(C)]
2630pub struct GstSharedTaskPoolClass {
2631 pub parent_class: GstTaskPoolClass,
2632 pub _gst_reserved: [gpointer; 4],
2633}
2634
2635impl ::std::fmt::Debug for GstSharedTaskPoolClass {
2636 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2637 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstSharedTaskPoolClass @ {self:p}"))
2638 .field(name:"parent_class", &self.parent_class)
2639 .finish()
2640 }
2641}
2642
2643#[repr(C)]
2644pub struct _GstSharedTaskPoolPrivate {
2645 _data: [u8; 0],
2646 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2647}
2648
2649pub type GstSharedTaskPoolPrivate = *mut _GstSharedTaskPoolPrivate;
2650
2651#[derive(Copy, Clone)]
2652#[repr(C)]
2653pub struct GstStaticCaps {
2654 pub caps: *mut GstCaps,
2655 pub string: *const c_char,
2656 pub _gst_reserved: [gpointer; 4],
2657}
2658
2659impl ::std::fmt::Debug for GstStaticCaps {
2660 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2661 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStaticCaps @ {self:p}"))
2662 .field("caps", &self.caps)
2663 .field(name:"string", &self.string)
2664 .finish()
2665 }
2666}
2667
2668#[derive(Copy, Clone)]
2669#[repr(C)]
2670pub struct GstStaticPadTemplate {
2671 pub name_template: *const c_char,
2672 pub direction: GstPadDirection,
2673 pub presence: GstPadPresence,
2674 pub static_caps: GstStaticCaps,
2675}
2676
2677impl ::std::fmt::Debug for GstStaticPadTemplate {
2678 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2679 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStaticPadTemplate @ {self:p}"))
2680 .field("name_template", &self.name_template)
2681 .field("direction", &self.direction)
2682 .field("presence", &self.presence)
2683 .field(name:"static_caps", &self.static_caps)
2684 .finish()
2685 }
2686}
2687
2688#[derive(Copy, Clone)]
2689#[repr(C)]
2690pub struct GstStreamClass {
2691 pub parent_class: GstObjectClass,
2692 pub _gst_reserved: [gpointer; 4],
2693}
2694
2695impl ::std::fmt::Debug for GstStreamClass {
2696 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2697 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStreamClass @ {self:p}"))
2698 .field(name:"parent_class", &self.parent_class)
2699 .finish()
2700 }
2701}
2702
2703#[derive(Copy, Clone)]
2704#[repr(C)]
2705pub struct GstStreamCollectionClass {
2706 pub parent_class: GstObjectClass,
2707 pub stream_notify: Option<
2708 unsafe extern "C" fn(*mut GstStreamCollection, *mut GstStream, *mut gobject::GParamSpec),
2709 >,
2710 pub _gst_reserved: [gpointer; 4],
2711}
2712
2713impl ::std::fmt::Debug for GstStreamCollectionClass {
2714 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2715 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStreamCollectionClass @ {self:p}"))
2716 .field("parent_class", &self.parent_class)
2717 .field(name:"stream_notify", &self.stream_notify)
2718 .finish()
2719 }
2720}
2721
2722#[repr(C)]
2723pub struct _GstStreamCollectionPrivate {
2724 _data: [u8; 0],
2725 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2726}
2727
2728pub type GstStreamCollectionPrivate = *mut _GstStreamCollectionPrivate;
2729
2730#[repr(C)]
2731pub struct _GstStreamPrivate {
2732 _data: [u8; 0],
2733 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2734}
2735
2736pub type GstStreamPrivate = *mut _GstStreamPrivate;
2737
2738#[derive(Copy, Clone)]
2739#[repr(C)]
2740pub struct GstStructure {
2741 pub type_: GType,
2742 pub name: glib::GQuark,
2743}
2744
2745impl ::std::fmt::Debug for GstStructure {
2746 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2747 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStructure @ {self:p}"))
2748 .field(name:"type_", &self.type_)
2749 .finish()
2750 }
2751}
2752
2753#[derive(Copy, Clone)]
2754#[repr(C)]
2755pub struct GstSystemClockClass {
2756 pub parent_class: GstClockClass,
2757 pub _gst_reserved: [gpointer; 4],
2758}
2759
2760impl ::std::fmt::Debug for GstSystemClockClass {
2761 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2762 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstSystemClockClass @ {self:p}"))
2763 .field(name:"parent_class", &self.parent_class)
2764 .finish()
2765 }
2766}
2767
2768#[repr(C)]
2769pub struct _GstSystemClockPrivate {
2770 _data: [u8; 0],
2771 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2772}
2773
2774pub type GstSystemClockPrivate = *mut _GstSystemClockPrivate;
2775
2776#[derive(Copy, Clone)]
2777#[repr(C)]
2778pub struct GstTagList {
2779 pub mini_object: GstMiniObject,
2780}
2781
2782impl ::std::fmt::Debug for GstTagList {
2783 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2784 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTagList @ {self:p}"))
2785 .field(name:"mini_object", &self.mini_object)
2786 .finish()
2787 }
2788}
2789
2790#[derive(Copy, Clone)]
2791#[repr(C)]
2792pub struct GstTagSetterInterface {
2793 pub g_iface: gobject::GTypeInterface,
2794}
2795
2796impl ::std::fmt::Debug for GstTagSetterInterface {
2797 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2798 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTagSetterInterface @ {self:p}"))
2799 .field(name:"g_iface", &self.g_iface)
2800 .finish()
2801 }
2802}
2803
2804#[derive(Copy, Clone)]
2805#[repr(C)]
2806pub struct GstTaskClass {
2807 pub parent_class: GstObjectClass,
2808 pub pool: *mut GstTaskPool,
2809 pub _gst_reserved: [gpointer; 4],
2810}
2811
2812impl ::std::fmt::Debug for GstTaskClass {
2813 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2814 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTaskClass @ {self:p}"))
2815 .field(name:"parent_class", &self.parent_class)
2816 .finish()
2817 }
2818}
2819
2820#[derive(Copy, Clone)]
2821#[repr(C)]
2822pub struct GstTaskPoolClass {
2823 pub parent_class: GstObjectClass,
2824 pub prepare: Option<unsafe extern "C" fn(*mut GstTaskPool, *mut *mut glib::GError)>,
2825 pub cleanup: Option<unsafe extern "C" fn(*mut GstTaskPool)>,
2826 pub push: Option<
2827 unsafe extern "C" fn(
2828 *mut GstTaskPool,
2829 GstTaskPoolFunction,
2830 gpointer,
2831 *mut *mut glib::GError,
2832 ) -> gpointer,
2833 >,
2834 pub join: Option<unsafe extern "C" fn(*mut GstTaskPool, gpointer)>,
2835 pub dispose_handle: Option<unsafe extern "C" fn(*mut GstTaskPool, gpointer)>,
2836 pub _gst_reserved: [gpointer; 3],
2837}
2838
2839impl ::std::fmt::Debug for GstTaskPoolClass {
2840 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2841 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTaskPoolClass @ {self:p}"))
2842 .field("parent_class", &self.parent_class)
2843 .field("prepare", &self.prepare)
2844 .field("cleanup", &self.cleanup)
2845 .field("push", &self.push)
2846 .field("join", &self.join)
2847 .field(name:"dispose_handle", &self.dispose_handle)
2848 .finish()
2849 }
2850}
2851
2852#[repr(C)]
2853pub struct _GstTaskPrivate {
2854 _data: [u8; 0],
2855 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2856}
2857
2858pub type GstTaskPrivate = *mut _GstTaskPrivate;
2859
2860#[derive(Copy, Clone)]
2861#[repr(C)]
2862pub struct GstTimedValue {
2863 pub timestamp: GstClockTime,
2864 pub value: c_double,
2865}
2866
2867impl ::std::fmt::Debug for GstTimedValue {
2868 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2869 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTimedValue @ {self:p}"))
2870 .field("timestamp", &self.timestamp)
2871 .field(name:"value", &self.value)
2872 .finish()
2873 }
2874}
2875
2876#[repr(C)]
2877pub struct GstToc {
2878 _data: [u8; 0],
2879 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2880}
2881
2882impl ::std::fmt::Debug for GstToc {
2883 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2884 f.debug_struct(&format!("GstToc @ {self:p}")).finish()
2885 }
2886}
2887
2888#[repr(C)]
2889pub struct GstTocEntry {
2890 _data: [u8; 0],
2891 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2892}
2893
2894impl ::std::fmt::Debug for GstTocEntry {
2895 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2896 f.debug_struct(&format!("GstTocEntry @ {self:p}")).finish()
2897 }
2898}
2899
2900#[derive(Copy, Clone)]
2901#[repr(C)]
2902pub struct GstTocSetterInterface {
2903 pub g_iface: gobject::GTypeInterface,
2904}
2905
2906impl ::std::fmt::Debug for GstTocSetterInterface {
2907 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2908 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTocSetterInterface @ {self:p}"))
2909 .field(name:"g_iface", &self.g_iface)
2910 .finish()
2911 }
2912}
2913
2914#[derive(Copy, Clone)]
2915#[repr(C)]
2916pub struct GstTracerClass {
2917 pub parent_class: GstObjectClass,
2918 pub _gst_reserved: [gpointer; 4],
2919}
2920
2921impl ::std::fmt::Debug for GstTracerClass {
2922 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2923 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTracerClass @ {self:p}"))
2924 .field(name:"parent_class", &self.parent_class)
2925 .finish()
2926 }
2927}
2928
2929#[repr(C)]
2930pub struct _GstTracerFactoryClass {
2931 _data: [u8; 0],
2932 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2933}
2934
2935pub type GstTracerFactoryClass = *mut _GstTracerFactoryClass;
2936
2937#[repr(C)]
2938pub struct _GstTracerPrivate {
2939 _data: [u8; 0],
2940 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2941}
2942
2943pub type GstTracerPrivate = *mut _GstTracerPrivate;
2944
2945#[repr(C)]
2946pub struct _GstTracerRecordClass {
2947 _data: [u8; 0],
2948 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2949}
2950
2951pub type GstTracerRecordClass = *mut _GstTracerRecordClass;
2952
2953#[derive(Copy, Clone)]
2954#[repr(C)]
2955pub struct GstTypeFind {
2956 pub peek: Option<unsafe extern "C" fn(gpointer, i64, c_uint) -> *const u8>,
2957 pub suggest: Option<unsafe extern "C" fn(gpointer, c_uint, *mut GstCaps)>,
2958 pub data: gpointer,
2959 pub get_length: Option<unsafe extern "C" fn(gpointer) -> u64>,
2960 pub _gst_reserved: [gpointer; 4],
2961}
2962
2963impl ::std::fmt::Debug for GstTypeFind {
2964 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2965 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTypeFind @ {self:p}"))
2966 .field("peek", &self.peek)
2967 .field("suggest", &self.suggest)
2968 .field("data", &self.data)
2969 .field(name:"get_length", &self.get_length)
2970 .finish()
2971 }
2972}
2973
2974#[repr(C)]
2975pub struct _GstTypeFindFactoryClass {
2976 _data: [u8; 0],
2977 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
2978}
2979
2980pub type GstTypeFindFactoryClass = *mut _GstTypeFindFactoryClass;
2981
2982#[derive(Copy, Clone)]
2983#[repr(C)]
2984pub struct GstURIHandlerInterface {
2985 pub parent: gobject::GTypeInterface,
2986 pub get_type: Option<unsafe extern "C" fn(GType) -> GstURIType>,
2987 pub get_protocols: Option<unsafe extern "C" fn(GType) -> *const *const c_char>,
2988 pub get_uri: Option<unsafe extern "C" fn(*mut GstURIHandler) -> *mut c_char>,
2989 pub set_uri: Option<
2990 unsafe extern "C" fn(*mut GstURIHandler, *const c_char, *mut *mut glib::GError) -> gboolean,
2991 >,
2992}
2993
2994impl ::std::fmt::Debug for GstURIHandlerInterface {
2995 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2996 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstURIHandlerInterface @ {self:p}"))
2997 .field("parent", &self.parent)
2998 .field("get_type", &self.get_type)
2999 .field("get_protocols", &self.get_protocols)
3000 .field("get_uri", &self.get_uri)
3001 .field(name:"set_uri", &self.set_uri)
3002 .finish()
3003 }
3004}
3005
3006#[repr(C)]
3007pub struct GstUri {
3008 _data: [u8; 0],
3009 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3010}
3011
3012impl ::std::fmt::Debug for GstUri {
3013 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3014 f.debug_struct(&format!("GstUri @ {self:p}")).finish()
3015 }
3016}
3017
3018#[derive(Copy, Clone)]
3019#[repr(C)]
3020pub struct GstValueTable {
3021 pub type_: GType,
3022 pub compare: GstValueCompareFunc,
3023 pub serialize: GstValueSerializeFunc,
3024 pub deserialize: GstValueDeserializeFunc,
3025 pub deserialize_with_pspec: GstValueDeserializeWithPSpecFunc,
3026 pub _gst_reserved: [gpointer; 3],
3027}
3028
3029impl ::std::fmt::Debug for GstValueTable {
3030 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3031 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstValueTable @ {self:p}"))
3032 .field("type_", &self.type_)
3033 .field("compare", &self.compare)
3034 .field("serialize", &self.serialize)
3035 .field("deserialize", &self.deserialize)
3036 .field(name:"deserialize_with_pspec", &self.deserialize_with_pspec)
3037 .finish()
3038 }
3039}
3040
3041// Classes
3042#[derive(Copy, Clone)]
3043#[repr(C)]
3044pub struct GstAllocator {
3045 pub object: GstObject,
3046 pub mem_type: *const c_char,
3047 pub mem_map: GstMemoryMapFunction,
3048 pub mem_unmap: GstMemoryUnmapFunction,
3049 pub mem_copy: GstMemoryCopyFunction,
3050 pub mem_share: GstMemoryShareFunction,
3051 pub mem_is_span: GstMemoryIsSpanFunction,
3052 pub mem_map_full: GstMemoryMapFullFunction,
3053 pub mem_unmap_full: GstMemoryUnmapFullFunction,
3054 pub _gst_reserved: [gpointer; 2],
3055 pub priv_: *mut GstAllocatorPrivate,
3056}
3057
3058impl ::std::fmt::Debug for GstAllocator {
3059 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3060 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstAllocator @ {self:p}"))
3061 .field("object", &self.object)
3062 .field("mem_type", &self.mem_type)
3063 .field("mem_map", &self.mem_map)
3064 .field("mem_unmap", &self.mem_unmap)
3065 .field("mem_copy", &self.mem_copy)
3066 .field("mem_share", &self.mem_share)
3067 .field("mem_is_span", &self.mem_is_span)
3068 .field("mem_map_full", &self.mem_map_full)
3069 .field(name:"mem_unmap_full", &self.mem_unmap_full)
3070 .finish()
3071 }
3072}
3073
3074#[derive(Copy, Clone)]
3075#[repr(C)]
3076pub struct GstBin {
3077 pub element: GstElement,
3078 pub numchildren: c_int,
3079 pub children: *mut glib::GList,
3080 pub children_cookie: u32,
3081 pub child_bus: *mut GstBus,
3082 pub messages: *mut glib::GList,
3083 pub polling: gboolean,
3084 pub state_dirty: gboolean,
3085 pub clock_dirty: gboolean,
3086 pub provided_clock: *mut GstClock,
3087 pub clock_provider: *mut GstElement,
3088 pub priv_: *mut GstBinPrivate,
3089 pub _gst_reserved: [gpointer; 4],
3090}
3091
3092impl ::std::fmt::Debug for GstBin {
3093 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3094 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBin @ {self:p}"))
3095 .field("element", &self.element)
3096 .field("numchildren", &self.numchildren)
3097 .field("children", &self.children)
3098 .field("children_cookie", &self.children_cookie)
3099 .field("child_bus", &self.child_bus)
3100 .field("messages", &self.messages)
3101 .field("polling", &self.polling)
3102 .field("state_dirty", &self.state_dirty)
3103 .field("clock_dirty", &self.clock_dirty)
3104 .field("provided_clock", &self.provided_clock)
3105 .field(name:"clock_provider", &self.clock_provider)
3106 .finish()
3107 }
3108}
3109
3110#[repr(C)]
3111pub struct GstBitmask {
3112 _data: [u8; 0],
3113 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3114}
3115
3116impl ::std::fmt::Debug for GstBitmask {
3117 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3118 f.debug_struct(&format!("GstBitmask @ {self:p}")).finish()
3119 }
3120}
3121
3122#[derive(Copy, Clone)]
3123#[repr(C)]
3124pub struct GstBufferPool {
3125 pub object: GstObject,
3126 pub flushing: c_int,
3127 pub priv_: *mut GstBufferPoolPrivate,
3128 pub _gst_reserved: [gpointer; 4],
3129}
3130
3131impl ::std::fmt::Debug for GstBufferPool {
3132 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3133 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBufferPool @ {self:p}"))
3134 .field("object", &self.object)
3135 .field(name:"flushing", &self.flushing)
3136 .finish()
3137 }
3138}
3139
3140#[derive(Copy, Clone)]
3141#[repr(C)]
3142pub struct GstBus {
3143 pub object: GstObject,
3144 pub priv_: *mut GstBusPrivate,
3145 pub _gst_reserved: [gpointer; 4],
3146}
3147
3148impl ::std::fmt::Debug for GstBus {
3149 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3150 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstBus @ {self:p}"))
3151 .field(name:"object", &self.object)
3152 .finish()
3153 }
3154}
3155
3156#[derive(Copy, Clone)]
3157#[repr(C)]
3158pub struct GstClock {
3159 pub object: GstObject,
3160 pub priv_: *mut GstClockPrivate,
3161 pub _gst_reserved: [gpointer; 4],
3162}
3163
3164impl ::std::fmt::Debug for GstClock {
3165 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3166 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstClock @ {self:p}"))
3167 .field(name:"object", &self.object)
3168 .finish()
3169 }
3170}
3171
3172#[derive(Copy, Clone)]
3173#[repr(C)]
3174pub struct GstControlBinding {
3175 pub parent: GstObject,
3176 pub name: *mut c_char,
3177 pub pspec: *mut gobject::GParamSpec,
3178 pub object: *mut GstObject,
3179 pub disabled: gboolean,
3180 pub ABI: GstControlBinding_ABI,
3181}
3182
3183impl ::std::fmt::Debug for GstControlBinding {
3184 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3185 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstControlBinding @ {self:p}"))
3186 .field("parent", &self.parent)
3187 .field("name", &self.name)
3188 .field("pspec", &self.pspec)
3189 .field(name:"ABI", &self.ABI)
3190 .finish()
3191 }
3192}
3193
3194#[derive(Copy, Clone)]
3195#[repr(C)]
3196pub struct GstControlSource {
3197 pub parent: GstObject,
3198 pub get_value: GstControlSourceGetValue,
3199 pub get_value_array: GstControlSourceGetValueArray,
3200 pub _gst_reserved: [gpointer; 4],
3201}
3202
3203impl ::std::fmt::Debug for GstControlSource {
3204 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3205 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstControlSource @ {self:p}"))
3206 .field("parent", &self.parent)
3207 .field("get_value", &self.get_value)
3208 .field(name:"get_value_array", &self.get_value_array)
3209 .finish()
3210 }
3211}
3212
3213#[derive(Copy, Clone)]
3214#[repr(C)]
3215pub struct GstDevice {
3216 pub parent: GstObject,
3217 pub priv_: *mut GstDevicePrivate,
3218 pub _gst_reserved: [gpointer; 4],
3219}
3220
3221impl ::std::fmt::Debug for GstDevice {
3222 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3223 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDevice @ {self:p}"))
3224 .field(name:"parent", &self.parent)
3225 .finish()
3226 }
3227}
3228
3229#[derive(Copy, Clone)]
3230#[repr(C)]
3231pub struct GstDeviceMonitor {
3232 pub parent: GstObject,
3233 pub priv_: *mut GstDeviceMonitorPrivate,
3234 pub _gst_reserved: [gpointer; 4],
3235}
3236
3237impl ::std::fmt::Debug for GstDeviceMonitor {
3238 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3239 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDeviceMonitor @ {self:p}"))
3240 .field(name:"parent", &self.parent)
3241 .finish()
3242 }
3243}
3244
3245#[derive(Copy, Clone)]
3246#[repr(C)]
3247pub struct GstDeviceProvider {
3248 pub parent: GstObject,
3249 pub devices: *mut glib::GList,
3250 pub priv_: *mut GstDeviceProviderPrivate,
3251 pub _gst_reserved: [gpointer; 4],
3252}
3253
3254impl ::std::fmt::Debug for GstDeviceProvider {
3255 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3256 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstDeviceProvider @ {self:p}"))
3257 .field("parent", &self.parent)
3258 .field(name:"devices", &self.devices)
3259 .finish()
3260 }
3261}
3262
3263#[repr(C)]
3264pub struct GstDeviceProviderFactory {
3265 _data: [u8; 0],
3266 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3267}
3268
3269impl ::std::fmt::Debug for GstDeviceProviderFactory {
3270 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3271 fDebugStruct<'_, '_>.debug_struct(&format!("GstDeviceProviderFactory @ {self:p}"))
3272 .finish()
3273 }
3274}
3275
3276#[repr(C)]
3277pub struct GstDoubleRange {
3278 _data: [u8; 0],
3279 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3280}
3281
3282impl ::std::fmt::Debug for GstDoubleRange {
3283 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3284 fDebugStruct<'_, '_>.debug_struct(&format!("GstDoubleRange @ {self:p}"))
3285 .finish()
3286 }
3287}
3288
3289#[repr(C)]
3290pub struct GstDynamicTypeFactory {
3291 _data: [u8; 0],
3292 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3293}
3294
3295impl ::std::fmt::Debug for GstDynamicTypeFactory {
3296 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3297 fDebugStruct<'_, '_>.debug_struct(&format!("GstDynamicTypeFactory @ {self:p}"))
3298 .finish()
3299 }
3300}
3301
3302#[derive(Copy, Clone)]
3303#[repr(C)]
3304pub struct GstElement {
3305 pub object: GstObject,
3306 pub state_lock: glib::GRecMutex,
3307 pub state_cond: glib::GCond,
3308 pub state_cookie: u32,
3309 pub target_state: GstState,
3310 pub current_state: GstState,
3311 pub next_state: GstState,
3312 pub pending_state: GstState,
3313 pub last_return: GstStateChangeReturn,
3314 pub bus: *mut GstBus,
3315 pub clock: *mut GstClock,
3316 pub base_time: GstClockTimeDiff,
3317 pub start_time: GstClockTime,
3318 pub numpads: u16,
3319 pub pads: *mut glib::GList,
3320 pub numsrcpads: u16,
3321 pub srcpads: *mut glib::GList,
3322 pub numsinkpads: u16,
3323 pub sinkpads: *mut glib::GList,
3324 pub pads_cookie: u32,
3325 pub contexts: *mut glib::GList,
3326 pub _gst_reserved: [gpointer; 3],
3327}
3328
3329impl ::std::fmt::Debug for GstElement {
3330 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3331 f.debug_struct(&format!("GstElement @ {self:p}"))
3332 .field("object", &self.object)
3333 .field("state_lock", &self.state_lock)
3334 .field("state_cond", &self.state_cond)
3335 .field("state_cookie", &self.state_cookie)
3336 .field("target_state", &self.target_state)
3337 .field("current_state", &self.current_state)
3338 .field("next_state", &self.next_state)
3339 .field("pending_state", &self.pending_state)
3340 .field("last_return", &self.last_return)
3341 .field("bus", &self.bus)
3342 .field("clock", &self.clock)
3343 .field("base_time", &self.base_time)
3344 .field("start_time", &self.start_time)
3345 .field("numpads", &self.numpads)
3346 .field("pads", &self.pads)
3347 .field("numsrcpads", &self.numsrcpads)
3348 .field("srcpads", &self.srcpads)
3349 .field("numsinkpads", &self.numsinkpads)
3350 .field("sinkpads", &self.sinkpads)
3351 .field("pads_cookie", &self.pads_cookie)
3352 .field("contexts", &self.contexts)
3353 .finish()
3354 }
3355}
3356
3357#[repr(C)]
3358pub struct GstElementFactory {
3359 _data: [u8; 0],
3360 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3361}
3362
3363impl ::std::fmt::Debug for GstElementFactory {
3364 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3365 fDebugStruct<'_, '_>.debug_struct(&format!("GstElementFactory @ {self:p}"))
3366 .finish()
3367 }
3368}
3369
3370#[repr(C)]
3371pub struct GstFlagSet {
3372 _data: [u8; 0],
3373 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3374}
3375
3376impl ::std::fmt::Debug for GstFlagSet {
3377 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3378 f.debug_struct(&format!("GstFlagSet @ {self:p}")).finish()
3379 }
3380}
3381
3382#[repr(C)]
3383pub struct GstFraction {
3384 _data: [u8; 0],
3385 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3386}
3387
3388impl ::std::fmt::Debug for GstFraction {
3389 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3390 f.debug_struct(&format!("GstFraction @ {self:p}")).finish()
3391 }
3392}
3393
3394#[repr(C)]
3395pub struct GstFractionRange {
3396 _data: [u8; 0],
3397 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3398}
3399
3400impl ::std::fmt::Debug for GstFractionRange {
3401 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3402 fDebugStruct<'_, '_>.debug_struct(&format!("GstFractionRange @ {self:p}"))
3403 .finish()
3404 }
3405}
3406
3407#[derive(Copy, Clone)]
3408#[repr(C)]
3409pub struct GstGhostPad {
3410 pub pad: GstProxyPad,
3411 pub priv_: *mut GstGhostPadPrivate,
3412}
3413
3414impl ::std::fmt::Debug for GstGhostPad {
3415 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3416 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstGhostPad @ {self:p}"))
3417 .field(name:"pad", &self.pad)
3418 .finish()
3419 }
3420}
3421
3422#[repr(C)]
3423pub struct GstInt64Range {
3424 _data: [u8; 0],
3425 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3426}
3427
3428impl ::std::fmt::Debug for GstInt64Range {
3429 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3430 fDebugStruct<'_, '_>.debug_struct(&format!("GstInt64Range @ {self:p}"))
3431 .finish()
3432 }
3433}
3434
3435#[repr(C)]
3436pub struct GstIntRange {
3437 _data: [u8; 0],
3438 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3439}
3440
3441impl ::std::fmt::Debug for GstIntRange {
3442 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3443 f.debug_struct(&format!("GstIntRange @ {self:p}")).finish()
3444 }
3445}
3446
3447#[derive(Copy, Clone)]
3448#[repr(C)]
3449pub struct GstObject {
3450 pub object: gobject::GInitiallyUnowned,
3451 pub lock: glib::GMutex,
3452 pub name: *mut c_char,
3453 pub parent: *mut GstObject,
3454 pub flags: u32,
3455 pub control_bindings: *mut glib::GList,
3456 pub control_rate: u64,
3457 pub last_sync: u64,
3458 pub _gst_reserved: gpointer,
3459}
3460
3461impl ::std::fmt::Debug for GstObject {
3462 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3463 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstObject @ {self:p}"))
3464 .field("object", &self.object)
3465 .field("lock", &self.lock)
3466 .field("name", &self.name)
3467 .field("parent", &self.parent)
3468 .field(name:"flags", &self.flags)
3469 .finish()
3470 }
3471}
3472
3473#[derive(Copy, Clone)]
3474#[repr(C)]
3475pub struct GstPad {
3476 pub object: GstObject,
3477 pub element_private: gpointer,
3478 pub padtemplate: *mut GstPadTemplate,
3479 pub direction: GstPadDirection,
3480 pub stream_rec_lock: glib::GRecMutex,
3481 pub task: *mut GstTask,
3482 pub block_cond: glib::GCond,
3483 pub probes: glib::GHookList,
3484 pub mode: GstPadMode,
3485 pub activatefunc: GstPadActivateFunction,
3486 pub activatedata: gpointer,
3487 pub activatenotify: glib::GDestroyNotify,
3488 pub activatemodefunc: GstPadActivateModeFunction,
3489 pub activatemodedata: gpointer,
3490 pub activatemodenotify: glib::GDestroyNotify,
3491 pub peer: *mut GstPad,
3492 pub linkfunc: GstPadLinkFunction,
3493 pub linkdata: gpointer,
3494 pub linknotify: glib::GDestroyNotify,
3495 pub unlinkfunc: GstPadUnlinkFunction,
3496 pub unlinkdata: gpointer,
3497 pub unlinknotify: glib::GDestroyNotify,
3498 pub chainfunc: GstPadChainFunction,
3499 pub chaindata: gpointer,
3500 pub chainnotify: glib::GDestroyNotify,
3501 pub chainlistfunc: GstPadChainListFunction,
3502 pub chainlistdata: gpointer,
3503 pub chainlistnotify: glib::GDestroyNotify,
3504 pub getrangefunc: GstPadGetRangeFunction,
3505 pub getrangedata: gpointer,
3506 pub getrangenotify: glib::GDestroyNotify,
3507 pub eventfunc: GstPadEventFunction,
3508 pub eventdata: gpointer,
3509 pub eventnotify: glib::GDestroyNotify,
3510 pub offset: i64,
3511 pub queryfunc: GstPadQueryFunction,
3512 pub querydata: gpointer,
3513 pub querynotify: glib::GDestroyNotify,
3514 pub iterintlinkfunc: GstPadIterIntLinkFunction,
3515 pub iterintlinkdata: gpointer,
3516 pub iterintlinknotify: glib::GDestroyNotify,
3517 pub num_probes: c_int,
3518 pub num_blocked: c_int,
3519 pub priv_: *mut GstPadPrivate,
3520 pub ABI: GstPad_ABI,
3521}
3522
3523impl ::std::fmt::Debug for GstPad {
3524 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3525 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPad @ {self:p}"))
3526 .field("object", &self.object)
3527 .field("element_private", &self.element_private)
3528 .field("padtemplate", &self.padtemplate)
3529 .field("direction", &self.direction)
3530 .field(name:"ABI", &self.ABI)
3531 .finish()
3532 }
3533}
3534
3535#[derive(Copy, Clone)]
3536#[repr(C)]
3537pub struct GstPadTemplate {
3538 pub object: GstObject,
3539 pub name_template: *mut c_char,
3540 pub direction: GstPadDirection,
3541 pub presence: GstPadPresence,
3542 pub caps: *mut GstCaps,
3543 pub ABI: GstPadTemplate_ABI,
3544}
3545
3546impl ::std::fmt::Debug for GstPadTemplate {
3547 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3548 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPadTemplate @ {self:p}"))
3549 .field("object", &self.object)
3550 .field("name_template", &self.name_template)
3551 .field("direction", &self.direction)
3552 .field("presence", &self.presence)
3553 .field("caps", &self.caps)
3554 .field(name:"ABI", &self.ABI)
3555 .finish()
3556 }
3557}
3558
3559#[repr(C)]
3560pub struct GstParamArray {
3561 _data: [u8; 0],
3562 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3563}
3564
3565impl ::std::fmt::Debug for GstParamArray {
3566 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3567 fDebugStruct<'_, '_>.debug_struct(&format!("GstParamArray @ {self:p}"))
3568 .finish()
3569 }
3570}
3571
3572#[repr(C)]
3573pub struct GstParamFraction {
3574 _data: [u8; 0],
3575 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3576}
3577
3578impl ::std::fmt::Debug for GstParamFraction {
3579 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3580 fDebugStruct<'_, '_>.debug_struct(&format!("GstParamFraction @ {self:p}"))
3581 .finish()
3582 }
3583}
3584
3585#[derive(Copy, Clone)]
3586#[repr(C)]
3587pub struct GstPipeline {
3588 pub bin: GstBin,
3589 pub fixed_clock: *mut GstClock,
3590 pub stream_time: GstClockTime,
3591 pub delay: GstClockTime,
3592 pub priv_: *mut GstPipelinePrivate,
3593 pub _gst_reserved: [gpointer; 4],
3594}
3595
3596impl ::std::fmt::Debug for GstPipeline {
3597 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3598 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstPipeline @ {self:p}"))
3599 .field("bin", &self.bin)
3600 .field("fixed_clock", &self.fixed_clock)
3601 .field("stream_time", &self.stream_time)
3602 .field(name:"delay", &self.delay)
3603 .finish()
3604 }
3605}
3606
3607#[repr(C)]
3608pub struct GstPlugin {
3609 _data: [u8; 0],
3610 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3611}
3612
3613impl ::std::fmt::Debug for GstPlugin {
3614 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3615 f.debug_struct(&format!("GstPlugin @ {self:p}")).finish()
3616 }
3617}
3618
3619#[repr(C)]
3620pub struct GstPluginFeature {
3621 _data: [u8; 0],
3622 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3623}
3624
3625impl ::std::fmt::Debug for GstPluginFeature {
3626 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3627 fDebugStruct<'_, '_>.debug_struct(&format!("GstPluginFeature @ {self:p}"))
3628 .finish()
3629 }
3630}
3631
3632#[derive(Copy, Clone)]
3633#[repr(C)]
3634pub struct GstProxyPad {
3635 pub pad: GstPad,
3636 pub priv_: *mut GstProxyPadPrivate,
3637}
3638
3639impl ::std::fmt::Debug for GstProxyPad {
3640 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3641 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstProxyPad @ {self:p}"))
3642 .field(name:"pad", &self.pad)
3643 .finish()
3644 }
3645}
3646
3647#[derive(Copy, Clone)]
3648#[repr(C)]
3649pub struct GstRegistry {
3650 pub object: GstObject,
3651 pub priv_: *mut GstRegistryPrivate,
3652}
3653
3654impl ::std::fmt::Debug for GstRegistry {
3655 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3656 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstRegistry @ {self:p}"))
3657 .field(name:"object", &self.object)
3658 .finish()
3659 }
3660}
3661
3662#[derive(Copy, Clone)]
3663#[repr(C)]
3664pub struct GstSharedTaskPool {
3665 pub parent: GstTaskPool,
3666 pub priv_: *mut GstSharedTaskPoolPrivate,
3667 pub _gst_reserved: [gpointer; 4],
3668}
3669
3670impl ::std::fmt::Debug for GstSharedTaskPool {
3671 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3672 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstSharedTaskPool @ {self:p}"))
3673 .field(name:"parent", &self.parent)
3674 .finish()
3675 }
3676}
3677
3678#[derive(Copy, Clone)]
3679#[repr(C)]
3680pub struct GstStream {
3681 pub object: GstObject,
3682 pub stream_id: *const c_char,
3683 pub priv_: *mut GstStreamPrivate,
3684 pub _gst_reserved: [gpointer; 4],
3685}
3686
3687impl ::std::fmt::Debug for GstStream {
3688 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3689 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstStream @ {self:p}"))
3690 .field(name:"stream_id", &self.stream_id)
3691 .finish()
3692 }
3693}
3694
3695#[derive(Copy, Clone)]
3696#[repr(C)]
3697pub struct GstStreamCollection {
3698 pub object: GstObject,
3699 pub upstream_id: *mut c_char,
3700 pub priv_: *mut GstStreamCollectionPrivate,
3701 pub _gst_reserved: [gpointer; 4],
3702}
3703
3704impl ::std::fmt::Debug for GstStreamCollection {
3705 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3706 fDebugStruct<'_, '_>.debug_struct(&format!("GstStreamCollection @ {self:p}"))
3707 .finish()
3708 }
3709}
3710
3711#[derive(Copy, Clone)]
3712#[repr(C)]
3713pub struct GstSystemClock {
3714 pub clock: GstClock,
3715 pub priv_: *mut GstSystemClockPrivate,
3716 pub _gst_reserved: [gpointer; 4],
3717}
3718
3719impl ::std::fmt::Debug for GstSystemClock {
3720 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3721 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstSystemClock @ {self:p}"))
3722 .field(name:"clock", &self.clock)
3723 .finish()
3724 }
3725}
3726
3727#[derive(Copy, Clone)]
3728#[repr(C)]
3729pub struct GstTask {
3730 pub object: GstObject,
3731 pub state: GstTaskState,
3732 pub cond: glib::GCond,
3733 pub lock: *mut glib::GRecMutex,
3734 pub func: GstTaskFunction,
3735 pub user_data: gpointer,
3736 pub notify: glib::GDestroyNotify,
3737 pub running: gboolean,
3738 pub thread: *mut glib::GThread,
3739 pub priv_: *mut GstTaskPrivate,
3740 pub _gst_reserved: [gpointer; 4],
3741}
3742
3743impl ::std::fmt::Debug for GstTask {
3744 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3745 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTask @ {self:p}"))
3746 .field("object", &self.object)
3747 .field("state", &self.state)
3748 .field("cond", &self.cond)
3749 .field("lock", &self.lock)
3750 .field("func", &self.func)
3751 .field("user_data", &self.user_data)
3752 .field("notify", &self.notify)
3753 .field(name:"running", &self.running)
3754 .finish()
3755 }
3756}
3757
3758#[derive(Copy, Clone)]
3759#[repr(C)]
3760pub struct GstTaskPool {
3761 pub object: GstObject,
3762 pub pool: *mut glib::GThreadPool,
3763 pub _gst_reserved: [gpointer; 4],
3764}
3765
3766impl ::std::fmt::Debug for GstTaskPool {
3767 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3768 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTaskPool @ {self:p}"))
3769 .field(name:"object", &self.object)
3770 .finish()
3771 }
3772}
3773
3774#[derive(Copy, Clone)]
3775#[repr(C)]
3776pub struct GstTracer {
3777 pub parent: GstObject,
3778 pub priv_: *mut GstTracerPrivate,
3779 pub _gst_reserved: [gpointer; 4],
3780}
3781
3782impl ::std::fmt::Debug for GstTracer {
3783 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3784 f&mut DebugStruct<'_, '_>.debug_struct(&format!("GstTracer @ {self:p}"))
3785 .field(name:"parent", &self.parent)
3786 .finish()
3787 }
3788}
3789
3790#[repr(C)]
3791pub struct GstTracerFactory {
3792 _data: [u8; 0],
3793 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3794}
3795
3796impl ::std::fmt::Debug for GstTracerFactory {
3797 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3798 fDebugStruct<'_, '_>.debug_struct(&format!("GstTracerFactory @ {self:p}"))
3799 .finish()
3800 }
3801}
3802
3803#[repr(C)]
3804pub struct GstTracerRecord {
3805 _data: [u8; 0],
3806 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3807}
3808
3809impl ::std::fmt::Debug for GstTracerRecord {
3810 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3811 fDebugStruct<'_, '_>.debug_struct(&format!("GstTracerRecord @ {self:p}"))
3812 .finish()
3813 }
3814}
3815
3816#[repr(C)]
3817pub struct GstTypeFindFactory {
3818 _data: [u8; 0],
3819 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3820}
3821
3822impl ::std::fmt::Debug for GstTypeFindFactory {
3823 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3824 fDebugStruct<'_, '_>.debug_struct(&format!("GstTypeFindFactory @ {self:p}"))
3825 .finish()
3826 }
3827}
3828
3829#[repr(C)]
3830pub struct GstValueArray {
3831 _data: [u8; 0],
3832 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3833}
3834
3835impl ::std::fmt::Debug for GstValueArray {
3836 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3837 fDebugStruct<'_, '_>.debug_struct(&format!("GstValueArray @ {self:p}"))
3838 .finish()
3839 }
3840}
3841
3842#[repr(C)]
3843pub struct GstValueList {
3844 _data: [u8; 0],
3845 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3846}
3847
3848impl ::std::fmt::Debug for GstValueList {
3849 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3850 f.debug_struct(&format!("GstValueList @ {self:p}")).finish()
3851 }
3852}
3853
3854// Interfaces
3855#[repr(C)]
3856pub struct GstChildProxy {
3857 _data: [u8; 0],
3858 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3859}
3860
3861impl ::std::fmt::Debug for GstChildProxy {
3862 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3863 write!(f, "GstChildProxy @ {self:p}")
3864 }
3865}
3866
3867#[repr(C)]
3868pub struct GstPreset {
3869 _data: [u8; 0],
3870 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3871}
3872
3873impl ::std::fmt::Debug for GstPreset {
3874 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3875 write!(f, "GstPreset @ {self:p}")
3876 }
3877}
3878
3879#[repr(C)]
3880pub struct GstTagSetter {
3881 _data: [u8; 0],
3882 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3883}
3884
3885impl ::std::fmt::Debug for GstTagSetter {
3886 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3887 write!(f, "GstTagSetter @ {self:p}")
3888 }
3889}
3890
3891#[repr(C)]
3892pub struct GstTocSetter {
3893 _data: [u8; 0],
3894 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3895}
3896
3897impl ::std::fmt::Debug for GstTocSetter {
3898 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3899 write!(f, "GstTocSetter @ {self:p}")
3900 }
3901}
3902
3903#[repr(C)]
3904pub struct GstURIHandler {
3905 _data: [u8; 0],
3906 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
3907}
3908
3909impl ::std::fmt::Debug for GstURIHandler {
3910 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3911 write!(f, "GstURIHandler @ {self:p}")
3912 }
3913}
3914
3915#[link(name = "gstreamer-1.0")]
3916extern "C" {
3917
3918 //=========================================================================
3919 // GstBufferingMode
3920 //=========================================================================
3921 pub fn gst_buffering_mode_get_type() -> GType;
3922
3923 //=========================================================================
3924 // GstBusSyncReply
3925 //=========================================================================
3926 pub fn gst_bus_sync_reply_get_type() -> GType;
3927
3928 //=========================================================================
3929 // GstCapsIntersectMode
3930 //=========================================================================
3931 pub fn gst_caps_intersect_mode_get_type() -> GType;
3932
3933 //=========================================================================
3934 // GstClockEntryType
3935 //=========================================================================
3936 pub fn gst_clock_entry_type_get_type() -> GType;
3937
3938 //=========================================================================
3939 // GstClockReturn
3940 //=========================================================================
3941 pub fn gst_clock_return_get_type() -> GType;
3942
3943 //=========================================================================
3944 // GstClockType
3945 //=========================================================================
3946 pub fn gst_clock_type_get_type() -> GType;
3947
3948 //=========================================================================
3949 // GstCoreError
3950 //=========================================================================
3951 pub fn gst_core_error_get_type() -> GType;
3952 pub fn gst_core_error_quark() -> glib::GQuark;
3953
3954 //=========================================================================
3955 // GstDebugColorMode
3956 //=========================================================================
3957 pub fn gst_debug_color_mode_get_type() -> GType;
3958
3959 //=========================================================================
3960 // GstDebugLevel
3961 //=========================================================================
3962 pub fn gst_debug_level_get_type() -> GType;
3963 pub fn gst_debug_level_get_name(level: GstDebugLevel) -> *const c_char;
3964
3965 //=========================================================================
3966 // GstEventType
3967 //=========================================================================
3968 pub fn gst_event_type_get_type() -> GType;
3969 pub fn gst_event_type_get_flags(type_: GstEventType) -> GstEventTypeFlags;
3970 pub fn gst_event_type_get_name(type_: GstEventType) -> *const c_char;
3971 pub fn gst_event_type_to_quark(type_: GstEventType) -> glib::GQuark;
3972 #[cfg(feature = "v1_22")]
3973 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
3974 pub fn gst_event_type_to_sticky_ordering(type_: GstEventType) -> c_uint;
3975
3976 //=========================================================================
3977 // GstFlowReturn
3978 //=========================================================================
3979 pub fn gst_flow_return_get_type() -> GType;
3980
3981 //=========================================================================
3982 // GstFormat
3983 //=========================================================================
3984 pub fn gst_format_get_type() -> GType;
3985 pub fn gst_format_get_by_nick(nick: *const c_char) -> GstFormat;
3986 pub fn gst_format_get_details(format: GstFormat) -> *const GstFormatDefinition;
3987 pub fn gst_format_get_name(format: GstFormat) -> *const c_char;
3988 pub fn gst_format_iterate_definitions() -> *mut GstIterator;
3989 pub fn gst_format_register(nick: *const c_char, description: *const c_char) -> GstFormat;
3990 pub fn gst_format_to_quark(format: GstFormat) -> glib::GQuark;
3991
3992 //=========================================================================
3993 // GstIteratorItem
3994 //=========================================================================
3995 pub fn gst_iterator_item_get_type() -> GType;
3996
3997 //=========================================================================
3998 // GstIteratorResult
3999 //=========================================================================
4000 pub fn gst_iterator_result_get_type() -> GType;
4001
4002 //=========================================================================
4003 // GstLibraryError
4004 //=========================================================================
4005 pub fn gst_library_error_get_type() -> GType;
4006 pub fn gst_library_error_quark() -> glib::GQuark;
4007
4008 //=========================================================================
4009 // GstPadDirection
4010 //=========================================================================
4011 pub fn gst_pad_direction_get_type() -> GType;
4012
4013 //=========================================================================
4014 // GstPadLinkReturn
4015 //=========================================================================
4016 pub fn gst_pad_link_return_get_type() -> GType;
4017
4018 //=========================================================================
4019 // GstPadMode
4020 //=========================================================================
4021 pub fn gst_pad_mode_get_type() -> GType;
4022 pub fn gst_pad_mode_get_name(mode: GstPadMode) -> *const c_char;
4023
4024 //=========================================================================
4025 // GstPadPresence
4026 //=========================================================================
4027 pub fn gst_pad_presence_get_type() -> GType;
4028
4029 //=========================================================================
4030 // GstPadProbeReturn
4031 //=========================================================================
4032 pub fn gst_pad_probe_return_get_type() -> GType;
4033
4034 //=========================================================================
4035 // GstParseError
4036 //=========================================================================
4037 pub fn gst_parse_error_get_type() -> GType;
4038 pub fn gst_parse_error_quark() -> glib::GQuark;
4039
4040 //=========================================================================
4041 // GstPluginError
4042 //=========================================================================
4043 pub fn gst_plugin_error_get_type() -> GType;
4044 pub fn gst_plugin_error_quark() -> glib::GQuark;
4045
4046 //=========================================================================
4047 // GstProgressType
4048 //=========================================================================
4049 pub fn gst_progress_type_get_type() -> GType;
4050
4051 //=========================================================================
4052 // GstPromiseResult
4053 //=========================================================================
4054 pub fn gst_promise_result_get_type() -> GType;
4055
4056 //=========================================================================
4057 // GstQOSType
4058 //=========================================================================
4059 pub fn gst_qos_type_get_type() -> GType;
4060
4061 //=========================================================================
4062 // GstQueryType
4063 //=========================================================================
4064 pub fn gst_query_type_get_type() -> GType;
4065 pub fn gst_query_type_get_flags(type_: GstQueryType) -> GstQueryTypeFlags;
4066 pub fn gst_query_type_get_name(type_: GstQueryType) -> *const c_char;
4067 pub fn gst_query_type_to_quark(type_: GstQueryType) -> glib::GQuark;
4068
4069 //=========================================================================
4070 // GstRank
4071 //=========================================================================
4072 pub fn gst_rank_get_type() -> GType;
4073
4074 //=========================================================================
4075 // GstResourceError
4076 //=========================================================================
4077 pub fn gst_resource_error_get_type() -> GType;
4078 pub fn gst_resource_error_quark() -> glib::GQuark;
4079
4080 //=========================================================================
4081 // GstSearchMode
4082 //=========================================================================
4083 pub fn gst_search_mode_get_type() -> GType;
4084
4085 //=========================================================================
4086 // GstSeekType
4087 //=========================================================================
4088 pub fn gst_seek_type_get_type() -> GType;
4089
4090 //=========================================================================
4091 // GstState
4092 //=========================================================================
4093 pub fn gst_state_get_type() -> GType;
4094
4095 //=========================================================================
4096 // GstStateChange
4097 //=========================================================================
4098 pub fn gst_state_change_get_type() -> GType;
4099 pub fn gst_state_change_get_name(transition: GstStateChange) -> *const c_char;
4100
4101 //=========================================================================
4102 // GstStateChangeReturn
4103 //=========================================================================
4104 pub fn gst_state_change_return_get_type() -> GType;
4105
4106 //=========================================================================
4107 // GstStreamError
4108 //=========================================================================
4109 pub fn gst_stream_error_get_type() -> GType;
4110 pub fn gst_stream_error_quark() -> glib::GQuark;
4111
4112 //=========================================================================
4113 // GstStreamStatusType
4114 //=========================================================================
4115 pub fn gst_stream_status_type_get_type() -> GType;
4116
4117 //=========================================================================
4118 // GstStructureChangeType
4119 //=========================================================================
4120 pub fn gst_structure_change_type_get_type() -> GType;
4121
4122 //=========================================================================
4123 // GstTagFlag
4124 //=========================================================================
4125 pub fn gst_tag_flag_get_type() -> GType;
4126
4127 //=========================================================================
4128 // GstTagMergeMode
4129 //=========================================================================
4130 pub fn gst_tag_merge_mode_get_type() -> GType;
4131
4132 //=========================================================================
4133 // GstTagScope
4134 //=========================================================================
4135 pub fn gst_tag_scope_get_type() -> GType;
4136
4137 //=========================================================================
4138 // GstTaskState
4139 //=========================================================================
4140 pub fn gst_task_state_get_type() -> GType;
4141
4142 //=========================================================================
4143 // GstTocEntryType
4144 //=========================================================================
4145 pub fn gst_toc_entry_type_get_type() -> GType;
4146 pub fn gst_toc_entry_type_get_nick(type_: GstTocEntryType) -> *const c_char;
4147
4148 //=========================================================================
4149 // GstTocLoopType
4150 //=========================================================================
4151 pub fn gst_toc_loop_type_get_type() -> GType;
4152
4153 //=========================================================================
4154 // GstTocScope
4155 //=========================================================================
4156 pub fn gst_toc_scope_get_type() -> GType;
4157
4158 //=========================================================================
4159 // GstTracerValueScope
4160 //=========================================================================
4161 pub fn gst_tracer_value_scope_get_type() -> GType;
4162
4163 //=========================================================================
4164 // GstTypeFindProbability
4165 //=========================================================================
4166 pub fn gst_type_find_probability_get_type() -> GType;
4167
4168 //=========================================================================
4169 // GstURIError
4170 //=========================================================================
4171 pub fn gst_uri_error_get_type() -> GType;
4172 pub fn gst_uri_error_quark() -> glib::GQuark;
4173
4174 //=========================================================================
4175 // GstURIType
4176 //=========================================================================
4177 pub fn gst_uri_type_get_type() -> GType;
4178
4179 //=========================================================================
4180 // GstAllocatorFlags
4181 //=========================================================================
4182 pub fn gst_allocator_flags_get_type() -> GType;
4183
4184 //=========================================================================
4185 // GstBinFlags
4186 //=========================================================================
4187 pub fn gst_bin_flags_get_type() -> GType;
4188
4189 //=========================================================================
4190 // GstBufferCopyFlags
4191 //=========================================================================
4192 pub fn gst_buffer_copy_flags_get_type() -> GType;
4193
4194 //=========================================================================
4195 // GstBufferFlags
4196 //=========================================================================
4197 pub fn gst_buffer_flags_get_type() -> GType;
4198
4199 //=========================================================================
4200 // GstBufferPoolAcquireFlags
4201 //=========================================================================
4202 pub fn gst_buffer_pool_acquire_flags_get_type() -> GType;
4203
4204 //=========================================================================
4205 // GstBusFlags
4206 //=========================================================================
4207 pub fn gst_bus_flags_get_type() -> GType;
4208
4209 //=========================================================================
4210 // GstCapsFlags
4211 //=========================================================================
4212 pub fn gst_caps_flags_get_type() -> GType;
4213
4214 //=========================================================================
4215 // GstClockFlags
4216 //=========================================================================
4217 pub fn gst_clock_flags_get_type() -> GType;
4218
4219 //=========================================================================
4220 // GstDebugColorFlags
4221 //=========================================================================
4222 pub fn gst_debug_color_flags_get_type() -> GType;
4223
4224 //=========================================================================
4225 // GstDebugGraphDetails
4226 //=========================================================================
4227 pub fn gst_debug_graph_details_get_type() -> GType;
4228
4229 //=========================================================================
4230 // GstElementFlags
4231 //=========================================================================
4232 pub fn gst_element_flags_get_type() -> GType;
4233
4234 //=========================================================================
4235 // GstEventTypeFlags
4236 //=========================================================================
4237 pub fn gst_event_type_flags_get_type() -> GType;
4238
4239 //=========================================================================
4240 // GstGapFlags
4241 //=========================================================================
4242 #[cfg(feature = "v1_20")]
4243 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4244 pub fn gst_gap_flags_get_type() -> GType;
4245
4246 //=========================================================================
4247 // GstLockFlags
4248 //=========================================================================
4249 pub fn gst_lock_flags_get_type() -> GType;
4250
4251 //=========================================================================
4252 // GstMapFlags
4253 //=========================================================================
4254 pub fn gst_map_flags_get_type() -> GType;
4255
4256 //=========================================================================
4257 // GstMemoryFlags
4258 //=========================================================================
4259 pub fn gst_memory_flags_get_type() -> GType;
4260
4261 //=========================================================================
4262 // GstMessageType
4263 //=========================================================================
4264 pub fn gst_message_type_get_type() -> GType;
4265 pub fn gst_message_type_get_name(type_: GstMessageType) -> *const c_char;
4266 pub fn gst_message_type_to_quark(type_: GstMessageType) -> glib::GQuark;
4267
4268 //=========================================================================
4269 // GstMetaFlags
4270 //=========================================================================
4271 pub fn gst_meta_flags_get_type() -> GType;
4272
4273 //=========================================================================
4274 // GstMiniObjectFlags
4275 //=========================================================================
4276 pub fn gst_mini_object_flags_get_type() -> GType;
4277
4278 //=========================================================================
4279 // GstObjectFlags
4280 //=========================================================================
4281 pub fn gst_object_flags_get_type() -> GType;
4282
4283 //=========================================================================
4284 // GstPadFlags
4285 //=========================================================================
4286 pub fn gst_pad_flags_get_type() -> GType;
4287
4288 //=========================================================================
4289 // GstPadLinkCheck
4290 //=========================================================================
4291 pub fn gst_pad_link_check_get_type() -> GType;
4292
4293 //=========================================================================
4294 // GstPadProbeType
4295 //=========================================================================
4296 pub fn gst_pad_probe_type_get_type() -> GType;
4297
4298 //=========================================================================
4299 // GstPadTemplateFlags
4300 //=========================================================================
4301 pub fn gst_pad_template_flags_get_type() -> GType;
4302
4303 //=========================================================================
4304 // GstParseFlags
4305 //=========================================================================
4306 pub fn gst_parse_flags_get_type() -> GType;
4307
4308 //=========================================================================
4309 // GstPipelineFlags
4310 //=========================================================================
4311 pub fn gst_pipeline_flags_get_type() -> GType;
4312
4313 //=========================================================================
4314 // GstPluginAPIFlags
4315 //=========================================================================
4316 #[cfg(feature = "v1_18")]
4317 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4318 pub fn gst_plugin_api_flags_get_type() -> GType;
4319
4320 //=========================================================================
4321 // GstPluginDependencyFlags
4322 //=========================================================================
4323 pub fn gst_plugin_dependency_flags_get_type() -> GType;
4324
4325 //=========================================================================
4326 // GstPluginFlags
4327 //=========================================================================
4328 pub fn gst_plugin_flags_get_type() -> GType;
4329
4330 //=========================================================================
4331 // GstQueryTypeFlags
4332 //=========================================================================
4333 pub fn gst_query_type_flags_get_type() -> GType;
4334
4335 //=========================================================================
4336 // GstSchedulingFlags
4337 //=========================================================================
4338 pub fn gst_scheduling_flags_get_type() -> GType;
4339
4340 //=========================================================================
4341 // GstSeekFlags
4342 //=========================================================================
4343 pub fn gst_seek_flags_get_type() -> GType;
4344
4345 //=========================================================================
4346 // GstSegmentFlags
4347 //=========================================================================
4348 pub fn gst_segment_flags_get_type() -> GType;
4349
4350 //=========================================================================
4351 // GstSerializeFlags
4352 //=========================================================================
4353 #[cfg(feature = "v1_20")]
4354 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4355 pub fn gst_serialize_flags_get_type() -> GType;
4356
4357 //=========================================================================
4358 // GstStackTraceFlags
4359 //=========================================================================
4360 pub fn gst_stack_trace_flags_get_type() -> GType;
4361
4362 //=========================================================================
4363 // GstStreamFlags
4364 //=========================================================================
4365 pub fn gst_stream_flags_get_type() -> GType;
4366
4367 //=========================================================================
4368 // GstStreamType
4369 //=========================================================================
4370 pub fn gst_stream_type_get_type() -> GType;
4371 pub fn gst_stream_type_get_name(stype: GstStreamType) -> *const c_char;
4372
4373 //=========================================================================
4374 // GstTracerValueFlags
4375 //=========================================================================
4376 pub fn gst_tracer_value_flags_get_type() -> GType;
4377
4378 //=========================================================================
4379 // GstAllocationParams
4380 //=========================================================================
4381 pub fn gst_allocation_params_get_type() -> GType;
4382 #[cfg(feature = "v1_20")]
4383 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4384 pub fn gst_allocation_params_new() -> *mut GstAllocationParams;
4385 pub fn gst_allocation_params_copy(
4386 params: *const GstAllocationParams,
4387 ) -> *mut GstAllocationParams;
4388 pub fn gst_allocation_params_free(params: *mut GstAllocationParams);
4389 pub fn gst_allocation_params_init(params: *mut GstAllocationParams);
4390
4391 //=========================================================================
4392 // GstAtomicQueue
4393 //=========================================================================
4394 pub fn gst_atomic_queue_get_type() -> GType;
4395 pub fn gst_atomic_queue_new(initial_size: c_uint) -> *mut GstAtomicQueue;
4396 pub fn gst_atomic_queue_length(queue: *mut GstAtomicQueue) -> c_uint;
4397 pub fn gst_atomic_queue_peek(queue: *mut GstAtomicQueue) -> gpointer;
4398 pub fn gst_atomic_queue_pop(queue: *mut GstAtomicQueue) -> gpointer;
4399 pub fn gst_atomic_queue_push(queue: *mut GstAtomicQueue, data: gpointer);
4400 pub fn gst_atomic_queue_ref(queue: *mut GstAtomicQueue);
4401 pub fn gst_atomic_queue_unref(queue: *mut GstAtomicQueue);
4402
4403 //=========================================================================
4404 // GstBuffer
4405 //=========================================================================
4406 pub fn gst_buffer_get_type() -> GType;
4407 pub fn gst_buffer_new() -> *mut GstBuffer;
4408 pub fn gst_buffer_new_allocate(
4409 allocator: *mut GstAllocator,
4410 size: size_t,
4411 params: *mut GstAllocationParams,
4412 ) -> *mut GstBuffer;
4413 #[cfg(feature = "v1_20")]
4414 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4415 pub fn gst_buffer_new_memdup(data: gconstpointer, size: size_t) -> *mut GstBuffer;
4416 pub fn gst_buffer_new_wrapped(data: gpointer, size: size_t) -> *mut GstBuffer;
4417 #[cfg(feature = "v1_16")]
4418 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4419 pub fn gst_buffer_new_wrapped_bytes(bytes: *mut glib::GBytes) -> *mut GstBuffer;
4420 pub fn gst_buffer_new_wrapped_full(
4421 flags: GstMemoryFlags,
4422 data: gpointer,
4423 maxsize: size_t,
4424 offset: size_t,
4425 size: size_t,
4426 user_data: gpointer,
4427 notify: glib::GDestroyNotify,
4428 ) -> *mut GstBuffer;
4429 #[cfg(feature = "v1_20")]
4430 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4431 pub fn gst_buffer_add_custom_meta(
4432 buffer: *mut GstBuffer,
4433 name: *const c_char,
4434 ) -> *mut GstCustomMeta;
4435 pub fn gst_buffer_add_meta(
4436 buffer: *mut GstBuffer,
4437 info: *const GstMetaInfo,
4438 params: gpointer,
4439 ) -> *mut GstMeta;
4440 pub fn gst_buffer_add_parent_buffer_meta(
4441 buffer: *mut GstBuffer,
4442 ref_: *mut GstBuffer,
4443 ) -> *mut GstParentBufferMeta;
4444 pub fn gst_buffer_add_protection_meta(
4445 buffer: *mut GstBuffer,
4446 info: *mut GstStructure,
4447 ) -> *mut GstProtectionMeta;
4448 pub fn gst_buffer_add_reference_timestamp_meta(
4449 buffer: *mut GstBuffer,
4450 reference: *mut GstCaps,
4451 timestamp: GstClockTime,
4452 duration: GstClockTime,
4453 ) -> *mut GstReferenceTimestampMeta;
4454 pub fn gst_buffer_append(buf1: *mut GstBuffer, buf2: *mut GstBuffer) -> *mut GstBuffer;
4455 pub fn gst_buffer_append_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4456 pub fn gst_buffer_append_region(
4457 buf1: *mut GstBuffer,
4458 buf2: *mut GstBuffer,
4459 offset: ssize_t,
4460 size: ssize_t,
4461 ) -> *mut GstBuffer;
4462 #[cfg(feature = "v1_18_3")]
4463 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4464 pub fn gst_buffer_copy(buf: *const GstBuffer) -> *mut GstBuffer;
4465 pub fn gst_buffer_copy_deep(buf: *const GstBuffer) -> *mut GstBuffer;
4466 pub fn gst_buffer_copy_into(
4467 dest: *mut GstBuffer,
4468 src: *mut GstBuffer,
4469 flags: GstBufferCopyFlags,
4470 offset: size_t,
4471 size: size_t,
4472 ) -> gboolean;
4473 pub fn gst_buffer_copy_region(
4474 parent: *mut GstBuffer,
4475 flags: GstBufferCopyFlags,
4476 offset: size_t,
4477 size: size_t,
4478 ) -> *mut GstBuffer;
4479 pub fn gst_buffer_extract(
4480 buffer: *mut GstBuffer,
4481 offset: size_t,
4482 dest: gpointer,
4483 size: size_t,
4484 ) -> size_t;
4485 pub fn gst_buffer_extract_dup(
4486 buffer: *mut GstBuffer,
4487 offset: size_t,
4488 size: size_t,
4489 dest: *mut u8,
4490 dest_size: *mut size_t,
4491 );
4492 pub fn gst_buffer_fill(
4493 buffer: *mut GstBuffer,
4494 offset: size_t,
4495 src: gconstpointer,
4496 size: size_t,
4497 ) -> size_t;
4498 pub fn gst_buffer_find_memory(
4499 buffer: *mut GstBuffer,
4500 offset: size_t,
4501 size: size_t,
4502 idx: *mut c_uint,
4503 length: *mut c_uint,
4504 skip: *mut size_t,
4505 ) -> gboolean;
4506 pub fn gst_buffer_foreach_meta(
4507 buffer: *mut GstBuffer,
4508 func: GstBufferForeachMetaFunc,
4509 user_data: gpointer,
4510 ) -> gboolean;
4511 pub fn gst_buffer_get_all_memory(buffer: *mut GstBuffer) -> *mut GstMemory;
4512 #[cfg(feature = "v1_20")]
4513 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4514 pub fn gst_buffer_get_custom_meta(
4515 buffer: *mut GstBuffer,
4516 name: *const c_char,
4517 ) -> *mut GstCustomMeta;
4518 pub fn gst_buffer_get_flags(buffer: *mut GstBuffer) -> GstBufferFlags;
4519 pub fn gst_buffer_get_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory;
4520 pub fn gst_buffer_get_memory_range(
4521 buffer: *mut GstBuffer,
4522 idx: c_uint,
4523 length: c_int,
4524 ) -> *mut GstMemory;
4525 pub fn gst_buffer_get_meta(buffer: *mut GstBuffer, api: GType) -> *mut GstMeta;
4526 pub fn gst_buffer_get_n_meta(buffer: *mut GstBuffer, api_type: GType) -> c_uint;
4527 pub fn gst_buffer_get_reference_timestamp_meta(
4528 buffer: *mut GstBuffer,
4529 reference: *mut GstCaps,
4530 ) -> *mut GstReferenceTimestampMeta;
4531 pub fn gst_buffer_get_size(buffer: *mut GstBuffer) -> size_t;
4532 pub fn gst_buffer_get_sizes(
4533 buffer: *mut GstBuffer,
4534 offset: *mut size_t,
4535 maxsize: *mut size_t,
4536 ) -> size_t;
4537 pub fn gst_buffer_get_sizes_range(
4538 buffer: *mut GstBuffer,
4539 idx: c_uint,
4540 length: c_int,
4541 offset: *mut size_t,
4542 maxsize: *mut size_t,
4543 ) -> size_t;
4544 pub fn gst_buffer_has_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4545 pub fn gst_buffer_insert_memory(buffer: *mut GstBuffer, idx: c_int, mem: *mut GstMemory);
4546 pub fn gst_buffer_is_all_memory_writable(buffer: *mut GstBuffer) -> gboolean;
4547 pub fn gst_buffer_is_memory_range_writable(
4548 buffer: *mut GstBuffer,
4549 idx: c_uint,
4550 length: c_int,
4551 ) -> gboolean;
4552 pub fn gst_buffer_iterate_meta(buffer: *mut GstBuffer, state: *mut gpointer) -> *mut GstMeta;
4553 pub fn gst_buffer_iterate_meta_filtered(
4554 buffer: *mut GstBuffer,
4555 state: *mut gpointer,
4556 meta_api_type: GType,
4557 ) -> *mut GstMeta;
4558 pub fn gst_buffer_map(
4559 buffer: *mut GstBuffer,
4560 info: *mut GstMapInfo,
4561 flags: GstMapFlags,
4562 ) -> gboolean;
4563 pub fn gst_buffer_map_range(
4564 buffer: *mut GstBuffer,
4565 idx: c_uint,
4566 length: c_int,
4567 info: *mut GstMapInfo,
4568 flags: GstMapFlags,
4569 ) -> gboolean;
4570 pub fn gst_buffer_memcmp(
4571 buffer: *mut GstBuffer,
4572 offset: size_t,
4573 mem: gconstpointer,
4574 size: size_t,
4575 ) -> c_int;
4576 pub fn gst_buffer_memset(
4577 buffer: *mut GstBuffer,
4578 offset: size_t,
4579 val: u8,
4580 size: size_t,
4581 ) -> size_t;
4582 pub fn gst_buffer_n_memory(buffer: *mut GstBuffer) -> c_uint;
4583 pub fn gst_buffer_peek_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory;
4584 pub fn gst_buffer_prepend_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4585 #[cfg(feature = "v1_18_3")]
4586 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4587 pub fn gst_buffer_ref(buf: *mut GstBuffer) -> *mut GstBuffer;
4588 pub fn gst_buffer_remove_all_memory(buffer: *mut GstBuffer);
4589 pub fn gst_buffer_remove_memory(buffer: *mut GstBuffer, idx: c_uint);
4590 pub fn gst_buffer_remove_memory_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int);
4591 pub fn gst_buffer_remove_meta(buffer: *mut GstBuffer, meta: *mut GstMeta) -> gboolean;
4592 pub fn gst_buffer_replace_all_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
4593 pub fn gst_buffer_replace_memory(buffer: *mut GstBuffer, idx: c_uint, mem: *mut GstMemory);
4594 pub fn gst_buffer_replace_memory_range(
4595 buffer: *mut GstBuffer,
4596 idx: c_uint,
4597 length: c_int,
4598 mem: *mut GstMemory,
4599 );
4600 pub fn gst_buffer_resize(buffer: *mut GstBuffer, offset: ssize_t, size: ssize_t);
4601 pub fn gst_buffer_resize_range(
4602 buffer: *mut GstBuffer,
4603 idx: c_uint,
4604 length: c_int,
4605 offset: ssize_t,
4606 size: ssize_t,
4607 ) -> gboolean;
4608 pub fn gst_buffer_set_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4609 pub fn gst_buffer_set_size(buffer: *mut GstBuffer, size: ssize_t);
4610 pub fn gst_buffer_unmap(buffer: *mut GstBuffer, info: *mut GstMapInfo);
4611 #[cfg(feature = "v1_18_3")]
4612 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4613 pub fn gst_buffer_unref(buf: *mut GstBuffer);
4614 pub fn gst_buffer_unset_flags(buffer: *mut GstBuffer, flags: GstBufferFlags) -> gboolean;
4615 pub fn gst_buffer_get_max_memory() -> c_uint;
4616 #[cfg(feature = "v1_18_3")]
4617 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4618 pub fn gst_buffer_replace(obuf: *mut *mut GstBuffer, nbuf: *mut GstBuffer) -> gboolean;
4619
4620 //=========================================================================
4621 // GstBufferList
4622 //=========================================================================
4623 pub fn gst_buffer_list_get_type() -> GType;
4624 pub fn gst_buffer_list_new() -> *mut GstBufferList;
4625 pub fn gst_buffer_list_new_sized(size: c_uint) -> *mut GstBufferList;
4626 pub fn gst_buffer_list_calculate_size(list: *mut GstBufferList) -> size_t;
4627 #[cfg(feature = "v1_18_3")]
4628 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4629 pub fn gst_buffer_list_copy(list: *const GstBufferList) -> *mut GstBufferList;
4630 pub fn gst_buffer_list_copy_deep(list: *const GstBufferList) -> *mut GstBufferList;
4631 pub fn gst_buffer_list_foreach(
4632 list: *mut GstBufferList,
4633 func: GstBufferListFunc,
4634 user_data: gpointer,
4635 ) -> gboolean;
4636 pub fn gst_buffer_list_get(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
4637 pub fn gst_buffer_list_get_writable(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
4638 pub fn gst_buffer_list_insert(list: *mut GstBufferList, idx: c_int, buffer: *mut GstBuffer);
4639 pub fn gst_buffer_list_length(list: *mut GstBufferList) -> c_uint;
4640 #[cfg(feature = "v1_18_3")]
4641 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4642 pub fn gst_buffer_list_ref(list: *mut GstBufferList) -> *mut GstBufferList;
4643 pub fn gst_buffer_list_remove(list: *mut GstBufferList, idx: c_uint, length: c_uint);
4644 #[cfg(feature = "v1_18_3")]
4645 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4646 pub fn gst_buffer_list_unref(list: *mut GstBufferList);
4647 #[cfg(feature = "v1_18_3")]
4648 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4649 pub fn gst_buffer_list_replace(
4650 old_list: *mut *mut GstBufferList,
4651 new_list: *mut GstBufferList,
4652 ) -> gboolean;
4653 #[cfg(feature = "v1_18_3")]
4654 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4655 pub fn gst_buffer_list_take(
4656 old_list: *mut *mut GstBufferList,
4657 new_list: *mut GstBufferList,
4658 ) -> gboolean;
4659
4660 //=========================================================================
4661 // GstCaps
4662 //=========================================================================
4663 pub fn gst_caps_get_type() -> GType;
4664 pub fn gst_caps_new_any() -> *mut GstCaps;
4665 pub fn gst_caps_new_empty() -> *mut GstCaps;
4666 pub fn gst_caps_new_empty_simple(media_type: *const c_char) -> *mut GstCaps;
4667 pub fn gst_caps_new_full(struct1: *mut GstStructure, ...) -> *mut GstCaps;
4668 //pub fn gst_caps_new_full_valist(structure: *mut GstStructure, var_args: /*Unimplemented*/va_list) -> *mut GstCaps;
4669 pub fn gst_caps_new_simple(
4670 media_type: *const c_char,
4671 fieldname: *const c_char,
4672 ...
4673 ) -> *mut GstCaps;
4674 pub fn gst_caps_append(caps1: *mut GstCaps, caps2: *mut GstCaps);
4675 pub fn gst_caps_append_structure(caps: *mut GstCaps, structure: *mut GstStructure);
4676 pub fn gst_caps_append_structure_full(
4677 caps: *mut GstCaps,
4678 structure: *mut GstStructure,
4679 features: *mut GstCapsFeatures,
4680 );
4681 pub fn gst_caps_can_intersect(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4682 #[cfg(feature = "v1_16")]
4683 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4684 pub fn gst_caps_copy(caps: *const GstCaps) -> *mut GstCaps;
4685 #[cfg(feature = "v1_16")]
4686 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4687 pub fn gst_caps_copy_nth(caps: *const GstCaps, nth: c_uint) -> *mut GstCaps;
4688 pub fn gst_caps_filter_and_map_in_place(
4689 caps: *mut GstCaps,
4690 func: GstCapsFilterMapFunc,
4691 user_data: gpointer,
4692 );
4693 pub fn gst_caps_fixate(caps: *mut GstCaps) -> *mut GstCaps;
4694 pub fn gst_caps_foreach(
4695 caps: *const GstCaps,
4696 func: GstCapsForeachFunc,
4697 user_data: gpointer,
4698 ) -> gboolean;
4699 pub fn gst_caps_get_features(caps: *const GstCaps, index: c_uint) -> *mut GstCapsFeatures;
4700 pub fn gst_caps_get_size(caps: *const GstCaps) -> c_uint;
4701 pub fn gst_caps_get_structure(caps: *const GstCaps, index: c_uint) -> *mut GstStructure;
4702 pub fn gst_caps_intersect(caps1: *mut GstCaps, caps2: *mut GstCaps) -> *mut GstCaps;
4703 pub fn gst_caps_intersect_full(
4704 caps1: *mut GstCaps,
4705 caps2: *mut GstCaps,
4706 mode: GstCapsIntersectMode,
4707 ) -> *mut GstCaps;
4708 pub fn gst_caps_is_always_compatible(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4709 pub fn gst_caps_is_any(caps: *const GstCaps) -> gboolean;
4710 pub fn gst_caps_is_empty(caps: *const GstCaps) -> gboolean;
4711 pub fn gst_caps_is_equal(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4712 pub fn gst_caps_is_equal_fixed(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4713 pub fn gst_caps_is_fixed(caps: *const GstCaps) -> gboolean;
4714 pub fn gst_caps_is_strictly_equal(caps1: *const GstCaps, caps2: *const GstCaps) -> gboolean;
4715 pub fn gst_caps_is_subset(subset: *const GstCaps, superset: *const GstCaps) -> gboolean;
4716 pub fn gst_caps_is_subset_structure(
4717 caps: *const GstCaps,
4718 structure: *const GstStructure,
4719 ) -> gboolean;
4720 pub fn gst_caps_is_subset_structure_full(
4721 caps: *const GstCaps,
4722 structure: *const GstStructure,
4723 features: *const GstCapsFeatures,
4724 ) -> gboolean;
4725 pub fn gst_caps_map_in_place(
4726 caps: *mut GstCaps,
4727 func: GstCapsMapFunc,
4728 user_data: gpointer,
4729 ) -> gboolean;
4730 pub fn gst_caps_merge(caps1: *mut GstCaps, caps2: *mut GstCaps) -> *mut GstCaps;
4731 pub fn gst_caps_merge_structure(
4732 caps: *mut GstCaps,
4733 structure: *mut GstStructure,
4734 ) -> *mut GstCaps;
4735 pub fn gst_caps_merge_structure_full(
4736 caps: *mut GstCaps,
4737 structure: *mut GstStructure,
4738 features: *mut GstCapsFeatures,
4739 ) -> *mut GstCaps;
4740 pub fn gst_caps_normalize(caps: *mut GstCaps) -> *mut GstCaps;
4741 #[cfg(feature = "v1_18_3")]
4742 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4743 pub fn gst_caps_ref(caps: *mut GstCaps) -> *mut GstCaps;
4744 pub fn gst_caps_remove_structure(caps: *mut GstCaps, idx: c_uint);
4745 #[cfg(feature = "v1_20")]
4746 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4747 pub fn gst_caps_serialize(caps: *const GstCaps, flags: GstSerializeFlags) -> *mut c_char;
4748 pub fn gst_caps_set_features(caps: *mut GstCaps, index: c_uint, features: *mut GstCapsFeatures);
4749 #[cfg(feature = "v1_16")]
4750 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
4751 pub fn gst_caps_set_features_simple(caps: *mut GstCaps, features: *mut GstCapsFeatures);
4752 pub fn gst_caps_set_simple(caps: *mut GstCaps, field: *const c_char, ...);
4753 //pub fn gst_caps_set_simple_valist(caps: *mut GstCaps, field: *const c_char, varargs: /*Unimplemented*/va_list);
4754 pub fn gst_caps_set_value(
4755 caps: *mut GstCaps,
4756 field: *const c_char,
4757 value: *const gobject::GValue,
4758 );
4759 pub fn gst_caps_simplify(caps: *mut GstCaps) -> *mut GstCaps;
4760 pub fn gst_caps_steal_structure(caps: *mut GstCaps, index: c_uint) -> *mut GstStructure;
4761 pub fn gst_caps_subtract(minuend: *mut GstCaps, subtrahend: *mut GstCaps) -> *mut GstCaps;
4762 pub fn gst_caps_to_string(caps: *const GstCaps) -> *mut c_char;
4763 pub fn gst_caps_truncate(caps: *mut GstCaps) -> *mut GstCaps;
4764 #[cfg(feature = "v1_18_3")]
4765 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4766 pub fn gst_caps_unref(caps: *mut GstCaps);
4767 pub fn gst_caps_from_string(string: *const c_char) -> *mut GstCaps;
4768 #[cfg(feature = "v1_18_3")]
4769 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4770 pub fn gst_caps_replace(old_caps: *mut *mut GstCaps, new_caps: *mut GstCaps) -> gboolean;
4771 #[cfg(feature = "v1_18_3")]
4772 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4773 pub fn gst_caps_take(old_caps: *mut *mut GstCaps, new_caps: *mut GstCaps) -> gboolean;
4774
4775 //=========================================================================
4776 // GstCapsFeatures
4777 //=========================================================================
4778 pub fn gst_caps_features_get_type() -> GType;
4779 pub fn gst_caps_features_new(feature1: *const c_char, ...) -> *mut GstCapsFeatures;
4780 pub fn gst_caps_features_new_any() -> *mut GstCapsFeatures;
4781 pub fn gst_caps_features_new_empty() -> *mut GstCapsFeatures;
4782 pub fn gst_caps_features_new_id(feature1: glib::GQuark, ...) -> *mut GstCapsFeatures;
4783 //pub fn gst_caps_features_new_id_valist(feature1: glib::GQuark, varargs: /*Unimplemented*/va_list) -> *mut GstCapsFeatures;
4784 #[cfg(feature = "v1_20")]
4785 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4786 pub fn gst_caps_features_new_single(feature: *const c_char) -> *mut GstCapsFeatures;
4787 //pub fn gst_caps_features_new_valist(feature1: *const c_char, varargs: /*Unimplemented*/va_list) -> *mut GstCapsFeatures;
4788 pub fn gst_caps_features_add(features: *mut GstCapsFeatures, feature: *const c_char);
4789 pub fn gst_caps_features_add_id(features: *mut GstCapsFeatures, feature: glib::GQuark);
4790 pub fn gst_caps_features_contains(
4791 features: *const GstCapsFeatures,
4792 feature: *const c_char,
4793 ) -> gboolean;
4794 pub fn gst_caps_features_contains_id(
4795 features: *const GstCapsFeatures,
4796 feature: glib::GQuark,
4797 ) -> gboolean;
4798 pub fn gst_caps_features_copy(features: *const GstCapsFeatures) -> *mut GstCapsFeatures;
4799 pub fn gst_caps_features_free(features: *mut GstCapsFeatures);
4800 pub fn gst_caps_features_get_nth(features: *const GstCapsFeatures, i: c_uint) -> *const c_char;
4801 pub fn gst_caps_features_get_nth_id(
4802 features: *const GstCapsFeatures,
4803 i: c_uint,
4804 ) -> glib::GQuark;
4805 pub fn gst_caps_features_get_size(features: *const GstCapsFeatures) -> c_uint;
4806 pub fn gst_caps_features_is_any(features: *const GstCapsFeatures) -> gboolean;
4807 pub fn gst_caps_features_is_equal(
4808 features1: *const GstCapsFeatures,
4809 features2: *const GstCapsFeatures,
4810 ) -> gboolean;
4811 pub fn gst_caps_features_remove(features: *mut GstCapsFeatures, feature: *const c_char);
4812 pub fn gst_caps_features_remove_id(features: *mut GstCapsFeatures, feature: glib::GQuark);
4813 pub fn gst_caps_features_set_parent_refcount(
4814 features: *mut GstCapsFeatures,
4815 refcount: *mut c_int,
4816 ) -> gboolean;
4817 pub fn gst_caps_features_to_string(features: *const GstCapsFeatures) -> *mut c_char;
4818 pub fn gst_caps_features_from_string(features: *const c_char) -> *mut GstCapsFeatures;
4819
4820 //=========================================================================
4821 // GstContext
4822 //=========================================================================
4823 pub fn gst_context_get_type() -> GType;
4824 pub fn gst_context_new(context_type: *const c_char, persistent: gboolean) -> *mut GstContext;
4825 #[cfg(feature = "v1_18_3")]
4826 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4827 pub fn gst_context_copy(context: *const GstContext) -> *mut GstContext;
4828 pub fn gst_context_get_context_type(context: *const GstContext) -> *const c_char;
4829 pub fn gst_context_get_structure(context: *const GstContext) -> *const GstStructure;
4830 pub fn gst_context_has_context_type(
4831 context: *const GstContext,
4832 context_type: *const c_char,
4833 ) -> gboolean;
4834 pub fn gst_context_is_persistent(context: *const GstContext) -> gboolean;
4835 #[cfg(feature = "v1_18_3")]
4836 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4837 pub fn gst_context_ref(context: *mut GstContext) -> *mut GstContext;
4838 #[cfg(feature = "v1_18_3")]
4839 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4840 pub fn gst_context_unref(context: *mut GstContext);
4841 pub fn gst_context_writable_structure(context: *mut GstContext) -> *mut GstStructure;
4842 #[cfg(feature = "v1_18_3")]
4843 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
4844 pub fn gst_context_replace(
4845 old_context: *mut *mut GstContext,
4846 new_context: *mut GstContext,
4847 ) -> gboolean;
4848
4849 //=========================================================================
4850 // GstCustomMeta
4851 //=========================================================================
4852 #[cfg(feature = "v1_20")]
4853 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4854 pub fn gst_custom_meta_get_structure(meta: *mut GstCustomMeta) -> *mut GstStructure;
4855 #[cfg(feature = "v1_20")]
4856 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
4857 pub fn gst_custom_meta_has_name(meta: *mut GstCustomMeta, name: *const c_char) -> gboolean;
4858
4859 //=========================================================================
4860 // GstDateTime
4861 //=========================================================================
4862 pub fn gst_date_time_get_type() -> GType;
4863 pub fn gst_date_time_new(
4864 tzoffset: c_float,
4865 year: c_int,
4866 month: c_int,
4867 day: c_int,
4868 hour: c_int,
4869 minute: c_int,
4870 seconds: c_double,
4871 ) -> *mut GstDateTime;
4872 pub fn gst_date_time_new_from_g_date_time(dt: *mut glib::GDateTime) -> *mut GstDateTime;
4873 pub fn gst_date_time_new_from_iso8601_string(string: *const c_char) -> *mut GstDateTime;
4874 pub fn gst_date_time_new_from_unix_epoch_local_time(secs: i64) -> *mut GstDateTime;
4875 #[cfg(feature = "v1_18")]
4876 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4877 pub fn gst_date_time_new_from_unix_epoch_local_time_usecs(usecs: i64) -> *mut GstDateTime;
4878 pub fn gst_date_time_new_from_unix_epoch_utc(secs: i64) -> *mut GstDateTime;
4879 #[cfg(feature = "v1_18")]
4880 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
4881 pub fn gst_date_time_new_from_unix_epoch_utc_usecs(usecs: i64) -> *mut GstDateTime;
4882 pub fn gst_date_time_new_local_time(
4883 year: c_int,
4884 month: c_int,
4885 day: c_int,
4886 hour: c_int,
4887 minute: c_int,
4888 seconds: c_double,
4889 ) -> *mut GstDateTime;
4890 pub fn gst_date_time_new_now_local_time() -> *mut GstDateTime;
4891 pub fn gst_date_time_new_now_utc() -> *mut GstDateTime;
4892 pub fn gst_date_time_new_y(year: c_int) -> *mut GstDateTime;
4893 pub fn gst_date_time_new_ym(year: c_int, month: c_int) -> *mut GstDateTime;
4894 pub fn gst_date_time_new_ymd(year: c_int, month: c_int, day: c_int) -> *mut GstDateTime;
4895 pub fn gst_date_time_get_day(datetime: *const GstDateTime) -> c_int;
4896 pub fn gst_date_time_get_hour(datetime: *const GstDateTime) -> c_int;
4897 pub fn gst_date_time_get_microsecond(datetime: *const GstDateTime) -> c_int;
4898 pub fn gst_date_time_get_minute(datetime: *const GstDateTime) -> c_int;
4899 pub fn gst_date_time_get_month(datetime: *const GstDateTime) -> c_int;
4900 pub fn gst_date_time_get_second(datetime: *const GstDateTime) -> c_int;
4901 pub fn gst_date_time_get_time_zone_offset(datetime: *const GstDateTime) -> c_float;
4902 pub fn gst_date_time_get_year(datetime: *const GstDateTime) -> c_int;
4903 pub fn gst_date_time_has_day(datetime: *const GstDateTime) -> gboolean;
4904 pub fn gst_date_time_has_month(datetime: *const GstDateTime) -> gboolean;
4905 pub fn gst_date_time_has_second(datetime: *const GstDateTime) -> gboolean;
4906 pub fn gst_date_time_has_time(datetime: *const GstDateTime) -> gboolean;
4907 pub fn gst_date_time_has_year(datetime: *const GstDateTime) -> gboolean;
4908 pub fn gst_date_time_ref(datetime: *mut GstDateTime) -> *mut GstDateTime;
4909 pub fn gst_date_time_to_g_date_time(datetime: *mut GstDateTime) -> *mut glib::GDateTime;
4910 pub fn gst_date_time_to_iso8601_string(datetime: *mut GstDateTime) -> *mut c_char;
4911 pub fn gst_date_time_unref(datetime: *mut GstDateTime);
4912
4913 //=========================================================================
4914 // GstDebugCategory
4915 //=========================================================================
4916 pub fn gst_debug_category_free(category: *mut GstDebugCategory);
4917 pub fn gst_debug_category_get_color(category: *mut GstDebugCategory) -> c_uint;
4918 pub fn gst_debug_category_get_description(category: *mut GstDebugCategory) -> *const c_char;
4919 pub fn gst_debug_category_get_name(category: *mut GstDebugCategory) -> *const c_char;
4920 pub fn gst_debug_category_get_threshold(category: *mut GstDebugCategory) -> GstDebugLevel;
4921 pub fn gst_debug_category_reset_threshold(category: *mut GstDebugCategory);
4922 pub fn gst_debug_category_set_threshold(category: *mut GstDebugCategory, level: GstDebugLevel);
4923
4924 //=========================================================================
4925 // GstDebugMessage
4926 //=========================================================================
4927 pub fn gst_debug_message_get(message: *mut GstDebugMessage) -> *const c_char;
4928 #[cfg(feature = "v1_22")]
4929 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
4930 pub fn gst_debug_message_get_id(message: *mut GstDebugMessage) -> *const c_char;
4931
4932 //=========================================================================
4933 // GstDeviceProviderClass
4934 //=========================================================================
4935 pub fn gst_device_provider_class_add_metadata(
4936 klass: *mut GstDeviceProviderClass,
4937 key: *const c_char,
4938 value: *const c_char,
4939 );
4940 pub fn gst_device_provider_class_add_static_metadata(
4941 klass: *mut GstDeviceProviderClass,
4942 key: *const c_char,
4943 value: *const c_char,
4944 );
4945 pub fn gst_device_provider_class_get_metadata(
4946 klass: *mut GstDeviceProviderClass,
4947 key: *const c_char,
4948 ) -> *const c_char;
4949 pub fn gst_device_provider_class_set_metadata(
4950 klass: *mut GstDeviceProviderClass,
4951 longname: *const c_char,
4952 classification: *const c_char,
4953 description: *const c_char,
4954 author: *const c_char,
4955 );
4956 pub fn gst_device_provider_class_set_static_metadata(
4957 klass: *mut GstDeviceProviderClass,
4958 longname: *const c_char,
4959 classification: *const c_char,
4960 description: *const c_char,
4961 author: *const c_char,
4962 );
4963
4964 //=========================================================================
4965 // GstElementClass
4966 //=========================================================================
4967 pub fn gst_element_class_add_metadata(
4968 klass: *mut GstElementClass,
4969 key: *const c_char,
4970 value: *const c_char,
4971 );
4972 pub fn gst_element_class_add_pad_template(
4973 klass: *mut GstElementClass,
4974 templ: *mut GstPadTemplate,
4975 );
4976 pub fn gst_element_class_add_static_metadata(
4977 klass: *mut GstElementClass,
4978 key: *const c_char,
4979 value: *const c_char,
4980 );
4981 pub fn gst_element_class_add_static_pad_template(
4982 klass: *mut GstElementClass,
4983 static_templ: *mut GstStaticPadTemplate,
4984 );
4985 pub fn gst_element_class_add_static_pad_template_with_gtype(
4986 klass: *mut GstElementClass,
4987 static_templ: *mut GstStaticPadTemplate,
4988 pad_type: GType,
4989 );
4990 pub fn gst_element_class_get_metadata(
4991 klass: *mut GstElementClass,
4992 key: *const c_char,
4993 ) -> *const c_char;
4994 pub fn gst_element_class_get_pad_template(
4995 element_class: *mut GstElementClass,
4996 name: *const c_char,
4997 ) -> *mut GstPadTemplate;
4998 pub fn gst_element_class_get_pad_template_list(
4999 element_class: *mut GstElementClass,
5000 ) -> *mut glib::GList;
5001 pub fn gst_element_class_set_metadata(
5002 klass: *mut GstElementClass,
5003 longname: *const c_char,
5004 classification: *const c_char,
5005 description: *const c_char,
5006 author: *const c_char,
5007 );
5008 pub fn gst_element_class_set_static_metadata(
5009 klass: *mut GstElementClass,
5010 longname: *const c_char,
5011 classification: *const c_char,
5012 description: *const c_char,
5013 author: *const c_char,
5014 );
5015
5016 //=========================================================================
5017 // GstEvent
5018 //=========================================================================
5019 pub fn gst_event_get_type() -> GType;
5020 pub fn gst_event_new_buffer_size(
5021 format: GstFormat,
5022 minsize: i64,
5023 maxsize: i64,
5024 async_: gboolean,
5025 ) -> *mut GstEvent;
5026 pub fn gst_event_new_caps(caps: *mut GstCaps) -> *mut GstEvent;
5027 pub fn gst_event_new_custom(type_: GstEventType, structure: *mut GstStructure)
5028 -> *mut GstEvent;
5029 pub fn gst_event_new_eos() -> *mut GstEvent;
5030 pub fn gst_event_new_flush_start() -> *mut GstEvent;
5031 pub fn gst_event_new_flush_stop(reset_time: gboolean) -> *mut GstEvent;
5032 pub fn gst_event_new_gap(timestamp: GstClockTime, duration: GstClockTime) -> *mut GstEvent;
5033 #[cfg(feature = "v1_18")]
5034 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5035 pub fn gst_event_new_instant_rate_change(
5036 rate_multiplier: c_double,
5037 new_flags: GstSegmentFlags,
5038 ) -> *mut GstEvent;
5039 #[cfg(feature = "v1_18")]
5040 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5041 pub fn gst_event_new_instant_rate_sync_time(
5042 rate_multiplier: c_double,
5043 running_time: GstClockTime,
5044 upstream_running_time: GstClockTime,
5045 ) -> *mut GstEvent;
5046 pub fn gst_event_new_latency(latency: GstClockTime) -> *mut GstEvent;
5047 pub fn gst_event_new_navigation(structure: *mut GstStructure) -> *mut GstEvent;
5048 pub fn gst_event_new_protection(
5049 system_id: *const c_char,
5050 data: *mut GstBuffer,
5051 origin: *const c_char,
5052 ) -> *mut GstEvent;
5053 pub fn gst_event_new_qos(
5054 type_: GstQOSType,
5055 proportion: c_double,
5056 diff: GstClockTimeDiff,
5057 timestamp: GstClockTime,
5058 ) -> *mut GstEvent;
5059 pub fn gst_event_new_reconfigure() -> *mut GstEvent;
5060 pub fn gst_event_new_seek(
5061 rate: c_double,
5062 format: GstFormat,
5063 flags: GstSeekFlags,
5064 start_type: GstSeekType,
5065 start: i64,
5066 stop_type: GstSeekType,
5067 stop: i64,
5068 ) -> *mut GstEvent;
5069 pub fn gst_event_new_segment(segment: *const GstSegment) -> *mut GstEvent;
5070 pub fn gst_event_new_segment_done(format: GstFormat, position: i64) -> *mut GstEvent;
5071 pub fn gst_event_new_select_streams(streams: *mut glib::GList) -> *mut GstEvent;
5072 pub fn gst_event_new_sink_message(name: *const c_char, msg: *mut GstMessage) -> *mut GstEvent;
5073 pub fn gst_event_new_step(
5074 format: GstFormat,
5075 amount: u64,
5076 rate: c_double,
5077 flush: gboolean,
5078 intermediate: gboolean,
5079 ) -> *mut GstEvent;
5080 pub fn gst_event_new_stream_collection(collection: *mut GstStreamCollection) -> *mut GstEvent;
5081 pub fn gst_event_new_stream_group_done(group_id: c_uint) -> *mut GstEvent;
5082 pub fn gst_event_new_stream_start(stream_id: *const c_char) -> *mut GstEvent;
5083 pub fn gst_event_new_tag(taglist: *mut GstTagList) -> *mut GstEvent;
5084 pub fn gst_event_new_toc(toc: *mut GstToc, updated: gboolean) -> *mut GstEvent;
5085 pub fn gst_event_new_toc_select(uid: *const c_char) -> *mut GstEvent;
5086 #[cfg(feature = "v1_18_3")]
5087 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5088 pub fn gst_event_copy(event: *const GstEvent) -> *mut GstEvent;
5089 pub fn gst_event_copy_segment(event: *mut GstEvent, segment: *mut GstSegment);
5090 pub fn gst_event_get_running_time_offset(event: *mut GstEvent) -> i64;
5091 pub fn gst_event_get_seqnum(event: *mut GstEvent) -> u32;
5092 pub fn gst_event_get_structure(event: *mut GstEvent) -> *const GstStructure;
5093 pub fn gst_event_has_name(event: *mut GstEvent, name: *const c_char) -> gboolean;
5094 #[cfg(feature = "v1_18")]
5095 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5096 pub fn gst_event_has_name_id(event: *mut GstEvent, name: glib::GQuark) -> gboolean;
5097 pub fn gst_event_parse_buffer_size(
5098 event: *mut GstEvent,
5099 format: *mut GstFormat,
5100 minsize: *mut i64,
5101 maxsize: *mut i64,
5102 async_: *mut gboolean,
5103 );
5104 pub fn gst_event_parse_caps(event: *mut GstEvent, caps: *mut *mut GstCaps);
5105 pub fn gst_event_parse_flush_stop(event: *mut GstEvent, reset_time: *mut gboolean);
5106 pub fn gst_event_parse_gap(
5107 event: *mut GstEvent,
5108 timestamp: *mut GstClockTime,
5109 duration: *mut GstClockTime,
5110 );
5111 #[cfg(feature = "v1_20")]
5112 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5113 pub fn gst_event_parse_gap_flags(event: *mut GstEvent, flags: *mut GstGapFlags);
5114 pub fn gst_event_parse_group_id(event: *mut GstEvent, group_id: *mut c_uint) -> gboolean;
5115 #[cfg(feature = "v1_18")]
5116 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5117 pub fn gst_event_parse_instant_rate_change(
5118 event: *mut GstEvent,
5119 rate_multiplier: *mut c_double,
5120 new_flags: *mut GstSegmentFlags,
5121 );
5122 #[cfg(feature = "v1_18")]
5123 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5124 pub fn gst_event_parse_instant_rate_sync_time(
5125 event: *mut GstEvent,
5126 rate_multiplier: *mut c_double,
5127 running_time: *mut GstClockTime,
5128 upstream_running_time: *mut GstClockTime,
5129 );
5130 pub fn gst_event_parse_latency(event: *mut GstEvent, latency: *mut GstClockTime);
5131 pub fn gst_event_parse_protection(
5132 event: *mut GstEvent,
5133 system_id: *mut *const c_char,
5134 data: *mut *mut GstBuffer,
5135 origin: *mut *const c_char,
5136 );
5137 pub fn gst_event_parse_qos(
5138 event: *mut GstEvent,
5139 type_: *mut GstQOSType,
5140 proportion: *mut c_double,
5141 diff: *mut GstClockTimeDiff,
5142 timestamp: *mut GstClockTime,
5143 );
5144 pub fn gst_event_parse_seek(
5145 event: *mut GstEvent,
5146 rate: *mut c_double,
5147 format: *mut GstFormat,
5148 flags: *mut GstSeekFlags,
5149 start_type: *mut GstSeekType,
5150 start: *mut i64,
5151 stop_type: *mut GstSeekType,
5152 stop: *mut i64,
5153 );
5154 #[cfg(feature = "v1_16")]
5155 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5156 pub fn gst_event_parse_seek_trickmode_interval(
5157 event: *mut GstEvent,
5158 interval: *mut GstClockTime,
5159 );
5160 pub fn gst_event_parse_segment(event: *mut GstEvent, segment: *mut *const GstSegment);
5161 pub fn gst_event_parse_segment_done(
5162 event: *mut GstEvent,
5163 format: *mut GstFormat,
5164 position: *mut i64,
5165 );
5166 pub fn gst_event_parse_select_streams(event: *mut GstEvent, streams: *mut *mut glib::GList);
5167 pub fn gst_event_parse_sink_message(event: *mut GstEvent, msg: *mut *mut GstMessage);
5168 pub fn gst_event_parse_step(
5169 event: *mut GstEvent,
5170 format: *mut GstFormat,
5171 amount: *mut u64,
5172 rate: *mut c_double,
5173 flush: *mut gboolean,
5174 intermediate: *mut gboolean,
5175 );
5176 pub fn gst_event_parse_stream(event: *mut GstEvent, stream: *mut *mut GstStream);
5177 pub fn gst_event_parse_stream_collection(
5178 event: *mut GstEvent,
5179 collection: *mut *mut GstStreamCollection,
5180 );
5181 pub fn gst_event_parse_stream_flags(event: *mut GstEvent, flags: *mut GstStreamFlags);
5182 pub fn gst_event_parse_stream_group_done(event: *mut GstEvent, group_id: *mut c_uint);
5183 pub fn gst_event_parse_stream_start(event: *mut GstEvent, stream_id: *mut *const c_char);
5184 pub fn gst_event_parse_tag(event: *mut GstEvent, taglist: *mut *mut GstTagList);
5185 pub fn gst_event_parse_toc(event: *mut GstEvent, toc: *mut *mut GstToc, updated: *mut gboolean);
5186 pub fn gst_event_parse_toc_select(event: *mut GstEvent, uid: *mut *mut c_char);
5187 #[cfg(feature = "v1_18_3")]
5188 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5189 pub fn gst_event_ref(event: *mut GstEvent) -> *mut GstEvent;
5190 #[cfg(feature = "v1_20")]
5191 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5192 pub fn gst_event_set_gap_flags(event: *mut GstEvent, flags: GstGapFlags);
5193 pub fn gst_event_set_group_id(event: *mut GstEvent, group_id: c_uint);
5194 pub fn gst_event_set_running_time_offset(event: *mut GstEvent, offset: i64);
5195 #[cfg(feature = "v1_16")]
5196 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5197 pub fn gst_event_set_seek_trickmode_interval(event: *mut GstEvent, interval: GstClockTime);
5198 pub fn gst_event_set_seqnum(event: *mut GstEvent, seqnum: u32);
5199 pub fn gst_event_set_stream(event: *mut GstEvent, stream: *mut GstStream);
5200 pub fn gst_event_set_stream_flags(event: *mut GstEvent, flags: GstStreamFlags);
5201 #[cfg(feature = "v1_18_3")]
5202 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5203 pub fn gst_event_unref(event: *mut GstEvent);
5204 pub fn gst_event_writable_structure(event: *mut GstEvent) -> *mut GstStructure;
5205 #[cfg(feature = "v1_18_3")]
5206 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5207 pub fn gst_event_replace(old_event: *mut *mut GstEvent, new_event: *mut GstEvent) -> gboolean;
5208 #[cfg(feature = "v1_18_3")]
5209 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5210 pub fn gst_event_steal(old_event: *mut *mut GstEvent) -> *mut GstEvent;
5211 #[cfg(feature = "v1_18_3")]
5212 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5213 pub fn gst_event_take(old_event: *mut *mut GstEvent, new_event: *mut GstEvent) -> gboolean;
5214
5215 //=========================================================================
5216 // GstIterator
5217 //=========================================================================
5218 pub fn gst_iterator_get_type() -> GType;
5219 pub fn gst_iterator_new(
5220 size: c_uint,
5221 type_: GType,
5222 lock: *mut glib::GMutex,
5223 master_cookie: *mut u32,
5224 copy: GstIteratorCopyFunction,
5225 next: GstIteratorNextFunction,
5226 item: GstIteratorItemFunction,
5227 resync: GstIteratorResyncFunction,
5228 free: GstIteratorFreeFunction,
5229 ) -> *mut GstIterator;
5230 pub fn gst_iterator_new_list(
5231 type_: GType,
5232 lock: *mut glib::GMutex,
5233 master_cookie: *mut u32,
5234 list: *mut *mut glib::GList,
5235 owner: *mut gobject::GObject,
5236 item: GstIteratorItemFunction,
5237 ) -> *mut GstIterator;
5238 pub fn gst_iterator_new_single(
5239 type_: GType,
5240 object: *const gobject::GValue,
5241 ) -> *mut GstIterator;
5242 pub fn gst_iterator_copy(it: *const GstIterator) -> *mut GstIterator;
5243 pub fn gst_iterator_filter(
5244 it: *mut GstIterator,
5245 func: glib::GCompareFunc,
5246 user_data: *const gobject::GValue,
5247 ) -> *mut GstIterator;
5248 pub fn gst_iterator_find_custom(
5249 it: *mut GstIterator,
5250 func: glib::GCompareFunc,
5251 elem: *mut gobject::GValue,
5252 user_data: gpointer,
5253 ) -> gboolean;
5254 pub fn gst_iterator_fold(
5255 it: *mut GstIterator,
5256 func: GstIteratorFoldFunction,
5257 ret: *mut gobject::GValue,
5258 user_data: gpointer,
5259 ) -> GstIteratorResult;
5260 pub fn gst_iterator_foreach(
5261 it: *mut GstIterator,
5262 func: GstIteratorForeachFunction,
5263 user_data: gpointer,
5264 ) -> GstIteratorResult;
5265 pub fn gst_iterator_free(it: *mut GstIterator);
5266 pub fn gst_iterator_next(it: *mut GstIterator, elem: *mut gobject::GValue)
5267 -> GstIteratorResult;
5268 pub fn gst_iterator_push(it: *mut GstIterator, other: *mut GstIterator);
5269 pub fn gst_iterator_resync(it: *mut GstIterator);
5270
5271 //=========================================================================
5272 // GstMemory
5273 //=========================================================================
5274 pub fn gst_memory_get_type() -> GType;
5275 pub fn gst_memory_new_wrapped(
5276 flags: GstMemoryFlags,
5277 data: gpointer,
5278 maxsize: size_t,
5279 offset: size_t,
5280 size: size_t,
5281 user_data: gpointer,
5282 notify: glib::GDestroyNotify,
5283 ) -> *mut GstMemory;
5284 pub fn gst_memory_copy(mem: *mut GstMemory, offset: ssize_t, size: ssize_t) -> *mut GstMemory;
5285 pub fn gst_memory_get_sizes(
5286 mem: *mut GstMemory,
5287 offset: *mut size_t,
5288 maxsize: *mut size_t,
5289 ) -> size_t;
5290 pub fn gst_memory_init(
5291 mem: *mut GstMemory,
5292 flags: GstMemoryFlags,
5293 allocator: *mut GstAllocator,
5294 parent: *mut GstMemory,
5295 maxsize: size_t,
5296 align: size_t,
5297 offset: size_t,
5298 size: size_t,
5299 );
5300 pub fn gst_memory_is_span(
5301 mem1: *mut GstMemory,
5302 mem2: *mut GstMemory,
5303 offset: *mut size_t,
5304 ) -> gboolean;
5305 pub fn gst_memory_is_type(mem: *mut GstMemory, mem_type: *const c_char) -> gboolean;
5306 pub fn gst_memory_make_mapped(
5307 mem: *mut GstMemory,
5308 info: *mut GstMapInfo,
5309 flags: GstMapFlags,
5310 ) -> *mut GstMemory;
5311 pub fn gst_memory_map(
5312 mem: *mut GstMemory,
5313 info: *mut GstMapInfo,
5314 flags: GstMapFlags,
5315 ) -> gboolean;
5316 #[cfg(feature = "v1_18_3")]
5317 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5318 pub fn gst_memory_ref(memory: *mut GstMemory) -> *mut GstMemory;
5319 pub fn gst_memory_resize(mem: *mut GstMemory, offset: ssize_t, size: size_t);
5320 pub fn gst_memory_share(mem: *mut GstMemory, offset: ssize_t, size: ssize_t) -> *mut GstMemory;
5321 pub fn gst_memory_unmap(mem: *mut GstMemory, info: *mut GstMapInfo);
5322 #[cfg(feature = "v1_18_3")]
5323 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5324 pub fn gst_memory_unref(memory: *mut GstMemory);
5325
5326 //=========================================================================
5327 // GstMessage
5328 //=========================================================================
5329 pub fn gst_message_get_type() -> GType;
5330 pub fn gst_message_new_application(
5331 src: *mut GstObject,
5332 structure: *mut GstStructure,
5333 ) -> *mut GstMessage;
5334 pub fn gst_message_new_async_done(
5335 src: *mut GstObject,
5336 running_time: GstClockTime,
5337 ) -> *mut GstMessage;
5338 pub fn gst_message_new_async_start(src: *mut GstObject) -> *mut GstMessage;
5339 pub fn gst_message_new_buffering(src: *mut GstObject, percent: c_int) -> *mut GstMessage;
5340 pub fn gst_message_new_clock_lost(src: *mut GstObject, clock: *mut GstClock)
5341 -> *mut GstMessage;
5342 pub fn gst_message_new_clock_provide(
5343 src: *mut GstObject,
5344 clock: *mut GstClock,
5345 ready: gboolean,
5346 ) -> *mut GstMessage;
5347 pub fn gst_message_new_custom(
5348 type_: GstMessageType,
5349 src: *mut GstObject,
5350 structure: *mut GstStructure,
5351 ) -> *mut GstMessage;
5352 pub fn gst_message_new_device_added(
5353 src: *mut GstObject,
5354 device: *mut GstDevice,
5355 ) -> *mut GstMessage;
5356 #[cfg(feature = "v1_16")]
5357 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5358 pub fn gst_message_new_device_changed(
5359 src: *mut GstObject,
5360 device: *mut GstDevice,
5361 changed_device: *mut GstDevice,
5362 ) -> *mut GstMessage;
5363 pub fn gst_message_new_device_removed(
5364 src: *mut GstObject,
5365 device: *mut GstDevice,
5366 ) -> *mut GstMessage;
5367 pub fn gst_message_new_duration_changed(src: *mut GstObject) -> *mut GstMessage;
5368 pub fn gst_message_new_element(
5369 src: *mut GstObject,
5370 structure: *mut GstStructure,
5371 ) -> *mut GstMessage;
5372 pub fn gst_message_new_eos(src: *mut GstObject) -> *mut GstMessage;
5373 pub fn gst_message_new_error(
5374 src: *mut GstObject,
5375 error: *mut glib::GError,
5376 debug: *const c_char,
5377 ) -> *mut GstMessage;
5378 pub fn gst_message_new_error_with_details(
5379 src: *mut GstObject,
5380 error: *mut glib::GError,
5381 debug: *const c_char,
5382 details: *mut GstStructure,
5383 ) -> *mut GstMessage;
5384 pub fn gst_message_new_have_context(
5385 src: *mut GstObject,
5386 context: *mut GstContext,
5387 ) -> *mut GstMessage;
5388 pub fn gst_message_new_info(
5389 src: *mut GstObject,
5390 error: *mut glib::GError,
5391 debug: *const c_char,
5392 ) -> *mut GstMessage;
5393 pub fn gst_message_new_info_with_details(
5394 src: *mut GstObject,
5395 error: *mut glib::GError,
5396 debug: *const c_char,
5397 details: *mut GstStructure,
5398 ) -> *mut GstMessage;
5399 #[cfg(feature = "v1_18")]
5400 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5401 pub fn gst_message_new_instant_rate_request(
5402 src: *mut GstObject,
5403 rate_multiplier: c_double,
5404 ) -> *mut GstMessage;
5405 pub fn gst_message_new_latency(src: *mut GstObject) -> *mut GstMessage;
5406 pub fn gst_message_new_need_context(
5407 src: *mut GstObject,
5408 context_type: *const c_char,
5409 ) -> *mut GstMessage;
5410 pub fn gst_message_new_new_clock(src: *mut GstObject, clock: *mut GstClock) -> *mut GstMessage;
5411 pub fn gst_message_new_progress(
5412 src: *mut GstObject,
5413 type_: GstProgressType,
5414 code: *const c_char,
5415 text: *const c_char,
5416 ) -> *mut GstMessage;
5417 pub fn gst_message_new_property_notify(
5418 src: *mut GstObject,
5419 property_name: *const c_char,
5420 val: *mut gobject::GValue,
5421 ) -> *mut GstMessage;
5422 pub fn gst_message_new_qos(
5423 src: *mut GstObject,
5424 live: gboolean,
5425 running_time: u64,
5426 stream_time: u64,
5427 timestamp: u64,
5428 duration: u64,
5429 ) -> *mut GstMessage;
5430 pub fn gst_message_new_redirect(
5431 src: *mut GstObject,
5432 location: *const c_char,
5433 tag_list: *mut GstTagList,
5434 entry_struct: *const GstStructure,
5435 ) -> *mut GstMessage;
5436 pub fn gst_message_new_request_state(src: *mut GstObject, state: GstState) -> *mut GstMessage;
5437 pub fn gst_message_new_reset_time(
5438 src: *mut GstObject,
5439 running_time: GstClockTime,
5440 ) -> *mut GstMessage;
5441 pub fn gst_message_new_segment_done(
5442 src: *mut GstObject,
5443 format: GstFormat,
5444 position: i64,
5445 ) -> *mut GstMessage;
5446 pub fn gst_message_new_segment_start(
5447 src: *mut GstObject,
5448 format: GstFormat,
5449 position: i64,
5450 ) -> *mut GstMessage;
5451 pub fn gst_message_new_state_changed(
5452 src: *mut GstObject,
5453 oldstate: GstState,
5454 newstate: GstState,
5455 pending: GstState,
5456 ) -> *mut GstMessage;
5457 pub fn gst_message_new_state_dirty(src: *mut GstObject) -> *mut GstMessage;
5458 pub fn gst_message_new_step_done(
5459 src: *mut GstObject,
5460 format: GstFormat,
5461 amount: u64,
5462 rate: c_double,
5463 flush: gboolean,
5464 intermediate: gboolean,
5465 duration: u64,
5466 eos: gboolean,
5467 ) -> *mut GstMessage;
5468 pub fn gst_message_new_step_start(
5469 src: *mut GstObject,
5470 active: gboolean,
5471 format: GstFormat,
5472 amount: u64,
5473 rate: c_double,
5474 flush: gboolean,
5475 intermediate: gboolean,
5476 ) -> *mut GstMessage;
5477 pub fn gst_message_new_stream_collection(
5478 src: *mut GstObject,
5479 collection: *mut GstStreamCollection,
5480 ) -> *mut GstMessage;
5481 pub fn gst_message_new_stream_start(src: *mut GstObject) -> *mut GstMessage;
5482 pub fn gst_message_new_stream_status(
5483 src: *mut GstObject,
5484 type_: GstStreamStatusType,
5485 owner: *mut GstElement,
5486 ) -> *mut GstMessage;
5487 pub fn gst_message_new_streams_selected(
5488 src: *mut GstObject,
5489 collection: *mut GstStreamCollection,
5490 ) -> *mut GstMessage;
5491 pub fn gst_message_new_structure_change(
5492 src: *mut GstObject,
5493 type_: GstStructureChangeType,
5494 owner: *mut GstElement,
5495 busy: gboolean,
5496 ) -> *mut GstMessage;
5497 pub fn gst_message_new_tag(src: *mut GstObject, tag_list: *mut GstTagList) -> *mut GstMessage;
5498 pub fn gst_message_new_toc(
5499 src: *mut GstObject,
5500 toc: *mut GstToc,
5501 updated: gboolean,
5502 ) -> *mut GstMessage;
5503 pub fn gst_message_new_warning(
5504 src: *mut GstObject,
5505 error: *mut glib::GError,
5506 debug: *const c_char,
5507 ) -> *mut GstMessage;
5508 pub fn gst_message_new_warning_with_details(
5509 src: *mut GstObject,
5510 error: *mut glib::GError,
5511 debug: *const c_char,
5512 details: *mut GstStructure,
5513 ) -> *mut GstMessage;
5514 pub fn gst_message_add_redirect_entry(
5515 message: *mut GstMessage,
5516 location: *const c_char,
5517 tag_list: *mut GstTagList,
5518 entry_struct: *const GstStructure,
5519 );
5520 #[cfg(feature = "v1_18_3")]
5521 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5522 pub fn gst_message_copy(msg: *const GstMessage) -> *mut GstMessage;
5523 pub fn gst_message_get_num_redirect_entries(message: *mut GstMessage) -> size_t;
5524 pub fn gst_message_get_seqnum(message: *mut GstMessage) -> u32;
5525 pub fn gst_message_get_stream_status_object(message: *mut GstMessage)
5526 -> *const gobject::GValue;
5527 pub fn gst_message_get_structure(message: *mut GstMessage) -> *const GstStructure;
5528 pub fn gst_message_has_name(message: *mut GstMessage, name: *const c_char) -> gboolean;
5529 pub fn gst_message_parse_async_done(message: *mut GstMessage, running_time: *mut GstClockTime);
5530 pub fn gst_message_parse_buffering(message: *mut GstMessage, percent: *mut c_int);
5531 pub fn gst_message_parse_buffering_stats(
5532 message: *mut GstMessage,
5533 mode: *mut GstBufferingMode,
5534 avg_in: *mut c_int,
5535 avg_out: *mut c_int,
5536 buffering_left: *mut i64,
5537 );
5538 pub fn gst_message_parse_clock_lost(message: *mut GstMessage, clock: *mut *mut GstClock);
5539 pub fn gst_message_parse_clock_provide(
5540 message: *mut GstMessage,
5541 clock: *mut *mut GstClock,
5542 ready: *mut gboolean,
5543 );
5544 pub fn gst_message_parse_context_type(
5545 message: *mut GstMessage,
5546 context_type: *mut *const c_char,
5547 ) -> gboolean;
5548 pub fn gst_message_parse_device_added(message: *mut GstMessage, device: *mut *mut GstDevice);
5549 #[cfg(feature = "v1_16")]
5550 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5551 pub fn gst_message_parse_device_changed(
5552 message: *mut GstMessage,
5553 device: *mut *mut GstDevice,
5554 changed_device: *mut *mut GstDevice,
5555 );
5556 pub fn gst_message_parse_device_removed(message: *mut GstMessage, device: *mut *mut GstDevice);
5557 pub fn gst_message_parse_error(
5558 message: *mut GstMessage,
5559 gerror: *mut *mut glib::GError,
5560 debug: *mut *mut c_char,
5561 );
5562 pub fn gst_message_parse_error_details(
5563 message: *mut GstMessage,
5564 structure: *mut *const GstStructure,
5565 );
5566 pub fn gst_message_parse_group_id(message: *mut GstMessage, group_id: *mut c_uint) -> gboolean;
5567 pub fn gst_message_parse_have_context(message: *mut GstMessage, context: *mut *mut GstContext);
5568 pub fn gst_message_parse_info(
5569 message: *mut GstMessage,
5570 gerror: *mut *mut glib::GError,
5571 debug: *mut *mut c_char,
5572 );
5573 pub fn gst_message_parse_info_details(
5574 message: *mut GstMessage,
5575 structure: *mut *const GstStructure,
5576 );
5577 #[cfg(feature = "v1_18")]
5578 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
5579 pub fn gst_message_parse_instant_rate_request(
5580 message: *mut GstMessage,
5581 rate_multiplier: *mut c_double,
5582 );
5583 pub fn gst_message_parse_new_clock(message: *mut GstMessage, clock: *mut *mut GstClock);
5584 pub fn gst_message_parse_progress(
5585 message: *mut GstMessage,
5586 type_: *mut GstProgressType,
5587 code: *mut *mut c_char,
5588 text: *mut *mut c_char,
5589 );
5590 pub fn gst_message_parse_property_notify(
5591 message: *mut GstMessage,
5592 object: *mut *mut GstObject,
5593 property_name: *mut *const c_char,
5594 property_value: *mut *const gobject::GValue,
5595 );
5596 pub fn gst_message_parse_qos(
5597 message: *mut GstMessage,
5598 live: *mut gboolean,
5599 running_time: *mut u64,
5600 stream_time: *mut u64,
5601 timestamp: *mut u64,
5602 duration: *mut u64,
5603 );
5604 pub fn gst_message_parse_qos_stats(
5605 message: *mut GstMessage,
5606 format: *mut GstFormat,
5607 processed: *mut u64,
5608 dropped: *mut u64,
5609 );
5610 pub fn gst_message_parse_qos_values(
5611 message: *mut GstMessage,
5612 jitter: *mut i64,
5613 proportion: *mut c_double,
5614 quality: *mut c_int,
5615 );
5616 pub fn gst_message_parse_redirect_entry(
5617 message: *mut GstMessage,
5618 entry_index: size_t,
5619 location: *mut *const c_char,
5620 tag_list: *mut *mut GstTagList,
5621 entry_struct: *mut *const GstStructure,
5622 );
5623 pub fn gst_message_parse_request_state(message: *mut GstMessage, state: *mut GstState);
5624 pub fn gst_message_parse_reset_time(message: *mut GstMessage, running_time: *mut GstClockTime);
5625 pub fn gst_message_parse_segment_done(
5626 message: *mut GstMessage,
5627 format: *mut GstFormat,
5628 position: *mut i64,
5629 );
5630 pub fn gst_message_parse_segment_start(
5631 message: *mut GstMessage,
5632 format: *mut GstFormat,
5633 position: *mut i64,
5634 );
5635 pub fn gst_message_parse_state_changed(
5636 message: *mut GstMessage,
5637 oldstate: *mut GstState,
5638 newstate: *mut GstState,
5639 pending: *mut GstState,
5640 );
5641 pub fn gst_message_parse_step_done(
5642 message: *mut GstMessage,
5643 format: *mut GstFormat,
5644 amount: *mut u64,
5645 rate: *mut c_double,
5646 flush: *mut gboolean,
5647 intermediate: *mut gboolean,
5648 duration: *mut u64,
5649 eos: *mut gboolean,
5650 );
5651 pub fn gst_message_parse_step_start(
5652 message: *mut GstMessage,
5653 active: *mut gboolean,
5654 format: *mut GstFormat,
5655 amount: *mut u64,
5656 rate: *mut c_double,
5657 flush: *mut gboolean,
5658 intermediate: *mut gboolean,
5659 );
5660 pub fn gst_message_parse_stream_collection(
5661 message: *mut GstMessage,
5662 collection: *mut *mut GstStreamCollection,
5663 );
5664 pub fn gst_message_parse_stream_status(
5665 message: *mut GstMessage,
5666 type_: *mut GstStreamStatusType,
5667 owner: *mut *mut GstElement,
5668 );
5669 pub fn gst_message_parse_streams_selected(
5670 message: *mut GstMessage,
5671 collection: *mut *mut GstStreamCollection,
5672 );
5673 pub fn gst_message_parse_structure_change(
5674 message: *mut GstMessage,
5675 type_: *mut GstStructureChangeType,
5676 owner: *mut *mut GstElement,
5677 busy: *mut gboolean,
5678 );
5679 pub fn gst_message_parse_tag(message: *mut GstMessage, tag_list: *mut *mut GstTagList);
5680 pub fn gst_message_parse_toc(
5681 message: *mut GstMessage,
5682 toc: *mut *mut GstToc,
5683 updated: *mut gboolean,
5684 );
5685 pub fn gst_message_parse_warning(
5686 message: *mut GstMessage,
5687 gerror: *mut *mut glib::GError,
5688 debug: *mut *mut c_char,
5689 );
5690 pub fn gst_message_parse_warning_details(
5691 message: *mut GstMessage,
5692 structure: *mut *const GstStructure,
5693 );
5694 #[cfg(feature = "v1_18_3")]
5695 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5696 pub fn gst_message_ref(msg: *mut GstMessage) -> *mut GstMessage;
5697 pub fn gst_message_set_buffering_stats(
5698 message: *mut GstMessage,
5699 mode: GstBufferingMode,
5700 avg_in: c_int,
5701 avg_out: c_int,
5702 buffering_left: i64,
5703 );
5704 pub fn gst_message_set_group_id(message: *mut GstMessage, group_id: c_uint);
5705 pub fn gst_message_set_qos_stats(
5706 message: *mut GstMessage,
5707 format: GstFormat,
5708 processed: u64,
5709 dropped: u64,
5710 );
5711 pub fn gst_message_set_qos_values(
5712 message: *mut GstMessage,
5713 jitter: i64,
5714 proportion: c_double,
5715 quality: c_int,
5716 );
5717 pub fn gst_message_set_seqnum(message: *mut GstMessage, seqnum: u32);
5718 pub fn gst_message_set_stream_status_object(
5719 message: *mut GstMessage,
5720 object: *const gobject::GValue,
5721 );
5722 pub fn gst_message_streams_selected_add(message: *mut GstMessage, stream: *mut GstStream);
5723 pub fn gst_message_streams_selected_get_size(message: *mut GstMessage) -> c_uint;
5724 pub fn gst_message_streams_selected_get_stream(
5725 message: *mut GstMessage,
5726 idx: c_uint,
5727 ) -> *mut GstStream;
5728 #[cfg(feature = "v1_18_3")]
5729 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5730 pub fn gst_message_unref(msg: *mut GstMessage);
5731 pub fn gst_message_writable_structure(message: *mut GstMessage) -> *mut GstStructure;
5732 #[cfg(feature = "v1_18_3")]
5733 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5734 pub fn gst_message_replace(
5735 old_message: *mut *mut GstMessage,
5736 new_message: *mut GstMessage,
5737 ) -> gboolean;
5738 #[cfg(feature = "v1_18_3")]
5739 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5740 pub fn gst_message_take(
5741 old_message: *mut *mut GstMessage,
5742 new_message: *mut GstMessage,
5743 ) -> gboolean;
5744
5745 //=========================================================================
5746 // GstMeta
5747 //=========================================================================
5748 #[cfg(feature = "v1_16")]
5749 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5750 pub fn gst_meta_compare_seqnum(meta1: *const GstMeta, meta2: *const GstMeta) -> c_int;
5751 #[cfg(feature = "v1_16")]
5752 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5753 pub fn gst_meta_get_seqnum(meta: *const GstMeta) -> u64;
5754 pub fn gst_meta_api_type_get_tags(api: GType) -> *const *const c_char;
5755 pub fn gst_meta_api_type_has_tag(api: GType, tag: glib::GQuark) -> gboolean;
5756 pub fn gst_meta_api_type_register(api: *const c_char, tags: *mut *const c_char) -> GType;
5757 pub fn gst_meta_get_info(impl_: *const c_char) -> *const GstMetaInfo;
5758 pub fn gst_meta_register(
5759 api: GType,
5760 impl_: *const c_char,
5761 size: size_t,
5762 init_func: GstMetaInitFunction,
5763 free_func: GstMetaFreeFunction,
5764 transform_func: GstMetaTransformFunction,
5765 ) -> *const GstMetaInfo;
5766 #[cfg(feature = "v1_20")]
5767 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5768 pub fn gst_meta_register_custom(
5769 name: *const c_char,
5770 tags: *mut *const c_char,
5771 transform_func: GstCustomMetaTransformFunction,
5772 user_data: gpointer,
5773 destroy_data: glib::GDestroyNotify,
5774 ) -> *const GstMetaInfo;
5775 #[cfg(feature = "v1_24")]
5776 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
5777 pub fn gst_meta_register_custom_simple(name: *const c_char) -> *const GstMetaInfo;
5778
5779 //=========================================================================
5780 // GstMetaInfo
5781 //=========================================================================
5782 #[cfg(feature = "v1_20")]
5783 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5784 pub fn gst_meta_info_is_custom(info: *const GstMetaInfo) -> gboolean;
5785
5786 //=========================================================================
5787 // GstMiniObject
5788 //=========================================================================
5789 #[cfg(feature = "v1_20")]
5790 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
5791 pub fn gst_mini_object_get_type() -> GType;
5792 #[cfg(feature = "v1_16")]
5793 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5794 pub fn gst_mini_object_add_parent(object: *mut GstMiniObject, parent: *mut GstMiniObject);
5795 pub fn gst_mini_object_copy(mini_object: *const GstMiniObject) -> *mut GstMiniObject;
5796 pub fn gst_mini_object_get_qdata(object: *mut GstMiniObject, quark: glib::GQuark) -> gpointer;
5797 pub fn gst_mini_object_init(
5798 mini_object: *mut GstMiniObject,
5799 flags: c_uint,
5800 type_: GType,
5801 copy_func: GstMiniObjectCopyFunction,
5802 dispose_func: GstMiniObjectDisposeFunction,
5803 free_func: GstMiniObjectFreeFunction,
5804 );
5805 pub fn gst_mini_object_is_writable(mini_object: *const GstMiniObject) -> gboolean;
5806 pub fn gst_mini_object_lock(object: *mut GstMiniObject, flags: GstLockFlags) -> gboolean;
5807 pub fn gst_mini_object_make_writable(mini_object: *mut GstMiniObject) -> *mut GstMiniObject;
5808 pub fn gst_mini_object_ref(mini_object: *mut GstMiniObject) -> *mut GstMiniObject;
5809 #[cfg(feature = "v1_16")]
5810 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5811 pub fn gst_mini_object_remove_parent(object: *mut GstMiniObject, parent: *mut GstMiniObject);
5812 pub fn gst_mini_object_set_qdata(
5813 object: *mut GstMiniObject,
5814 quark: glib::GQuark,
5815 data: gpointer,
5816 destroy: glib::GDestroyNotify,
5817 );
5818 pub fn gst_mini_object_steal_qdata(object: *mut GstMiniObject, quark: glib::GQuark)
5819 -> gpointer;
5820 pub fn gst_mini_object_unlock(object: *mut GstMiniObject, flags: GstLockFlags);
5821 pub fn gst_mini_object_unref(mini_object: *mut GstMiniObject);
5822 pub fn gst_mini_object_weak_ref(
5823 object: *mut GstMiniObject,
5824 notify: GstMiniObjectNotify,
5825 data: gpointer,
5826 );
5827 pub fn gst_mini_object_weak_unref(
5828 object: *mut GstMiniObject,
5829 notify: GstMiniObjectNotify,
5830 data: gpointer,
5831 );
5832 pub fn gst_mini_object_replace(
5833 olddata: *mut *mut GstMiniObject,
5834 newdata: *mut GstMiniObject,
5835 ) -> gboolean;
5836 pub fn gst_mini_object_steal(olddata: *mut *mut GstMiniObject) -> *mut GstMiniObject;
5837 pub fn gst_mini_object_take(
5838 olddata: *mut *mut GstMiniObject,
5839 newdata: *mut GstMiniObject,
5840 ) -> gboolean;
5841
5842 //=========================================================================
5843 // GstPadProbeInfo
5844 //=========================================================================
5845 pub fn gst_pad_probe_info_get_buffer(info: *mut GstPadProbeInfo) -> *mut GstBuffer;
5846 pub fn gst_pad_probe_info_get_buffer_list(info: *mut GstPadProbeInfo) -> *mut GstBufferList;
5847 pub fn gst_pad_probe_info_get_event(info: *mut GstPadProbeInfo) -> *mut GstEvent;
5848 pub fn gst_pad_probe_info_get_query(info: *mut GstPadProbeInfo) -> *mut GstQuery;
5849
5850 //=========================================================================
5851 // GstParentBufferMeta
5852 //=========================================================================
5853 pub fn gst_parent_buffer_meta_get_info() -> *const GstMetaInfo;
5854
5855 //=========================================================================
5856 // GstParseContext
5857 //=========================================================================
5858 pub fn gst_parse_context_get_type() -> GType;
5859 pub fn gst_parse_context_new() -> *mut GstParseContext;
5860 pub fn gst_parse_context_copy(context: *const GstParseContext) -> *mut GstParseContext;
5861 pub fn gst_parse_context_free(context: *mut GstParseContext);
5862 pub fn gst_parse_context_get_missing_elements(
5863 context: *mut GstParseContext,
5864 ) -> *mut *mut c_char;
5865
5866 //=========================================================================
5867 // GstPoll
5868 //=========================================================================
5869 pub fn gst_poll_add_fd(set: *mut GstPoll, fd: *mut GstPollFD) -> gboolean;
5870 pub fn gst_poll_fd_can_read(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
5871 pub fn gst_poll_fd_can_write(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
5872 #[cfg(feature = "v1_16")]
5873 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5874 pub fn gst_poll_fd_ctl_pri(set: *mut GstPoll, fd: *mut GstPollFD, active: gboolean)
5875 -> gboolean;
5876 pub fn gst_poll_fd_ctl_read(
5877 set: *mut GstPoll,
5878 fd: *mut GstPollFD,
5879 active: gboolean,
5880 ) -> gboolean;
5881 pub fn gst_poll_fd_ctl_write(
5882 set: *mut GstPoll,
5883 fd: *mut GstPollFD,
5884 active: gboolean,
5885 ) -> gboolean;
5886 pub fn gst_poll_fd_has_closed(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
5887 pub fn gst_poll_fd_has_error(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
5888 #[cfg(feature = "v1_16")]
5889 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5890 pub fn gst_poll_fd_has_pri(set: *const GstPoll, fd: *mut GstPollFD) -> gboolean;
5891 pub fn gst_poll_fd_ignored(set: *mut GstPoll, fd: *mut GstPollFD);
5892 pub fn gst_poll_free(set: *mut GstPoll);
5893 pub fn gst_poll_get_read_gpollfd(set: *mut GstPoll, fd: *mut glib::GPollFD);
5894 pub fn gst_poll_read_control(set: *mut GstPoll) -> gboolean;
5895 pub fn gst_poll_remove_fd(set: *mut GstPoll, fd: *mut GstPollFD) -> gboolean;
5896 pub fn gst_poll_restart(set: *mut GstPoll);
5897 pub fn gst_poll_set_controllable(set: *mut GstPoll, controllable: gboolean) -> gboolean;
5898 pub fn gst_poll_set_flushing(set: *mut GstPoll, flushing: gboolean);
5899 pub fn gst_poll_wait(set: *mut GstPoll, timeout: GstClockTime) -> c_int;
5900 pub fn gst_poll_write_control(set: *mut GstPoll) -> gboolean;
5901 pub fn gst_poll_new(controllable: gboolean) -> *mut GstPoll;
5902 pub fn gst_poll_new_timer() -> *mut GstPoll;
5903
5904 //=========================================================================
5905 // GstPollFD
5906 //=========================================================================
5907 pub fn gst_poll_fd_init(fd: *mut GstPollFD);
5908
5909 //=========================================================================
5910 // GstPromise
5911 //=========================================================================
5912 pub fn gst_promise_get_type() -> GType;
5913 pub fn gst_promise_new() -> *mut GstPromise;
5914 pub fn gst_promise_new_with_change_func(
5915 func: GstPromiseChangeFunc,
5916 user_data: gpointer,
5917 notify: glib::GDestroyNotify,
5918 ) -> *mut GstPromise;
5919 pub fn gst_promise_expire(promise: *mut GstPromise);
5920 pub fn gst_promise_get_reply(promise: *mut GstPromise) -> *const GstStructure;
5921 pub fn gst_promise_interrupt(promise: *mut GstPromise);
5922 #[cfg(feature = "v1_18_3")]
5923 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5924 pub fn gst_promise_ref(promise: *mut GstPromise) -> *mut GstPromise;
5925 pub fn gst_promise_reply(promise: *mut GstPromise, s: *mut GstStructure);
5926 #[cfg(feature = "v1_18_3")]
5927 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5928 pub fn gst_promise_unref(promise: *mut GstPromise);
5929 pub fn gst_promise_wait(promise: *mut GstPromise) -> GstPromiseResult;
5930
5931 //=========================================================================
5932 // GstProtectionMeta
5933 //=========================================================================
5934 pub fn gst_protection_meta_get_info() -> *const GstMetaInfo;
5935
5936 //=========================================================================
5937 // GstQuery
5938 //=========================================================================
5939 pub fn gst_query_get_type() -> GType;
5940 pub fn gst_query_new_accept_caps(caps: *mut GstCaps) -> *mut GstQuery;
5941 pub fn gst_query_new_allocation(caps: *mut GstCaps, need_pool: gboolean) -> *mut GstQuery;
5942 #[cfg(feature = "v1_16")]
5943 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
5944 pub fn gst_query_new_bitrate() -> *mut GstQuery;
5945 pub fn gst_query_new_buffering(format: GstFormat) -> *mut GstQuery;
5946 pub fn gst_query_new_caps(filter: *mut GstCaps) -> *mut GstQuery;
5947 pub fn gst_query_new_context(context_type: *const c_char) -> *mut GstQuery;
5948 pub fn gst_query_new_convert(
5949 src_format: GstFormat,
5950 value: i64,
5951 dest_format: GstFormat,
5952 ) -> *mut GstQuery;
5953 pub fn gst_query_new_custom(type_: GstQueryType, structure: *mut GstStructure)
5954 -> *mut GstQuery;
5955 pub fn gst_query_new_drain() -> *mut GstQuery;
5956 pub fn gst_query_new_duration(format: GstFormat) -> *mut GstQuery;
5957 pub fn gst_query_new_formats() -> *mut GstQuery;
5958 pub fn gst_query_new_latency() -> *mut GstQuery;
5959 pub fn gst_query_new_position(format: GstFormat) -> *mut GstQuery;
5960 pub fn gst_query_new_scheduling() -> *mut GstQuery;
5961 pub fn gst_query_new_seeking(format: GstFormat) -> *mut GstQuery;
5962 pub fn gst_query_new_segment(format: GstFormat) -> *mut GstQuery;
5963 #[cfg(feature = "v1_22")]
5964 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
5965 pub fn gst_query_new_selectable() -> *mut GstQuery;
5966 pub fn gst_query_new_uri() -> *mut GstQuery;
5967 pub fn gst_query_add_allocation_meta(
5968 query: *mut GstQuery,
5969 api: GType,
5970 params: *const GstStructure,
5971 );
5972 pub fn gst_query_add_allocation_param(
5973 query: *mut GstQuery,
5974 allocator: *mut GstAllocator,
5975 params: *const GstAllocationParams,
5976 );
5977 pub fn gst_query_add_allocation_pool(
5978 query: *mut GstQuery,
5979 pool: *mut GstBufferPool,
5980 size: c_uint,
5981 min_buffers: c_uint,
5982 max_buffers: c_uint,
5983 );
5984 pub fn gst_query_add_buffering_range(query: *mut GstQuery, start: i64, stop: i64) -> gboolean;
5985 pub fn gst_query_add_scheduling_mode(query: *mut GstQuery, mode: GstPadMode);
5986 #[cfg(feature = "v1_18_3")]
5987 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
5988 pub fn gst_query_copy(q: *const GstQuery) -> *mut GstQuery;
5989 pub fn gst_query_find_allocation_meta(
5990 query: *mut GstQuery,
5991 api: GType,
5992 index: *mut c_uint,
5993 ) -> gboolean;
5994 pub fn gst_query_get_n_allocation_metas(query: *mut GstQuery) -> c_uint;
5995 pub fn gst_query_get_n_allocation_params(query: *mut GstQuery) -> c_uint;
5996 pub fn gst_query_get_n_allocation_pools(query: *mut GstQuery) -> c_uint;
5997 pub fn gst_query_get_n_buffering_ranges(query: *mut GstQuery) -> c_uint;
5998 pub fn gst_query_get_n_scheduling_modes(query: *mut GstQuery) -> c_uint;
5999 pub fn gst_query_get_structure(query: *mut GstQuery) -> *const GstStructure;
6000 pub fn gst_query_has_scheduling_mode(query: *mut GstQuery, mode: GstPadMode) -> gboolean;
6001 pub fn gst_query_has_scheduling_mode_with_flags(
6002 query: *mut GstQuery,
6003 mode: GstPadMode,
6004 flags: GstSchedulingFlags,
6005 ) -> gboolean;
6006 pub fn gst_query_parse_accept_caps(query: *mut GstQuery, caps: *mut *mut GstCaps);
6007 pub fn gst_query_parse_accept_caps_result(query: *mut GstQuery, result: *mut gboolean);
6008 pub fn gst_query_parse_allocation(
6009 query: *mut GstQuery,
6010 caps: *mut *mut GstCaps,
6011 need_pool: *mut gboolean,
6012 );
6013 #[cfg(feature = "v1_16")]
6014 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6015 pub fn gst_query_parse_bitrate(query: *mut GstQuery, nominal_bitrate: *mut c_uint);
6016 pub fn gst_query_parse_buffering_percent(
6017 query: *mut GstQuery,
6018 busy: *mut gboolean,
6019 percent: *mut c_int,
6020 );
6021 pub fn gst_query_parse_buffering_range(
6022 query: *mut GstQuery,
6023 format: *mut GstFormat,
6024 start: *mut i64,
6025 stop: *mut i64,
6026 estimated_total: *mut i64,
6027 );
6028 pub fn gst_query_parse_buffering_stats(
6029 query: *mut GstQuery,
6030 mode: *mut GstBufferingMode,
6031 avg_in: *mut c_int,
6032 avg_out: *mut c_int,
6033 buffering_left: *mut i64,
6034 );
6035 pub fn gst_query_parse_caps(query: *mut GstQuery, filter: *mut *mut GstCaps);
6036 pub fn gst_query_parse_caps_result(query: *mut GstQuery, caps: *mut *mut GstCaps);
6037 pub fn gst_query_parse_context(query: *mut GstQuery, context: *mut *mut GstContext);
6038 pub fn gst_query_parse_context_type(
6039 query: *mut GstQuery,
6040 context_type: *mut *const c_char,
6041 ) -> gboolean;
6042 pub fn gst_query_parse_convert(
6043 query: *mut GstQuery,
6044 src_format: *mut GstFormat,
6045 src_value: *mut i64,
6046 dest_format: *mut GstFormat,
6047 dest_value: *mut i64,
6048 );
6049 pub fn gst_query_parse_duration(
6050 query: *mut GstQuery,
6051 format: *mut GstFormat,
6052 duration: *mut i64,
6053 );
6054 pub fn gst_query_parse_latency(
6055 query: *mut GstQuery,
6056 live: *mut gboolean,
6057 min_latency: *mut GstClockTime,
6058 max_latency: *mut GstClockTime,
6059 );
6060 pub fn gst_query_parse_n_formats(query: *mut GstQuery, n_formats: *mut c_uint);
6061 pub fn gst_query_parse_nth_allocation_meta(
6062 query: *mut GstQuery,
6063 index: c_uint,
6064 params: *mut *const GstStructure,
6065 ) -> GType;
6066 pub fn gst_query_parse_nth_allocation_param(
6067 query: *mut GstQuery,
6068 index: c_uint,
6069 allocator: *mut *mut GstAllocator,
6070 params: *mut GstAllocationParams,
6071 );
6072 pub fn gst_query_parse_nth_allocation_pool(
6073 query: *mut GstQuery,
6074 index: c_uint,
6075 pool: *mut *mut GstBufferPool,
6076 size: *mut c_uint,
6077 min_buffers: *mut c_uint,
6078 max_buffers: *mut c_uint,
6079 );
6080 pub fn gst_query_parse_nth_buffering_range(
6081 query: *mut GstQuery,
6082 index: c_uint,
6083 start: *mut i64,
6084 stop: *mut i64,
6085 ) -> gboolean;
6086 pub fn gst_query_parse_nth_format(query: *mut GstQuery, nth: c_uint, format: *mut GstFormat);
6087 pub fn gst_query_parse_nth_scheduling_mode(query: *mut GstQuery, index: c_uint) -> GstPadMode;
6088 pub fn gst_query_parse_position(query: *mut GstQuery, format: *mut GstFormat, cur: *mut i64);
6089 pub fn gst_query_parse_scheduling(
6090 query: *mut GstQuery,
6091 flags: *mut GstSchedulingFlags,
6092 minsize: *mut c_int,
6093 maxsize: *mut c_int,
6094 align: *mut c_int,
6095 );
6096 pub fn gst_query_parse_seeking(
6097 query: *mut GstQuery,
6098 format: *mut GstFormat,
6099 seekable: *mut gboolean,
6100 segment_start: *mut i64,
6101 segment_end: *mut i64,
6102 );
6103 pub fn gst_query_parse_segment(
6104 query: *mut GstQuery,
6105 rate: *mut c_double,
6106 format: *mut GstFormat,
6107 start_value: *mut i64,
6108 stop_value: *mut i64,
6109 );
6110 #[cfg(feature = "v1_22")]
6111 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6112 pub fn gst_query_parse_selectable(query: *mut GstQuery, selectable: *mut gboolean);
6113 pub fn gst_query_parse_uri(query: *mut GstQuery, uri: *mut *mut c_char);
6114 pub fn gst_query_parse_uri_redirection(query: *mut GstQuery, uri: *mut *mut c_char);
6115 pub fn gst_query_parse_uri_redirection_permanent(
6116 query: *mut GstQuery,
6117 permanent: *mut gboolean,
6118 );
6119 #[cfg(feature = "v1_18_3")]
6120 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6121 pub fn gst_query_ref(q: *mut GstQuery) -> *mut GstQuery;
6122 pub fn gst_query_remove_nth_allocation_meta(query: *mut GstQuery, index: c_uint);
6123 pub fn gst_query_remove_nth_allocation_param(query: *mut GstQuery, index: c_uint);
6124 pub fn gst_query_remove_nth_allocation_pool(query: *mut GstQuery, index: c_uint);
6125 pub fn gst_query_set_accept_caps_result(query: *mut GstQuery, result: gboolean);
6126 #[cfg(feature = "v1_16")]
6127 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6128 pub fn gst_query_set_bitrate(query: *mut GstQuery, nominal_bitrate: c_uint);
6129 pub fn gst_query_set_buffering_percent(query: *mut GstQuery, busy: gboolean, percent: c_int);
6130 pub fn gst_query_set_buffering_range(
6131 query: *mut GstQuery,
6132 format: GstFormat,
6133 start: i64,
6134 stop: i64,
6135 estimated_total: i64,
6136 );
6137 pub fn gst_query_set_buffering_stats(
6138 query: *mut GstQuery,
6139 mode: GstBufferingMode,
6140 avg_in: c_int,
6141 avg_out: c_int,
6142 buffering_left: i64,
6143 );
6144 pub fn gst_query_set_caps_result(query: *mut GstQuery, caps: *mut GstCaps);
6145 pub fn gst_query_set_context(query: *mut GstQuery, context: *mut GstContext);
6146 pub fn gst_query_set_convert(
6147 query: *mut GstQuery,
6148 src_format: GstFormat,
6149 src_value: i64,
6150 dest_format: GstFormat,
6151 dest_value: i64,
6152 );
6153 pub fn gst_query_set_duration(query: *mut GstQuery, format: GstFormat, duration: i64);
6154 pub fn gst_query_set_formats(query: *mut GstQuery, n_formats: c_int, ...);
6155 pub fn gst_query_set_formatsv(
6156 query: *mut GstQuery,
6157 n_formats: c_int,
6158 formats: *const GstFormat,
6159 );
6160 pub fn gst_query_set_latency(
6161 query: *mut GstQuery,
6162 live: gboolean,
6163 min_latency: GstClockTime,
6164 max_latency: GstClockTime,
6165 );
6166 pub fn gst_query_set_nth_allocation_param(
6167 query: *mut GstQuery,
6168 index: c_uint,
6169 allocator: *mut GstAllocator,
6170 params: *const GstAllocationParams,
6171 );
6172 pub fn gst_query_set_nth_allocation_pool(
6173 query: *mut GstQuery,
6174 index: c_uint,
6175 pool: *mut GstBufferPool,
6176 size: c_uint,
6177 min_buffers: c_uint,
6178 max_buffers: c_uint,
6179 );
6180 pub fn gst_query_set_position(query: *mut GstQuery, format: GstFormat, cur: i64);
6181 pub fn gst_query_set_scheduling(
6182 query: *mut GstQuery,
6183 flags: GstSchedulingFlags,
6184 minsize: c_int,
6185 maxsize: c_int,
6186 align: c_int,
6187 );
6188 pub fn gst_query_set_seeking(
6189 query: *mut GstQuery,
6190 format: GstFormat,
6191 seekable: gboolean,
6192 segment_start: i64,
6193 segment_end: i64,
6194 );
6195 pub fn gst_query_set_segment(
6196 query: *mut GstQuery,
6197 rate: c_double,
6198 format: GstFormat,
6199 start_value: i64,
6200 stop_value: i64,
6201 );
6202 #[cfg(feature = "v1_22")]
6203 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6204 pub fn gst_query_set_selectable(query: *mut GstQuery, selectable: gboolean);
6205 pub fn gst_query_set_uri(query: *mut GstQuery, uri: *const c_char);
6206 pub fn gst_query_set_uri_redirection(query: *mut GstQuery, uri: *const c_char);
6207 pub fn gst_query_set_uri_redirection_permanent(query: *mut GstQuery, permanent: gboolean);
6208 #[cfg(feature = "v1_18_3")]
6209 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6210 pub fn gst_query_unref(q: *mut GstQuery);
6211 pub fn gst_query_writable_structure(query: *mut GstQuery) -> *mut GstStructure;
6212 #[cfg(feature = "v1_18_3")]
6213 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6214 pub fn gst_query_replace(old_query: *mut *mut GstQuery, new_query: *mut GstQuery) -> gboolean;
6215 #[cfg(feature = "v1_18_3")]
6216 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6217 pub fn gst_query_take(old_query: *mut *mut GstQuery, new_query: *mut GstQuery) -> gboolean;
6218
6219 //=========================================================================
6220 // GstReferenceTimestampMeta
6221 //=========================================================================
6222 pub fn gst_reference_timestamp_meta_get_info() -> *const GstMetaInfo;
6223
6224 //=========================================================================
6225 // GstSample
6226 //=========================================================================
6227 pub fn gst_sample_get_type() -> GType;
6228 pub fn gst_sample_new(
6229 buffer: *mut GstBuffer,
6230 caps: *mut GstCaps,
6231 segment: *const GstSegment,
6232 info: *mut GstStructure,
6233 ) -> *mut GstSample;
6234 #[cfg(feature = "v1_18_3")]
6235 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6236 pub fn gst_sample_copy(sample: *const GstSample) -> *mut GstSample;
6237 pub fn gst_sample_get_buffer(sample: *mut GstSample) -> *mut GstBuffer;
6238 pub fn gst_sample_get_buffer_list(sample: *mut GstSample) -> *mut GstBufferList;
6239 pub fn gst_sample_get_caps(sample: *mut GstSample) -> *mut GstCaps;
6240 pub fn gst_sample_get_info(sample: *mut GstSample) -> *const GstStructure;
6241 pub fn gst_sample_get_segment(sample: *mut GstSample) -> *mut GstSegment;
6242 #[cfg(feature = "v1_18_3")]
6243 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6244 pub fn gst_sample_ref(sample: *mut GstSample) -> *mut GstSample;
6245 #[cfg(feature = "v1_16")]
6246 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6247 pub fn gst_sample_set_buffer(sample: *mut GstSample, buffer: *mut GstBuffer);
6248 pub fn gst_sample_set_buffer_list(sample: *mut GstSample, buffer_list: *mut GstBufferList);
6249 #[cfg(feature = "v1_16")]
6250 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6251 pub fn gst_sample_set_caps(sample: *mut GstSample, caps: *mut GstCaps);
6252 #[cfg(feature = "v1_16")]
6253 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6254 pub fn gst_sample_set_info(sample: *mut GstSample, info: *mut GstStructure) -> gboolean;
6255 #[cfg(feature = "v1_16")]
6256 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
6257 pub fn gst_sample_set_segment(sample: *mut GstSample, segment: *const GstSegment);
6258 #[cfg(feature = "v1_18_3")]
6259 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6260 pub fn gst_sample_unref(sample: *mut GstSample);
6261
6262 //=========================================================================
6263 // GstSegment
6264 //=========================================================================
6265 pub fn gst_segment_get_type() -> GType;
6266 pub fn gst_segment_new() -> *mut GstSegment;
6267 pub fn gst_segment_clip(
6268 segment: *const GstSegment,
6269 format: GstFormat,
6270 start: u64,
6271 stop: u64,
6272 clip_start: *mut u64,
6273 clip_stop: *mut u64,
6274 ) -> gboolean;
6275 pub fn gst_segment_copy(segment: *const GstSegment) -> *mut GstSegment;
6276 pub fn gst_segment_copy_into(src: *const GstSegment, dest: *mut GstSegment);
6277 pub fn gst_segment_do_seek(
6278 segment: *mut GstSegment,
6279 rate: c_double,
6280 format: GstFormat,
6281 flags: GstSeekFlags,
6282 start_type: GstSeekType,
6283 start: u64,
6284 stop_type: GstSeekType,
6285 stop: u64,
6286 update: *mut gboolean,
6287 ) -> gboolean;
6288 pub fn gst_segment_free(segment: *mut GstSegment);
6289 pub fn gst_segment_init(segment: *mut GstSegment, format: GstFormat);
6290 pub fn gst_segment_is_equal(s0: *const GstSegment, s1: *const GstSegment) -> gboolean;
6291 pub fn gst_segment_offset_running_time(
6292 segment: *mut GstSegment,
6293 format: GstFormat,
6294 offset: i64,
6295 ) -> gboolean;
6296 pub fn gst_segment_position_from_running_time(
6297 segment: *const GstSegment,
6298 format: GstFormat,
6299 running_time: u64,
6300 ) -> u64;
6301 pub fn gst_segment_position_from_running_time_full(
6302 segment: *const GstSegment,
6303 format: GstFormat,
6304 running_time: u64,
6305 position: *mut u64,
6306 ) -> c_int;
6307 pub fn gst_segment_position_from_stream_time(
6308 segment: *const GstSegment,
6309 format: GstFormat,
6310 stream_time: u64,
6311 ) -> u64;
6312 pub fn gst_segment_position_from_stream_time_full(
6313 segment: *const GstSegment,
6314 format: GstFormat,
6315 stream_time: u64,
6316 position: *mut u64,
6317 ) -> c_int;
6318 pub fn gst_segment_set_running_time(
6319 segment: *mut GstSegment,
6320 format: GstFormat,
6321 running_time: u64,
6322 ) -> gboolean;
6323 pub fn gst_segment_to_position(
6324 segment: *const GstSegment,
6325 format: GstFormat,
6326 running_time: u64,
6327 ) -> u64;
6328 pub fn gst_segment_to_running_time(
6329 segment: *const GstSegment,
6330 format: GstFormat,
6331 position: u64,
6332 ) -> u64;
6333 pub fn gst_segment_to_running_time_full(
6334 segment: *const GstSegment,
6335 format: GstFormat,
6336 position: u64,
6337 running_time: *mut u64,
6338 ) -> c_int;
6339 pub fn gst_segment_to_stream_time(
6340 segment: *const GstSegment,
6341 format: GstFormat,
6342 position: u64,
6343 ) -> u64;
6344 pub fn gst_segment_to_stream_time_full(
6345 segment: *const GstSegment,
6346 format: GstFormat,
6347 position: u64,
6348 stream_time: *mut u64,
6349 ) -> c_int;
6350
6351 //=========================================================================
6352 // GstStaticCaps
6353 //=========================================================================
6354 pub fn gst_static_caps_cleanup(static_caps: *mut GstStaticCaps);
6355 pub fn gst_static_caps_get(static_caps: *mut GstStaticCaps) -> *mut GstCaps;
6356
6357 //=========================================================================
6358 // GstStaticPadTemplate
6359 //=========================================================================
6360 pub fn gst_static_pad_template_get(
6361 pad_template: *mut GstStaticPadTemplate,
6362 ) -> *mut GstPadTemplate;
6363 pub fn gst_static_pad_template_get_caps(templ: *mut GstStaticPadTemplate) -> *mut GstCaps;
6364
6365 //=========================================================================
6366 // GstStructure
6367 //=========================================================================
6368 pub fn gst_structure_get_type() -> GType;
6369 pub fn gst_structure_from_string(
6370 string: *const c_char,
6371 end: *mut *mut c_char,
6372 ) -> *mut GstStructure;
6373 pub fn gst_structure_new(
6374 name: *const c_char,
6375 firstfield: *const c_char,
6376 ...
6377 ) -> *mut GstStructure;
6378 pub fn gst_structure_new_empty(name: *const c_char) -> *mut GstStructure;
6379 pub fn gst_structure_new_from_string(string: *const c_char) -> *mut GstStructure;
6380 pub fn gst_structure_new_id(
6381 name_quark: glib::GQuark,
6382 field_quark: glib::GQuark,
6383 ...
6384 ) -> *mut GstStructure;
6385 pub fn gst_structure_new_id_empty(quark: glib::GQuark) -> *mut GstStructure;
6386 //pub fn gst_structure_new_valist(name: *const c_char, firstfield: *const c_char, varargs: /*Unimplemented*/va_list) -> *mut GstStructure;
6387 pub fn gst_structure_can_intersect(
6388 struct1: *const GstStructure,
6389 struct2: *const GstStructure,
6390 ) -> gboolean;
6391 pub fn gst_structure_copy(structure: *const GstStructure) -> *mut GstStructure;
6392 pub fn gst_structure_filter_and_map_in_place(
6393 structure: *mut GstStructure,
6394 func: GstStructureFilterMapFunc,
6395 user_data: gpointer,
6396 );
6397 pub fn gst_structure_fixate(structure: *mut GstStructure);
6398 pub fn gst_structure_fixate_field(
6399 structure: *mut GstStructure,
6400 field_name: *const c_char,
6401 ) -> gboolean;
6402 pub fn gst_structure_fixate_field_boolean(
6403 structure: *mut GstStructure,
6404 field_name: *const c_char,
6405 target: gboolean,
6406 ) -> gboolean;
6407 pub fn gst_structure_fixate_field_nearest_double(
6408 structure: *mut GstStructure,
6409 field_name: *const c_char,
6410 target: c_double,
6411 ) -> gboolean;
6412 pub fn gst_structure_fixate_field_nearest_fraction(
6413 structure: *mut GstStructure,
6414 field_name: *const c_char,
6415 target_numerator: c_int,
6416 target_denominator: c_int,
6417 ) -> gboolean;
6418 pub fn gst_structure_fixate_field_nearest_int(
6419 structure: *mut GstStructure,
6420 field_name: *const c_char,
6421 target: c_int,
6422 ) -> gboolean;
6423 pub fn gst_structure_fixate_field_string(
6424 structure: *mut GstStructure,
6425 field_name: *const c_char,
6426 target: *const c_char,
6427 ) -> gboolean;
6428 pub fn gst_structure_foreach(
6429 structure: *const GstStructure,
6430 func: GstStructureForeachFunc,
6431 user_data: gpointer,
6432 ) -> gboolean;
6433 pub fn gst_structure_free(structure: *mut GstStructure);
6434 pub fn gst_structure_get(
6435 structure: *const GstStructure,
6436 first_fieldname: *const c_char,
6437 ...
6438 ) -> gboolean;
6439 pub fn gst_structure_get_array(
6440 structure: *mut GstStructure,
6441 fieldname: *const c_char,
6442 array: *mut *mut gobject::GValueArray,
6443 ) -> gboolean;
6444 pub fn gst_structure_get_boolean(
6445 structure: *const GstStructure,
6446 fieldname: *const c_char,
6447 value: *mut gboolean,
6448 ) -> gboolean;
6449 pub fn gst_structure_get_clock_time(
6450 structure: *const GstStructure,
6451 fieldname: *const c_char,
6452 value: *mut GstClockTime,
6453 ) -> gboolean;
6454 pub fn gst_structure_get_date(
6455 structure: *const GstStructure,
6456 fieldname: *const c_char,
6457 value: *mut *mut glib::GDate,
6458 ) -> gboolean;
6459 pub fn gst_structure_get_date_time(
6460 structure: *const GstStructure,
6461 fieldname: *const c_char,
6462 value: *mut *mut GstDateTime,
6463 ) -> gboolean;
6464 pub fn gst_structure_get_double(
6465 structure: *const GstStructure,
6466 fieldname: *const c_char,
6467 value: *mut c_double,
6468 ) -> gboolean;
6469 pub fn gst_structure_get_enum(
6470 structure: *const GstStructure,
6471 fieldname: *const c_char,
6472 enumtype: GType,
6473 value: *mut c_int,
6474 ) -> gboolean;
6475 pub fn gst_structure_get_field_type(
6476 structure: *const GstStructure,
6477 fieldname: *const c_char,
6478 ) -> GType;
6479 #[cfg(feature = "v1_22")]
6480 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
6481 pub fn gst_structure_get_flags(
6482 structure: *const GstStructure,
6483 fieldname: *const c_char,
6484 flags_type: GType,
6485 value: *mut c_uint,
6486 ) -> gboolean;
6487 pub fn gst_structure_get_flagset(
6488 structure: *const GstStructure,
6489 fieldname: *const c_char,
6490 value_flags: *mut c_uint,
6491 value_mask: *mut c_uint,
6492 ) -> gboolean;
6493 pub fn gst_structure_get_fraction(
6494 structure: *const GstStructure,
6495 fieldname: *const c_char,
6496 value_numerator: *mut c_int,
6497 value_denominator: *mut c_int,
6498 ) -> gboolean;
6499 pub fn gst_structure_get_int(
6500 structure: *const GstStructure,
6501 fieldname: *const c_char,
6502 value: *mut c_int,
6503 ) -> gboolean;
6504 pub fn gst_structure_get_int64(
6505 structure: *const GstStructure,
6506 fieldname: *const c_char,
6507 value: *mut i64,
6508 ) -> gboolean;
6509 pub fn gst_structure_get_list(
6510 structure: *mut GstStructure,
6511 fieldname: *const c_char,
6512 array: *mut *mut gobject::GValueArray,
6513 ) -> gboolean;
6514 pub fn gst_structure_get_name(structure: *const GstStructure) -> *const c_char;
6515 pub fn gst_structure_get_name_id(structure: *const GstStructure) -> glib::GQuark;
6516 pub fn gst_structure_get_string(
6517 structure: *const GstStructure,
6518 fieldname: *const c_char,
6519 ) -> *const c_char;
6520 pub fn gst_structure_get_uint(
6521 structure: *const GstStructure,
6522 fieldname: *const c_char,
6523 value: *mut c_uint,
6524 ) -> gboolean;
6525 pub fn gst_structure_get_uint64(
6526 structure: *const GstStructure,
6527 fieldname: *const c_char,
6528 value: *mut u64,
6529 ) -> gboolean;
6530 //pub fn gst_structure_get_valist(structure: *const GstStructure, first_fieldname: *const c_char, args: /*Unimplemented*/va_list) -> gboolean;
6531 pub fn gst_structure_get_value(
6532 structure: *const GstStructure,
6533 fieldname: *const c_char,
6534 ) -> *const gobject::GValue;
6535 pub fn gst_structure_has_field(
6536 structure: *const GstStructure,
6537 fieldname: *const c_char,
6538 ) -> gboolean;
6539 pub fn gst_structure_has_field_typed(
6540 structure: *const GstStructure,
6541 fieldname: *const c_char,
6542 type_: GType,
6543 ) -> gboolean;
6544 pub fn gst_structure_has_name(structure: *const GstStructure, name: *const c_char) -> gboolean;
6545 pub fn gst_structure_id_get(
6546 structure: *const GstStructure,
6547 first_field_id: glib::GQuark,
6548 ...
6549 ) -> gboolean;
6550 //pub fn gst_structure_id_get_valist(structure: *const GstStructure, first_field_id: glib::GQuark, args: /*Unimplemented*/va_list) -> gboolean;
6551 pub fn gst_structure_id_get_value(
6552 structure: *const GstStructure,
6553 field: glib::GQuark,
6554 ) -> *const gobject::GValue;
6555 pub fn gst_structure_id_has_field(
6556 structure: *const GstStructure,
6557 field: glib::GQuark,
6558 ) -> gboolean;
6559 pub fn gst_structure_id_has_field_typed(
6560 structure: *const GstStructure,
6561 field: glib::GQuark,
6562 type_: GType,
6563 ) -> gboolean;
6564 pub fn gst_structure_id_set(structure: *mut GstStructure, fieldname: glib::GQuark, ...);
6565 //pub fn gst_structure_id_set_valist(structure: *mut GstStructure, fieldname: glib::GQuark, varargs: /*Unimplemented*/va_list);
6566 pub fn gst_structure_id_set_value(
6567 structure: *mut GstStructure,
6568 field: glib::GQuark,
6569 value: *const gobject::GValue,
6570 );
6571 pub fn gst_structure_id_take_value(
6572 structure: *mut GstStructure,
6573 field: glib::GQuark,
6574 value: *mut gobject::GValue,
6575 );
6576 pub fn gst_structure_intersect(
6577 struct1: *const GstStructure,
6578 struct2: *const GstStructure,
6579 ) -> *mut GstStructure;
6580 pub fn gst_structure_is_equal(
6581 structure1: *const GstStructure,
6582 structure2: *const GstStructure,
6583 ) -> gboolean;
6584 pub fn gst_structure_is_subset(
6585 subset: *const GstStructure,
6586 superset: *const GstStructure,
6587 ) -> gboolean;
6588 pub fn gst_structure_map_in_place(
6589 structure: *mut GstStructure,
6590 func: GstStructureMapFunc,
6591 user_data: gpointer,
6592 ) -> gboolean;
6593 pub fn gst_structure_n_fields(structure: *const GstStructure) -> c_int;
6594 pub fn gst_structure_nth_field_name(
6595 structure: *const GstStructure,
6596 index: c_uint,
6597 ) -> *const c_char;
6598 pub fn gst_structure_remove_all_fields(structure: *mut GstStructure);
6599 pub fn gst_structure_remove_field(structure: *mut GstStructure, fieldname: *const c_char);
6600 pub fn gst_structure_remove_fields(structure: *mut GstStructure, fieldname: *const c_char, ...);
6601 //pub fn gst_structure_remove_fields_valist(structure: *mut GstStructure, fieldname: *const c_char, varargs: /*Unimplemented*/va_list);
6602 #[cfg(feature = "v1_20")]
6603 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6604 pub fn gst_structure_serialize(
6605 structure: *const GstStructure,
6606 flags: GstSerializeFlags,
6607 ) -> *mut c_char;
6608 pub fn gst_structure_set(structure: *mut GstStructure, fieldname: *const c_char, ...);
6609 pub fn gst_structure_set_array(
6610 structure: *mut GstStructure,
6611 fieldname: *const c_char,
6612 array: *const gobject::GValueArray,
6613 );
6614 pub fn gst_structure_set_list(
6615 structure: *mut GstStructure,
6616 fieldname: *const c_char,
6617 array: *const gobject::GValueArray,
6618 );
6619 pub fn gst_structure_set_name(structure: *mut GstStructure, name: *const c_char);
6620 pub fn gst_structure_set_parent_refcount(
6621 structure: *mut GstStructure,
6622 refcount: *mut c_int,
6623 ) -> gboolean;
6624 //pub fn gst_structure_set_valist(structure: *mut GstStructure, fieldname: *const c_char, varargs: /*Unimplemented*/va_list);
6625 pub fn gst_structure_set_value(
6626 structure: *mut GstStructure,
6627 fieldname: *const c_char,
6628 value: *const gobject::GValue,
6629 );
6630 pub fn gst_structure_take_value(
6631 structure: *mut GstStructure,
6632 fieldname: *const c_char,
6633 value: *mut gobject::GValue,
6634 );
6635 pub fn gst_structure_to_string(structure: *const GstStructure) -> *mut c_char;
6636 #[cfg(feature = "v1_18")]
6637 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
6638 pub fn gst_structure_take(
6639 oldstr_ptr: *mut *mut GstStructure,
6640 newstr: *mut GstStructure,
6641 ) -> gboolean;
6642
6643 //=========================================================================
6644 // GstTagList
6645 //=========================================================================
6646 pub fn gst_tag_list_get_type() -> GType;
6647 pub fn gst_tag_list_new(tag: *const c_char, ...) -> *mut GstTagList;
6648 pub fn gst_tag_list_new_empty() -> *mut GstTagList;
6649 pub fn gst_tag_list_new_from_string(str: *const c_char) -> *mut GstTagList;
6650 //pub fn gst_tag_list_new_valist(var_args: /*Unimplemented*/va_list) -> *mut GstTagList;
6651 pub fn gst_tag_list_add(list: *mut GstTagList, mode: GstTagMergeMode, tag: *const c_char, ...);
6652 //pub fn gst_tag_list_add_valist(list: *mut GstTagList, mode: GstTagMergeMode, tag: *const c_char, var_args: /*Unimplemented*/va_list);
6653 //pub fn gst_tag_list_add_valist_values(list: *mut GstTagList, mode: GstTagMergeMode, tag: *const c_char, var_args: /*Unimplemented*/va_list);
6654 pub fn gst_tag_list_add_value(
6655 list: *mut GstTagList,
6656 mode: GstTagMergeMode,
6657 tag: *const c_char,
6658 value: *const gobject::GValue,
6659 );
6660 pub fn gst_tag_list_add_values(
6661 list: *mut GstTagList,
6662 mode: GstTagMergeMode,
6663 tag: *const c_char,
6664 ...
6665 );
6666 #[cfg(feature = "v1_18_3")]
6667 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6668 pub fn gst_tag_list_copy(taglist: *const GstTagList) -> *mut GstTagList;
6669 pub fn gst_tag_list_foreach(
6670 list: *const GstTagList,
6671 func: GstTagForeachFunc,
6672 user_data: gpointer,
6673 );
6674 pub fn gst_tag_list_get_boolean(
6675 list: *const GstTagList,
6676 tag: *const c_char,
6677 value: *mut gboolean,
6678 ) -> gboolean;
6679 pub fn gst_tag_list_get_boolean_index(
6680 list: *const GstTagList,
6681 tag: *const c_char,
6682 index: c_uint,
6683 value: *mut gboolean,
6684 ) -> gboolean;
6685 pub fn gst_tag_list_get_date(
6686 list: *const GstTagList,
6687 tag: *const c_char,
6688 value: *mut *mut glib::GDate,
6689 ) -> gboolean;
6690 pub fn gst_tag_list_get_date_index(
6691 list: *const GstTagList,
6692 tag: *const c_char,
6693 index: c_uint,
6694 value: *mut *mut glib::GDate,
6695 ) -> gboolean;
6696 pub fn gst_tag_list_get_date_time(
6697 list: *const GstTagList,
6698 tag: *const c_char,
6699 value: *mut *mut GstDateTime,
6700 ) -> gboolean;
6701 pub fn gst_tag_list_get_date_time_index(
6702 list: *const GstTagList,
6703 tag: *const c_char,
6704 index: c_uint,
6705 value: *mut *mut GstDateTime,
6706 ) -> gboolean;
6707 pub fn gst_tag_list_get_double(
6708 list: *const GstTagList,
6709 tag: *const c_char,
6710 value: *mut c_double,
6711 ) -> gboolean;
6712 pub fn gst_tag_list_get_double_index(
6713 list: *const GstTagList,
6714 tag: *const c_char,
6715 index: c_uint,
6716 value: *mut c_double,
6717 ) -> gboolean;
6718 pub fn gst_tag_list_get_float(
6719 list: *const GstTagList,
6720 tag: *const c_char,
6721 value: *mut c_float,
6722 ) -> gboolean;
6723 pub fn gst_tag_list_get_float_index(
6724 list: *const GstTagList,
6725 tag: *const c_char,
6726 index: c_uint,
6727 value: *mut c_float,
6728 ) -> gboolean;
6729 pub fn gst_tag_list_get_int(
6730 list: *const GstTagList,
6731 tag: *const c_char,
6732 value: *mut c_int,
6733 ) -> gboolean;
6734 pub fn gst_tag_list_get_int64(
6735 list: *const GstTagList,
6736 tag: *const c_char,
6737 value: *mut i64,
6738 ) -> gboolean;
6739 pub fn gst_tag_list_get_int64_index(
6740 list: *const GstTagList,
6741 tag: *const c_char,
6742 index: c_uint,
6743 value: *mut i64,
6744 ) -> gboolean;
6745 pub fn gst_tag_list_get_int_index(
6746 list: *const GstTagList,
6747 tag: *const c_char,
6748 index: c_uint,
6749 value: *mut c_int,
6750 ) -> gboolean;
6751 pub fn gst_tag_list_get_pointer(
6752 list: *const GstTagList,
6753 tag: *const c_char,
6754 value: *mut gpointer,
6755 ) -> gboolean;
6756 pub fn gst_tag_list_get_pointer_index(
6757 list: *const GstTagList,
6758 tag: *const c_char,
6759 index: c_uint,
6760 value: *mut gpointer,
6761 ) -> gboolean;
6762 pub fn gst_tag_list_get_sample(
6763 list: *const GstTagList,
6764 tag: *const c_char,
6765 sample: *mut *mut GstSample,
6766 ) -> gboolean;
6767 pub fn gst_tag_list_get_sample_index(
6768 list: *const GstTagList,
6769 tag: *const c_char,
6770 index: c_uint,
6771 sample: *mut *mut GstSample,
6772 ) -> gboolean;
6773 pub fn gst_tag_list_get_scope(list: *const GstTagList) -> GstTagScope;
6774 pub fn gst_tag_list_get_string(
6775 list: *const GstTagList,
6776 tag: *const c_char,
6777 value: *mut *mut c_char,
6778 ) -> gboolean;
6779 pub fn gst_tag_list_get_string_index(
6780 list: *const GstTagList,
6781 tag: *const c_char,
6782 index: c_uint,
6783 value: *mut *mut c_char,
6784 ) -> gboolean;
6785 pub fn gst_tag_list_get_tag_size(list: *const GstTagList, tag: *const c_char) -> c_uint;
6786 pub fn gst_tag_list_get_uint(
6787 list: *const GstTagList,
6788 tag: *const c_char,
6789 value: *mut c_uint,
6790 ) -> gboolean;
6791 pub fn gst_tag_list_get_uint64(
6792 list: *const GstTagList,
6793 tag: *const c_char,
6794 value: *mut u64,
6795 ) -> gboolean;
6796 pub fn gst_tag_list_get_uint64_index(
6797 list: *const GstTagList,
6798 tag: *const c_char,
6799 index: c_uint,
6800 value: *mut u64,
6801 ) -> gboolean;
6802 pub fn gst_tag_list_get_uint_index(
6803 list: *const GstTagList,
6804 tag: *const c_char,
6805 index: c_uint,
6806 value: *mut c_uint,
6807 ) -> gboolean;
6808 pub fn gst_tag_list_get_value_index(
6809 list: *const GstTagList,
6810 tag: *const c_char,
6811 index: c_uint,
6812 ) -> *const gobject::GValue;
6813 pub fn gst_tag_list_insert(
6814 into: *mut GstTagList,
6815 from: *const GstTagList,
6816 mode: GstTagMergeMode,
6817 );
6818 pub fn gst_tag_list_is_empty(list: *const GstTagList) -> gboolean;
6819 pub fn gst_tag_list_is_equal(list1: *const GstTagList, list2: *const GstTagList) -> gboolean;
6820 pub fn gst_tag_list_merge(
6821 list1: *const GstTagList,
6822 list2: *const GstTagList,
6823 mode: GstTagMergeMode,
6824 ) -> *mut GstTagList;
6825 pub fn gst_tag_list_n_tags(list: *const GstTagList) -> c_int;
6826 pub fn gst_tag_list_nth_tag_name(list: *const GstTagList, index: c_uint) -> *const c_char;
6827 pub fn gst_tag_list_peek_string_index(
6828 list: *const GstTagList,
6829 tag: *const c_char,
6830 index: c_uint,
6831 value: *mut *const c_char,
6832 ) -> gboolean;
6833 #[cfg(feature = "v1_18_3")]
6834 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6835 pub fn gst_tag_list_ref(taglist: *mut GstTagList) -> *mut GstTagList;
6836 pub fn gst_tag_list_remove_tag(list: *mut GstTagList, tag: *const c_char);
6837 pub fn gst_tag_list_set_scope(list: *mut GstTagList, scope: GstTagScope);
6838 pub fn gst_tag_list_to_string(list: *const GstTagList) -> *mut c_char;
6839 #[cfg(feature = "v1_18_3")]
6840 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6841 pub fn gst_tag_list_unref(taglist: *mut GstTagList);
6842 pub fn gst_tag_list_copy_value(
6843 dest: *mut gobject::GValue,
6844 list: *const GstTagList,
6845 tag: *const c_char,
6846 ) -> gboolean;
6847 #[cfg(feature = "v1_18_3")]
6848 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6849 pub fn gst_tag_list_replace(
6850 old_taglist: *mut *mut GstTagList,
6851 new_taglist: *mut GstTagList,
6852 ) -> gboolean;
6853 #[cfg(feature = "v1_18_3")]
6854 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6855 pub fn gst_tag_list_take(
6856 old_taglist: *mut *mut GstTagList,
6857 new_taglist: *mut GstTagList,
6858 ) -> gboolean;
6859
6860 //=========================================================================
6861 // GstToc
6862 //=========================================================================
6863 pub fn gst_toc_get_type() -> GType;
6864 pub fn gst_toc_new(scope: GstTocScope) -> *mut GstToc;
6865 pub fn gst_toc_append_entry(toc: *mut GstToc, entry: *mut GstTocEntry);
6866 pub fn gst_toc_dump(toc: *mut GstToc);
6867 pub fn gst_toc_find_entry(toc: *const GstToc, uid: *const c_char) -> *mut GstTocEntry;
6868 pub fn gst_toc_get_entries(toc: *const GstToc) -> *mut glib::GList;
6869 pub fn gst_toc_get_scope(toc: *const GstToc) -> GstTocScope;
6870 pub fn gst_toc_get_tags(toc: *const GstToc) -> *mut GstTagList;
6871 pub fn gst_toc_merge_tags(toc: *mut GstToc, tags: *mut GstTagList, mode: GstTagMergeMode);
6872 pub fn gst_toc_set_tags(toc: *mut GstToc, tags: *mut GstTagList);
6873
6874 //=========================================================================
6875 // GstTocEntry
6876 //=========================================================================
6877 pub fn gst_toc_entry_get_type() -> GType;
6878 pub fn gst_toc_entry_new(type_: GstTocEntryType, uid: *const c_char) -> *mut GstTocEntry;
6879 pub fn gst_toc_entry_append_sub_entry(entry: *mut GstTocEntry, subentry: *mut GstTocEntry);
6880 pub fn gst_toc_entry_get_entry_type(entry: *const GstTocEntry) -> GstTocEntryType;
6881 pub fn gst_toc_entry_get_loop(
6882 entry: *const GstTocEntry,
6883 loop_type: *mut GstTocLoopType,
6884 repeat_count: *mut c_int,
6885 ) -> gboolean;
6886 pub fn gst_toc_entry_get_parent(entry: *mut GstTocEntry) -> *mut GstTocEntry;
6887 pub fn gst_toc_entry_get_start_stop_times(
6888 entry: *const GstTocEntry,
6889 start: *mut i64,
6890 stop: *mut i64,
6891 ) -> gboolean;
6892 pub fn gst_toc_entry_get_sub_entries(entry: *const GstTocEntry) -> *mut glib::GList;
6893 pub fn gst_toc_entry_get_tags(entry: *const GstTocEntry) -> *mut GstTagList;
6894 pub fn gst_toc_entry_get_toc(entry: *mut GstTocEntry) -> *mut GstToc;
6895 pub fn gst_toc_entry_get_uid(entry: *const GstTocEntry) -> *const c_char;
6896 pub fn gst_toc_entry_is_alternative(entry: *const GstTocEntry) -> gboolean;
6897 pub fn gst_toc_entry_is_sequence(entry: *const GstTocEntry) -> gboolean;
6898 pub fn gst_toc_entry_merge_tags(
6899 entry: *mut GstTocEntry,
6900 tags: *mut GstTagList,
6901 mode: GstTagMergeMode,
6902 );
6903 pub fn gst_toc_entry_set_loop(
6904 entry: *mut GstTocEntry,
6905 loop_type: GstTocLoopType,
6906 repeat_count: c_int,
6907 );
6908 pub fn gst_toc_entry_set_start_stop_times(entry: *mut GstTocEntry, start: i64, stop: i64);
6909 pub fn gst_toc_entry_set_tags(entry: *mut GstTocEntry, tags: *mut GstTagList);
6910
6911 //=========================================================================
6912 // GstTypeFind
6913 //=========================================================================
6914 pub fn gst_type_find_get_length(find: *mut GstTypeFind) -> u64;
6915 pub fn gst_type_find_peek(find: *mut GstTypeFind, offset: i64, size: c_uint) -> *const u8;
6916 pub fn gst_type_find_suggest(find: *mut GstTypeFind, probability: c_uint, caps: *mut GstCaps);
6917 #[cfg(feature = "v1_20")]
6918 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
6919 pub fn gst_type_find_suggest_empty_simple(
6920 find: *mut GstTypeFind,
6921 probability: c_uint,
6922 media_type: *const c_char,
6923 );
6924 pub fn gst_type_find_suggest_simple(
6925 find: *mut GstTypeFind,
6926 probability: c_uint,
6927 media_type: *const c_char,
6928 fieldname: *const c_char,
6929 ...
6930 );
6931 pub fn gst_type_find_register(
6932 plugin: *mut GstPlugin,
6933 name: *const c_char,
6934 rank: c_uint,
6935 func: GstTypeFindFunction,
6936 extensions: *const c_char,
6937 possible_caps: *mut GstCaps,
6938 data: gpointer,
6939 data_notify: glib::GDestroyNotify,
6940 ) -> gboolean;
6941
6942 //=========================================================================
6943 // GstUri
6944 //=========================================================================
6945 pub fn gst_uri_get_type() -> GType;
6946 pub fn gst_uri_new(
6947 scheme: *const c_char,
6948 userinfo: *const c_char,
6949 host: *const c_char,
6950 port: c_uint,
6951 path: *const c_char,
6952 query: *const c_char,
6953 fragment: *const c_char,
6954 ) -> *mut GstUri;
6955 pub fn gst_uri_append_path(uri: *mut GstUri, relative_path: *const c_char) -> gboolean;
6956 pub fn gst_uri_append_path_segment(uri: *mut GstUri, path_segment: *const c_char) -> gboolean;
6957 #[cfg(feature = "v1_18_3")]
6958 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6959 pub fn gst_uri_copy(uri: *const GstUri) -> *mut GstUri;
6960 pub fn gst_uri_equal(first: *const GstUri, second: *const GstUri) -> gboolean;
6961 pub fn gst_uri_from_string_with_base(base: *mut GstUri, uri: *const c_char) -> *mut GstUri;
6962 pub fn gst_uri_get_fragment(uri: *const GstUri) -> *const c_char;
6963 pub fn gst_uri_get_host(uri: *const GstUri) -> *const c_char;
6964 pub fn gst_uri_get_media_fragment_table(uri: *const GstUri) -> *mut glib::GHashTable;
6965 pub fn gst_uri_get_path(uri: *const GstUri) -> *mut c_char;
6966 pub fn gst_uri_get_path_segments(uri: *const GstUri) -> *mut glib::GList;
6967 pub fn gst_uri_get_path_string(uri: *const GstUri) -> *mut c_char;
6968 pub fn gst_uri_get_port(uri: *const GstUri) -> c_uint;
6969 pub fn gst_uri_get_query_keys(uri: *const GstUri) -> *mut glib::GList;
6970 pub fn gst_uri_get_query_string(uri: *const GstUri) -> *mut c_char;
6971 #[cfg(feature = "v1_24")]
6972 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
6973 pub fn gst_uri_get_query_string_ordered(
6974 uri: *const GstUri,
6975 keys: *const glib::GList,
6976 ) -> *mut c_char;
6977 pub fn gst_uri_get_query_table(uri: *const GstUri) -> *mut glib::GHashTable;
6978 pub fn gst_uri_get_query_value(uri: *const GstUri, query_key: *const c_char) -> *const c_char;
6979 pub fn gst_uri_get_scheme(uri: *const GstUri) -> *const c_char;
6980 pub fn gst_uri_get_userinfo(uri: *const GstUri) -> *const c_char;
6981 pub fn gst_uri_is_normalized(uri: *const GstUri) -> gboolean;
6982 pub fn gst_uri_is_writable(uri: *const GstUri) -> gboolean;
6983 pub fn gst_uri_join(base_uri: *mut GstUri, ref_uri: *mut GstUri) -> *mut GstUri;
6984 pub fn gst_uri_make_writable(uri: *mut GstUri) -> *mut GstUri;
6985 pub fn gst_uri_new_with_base(
6986 base: *mut GstUri,
6987 scheme: *const c_char,
6988 userinfo: *const c_char,
6989 host: *const c_char,
6990 port: c_uint,
6991 path: *const c_char,
6992 query: *const c_char,
6993 fragment: *const c_char,
6994 ) -> *mut GstUri;
6995 pub fn gst_uri_normalize(uri: *mut GstUri) -> gboolean;
6996 pub fn gst_uri_query_has_key(uri: *const GstUri, query_key: *const c_char) -> gboolean;
6997 #[cfg(feature = "v1_18_3")]
6998 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
6999 pub fn gst_uri_ref(uri: *mut GstUri) -> *mut GstUri;
7000 pub fn gst_uri_remove_query_key(uri: *mut GstUri, query_key: *const c_char) -> gboolean;
7001 pub fn gst_uri_set_fragment(uri: *mut GstUri, fragment: *const c_char) -> gboolean;
7002 pub fn gst_uri_set_host(uri: *mut GstUri, host: *const c_char) -> gboolean;
7003 pub fn gst_uri_set_path(uri: *mut GstUri, path: *const c_char) -> gboolean;
7004 pub fn gst_uri_set_path_segments(uri: *mut GstUri, path_segments: *mut glib::GList)
7005 -> gboolean;
7006 pub fn gst_uri_set_path_string(uri: *mut GstUri, path: *const c_char) -> gboolean;
7007 pub fn gst_uri_set_port(uri: *mut GstUri, port: c_uint) -> gboolean;
7008 pub fn gst_uri_set_query_string(uri: *mut GstUri, query: *const c_char) -> gboolean;
7009 pub fn gst_uri_set_query_table(
7010 uri: *mut GstUri,
7011 query_table: *mut glib::GHashTable,
7012 ) -> gboolean;
7013 pub fn gst_uri_set_query_value(
7014 uri: *mut GstUri,
7015 query_key: *const c_char,
7016 query_value: *const c_char,
7017 ) -> gboolean;
7018 pub fn gst_uri_set_scheme(uri: *mut GstUri, scheme: *const c_char) -> gboolean;
7019 pub fn gst_uri_set_userinfo(uri: *mut GstUri, userinfo: *const c_char) -> gboolean;
7020 pub fn gst_uri_to_string(uri: *const GstUri) -> *mut c_char;
7021 #[cfg(feature = "v1_24")]
7022 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7023 pub fn gst_uri_to_string_with_keys(uri: *const GstUri, keys: *const glib::GList)
7024 -> *mut c_char;
7025 #[cfg(feature = "v1_18_3")]
7026 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
7027 pub fn gst_uri_unref(uri: *mut GstUri);
7028 pub fn gst_uri_construct(protocol: *const c_char, location: *const c_char) -> *mut c_char;
7029 pub fn gst_uri_from_string(uri: *const c_char) -> *mut GstUri;
7030 #[cfg(feature = "v1_18")]
7031 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7032 pub fn gst_uri_from_string_escaped(uri: *const c_char) -> *mut GstUri;
7033 pub fn gst_uri_get_location(uri: *const c_char) -> *mut c_char;
7034 pub fn gst_uri_get_protocol(uri: *const c_char) -> *mut c_char;
7035 pub fn gst_uri_has_protocol(uri: *const c_char, protocol: *const c_char) -> gboolean;
7036 pub fn gst_uri_is_valid(uri: *const c_char) -> gboolean;
7037 pub fn gst_uri_join_strings(base_uri: *const c_char, ref_uri: *const c_char) -> *mut c_char;
7038 pub fn gst_uri_protocol_is_supported(type_: GstURIType, protocol: *const c_char) -> gboolean;
7039 pub fn gst_uri_protocol_is_valid(protocol: *const c_char) -> gboolean;
7040
7041 //=========================================================================
7042 // GstAllocator
7043 //=========================================================================
7044 pub fn gst_allocator_get_type() -> GType;
7045 pub fn gst_allocator_find(name: *const c_char) -> *mut GstAllocator;
7046 pub fn gst_allocator_register(name: *const c_char, allocator: *mut GstAllocator);
7047 pub fn gst_allocator_alloc(
7048 allocator: *mut GstAllocator,
7049 size: size_t,
7050 params: *mut GstAllocationParams,
7051 ) -> *mut GstMemory;
7052 pub fn gst_allocator_free(allocator: *mut GstAllocator, memory: *mut GstMemory);
7053 pub fn gst_allocator_set_default(allocator: *mut GstAllocator);
7054
7055 //=========================================================================
7056 // GstBin
7057 //=========================================================================
7058 pub fn gst_bin_get_type() -> GType;
7059 pub fn gst_bin_new(name: *const c_char) -> *mut GstElement;
7060 pub fn gst_bin_add(bin: *mut GstBin, element: *mut GstElement) -> gboolean;
7061 pub fn gst_bin_add_many(bin: *mut GstBin, element_1: *mut GstElement, ...);
7062 pub fn gst_bin_find_unlinked_pad(bin: *mut GstBin, direction: GstPadDirection) -> *mut GstPad;
7063 pub fn gst_bin_get_by_interface(bin: *mut GstBin, iface: GType) -> *mut GstElement;
7064 pub fn gst_bin_get_by_name(bin: *mut GstBin, name: *const c_char) -> *mut GstElement;
7065 pub fn gst_bin_get_by_name_recurse_up(bin: *mut GstBin, name: *const c_char)
7066 -> *mut GstElement;
7067 pub fn gst_bin_get_suppressed_flags(bin: *mut GstBin) -> GstElementFlags;
7068 #[cfg(feature = "v1_18")]
7069 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7070 pub fn gst_bin_iterate_all_by_element_factory_name(
7071 bin: *mut GstBin,
7072 factory_name: *const c_char,
7073 ) -> *mut GstIterator;
7074 pub fn gst_bin_iterate_all_by_interface(bin: *mut GstBin, iface: GType) -> *mut GstIterator;
7075 pub fn gst_bin_iterate_elements(bin: *mut GstBin) -> *mut GstIterator;
7076 pub fn gst_bin_iterate_recurse(bin: *mut GstBin) -> *mut GstIterator;
7077 pub fn gst_bin_iterate_sinks(bin: *mut GstBin) -> *mut GstIterator;
7078 pub fn gst_bin_iterate_sorted(bin: *mut GstBin) -> *mut GstIterator;
7079 pub fn gst_bin_iterate_sources(bin: *mut GstBin) -> *mut GstIterator;
7080 pub fn gst_bin_recalculate_latency(bin: *mut GstBin) -> gboolean;
7081 pub fn gst_bin_remove(bin: *mut GstBin, element: *mut GstElement) -> gboolean;
7082 pub fn gst_bin_remove_many(bin: *mut GstBin, element_1: *mut GstElement, ...);
7083 pub fn gst_bin_set_suppressed_flags(bin: *mut GstBin, flags: GstElementFlags);
7084 pub fn gst_bin_sync_children_states(bin: *mut GstBin) -> gboolean;
7085
7086 //=========================================================================
7087 // GstBitmask
7088 //=========================================================================
7089 pub fn gst_bitmask_get_type() -> GType;
7090
7091 //=========================================================================
7092 // GstBufferPool
7093 //=========================================================================
7094 pub fn gst_buffer_pool_get_type() -> GType;
7095 pub fn gst_buffer_pool_new() -> *mut GstBufferPool;
7096 pub fn gst_buffer_pool_config_add_option(config: *mut GstStructure, option: *const c_char);
7097 pub fn gst_buffer_pool_config_get_allocator(
7098 config: *mut GstStructure,
7099 allocator: *mut *mut GstAllocator,
7100 params: *mut GstAllocationParams,
7101 ) -> gboolean;
7102 pub fn gst_buffer_pool_config_get_option(
7103 config: *mut GstStructure,
7104 index: c_uint,
7105 ) -> *const c_char;
7106 pub fn gst_buffer_pool_config_get_params(
7107 config: *mut GstStructure,
7108 caps: *mut *mut GstCaps,
7109 size: *mut c_uint,
7110 min_buffers: *mut c_uint,
7111 max_buffers: *mut c_uint,
7112 ) -> gboolean;
7113 pub fn gst_buffer_pool_config_has_option(
7114 config: *mut GstStructure,
7115 option: *const c_char,
7116 ) -> gboolean;
7117 pub fn gst_buffer_pool_config_n_options(config: *mut GstStructure) -> c_uint;
7118 pub fn gst_buffer_pool_config_set_allocator(
7119 config: *mut GstStructure,
7120 allocator: *mut GstAllocator,
7121 params: *const GstAllocationParams,
7122 );
7123 pub fn gst_buffer_pool_config_set_params(
7124 config: *mut GstStructure,
7125 caps: *mut GstCaps,
7126 size: c_uint,
7127 min_buffers: c_uint,
7128 max_buffers: c_uint,
7129 );
7130 pub fn gst_buffer_pool_config_validate_params(
7131 config: *mut GstStructure,
7132 caps: *mut GstCaps,
7133 size: c_uint,
7134 min_buffers: c_uint,
7135 max_buffers: c_uint,
7136 ) -> gboolean;
7137 pub fn gst_buffer_pool_acquire_buffer(
7138 pool: *mut GstBufferPool,
7139 buffer: *mut *mut GstBuffer,
7140 params: *mut GstBufferPoolAcquireParams,
7141 ) -> GstFlowReturn;
7142 pub fn gst_buffer_pool_get_config(pool: *mut GstBufferPool) -> *mut GstStructure;
7143 pub fn gst_buffer_pool_get_options(pool: *mut GstBufferPool) -> *mut *const c_char;
7144 pub fn gst_buffer_pool_has_option(pool: *mut GstBufferPool, option: *const c_char) -> gboolean;
7145 pub fn gst_buffer_pool_is_active(pool: *mut GstBufferPool) -> gboolean;
7146 pub fn gst_buffer_pool_release_buffer(pool: *mut GstBufferPool, buffer: *mut GstBuffer);
7147 pub fn gst_buffer_pool_set_active(pool: *mut GstBufferPool, active: gboolean) -> gboolean;
7148 pub fn gst_buffer_pool_set_config(
7149 pool: *mut GstBufferPool,
7150 config: *mut GstStructure,
7151 ) -> gboolean;
7152 pub fn gst_buffer_pool_set_flushing(pool: *mut GstBufferPool, flushing: gboolean);
7153
7154 //=========================================================================
7155 // GstBus
7156 //=========================================================================
7157 pub fn gst_bus_get_type() -> GType;
7158 pub fn gst_bus_new() -> *mut GstBus;
7159 pub fn gst_bus_add_signal_watch(bus: *mut GstBus);
7160 pub fn gst_bus_add_signal_watch_full(bus: *mut GstBus, priority: c_int);
7161 pub fn gst_bus_add_watch(bus: *mut GstBus, func: GstBusFunc, user_data: gpointer) -> c_uint;
7162 pub fn gst_bus_add_watch_full(
7163 bus: *mut GstBus,
7164 priority: c_int,
7165 func: GstBusFunc,
7166 user_data: gpointer,
7167 notify: glib::GDestroyNotify,
7168 ) -> c_uint;
7169 pub fn gst_bus_async_signal_func(
7170 bus: *mut GstBus,
7171 message: *mut GstMessage,
7172 data: gpointer,
7173 ) -> gboolean;
7174 pub fn gst_bus_create_watch(bus: *mut GstBus) -> *mut glib::GSource;
7175 pub fn gst_bus_disable_sync_message_emission(bus: *mut GstBus);
7176 pub fn gst_bus_enable_sync_message_emission(bus: *mut GstBus);
7177 pub fn gst_bus_get_pollfd(bus: *mut GstBus, fd: *mut glib::GPollFD);
7178 pub fn gst_bus_have_pending(bus: *mut GstBus) -> gboolean;
7179 pub fn gst_bus_peek(bus: *mut GstBus) -> *mut GstMessage;
7180 pub fn gst_bus_poll(
7181 bus: *mut GstBus,
7182 events: GstMessageType,
7183 timeout: GstClockTime,
7184 ) -> *mut GstMessage;
7185 pub fn gst_bus_pop(bus: *mut GstBus) -> *mut GstMessage;
7186 pub fn gst_bus_pop_filtered(bus: *mut GstBus, types: GstMessageType) -> *mut GstMessage;
7187 pub fn gst_bus_post(bus: *mut GstBus, message: *mut GstMessage) -> gboolean;
7188 pub fn gst_bus_remove_signal_watch(bus: *mut GstBus);
7189 pub fn gst_bus_remove_watch(bus: *mut GstBus) -> gboolean;
7190 pub fn gst_bus_set_flushing(bus: *mut GstBus, flushing: gboolean);
7191 pub fn gst_bus_set_sync_handler(
7192 bus: *mut GstBus,
7193 func: GstBusSyncHandler,
7194 user_data: gpointer,
7195 notify: glib::GDestroyNotify,
7196 );
7197 pub fn gst_bus_sync_signal_handler(
7198 bus: *mut GstBus,
7199 message: *mut GstMessage,
7200 data: gpointer,
7201 ) -> GstBusSyncReply;
7202 pub fn gst_bus_timed_pop(bus: *mut GstBus, timeout: GstClockTime) -> *mut GstMessage;
7203 pub fn gst_bus_timed_pop_filtered(
7204 bus: *mut GstBus,
7205 timeout: GstClockTime,
7206 types: GstMessageType,
7207 ) -> *mut GstMessage;
7208
7209 //=========================================================================
7210 // GstClock
7211 //=========================================================================
7212 pub fn gst_clock_get_type() -> GType;
7213 pub fn gst_clock_id_compare_func(id1: gconstpointer, id2: gconstpointer) -> c_int;
7214 #[cfg(feature = "v1_16")]
7215 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7216 pub fn gst_clock_id_get_clock(id: GstClockID) -> *mut GstClock;
7217 pub fn gst_clock_id_get_time(id: GstClockID) -> GstClockTime;
7218 pub fn gst_clock_id_ref(id: GstClockID) -> GstClockID;
7219 pub fn gst_clock_id_unref(id: GstClockID);
7220 pub fn gst_clock_id_unschedule(id: GstClockID);
7221 #[cfg(feature = "v1_16")]
7222 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7223 pub fn gst_clock_id_uses_clock(id: GstClockID, clock: *mut GstClock) -> gboolean;
7224 pub fn gst_clock_id_wait(id: GstClockID, jitter: *mut GstClockTimeDiff) -> GstClockReturn;
7225 pub fn gst_clock_id_wait_async(
7226 id: GstClockID,
7227 func: GstClockCallback,
7228 user_data: gpointer,
7229 destroy_data: glib::GDestroyNotify,
7230 ) -> GstClockReturn;
7231 pub fn gst_clock_add_observation(
7232 clock: *mut GstClock,
7233 slave: GstClockTime,
7234 master: GstClockTime,
7235 r_squared: *mut c_double,
7236 ) -> gboolean;
7237 pub fn gst_clock_add_observation_unapplied(
7238 clock: *mut GstClock,
7239 slave: GstClockTime,
7240 master: GstClockTime,
7241 r_squared: *mut c_double,
7242 internal: *mut GstClockTime,
7243 external: *mut GstClockTime,
7244 rate_num: *mut GstClockTime,
7245 rate_denom: *mut GstClockTime,
7246 ) -> gboolean;
7247 pub fn gst_clock_adjust_unlocked(clock: *mut GstClock, internal: GstClockTime) -> GstClockTime;
7248 pub fn gst_clock_adjust_with_calibration(
7249 clock: *mut GstClock,
7250 internal_target: GstClockTime,
7251 cinternal: GstClockTime,
7252 cexternal: GstClockTime,
7253 cnum: GstClockTime,
7254 cdenom: GstClockTime,
7255 ) -> GstClockTime;
7256 pub fn gst_clock_get_calibration(
7257 clock: *mut GstClock,
7258 internal: *mut GstClockTime,
7259 external: *mut GstClockTime,
7260 rate_num: *mut GstClockTime,
7261 rate_denom: *mut GstClockTime,
7262 );
7263 pub fn gst_clock_get_internal_time(clock: *mut GstClock) -> GstClockTime;
7264 pub fn gst_clock_get_master(clock: *mut GstClock) -> *mut GstClock;
7265 pub fn gst_clock_get_resolution(clock: *mut GstClock) -> GstClockTime;
7266 pub fn gst_clock_get_time(clock: *mut GstClock) -> GstClockTime;
7267 pub fn gst_clock_get_timeout(clock: *mut GstClock) -> GstClockTime;
7268 pub fn gst_clock_is_synced(clock: *mut GstClock) -> gboolean;
7269 pub fn gst_clock_new_periodic_id(
7270 clock: *mut GstClock,
7271 start_time: GstClockTime,
7272 interval: GstClockTime,
7273 ) -> GstClockID;
7274 pub fn gst_clock_new_single_shot_id(clock: *mut GstClock, time: GstClockTime) -> GstClockID;
7275 pub fn gst_clock_periodic_id_reinit(
7276 clock: *mut GstClock,
7277 id: GstClockID,
7278 start_time: GstClockTime,
7279 interval: GstClockTime,
7280 ) -> gboolean;
7281 pub fn gst_clock_set_calibration(
7282 clock: *mut GstClock,
7283 internal: GstClockTime,
7284 external: GstClockTime,
7285 rate_num: GstClockTime,
7286 rate_denom: GstClockTime,
7287 );
7288 pub fn gst_clock_set_master(clock: *mut GstClock, master: *mut GstClock) -> gboolean;
7289 pub fn gst_clock_set_resolution(clock: *mut GstClock, resolution: GstClockTime)
7290 -> GstClockTime;
7291 pub fn gst_clock_set_synced(clock: *mut GstClock, synced: gboolean);
7292 pub fn gst_clock_set_timeout(clock: *mut GstClock, timeout: GstClockTime);
7293 pub fn gst_clock_single_shot_id_reinit(
7294 clock: *mut GstClock,
7295 id: GstClockID,
7296 time: GstClockTime,
7297 ) -> gboolean;
7298 pub fn gst_clock_unadjust_unlocked(
7299 clock: *mut GstClock,
7300 external: GstClockTime,
7301 ) -> GstClockTime;
7302 pub fn gst_clock_unadjust_with_calibration(
7303 clock: *mut GstClock,
7304 external_target: GstClockTime,
7305 cinternal: GstClockTime,
7306 cexternal: GstClockTime,
7307 cnum: GstClockTime,
7308 cdenom: GstClockTime,
7309 ) -> GstClockTime;
7310 pub fn gst_clock_wait_for_sync(clock: *mut GstClock, timeout: GstClockTime) -> gboolean;
7311
7312 //=========================================================================
7313 // GstControlBinding
7314 //=========================================================================
7315 pub fn gst_control_binding_get_type() -> GType;
7316 pub fn gst_control_binding_get_g_value_array(
7317 binding: *mut GstControlBinding,
7318 timestamp: GstClockTime,
7319 interval: GstClockTime,
7320 n_values: c_uint,
7321 values: *mut gobject::GValue,
7322 ) -> gboolean;
7323 pub fn gst_control_binding_get_value(
7324 binding: *mut GstControlBinding,
7325 timestamp: GstClockTime,
7326 ) -> *mut gobject::GValue;
7327 pub fn gst_control_binding_get_value_array(
7328 binding: *mut GstControlBinding,
7329 timestamp: GstClockTime,
7330 interval: GstClockTime,
7331 n_values: c_uint,
7332 values: gpointer,
7333 ) -> gboolean;
7334 pub fn gst_control_binding_is_disabled(binding: *mut GstControlBinding) -> gboolean;
7335 pub fn gst_control_binding_set_disabled(binding: *mut GstControlBinding, disabled: gboolean);
7336 pub fn gst_control_binding_sync_values(
7337 binding: *mut GstControlBinding,
7338 object: *mut GstObject,
7339 timestamp: GstClockTime,
7340 last_sync: GstClockTime,
7341 ) -> gboolean;
7342
7343 //=========================================================================
7344 // GstControlSource
7345 //=========================================================================
7346 pub fn gst_control_source_get_type() -> GType;
7347 pub fn gst_control_source_get_value(
7348 self_: *mut GstControlSource,
7349 timestamp: GstClockTime,
7350 value: *mut c_double,
7351 ) -> gboolean;
7352 pub fn gst_control_source_get_value_array(
7353 self_: *mut GstControlSource,
7354 timestamp: GstClockTime,
7355 interval: GstClockTime,
7356 n_values: c_uint,
7357 values: *mut c_double,
7358 ) -> gboolean;
7359
7360 //=========================================================================
7361 // GstDevice
7362 //=========================================================================
7363 pub fn gst_device_get_type() -> GType;
7364 pub fn gst_device_create_element(
7365 device: *mut GstDevice,
7366 name: *const c_char,
7367 ) -> *mut GstElement;
7368 pub fn gst_device_get_caps(device: *mut GstDevice) -> *mut GstCaps;
7369 pub fn gst_device_get_device_class(device: *mut GstDevice) -> *mut c_char;
7370 pub fn gst_device_get_display_name(device: *mut GstDevice) -> *mut c_char;
7371 pub fn gst_device_get_properties(device: *mut GstDevice) -> *mut GstStructure;
7372 pub fn gst_device_has_classes(device: *mut GstDevice, classes: *const c_char) -> gboolean;
7373 pub fn gst_device_has_classesv(device: *mut GstDevice, classes: *mut *mut c_char) -> gboolean;
7374 pub fn gst_device_reconfigure_element(
7375 device: *mut GstDevice,
7376 element: *mut GstElement,
7377 ) -> gboolean;
7378
7379 //=========================================================================
7380 // GstDeviceMonitor
7381 //=========================================================================
7382 pub fn gst_device_monitor_get_type() -> GType;
7383 pub fn gst_device_monitor_new() -> *mut GstDeviceMonitor;
7384 pub fn gst_device_monitor_add_filter(
7385 monitor: *mut GstDeviceMonitor,
7386 classes: *const c_char,
7387 caps: *mut GstCaps,
7388 ) -> c_uint;
7389 pub fn gst_device_monitor_get_bus(monitor: *mut GstDeviceMonitor) -> *mut GstBus;
7390 pub fn gst_device_monitor_get_devices(monitor: *mut GstDeviceMonitor) -> *mut glib::GList;
7391 pub fn gst_device_monitor_get_providers(monitor: *mut GstDeviceMonitor) -> *mut *mut c_char;
7392 pub fn gst_device_monitor_get_show_all_devices(monitor: *mut GstDeviceMonitor) -> gboolean;
7393 pub fn gst_device_monitor_remove_filter(
7394 monitor: *mut GstDeviceMonitor,
7395 filter_id: c_uint,
7396 ) -> gboolean;
7397 pub fn gst_device_monitor_set_show_all_devices(
7398 monitor: *mut GstDeviceMonitor,
7399 show_all: gboolean,
7400 );
7401 pub fn gst_device_monitor_start(monitor: *mut GstDeviceMonitor) -> gboolean;
7402 pub fn gst_device_monitor_stop(monitor: *mut GstDeviceMonitor);
7403
7404 //=========================================================================
7405 // GstDeviceProvider
7406 //=========================================================================
7407 pub fn gst_device_provider_get_type() -> GType;
7408 pub fn gst_device_provider_register(
7409 plugin: *mut GstPlugin,
7410 name: *const c_char,
7411 rank: c_uint,
7412 type_: GType,
7413 ) -> gboolean;
7414 pub fn gst_device_provider_can_monitor(provider: *mut GstDeviceProvider) -> gboolean;
7415 pub fn gst_device_provider_device_add(provider: *mut GstDeviceProvider, device: *mut GstDevice);
7416 #[cfg(feature = "v1_16")]
7417 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
7418 pub fn gst_device_provider_device_changed(
7419 provider: *mut GstDeviceProvider,
7420 device: *mut GstDevice,
7421 changed_device: *mut GstDevice,
7422 );
7423 pub fn gst_device_provider_device_remove(
7424 provider: *mut GstDeviceProvider,
7425 device: *mut GstDevice,
7426 );
7427 pub fn gst_device_provider_get_bus(provider: *mut GstDeviceProvider) -> *mut GstBus;
7428 pub fn gst_device_provider_get_devices(provider: *mut GstDeviceProvider) -> *mut glib::GList;
7429 pub fn gst_device_provider_get_factory(
7430 provider: *mut GstDeviceProvider,
7431 ) -> *mut GstDeviceProviderFactory;
7432 pub fn gst_device_provider_get_hidden_providers(
7433 provider: *mut GstDeviceProvider,
7434 ) -> *mut *mut c_char;
7435 pub fn gst_device_provider_get_metadata(
7436 provider: *mut GstDeviceProvider,
7437 key: *const c_char,
7438 ) -> *const c_char;
7439 pub fn gst_device_provider_hide_provider(provider: *mut GstDeviceProvider, name: *const c_char);
7440 #[cfg(feature = "v1_20")]
7441 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7442 pub fn gst_device_provider_is_started(provider: *mut GstDeviceProvider) -> gboolean;
7443 pub fn gst_device_provider_start(provider: *mut GstDeviceProvider) -> gboolean;
7444 pub fn gst_device_provider_stop(provider: *mut GstDeviceProvider);
7445 pub fn gst_device_provider_unhide_provider(
7446 provider: *mut GstDeviceProvider,
7447 name: *const c_char,
7448 );
7449
7450 //=========================================================================
7451 // GstDeviceProviderFactory
7452 //=========================================================================
7453 pub fn gst_device_provider_factory_get_type() -> GType;
7454 pub fn gst_device_provider_factory_find(name: *const c_char) -> *mut GstDeviceProviderFactory;
7455 pub fn gst_device_provider_factory_get_by_name(
7456 factoryname: *const c_char,
7457 ) -> *mut GstDeviceProvider;
7458 pub fn gst_device_provider_factory_list_get_device_providers(
7459 minrank: GstRank,
7460 ) -> *mut glib::GList;
7461 pub fn gst_device_provider_factory_get(
7462 factory: *mut GstDeviceProviderFactory,
7463 ) -> *mut GstDeviceProvider;
7464 pub fn gst_device_provider_factory_get_device_provider_type(
7465 factory: *mut GstDeviceProviderFactory,
7466 ) -> GType;
7467 pub fn gst_device_provider_factory_get_metadata(
7468 factory: *mut GstDeviceProviderFactory,
7469 key: *const c_char,
7470 ) -> *const c_char;
7471 pub fn gst_device_provider_factory_get_metadata_keys(
7472 factory: *mut GstDeviceProviderFactory,
7473 ) -> *mut *mut c_char;
7474 pub fn gst_device_provider_factory_has_classes(
7475 factory: *mut GstDeviceProviderFactory,
7476 classes: *const c_char,
7477 ) -> gboolean;
7478 pub fn gst_device_provider_factory_has_classesv(
7479 factory: *mut GstDeviceProviderFactory,
7480 classes: *mut *mut c_char,
7481 ) -> gboolean;
7482
7483 //=========================================================================
7484 // GstDoubleRange
7485 //=========================================================================
7486 pub fn gst_double_range_get_type() -> GType;
7487
7488 //=========================================================================
7489 // GstDynamicTypeFactory
7490 //=========================================================================
7491 pub fn gst_dynamic_type_factory_get_type() -> GType;
7492 pub fn gst_dynamic_type_factory_load(factoryname: *const c_char) -> GType;
7493
7494 //=========================================================================
7495 // GstElement
7496 //=========================================================================
7497 pub fn gst_element_get_type() -> GType;
7498 pub fn gst_element_make_from_uri(
7499 type_: GstURIType,
7500 uri: *const c_char,
7501 elementname: *const c_char,
7502 error: *mut *mut glib::GError,
7503 ) -> *mut GstElement;
7504 pub fn gst_element_register(
7505 plugin: *mut GstPlugin,
7506 name: *const c_char,
7507 rank: c_uint,
7508 type_: GType,
7509 ) -> gboolean;
7510 pub fn gst_element_state_change_return_get_name(
7511 state_ret: GstStateChangeReturn,
7512 ) -> *const c_char;
7513 pub fn gst_element_state_get_name(state: GstState) -> *const c_char;
7514 #[cfg(feature = "v1_20")]
7515 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7516 pub fn gst_element_type_set_skip_documentation(type_: GType);
7517 pub fn gst_element_abort_state(element: *mut GstElement);
7518 pub fn gst_element_add_pad(element: *mut GstElement, pad: *mut GstPad) -> gboolean;
7519 pub fn gst_element_add_property_deep_notify_watch(
7520 element: *mut GstElement,
7521 property_name: *const c_char,
7522 include_value: gboolean,
7523 ) -> c_ulong;
7524 pub fn gst_element_add_property_notify_watch(
7525 element: *mut GstElement,
7526 property_name: *const c_char,
7527 include_value: gboolean,
7528 ) -> c_ulong;
7529 pub fn gst_element_call_async(
7530 element: *mut GstElement,
7531 func: GstElementCallAsyncFunc,
7532 user_data: gpointer,
7533 destroy_notify: glib::GDestroyNotify,
7534 );
7535 pub fn gst_element_change_state(
7536 element: *mut GstElement,
7537 transition: GstStateChange,
7538 ) -> GstStateChangeReturn;
7539 pub fn gst_element_continue_state(
7540 element: *mut GstElement,
7541 ret: GstStateChangeReturn,
7542 ) -> GstStateChangeReturn;
7543 pub fn gst_element_create_all_pads(element: *mut GstElement);
7544 #[cfg(feature = "v1_24")]
7545 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7546 pub fn gst_element_decorate_stream_id(
7547 element: *mut GstElement,
7548 stream_id: *const c_char,
7549 ) -> *mut c_char;
7550 #[cfg(feature = "v1_24")]
7551 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7552 pub fn gst_element_decorate_stream_id_printf(
7553 element: *mut GstElement,
7554 format: *const c_char,
7555 ...
7556 ) -> *mut c_char;
7557 //#[cfg(feature = "v1_24")]
7558 //#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
7559 //pub fn gst_element_decorate_stream_id_printf_valist(element: *mut GstElement, format: *const c_char, var_args: /*Unimplemented*/va_list) -> *mut c_char;
7560 pub fn gst_element_foreach_pad(
7561 element: *mut GstElement,
7562 func: GstElementForeachPadFunc,
7563 user_data: gpointer,
7564 ) -> gboolean;
7565 pub fn gst_element_foreach_sink_pad(
7566 element: *mut GstElement,
7567 func: GstElementForeachPadFunc,
7568 user_data: gpointer,
7569 ) -> gboolean;
7570 pub fn gst_element_foreach_src_pad(
7571 element: *mut GstElement,
7572 func: GstElementForeachPadFunc,
7573 user_data: gpointer,
7574 ) -> gboolean;
7575 pub fn gst_element_get_base_time(element: *mut GstElement) -> GstClockTime;
7576 pub fn gst_element_get_bus(element: *mut GstElement) -> *mut GstBus;
7577 pub fn gst_element_get_clock(element: *mut GstElement) -> *mut GstClock;
7578 pub fn gst_element_get_compatible_pad(
7579 element: *mut GstElement,
7580 pad: *mut GstPad,
7581 caps: *mut GstCaps,
7582 ) -> *mut GstPad;
7583 pub fn gst_element_get_compatible_pad_template(
7584 element: *mut GstElement,
7585 compattempl: *mut GstPadTemplate,
7586 ) -> *mut GstPadTemplate;
7587 pub fn gst_element_get_context(
7588 element: *mut GstElement,
7589 context_type: *const c_char,
7590 ) -> *mut GstContext;
7591 pub fn gst_element_get_context_unlocked(
7592 element: *mut GstElement,
7593 context_type: *const c_char,
7594 ) -> *mut GstContext;
7595 pub fn gst_element_get_contexts(element: *mut GstElement) -> *mut glib::GList;
7596 #[cfg(feature = "v1_18")]
7597 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7598 pub fn gst_element_get_current_clock_time(element: *mut GstElement) -> GstClockTime;
7599 #[cfg(feature = "v1_18")]
7600 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
7601 pub fn gst_element_get_current_running_time(element: *mut GstElement) -> GstClockTime;
7602 pub fn gst_element_get_factory(element: *mut GstElement) -> *mut GstElementFactory;
7603 pub fn gst_element_get_metadata(element: *mut GstElement, key: *const c_char) -> *const c_char;
7604 pub fn gst_element_get_pad_template(
7605 element: *mut GstElement,
7606 name: *const c_char,
7607 ) -> *mut GstPadTemplate;
7608 pub fn gst_element_get_pad_template_list(element: *mut GstElement) -> *mut glib::GList;
7609 pub fn gst_element_get_request_pad(
7610 element: *mut GstElement,
7611 name: *const c_char,
7612 ) -> *mut GstPad;
7613 pub fn gst_element_get_start_time(element: *mut GstElement) -> GstClockTime;
7614 pub fn gst_element_get_state(
7615 element: *mut GstElement,
7616 state: *mut GstState,
7617 pending: *mut GstState,
7618 timeout: GstClockTime,
7619 ) -> GstStateChangeReturn;
7620 pub fn gst_element_get_static_pad(element: *mut GstElement, name: *const c_char)
7621 -> *mut GstPad;
7622 pub fn gst_element_is_locked_state(element: *mut GstElement) -> gboolean;
7623 pub fn gst_element_iterate_pads(element: *mut GstElement) -> *mut GstIterator;
7624 pub fn gst_element_iterate_sink_pads(element: *mut GstElement) -> *mut GstIterator;
7625 pub fn gst_element_iterate_src_pads(element: *mut GstElement) -> *mut GstIterator;
7626 pub fn gst_element_link(src: *mut GstElement, dest: *mut GstElement) -> gboolean;
7627 pub fn gst_element_link_filtered(
7628 src: *mut GstElement,
7629 dest: *mut GstElement,
7630 filter: *mut GstCaps,
7631 ) -> gboolean;
7632 pub fn gst_element_link_many(
7633 element_1: *mut GstElement,
7634 element_2: *mut GstElement,
7635 ...
7636 ) -> gboolean;
7637 pub fn gst_element_link_pads(
7638 src: *mut GstElement,
7639 srcpadname: *const c_char,
7640 dest: *mut GstElement,
7641 destpadname: *const c_char,
7642 ) -> gboolean;
7643 pub fn gst_element_link_pads_filtered(
7644 src: *mut GstElement,
7645 srcpadname: *const c_char,
7646 dest: *mut GstElement,
7647 destpadname: *const c_char,
7648 filter: *mut GstCaps,
7649 ) -> gboolean;
7650 pub fn gst_element_link_pads_full(
7651 src: *mut GstElement,
7652 srcpadname: *const c_char,
7653 dest: *mut GstElement,
7654 destpadname: *const c_char,
7655 flags: GstPadLinkCheck,
7656 ) -> gboolean;
7657 pub fn gst_element_lost_state(element: *mut GstElement);
7658 pub fn gst_element_message_full(
7659 element: *mut GstElement,
7660 type_: GstMessageType,
7661 domain: glib::GQuark,
7662 code: c_int,
7663 text: *mut c_char,
7664 debug: *mut c_char,
7665 file: *const c_char,
7666 function: *const c_char,
7667 line: c_int,
7668 );
7669 pub fn gst_element_message_full_with_details(
7670 element: *mut GstElement,
7671 type_: GstMessageType,
7672 domain: glib::GQuark,
7673 code: c_int,
7674 text: *mut c_char,
7675 debug: *mut c_char,
7676 file: *const c_char,
7677 function: *const c_char,
7678 line: c_int,
7679 structure: *mut GstStructure,
7680 );
7681 pub fn gst_element_no_more_pads(element: *mut GstElement);
7682 pub fn gst_element_post_message(element: *mut GstElement, message: *mut GstMessage)
7683 -> gboolean;
7684 pub fn gst_element_provide_clock(element: *mut GstElement) -> *mut GstClock;
7685 pub fn gst_element_query(element: *mut GstElement, query: *mut GstQuery) -> gboolean;
7686 pub fn gst_element_query_convert(
7687 element: *mut GstElement,
7688 src_format: GstFormat,
7689 src_val: i64,
7690 dest_format: GstFormat,
7691 dest_val: *mut i64,
7692 ) -> gboolean;
7693 pub fn gst_element_query_duration(
7694 element: *mut GstElement,
7695 format: GstFormat,
7696 duration: *mut i64,
7697 ) -> gboolean;
7698 pub fn gst_element_query_position(
7699 element: *mut GstElement,
7700 format: GstFormat,
7701 cur: *mut i64,
7702 ) -> gboolean;
7703 pub fn gst_element_release_request_pad(element: *mut GstElement, pad: *mut GstPad);
7704 pub fn gst_element_remove_pad(element: *mut GstElement, pad: *mut GstPad) -> gboolean;
7705 pub fn gst_element_remove_property_notify_watch(element: *mut GstElement, watch_id: c_ulong);
7706 pub fn gst_element_request_pad(
7707 element: *mut GstElement,
7708 templ: *mut GstPadTemplate,
7709 name: *const c_char,
7710 caps: *const GstCaps,
7711 ) -> *mut GstPad;
7712 #[cfg(feature = "v1_20")]
7713 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7714 pub fn gst_element_request_pad_simple(
7715 element: *mut GstElement,
7716 name: *const c_char,
7717 ) -> *mut GstPad;
7718 pub fn gst_element_seek(
7719 element: *mut GstElement,
7720 rate: c_double,
7721 format: GstFormat,
7722 flags: GstSeekFlags,
7723 start_type: GstSeekType,
7724 start: i64,
7725 stop_type: GstSeekType,
7726 stop: i64,
7727 ) -> gboolean;
7728 pub fn gst_element_seek_simple(
7729 element: *mut GstElement,
7730 format: GstFormat,
7731 seek_flags: GstSeekFlags,
7732 seek_pos: i64,
7733 ) -> gboolean;
7734 pub fn gst_element_send_event(element: *mut GstElement, event: *mut GstEvent) -> gboolean;
7735 pub fn gst_element_set_base_time(element: *mut GstElement, time: GstClockTime);
7736 pub fn gst_element_set_bus(element: *mut GstElement, bus: *mut GstBus);
7737 pub fn gst_element_set_clock(element: *mut GstElement, clock: *mut GstClock) -> gboolean;
7738 pub fn gst_element_set_context(element: *mut GstElement, context: *mut GstContext);
7739 pub fn gst_element_set_locked_state(
7740 element: *mut GstElement,
7741 locked_state: gboolean,
7742 ) -> gboolean;
7743 pub fn gst_element_set_start_time(element: *mut GstElement, time: GstClockTime);
7744 pub fn gst_element_set_state(element: *mut GstElement, state: GstState)
7745 -> GstStateChangeReturn;
7746 pub fn gst_element_sync_state_with_parent(element: *mut GstElement) -> gboolean;
7747 pub fn gst_element_unlink(src: *mut GstElement, dest: *mut GstElement);
7748 pub fn gst_element_unlink_many(element_1: *mut GstElement, element_2: *mut GstElement, ...);
7749 pub fn gst_element_unlink_pads(
7750 src: *mut GstElement,
7751 srcpadname: *const c_char,
7752 dest: *mut GstElement,
7753 destpadname: *const c_char,
7754 );
7755
7756 //=========================================================================
7757 // GstElementFactory
7758 //=========================================================================
7759 pub fn gst_element_factory_get_type() -> GType;
7760 pub fn gst_element_factory_find(name: *const c_char) -> *mut GstElementFactory;
7761 pub fn gst_element_factory_list_filter(
7762 list: *mut glib::GList,
7763 caps: *const GstCaps,
7764 direction: GstPadDirection,
7765 subsetonly: gboolean,
7766 ) -> *mut glib::GList;
7767 pub fn gst_element_factory_list_get_elements(
7768 type_: GstElementFactoryListType,
7769 minrank: GstRank,
7770 ) -> *mut glib::GList;
7771 pub fn gst_element_factory_make(
7772 factoryname: *const c_char,
7773 name: *const c_char,
7774 ) -> *mut GstElement;
7775 #[cfg(feature = "v1_20")]
7776 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7777 pub fn gst_element_factory_make_full(
7778 factoryname: *const c_char,
7779 first: *const c_char,
7780 ...
7781 ) -> *mut GstElement;
7782 //#[cfg(feature = "v1_20")]
7783 //#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7784 //pub fn gst_element_factory_make_valist(factoryname: *const c_char, first: *const c_char, properties: /*Unimplemented*/va_list) -> *mut GstElement;
7785 #[cfg(feature = "v1_20")]
7786 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7787 pub fn gst_element_factory_make_with_properties(
7788 factoryname: *const c_char,
7789 n: c_uint,
7790 names: *mut *const c_char,
7791 values: *const gobject::GValue,
7792 ) -> *mut GstElement;
7793 pub fn gst_element_factory_can_sink_all_caps(
7794 factory: *mut GstElementFactory,
7795 caps: *const GstCaps,
7796 ) -> gboolean;
7797 pub fn gst_element_factory_can_sink_any_caps(
7798 factory: *mut GstElementFactory,
7799 caps: *const GstCaps,
7800 ) -> gboolean;
7801 pub fn gst_element_factory_can_src_all_caps(
7802 factory: *mut GstElementFactory,
7803 caps: *const GstCaps,
7804 ) -> gboolean;
7805 pub fn gst_element_factory_can_src_any_caps(
7806 factory: *mut GstElementFactory,
7807 caps: *const GstCaps,
7808 ) -> gboolean;
7809 pub fn gst_element_factory_create(
7810 factory: *mut GstElementFactory,
7811 name: *const c_char,
7812 ) -> *mut GstElement;
7813 #[cfg(feature = "v1_20")]
7814 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7815 pub fn gst_element_factory_create_full(
7816 factory: *mut GstElementFactory,
7817 first: *const c_char,
7818 ...
7819 ) -> *mut GstElement;
7820 //#[cfg(feature = "v1_20")]
7821 //#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7822 //pub fn gst_element_factory_create_valist(factory: *mut GstElementFactory, first: *const c_char, properties: /*Unimplemented*/va_list) -> *mut GstElement;
7823 #[cfg(feature = "v1_20")]
7824 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7825 pub fn gst_element_factory_create_with_properties(
7826 factory: *mut GstElementFactory,
7827 n: c_uint,
7828 names: *mut *const c_char,
7829 values: *const gobject::GValue,
7830 ) -> *mut GstElement;
7831 pub fn gst_element_factory_get_element_type(factory: *mut GstElementFactory) -> GType;
7832 pub fn gst_element_factory_get_metadata(
7833 factory: *mut GstElementFactory,
7834 key: *const c_char,
7835 ) -> *const c_char;
7836 pub fn gst_element_factory_get_metadata_keys(
7837 factory: *mut GstElementFactory,
7838 ) -> *mut *mut c_char;
7839 pub fn gst_element_factory_get_num_pad_templates(factory: *mut GstElementFactory) -> c_uint;
7840 #[cfg(feature = "v1_20")]
7841 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
7842 pub fn gst_element_factory_get_skip_documentation(factory: *mut GstElementFactory) -> gboolean;
7843 pub fn gst_element_factory_get_static_pad_templates(
7844 factory: *mut GstElementFactory,
7845 ) -> *const glib::GList;
7846 pub fn gst_element_factory_get_uri_protocols(
7847 factory: *mut GstElementFactory,
7848 ) -> *const *const c_char;
7849 pub fn gst_element_factory_get_uri_type(factory: *mut GstElementFactory) -> GstURIType;
7850 pub fn gst_element_factory_has_interface(
7851 factory: *mut GstElementFactory,
7852 interfacename: *const c_char,
7853 ) -> gboolean;
7854 pub fn gst_element_factory_list_is_type(
7855 factory: *mut GstElementFactory,
7856 type_: GstElementFactoryListType,
7857 ) -> gboolean;
7858
7859 //=========================================================================
7860 // GstFlagSet
7861 //=========================================================================
7862 pub fn gst_flagset_get_type() -> GType;
7863 pub fn gst_flagset_register(flags_type: GType) -> GType;
7864
7865 //=========================================================================
7866 // GstFraction
7867 //=========================================================================
7868 pub fn gst_fraction_get_type() -> GType;
7869
7870 //=========================================================================
7871 // GstFractionRange
7872 //=========================================================================
7873 pub fn gst_fraction_range_get_type() -> GType;
7874
7875 //=========================================================================
7876 // GstGhostPad
7877 //=========================================================================
7878 pub fn gst_ghost_pad_get_type() -> GType;
7879 pub fn gst_ghost_pad_new(name: *const c_char, target: *mut GstPad) -> *mut GstPad;
7880 pub fn gst_ghost_pad_new_from_template(
7881 name: *const c_char,
7882 target: *mut GstPad,
7883 templ: *mut GstPadTemplate,
7884 ) -> *mut GstPad;
7885 pub fn gst_ghost_pad_new_no_target(name: *const c_char, dir: GstPadDirection) -> *mut GstPad;
7886 pub fn gst_ghost_pad_new_no_target_from_template(
7887 name: *const c_char,
7888 templ: *mut GstPadTemplate,
7889 ) -> *mut GstPad;
7890 pub fn gst_ghost_pad_activate_mode_default(
7891 pad: *mut GstPad,
7892 parent: *mut GstObject,
7893 mode: GstPadMode,
7894 active: gboolean,
7895 ) -> gboolean;
7896 pub fn gst_ghost_pad_internal_activate_mode_default(
7897 pad: *mut GstPad,
7898 parent: *mut GstObject,
7899 mode: GstPadMode,
7900 active: gboolean,
7901 ) -> gboolean;
7902 pub fn gst_ghost_pad_construct(gpad: *mut GstGhostPad) -> gboolean;
7903 pub fn gst_ghost_pad_get_target(gpad: *mut GstGhostPad) -> *mut GstPad;
7904 pub fn gst_ghost_pad_set_target(gpad: *mut GstGhostPad, newtarget: *mut GstPad) -> gboolean;
7905
7906 //=========================================================================
7907 // GstInt64Range
7908 //=========================================================================
7909 pub fn gst_int64_range_get_type() -> GType;
7910
7911 //=========================================================================
7912 // GstIntRange
7913 //=========================================================================
7914 pub fn gst_int_range_get_type() -> GType;
7915
7916 //=========================================================================
7917 // GstObject
7918 //=========================================================================
7919 pub fn gst_object_get_type() -> GType;
7920 pub fn gst_object_check_uniqueness(list: *mut glib::GList, name: *const c_char) -> gboolean;
7921 pub fn gst_object_default_deep_notify(
7922 object: *mut gobject::GObject,
7923 orig: *mut GstObject,
7924 pspec: *mut gobject::GParamSpec,
7925 excluded_props: *mut *mut c_char,
7926 );
7927 pub fn gst_object_ref_sink(object: gpointer) -> gpointer;
7928 pub fn gst_object_replace(oldobj: *mut *mut GstObject, newobj: *mut GstObject) -> gboolean;
7929 pub fn gst_object_add_control_binding(
7930 object: *mut GstObject,
7931 binding: *mut GstControlBinding,
7932 ) -> gboolean;
7933 pub fn gst_object_default_error(
7934 source: *mut GstObject,
7935 error: *const glib::GError,
7936 debug: *const c_char,
7937 );
7938 pub fn gst_object_get_control_binding(
7939 object: *mut GstObject,
7940 property_name: *const c_char,
7941 ) -> *mut GstControlBinding;
7942 pub fn gst_object_get_control_rate(object: *mut GstObject) -> GstClockTime;
7943 pub fn gst_object_get_g_value_array(
7944 object: *mut GstObject,
7945 property_name: *const c_char,
7946 timestamp: GstClockTime,
7947 interval: GstClockTime,
7948 n_values: c_uint,
7949 values: *mut gobject::GValue,
7950 ) -> gboolean;
7951 pub fn gst_object_get_name(object: *mut GstObject) -> *mut c_char;
7952 pub fn gst_object_get_parent(object: *mut GstObject) -> *mut GstObject;
7953 pub fn gst_object_get_path_string(object: *mut GstObject) -> *mut c_char;
7954 pub fn gst_object_get_value(
7955 object: *mut GstObject,
7956 property_name: *const c_char,
7957 timestamp: GstClockTime,
7958 ) -> *mut gobject::GValue;
7959 pub fn gst_object_get_value_array(
7960 object: *mut GstObject,
7961 property_name: *const c_char,
7962 timestamp: GstClockTime,
7963 interval: GstClockTime,
7964 n_values: c_uint,
7965 values: gpointer,
7966 ) -> gboolean;
7967 pub fn gst_object_has_active_control_bindings(object: *mut GstObject) -> gboolean;
7968 pub fn gst_object_has_ancestor(object: *mut GstObject, ancestor: *mut GstObject) -> gboolean;
7969 pub fn gst_object_has_as_ancestor(object: *mut GstObject, ancestor: *mut GstObject)
7970 -> gboolean;
7971 pub fn gst_object_has_as_parent(object: *mut GstObject, parent: *mut GstObject) -> gboolean;
7972 pub fn gst_object_ref(object: *mut GstObject) -> *mut GstObject;
7973 pub fn gst_object_remove_control_binding(
7974 object: *mut GstObject,
7975 binding: *mut GstControlBinding,
7976 ) -> gboolean;
7977 pub fn gst_object_set_control_binding_disabled(
7978 object: *mut GstObject,
7979 property_name: *const c_char,
7980 disabled: gboolean,
7981 );
7982 pub fn gst_object_set_control_bindings_disabled(object: *mut GstObject, disabled: gboolean);
7983 pub fn gst_object_set_control_rate(object: *mut GstObject, control_rate: GstClockTime);
7984 pub fn gst_object_set_name(object: *mut GstObject, name: *const c_char) -> gboolean;
7985 pub fn gst_object_set_parent(object: *mut GstObject, parent: *mut GstObject) -> gboolean;
7986 pub fn gst_object_suggest_next_sync(object: *mut GstObject) -> GstClockTime;
7987 pub fn gst_object_sync_values(object: *mut GstObject, timestamp: GstClockTime) -> gboolean;
7988 pub fn gst_object_unparent(object: *mut GstObject);
7989 pub fn gst_object_unref(object: *mut GstObject);
7990
7991 //=========================================================================
7992 // GstPad
7993 //=========================================================================
7994 pub fn gst_pad_get_type() -> GType;
7995 pub fn gst_pad_new(name: *const c_char, direction: GstPadDirection) -> *mut GstPad;
7996 pub fn gst_pad_new_from_static_template(
7997 templ: *mut GstStaticPadTemplate,
7998 name: *const c_char,
7999 ) -> *mut GstPad;
8000 pub fn gst_pad_new_from_template(
8001 templ: *mut GstPadTemplate,
8002 name: *const c_char,
8003 ) -> *mut GstPad;
8004 pub fn gst_pad_link_get_name(ret: GstPadLinkReturn) -> *const c_char;
8005 pub fn gst_pad_activate_mode(pad: *mut GstPad, mode: GstPadMode, active: gboolean) -> gboolean;
8006 pub fn gst_pad_add_probe(
8007 pad: *mut GstPad,
8008 mask: GstPadProbeType,
8009 callback: GstPadProbeCallback,
8010 user_data: gpointer,
8011 destroy_data: glib::GDestroyNotify,
8012 ) -> c_ulong;
8013 pub fn gst_pad_can_link(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> gboolean;
8014 pub fn gst_pad_chain(pad: *mut GstPad, buffer: *mut GstBuffer) -> GstFlowReturn;
8015 pub fn gst_pad_chain_list(pad: *mut GstPad, list: *mut GstBufferList) -> GstFlowReturn;
8016 pub fn gst_pad_check_reconfigure(pad: *mut GstPad) -> gboolean;
8017 pub fn gst_pad_create_stream_id(
8018 pad: *mut GstPad,
8019 parent: *mut GstElement,
8020 stream_id: *const c_char,
8021 ) -> *mut c_char;
8022 pub fn gst_pad_create_stream_id_printf(
8023 pad: *mut GstPad,
8024 parent: *mut GstElement,
8025 stream_id: *const c_char,
8026 ...
8027 ) -> *mut c_char;
8028 //pub fn gst_pad_create_stream_id_printf_valist(pad: *mut GstPad, parent: *mut GstElement, stream_id: *const c_char, var_args: /*Unimplemented*/va_list) -> *mut c_char;
8029 pub fn gst_pad_event_default(
8030 pad: *mut GstPad,
8031 parent: *mut GstObject,
8032 event: *mut GstEvent,
8033 ) -> gboolean;
8034 pub fn gst_pad_forward(
8035 pad: *mut GstPad,
8036 forward: GstPadForwardFunction,
8037 user_data: gpointer,
8038 ) -> gboolean;
8039 pub fn gst_pad_get_allowed_caps(pad: *mut GstPad) -> *mut GstCaps;
8040 pub fn gst_pad_get_current_caps(pad: *mut GstPad) -> *mut GstCaps;
8041 pub fn gst_pad_get_direction(pad: *mut GstPad) -> GstPadDirection;
8042 pub fn gst_pad_get_element_private(pad: *mut GstPad) -> gpointer;
8043 pub fn gst_pad_get_last_flow_return(pad: *mut GstPad) -> GstFlowReturn;
8044 pub fn gst_pad_get_offset(pad: *mut GstPad) -> i64;
8045 pub fn gst_pad_get_pad_template(pad: *mut GstPad) -> *mut GstPadTemplate;
8046 pub fn gst_pad_get_pad_template_caps(pad: *mut GstPad) -> *mut GstCaps;
8047 pub fn gst_pad_get_parent_element(pad: *mut GstPad) -> *mut GstElement;
8048 pub fn gst_pad_get_peer(pad: *mut GstPad) -> *mut GstPad;
8049 pub fn gst_pad_get_range(
8050 pad: *mut GstPad,
8051 offset: u64,
8052 size: c_uint,
8053 buffer: *mut *mut GstBuffer,
8054 ) -> GstFlowReturn;
8055 #[cfg(feature = "v1_18")]
8056 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8057 pub fn gst_pad_get_single_internal_link(pad: *mut GstPad) -> *mut GstPad;
8058 pub fn gst_pad_get_sticky_event(
8059 pad: *mut GstPad,
8060 event_type: GstEventType,
8061 idx: c_uint,
8062 ) -> *mut GstEvent;
8063 pub fn gst_pad_get_stream(pad: *mut GstPad) -> *mut GstStream;
8064 pub fn gst_pad_get_stream_id(pad: *mut GstPad) -> *mut c_char;
8065 pub fn gst_pad_get_task_state(pad: *mut GstPad) -> GstTaskState;
8066 pub fn gst_pad_has_current_caps(pad: *mut GstPad) -> gboolean;
8067 pub fn gst_pad_is_active(pad: *mut GstPad) -> gboolean;
8068 pub fn gst_pad_is_blocked(pad: *mut GstPad) -> gboolean;
8069 pub fn gst_pad_is_blocking(pad: *mut GstPad) -> gboolean;
8070 pub fn gst_pad_is_linked(pad: *mut GstPad) -> gboolean;
8071 pub fn gst_pad_iterate_internal_links(pad: *mut GstPad) -> *mut GstIterator;
8072 pub fn gst_pad_iterate_internal_links_default(
8073 pad: *mut GstPad,
8074 parent: *mut GstObject,
8075 ) -> *mut GstIterator;
8076 pub fn gst_pad_link(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> GstPadLinkReturn;
8077 pub fn gst_pad_link_full(
8078 srcpad: *mut GstPad,
8079 sinkpad: *mut GstPad,
8080 flags: GstPadLinkCheck,
8081 ) -> GstPadLinkReturn;
8082 pub fn gst_pad_link_maybe_ghosting(src: *mut GstPad, sink: *mut GstPad) -> gboolean;
8083 pub fn gst_pad_link_maybe_ghosting_full(
8084 src: *mut GstPad,
8085 sink: *mut GstPad,
8086 flags: GstPadLinkCheck,
8087 ) -> gboolean;
8088 pub fn gst_pad_mark_reconfigure(pad: *mut GstPad);
8089 pub fn gst_pad_needs_reconfigure(pad: *mut GstPad) -> gboolean;
8090 pub fn gst_pad_pause_task(pad: *mut GstPad) -> gboolean;
8091 pub fn gst_pad_peer_query(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8092 pub fn gst_pad_peer_query_accept_caps(pad: *mut GstPad, caps: *mut GstCaps) -> gboolean;
8093 pub fn gst_pad_peer_query_caps(pad: *mut GstPad, filter: *mut GstCaps) -> *mut GstCaps;
8094 pub fn gst_pad_peer_query_convert(
8095 pad: *mut GstPad,
8096 src_format: GstFormat,
8097 src_val: i64,
8098 dest_format: GstFormat,
8099 dest_val: *mut i64,
8100 ) -> gboolean;
8101 pub fn gst_pad_peer_query_duration(
8102 pad: *mut GstPad,
8103 format: GstFormat,
8104 duration: *mut i64,
8105 ) -> gboolean;
8106 pub fn gst_pad_peer_query_position(
8107 pad: *mut GstPad,
8108 format: GstFormat,
8109 cur: *mut i64,
8110 ) -> gboolean;
8111 pub fn gst_pad_proxy_query_accept_caps(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8112 pub fn gst_pad_proxy_query_caps(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8113 pub fn gst_pad_pull_range(
8114 pad: *mut GstPad,
8115 offset: u64,
8116 size: c_uint,
8117 buffer: *mut *mut GstBuffer,
8118 ) -> GstFlowReturn;
8119 pub fn gst_pad_push(pad: *mut GstPad, buffer: *mut GstBuffer) -> GstFlowReturn;
8120 pub fn gst_pad_push_event(pad: *mut GstPad, event: *mut GstEvent) -> gboolean;
8121 pub fn gst_pad_push_list(pad: *mut GstPad, list: *mut GstBufferList) -> GstFlowReturn;
8122 pub fn gst_pad_query(pad: *mut GstPad, query: *mut GstQuery) -> gboolean;
8123 pub fn gst_pad_query_accept_caps(pad: *mut GstPad, caps: *mut GstCaps) -> gboolean;
8124 pub fn gst_pad_query_caps(pad: *mut GstPad, filter: *mut GstCaps) -> *mut GstCaps;
8125 pub fn gst_pad_query_convert(
8126 pad: *mut GstPad,
8127 src_format: GstFormat,
8128 src_val: i64,
8129 dest_format: GstFormat,
8130 dest_val: *mut i64,
8131 ) -> gboolean;
8132 pub fn gst_pad_query_default(
8133 pad: *mut GstPad,
8134 parent: *mut GstObject,
8135 query: *mut GstQuery,
8136 ) -> gboolean;
8137 pub fn gst_pad_query_duration(
8138 pad: *mut GstPad,
8139 format: GstFormat,
8140 duration: *mut i64,
8141 ) -> gboolean;
8142 pub fn gst_pad_query_position(pad: *mut GstPad, format: GstFormat, cur: *mut i64) -> gboolean;
8143 pub fn gst_pad_remove_probe(pad: *mut GstPad, id: c_ulong);
8144 pub fn gst_pad_send_event(pad: *mut GstPad, event: *mut GstEvent) -> gboolean;
8145 pub fn gst_pad_set_activate_function_full(
8146 pad: *mut GstPad,
8147 activate: GstPadActivateFunction,
8148 user_data: gpointer,
8149 notify: glib::GDestroyNotify,
8150 );
8151 pub fn gst_pad_set_activatemode_function_full(
8152 pad: *mut GstPad,
8153 activatemode: GstPadActivateModeFunction,
8154 user_data: gpointer,
8155 notify: glib::GDestroyNotify,
8156 );
8157 pub fn gst_pad_set_active(pad: *mut GstPad, active: gboolean) -> gboolean;
8158 pub fn gst_pad_set_chain_function_full(
8159 pad: *mut GstPad,
8160 chain: GstPadChainFunction,
8161 user_data: gpointer,
8162 notify: glib::GDestroyNotify,
8163 );
8164 pub fn gst_pad_set_chain_list_function_full(
8165 pad: *mut GstPad,
8166 chainlist: GstPadChainListFunction,
8167 user_data: gpointer,
8168 notify: glib::GDestroyNotify,
8169 );
8170 pub fn gst_pad_set_element_private(pad: *mut GstPad, priv_: gpointer);
8171 pub fn gst_pad_set_event_full_function_full(
8172 pad: *mut GstPad,
8173 event: GstPadEventFullFunction,
8174 user_data: gpointer,
8175 notify: glib::GDestroyNotify,
8176 );
8177 pub fn gst_pad_set_event_function_full(
8178 pad: *mut GstPad,
8179 event: GstPadEventFunction,
8180 user_data: gpointer,
8181 notify: glib::GDestroyNotify,
8182 );
8183 pub fn gst_pad_set_getrange_function_full(
8184 pad: *mut GstPad,
8185 get: GstPadGetRangeFunction,
8186 user_data: gpointer,
8187 notify: glib::GDestroyNotify,
8188 );
8189 pub fn gst_pad_set_iterate_internal_links_function_full(
8190 pad: *mut GstPad,
8191 iterintlink: GstPadIterIntLinkFunction,
8192 user_data: gpointer,
8193 notify: glib::GDestroyNotify,
8194 );
8195 pub fn gst_pad_set_link_function_full(
8196 pad: *mut GstPad,
8197 link: GstPadLinkFunction,
8198 user_data: gpointer,
8199 notify: glib::GDestroyNotify,
8200 );
8201 pub fn gst_pad_set_offset(pad: *mut GstPad, offset: i64);
8202 pub fn gst_pad_set_query_function_full(
8203 pad: *mut GstPad,
8204 query: GstPadQueryFunction,
8205 user_data: gpointer,
8206 notify: glib::GDestroyNotify,
8207 );
8208 pub fn gst_pad_set_unlink_function_full(
8209 pad: *mut GstPad,
8210 unlink: GstPadUnlinkFunction,
8211 user_data: gpointer,
8212 notify: glib::GDestroyNotify,
8213 );
8214 pub fn gst_pad_start_task(
8215 pad: *mut GstPad,
8216 func: GstTaskFunction,
8217 user_data: gpointer,
8218 notify: glib::GDestroyNotify,
8219 ) -> gboolean;
8220 pub fn gst_pad_sticky_events_foreach(
8221 pad: *mut GstPad,
8222 foreach_func: GstPadStickyEventsForeachFunction,
8223 user_data: gpointer,
8224 );
8225 pub fn gst_pad_stop_task(pad: *mut GstPad) -> gboolean;
8226 pub fn gst_pad_store_sticky_event(pad: *mut GstPad, event: *mut GstEvent) -> GstFlowReturn;
8227 pub fn gst_pad_unlink(srcpad: *mut GstPad, sinkpad: *mut GstPad) -> gboolean;
8228 pub fn gst_pad_use_fixed_caps(pad: *mut GstPad);
8229
8230 //=========================================================================
8231 // GstPadTemplate
8232 //=========================================================================
8233 pub fn gst_pad_template_get_type() -> GType;
8234 pub fn gst_pad_template_new(
8235 name_template: *const c_char,
8236 direction: GstPadDirection,
8237 presence: GstPadPresence,
8238 caps: *mut GstCaps,
8239 ) -> *mut GstPadTemplate;
8240 pub fn gst_pad_template_new_from_static_pad_template_with_gtype(
8241 pad_template: *mut GstStaticPadTemplate,
8242 pad_type: GType,
8243 ) -> *mut GstPadTemplate;
8244 pub fn gst_pad_template_new_with_gtype(
8245 name_template: *const c_char,
8246 direction: GstPadDirection,
8247 presence: GstPadPresence,
8248 caps: *mut GstCaps,
8249 pad_type: GType,
8250 ) -> *mut GstPadTemplate;
8251 pub fn gst_pad_template_get_caps(templ: *mut GstPadTemplate) -> *mut GstCaps;
8252 #[cfg(feature = "v1_18")]
8253 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8254 pub fn gst_pad_template_get_documentation_caps(templ: *mut GstPadTemplate) -> *mut GstCaps;
8255 pub fn gst_pad_template_pad_created(templ: *mut GstPadTemplate, pad: *mut GstPad);
8256 #[cfg(feature = "v1_18")]
8257 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8258 pub fn gst_pad_template_set_documentation_caps(templ: *mut GstPadTemplate, caps: *mut GstCaps);
8259
8260 //=========================================================================
8261 // GstParamArray
8262 //=========================================================================
8263 pub fn gst_param_spec_array_get_type() -> GType;
8264
8265 //=========================================================================
8266 // GstParamFraction
8267 //=========================================================================
8268 pub fn gst_param_spec_fraction_get_type() -> GType;
8269
8270 //=========================================================================
8271 // GstPipeline
8272 //=========================================================================
8273 pub fn gst_pipeline_get_type() -> GType;
8274 pub fn gst_pipeline_new(name: *const c_char) -> *mut GstElement;
8275 pub fn gst_pipeline_auto_clock(pipeline: *mut GstPipeline);
8276 pub fn gst_pipeline_get_auto_flush_bus(pipeline: *mut GstPipeline) -> gboolean;
8277 pub fn gst_pipeline_get_bus(pipeline: *mut GstPipeline) -> *mut GstBus;
8278 pub fn gst_pipeline_get_clock(pipeline: *mut GstPipeline) -> *mut GstClock;
8279 pub fn gst_pipeline_get_delay(pipeline: *mut GstPipeline) -> GstClockTime;
8280 pub fn gst_pipeline_get_latency(pipeline: *mut GstPipeline) -> GstClockTime;
8281 pub fn gst_pipeline_get_pipeline_clock(pipeline: *mut GstPipeline) -> *mut GstClock;
8282 pub fn gst_pipeline_set_auto_flush_bus(pipeline: *mut GstPipeline, auto_flush: gboolean);
8283 pub fn gst_pipeline_set_clock(pipeline: *mut GstPipeline, clock: *mut GstClock) -> gboolean;
8284 pub fn gst_pipeline_set_delay(pipeline: *mut GstPipeline, delay: GstClockTime);
8285 pub fn gst_pipeline_set_latency(pipeline: *mut GstPipeline, latency: GstClockTime);
8286 pub fn gst_pipeline_use_clock(pipeline: *mut GstPipeline, clock: *mut GstClock);
8287
8288 //=========================================================================
8289 // GstPlugin
8290 //=========================================================================
8291 pub fn gst_plugin_get_type() -> GType;
8292 pub fn gst_plugin_list_free(list: *mut glib::GList);
8293 pub fn gst_plugin_load_by_name(name: *const c_char) -> *mut GstPlugin;
8294 pub fn gst_plugin_load_file(
8295 filename: *const c_char,
8296 error: *mut *mut glib::GError,
8297 ) -> *mut GstPlugin;
8298 pub fn gst_plugin_register_static(
8299 major_version: c_int,
8300 minor_version: c_int,
8301 name: *const c_char,
8302 description: *const c_char,
8303 init_func: GstPluginInitFunc,
8304 version: *const c_char,
8305 license: *const c_char,
8306 source: *const c_char,
8307 package: *const c_char,
8308 origin: *const c_char,
8309 ) -> gboolean;
8310 pub fn gst_plugin_register_static_full(
8311 major_version: c_int,
8312 minor_version: c_int,
8313 name: *const c_char,
8314 description: *const c_char,
8315 init_full_func: GstPluginInitFullFunc,
8316 version: *const c_char,
8317 license: *const c_char,
8318 source: *const c_char,
8319 package: *const c_char,
8320 origin: *const c_char,
8321 user_data: gpointer,
8322 ) -> gboolean;
8323 pub fn gst_plugin_add_dependency(
8324 plugin: *mut GstPlugin,
8325 env_vars: *mut *const c_char,
8326 paths: *mut *const c_char,
8327 names: *mut *const c_char,
8328 flags: GstPluginDependencyFlags,
8329 );
8330 pub fn gst_plugin_add_dependency_simple(
8331 plugin: *mut GstPlugin,
8332 env_vars: *const c_char,
8333 paths: *const c_char,
8334 names: *const c_char,
8335 flags: GstPluginDependencyFlags,
8336 );
8337 pub fn gst_plugin_get_cache_data(plugin: *mut GstPlugin) -> *const GstStructure;
8338 pub fn gst_plugin_get_description(plugin: *mut GstPlugin) -> *const c_char;
8339 pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *const c_char;
8340 pub fn gst_plugin_get_license(plugin: *mut GstPlugin) -> *const c_char;
8341 pub fn gst_plugin_get_name(plugin: *mut GstPlugin) -> *const c_char;
8342 pub fn gst_plugin_get_origin(plugin: *mut GstPlugin) -> *const c_char;
8343 pub fn gst_plugin_get_package(plugin: *mut GstPlugin) -> *const c_char;
8344 pub fn gst_plugin_get_release_date_string(plugin: *mut GstPlugin) -> *const c_char;
8345 pub fn gst_plugin_get_source(plugin: *mut GstPlugin) -> *const c_char;
8346 pub fn gst_plugin_get_version(plugin: *mut GstPlugin) -> *const c_char;
8347 pub fn gst_plugin_is_loaded(plugin: *mut GstPlugin) -> gboolean;
8348 pub fn gst_plugin_load(plugin: *mut GstPlugin) -> *mut GstPlugin;
8349 pub fn gst_plugin_set_cache_data(plugin: *mut GstPlugin, cache_data: *mut GstStructure);
8350
8351 //=========================================================================
8352 // GstPluginFeature
8353 //=========================================================================
8354 pub fn gst_plugin_feature_get_type() -> GType;
8355 pub fn gst_plugin_feature_list_copy(list: *mut glib::GList) -> *mut glib::GList;
8356 pub fn gst_plugin_feature_list_debug(list: *mut glib::GList);
8357 pub fn gst_plugin_feature_list_free(list: *mut glib::GList);
8358 pub fn gst_plugin_feature_rank_compare_func(p1: gconstpointer, p2: gconstpointer) -> c_int;
8359 pub fn gst_plugin_feature_check_version(
8360 feature: *mut GstPluginFeature,
8361 min_major: c_uint,
8362 min_minor: c_uint,
8363 min_micro: c_uint,
8364 ) -> gboolean;
8365 pub fn gst_plugin_feature_get_plugin(feature: *mut GstPluginFeature) -> *mut GstPlugin;
8366 pub fn gst_plugin_feature_get_plugin_name(feature: *mut GstPluginFeature) -> *const c_char;
8367 pub fn gst_plugin_feature_get_rank(feature: *mut GstPluginFeature) -> c_uint;
8368 pub fn gst_plugin_feature_load(feature: *mut GstPluginFeature) -> *mut GstPluginFeature;
8369 pub fn gst_plugin_feature_set_rank(feature: *mut GstPluginFeature, rank: c_uint);
8370
8371 //=========================================================================
8372 // GstProxyPad
8373 //=========================================================================
8374 pub fn gst_proxy_pad_get_type() -> GType;
8375 pub fn gst_proxy_pad_chain_default(
8376 pad: *mut GstPad,
8377 parent: *mut GstObject,
8378 buffer: *mut GstBuffer,
8379 ) -> GstFlowReturn;
8380 pub fn gst_proxy_pad_chain_list_default(
8381 pad: *mut GstPad,
8382 parent: *mut GstObject,
8383 list: *mut GstBufferList,
8384 ) -> GstFlowReturn;
8385 pub fn gst_proxy_pad_getrange_default(
8386 pad: *mut GstPad,
8387 parent: *mut GstObject,
8388 offset: u64,
8389 size: c_uint,
8390 buffer: *mut *mut GstBuffer,
8391 ) -> GstFlowReturn;
8392 pub fn gst_proxy_pad_iterate_internal_links_default(
8393 pad: *mut GstPad,
8394 parent: *mut GstObject,
8395 ) -> *mut GstIterator;
8396 pub fn gst_proxy_pad_get_internal(pad: *mut GstProxyPad) -> *mut GstProxyPad;
8397
8398 //=========================================================================
8399 // GstRegistry
8400 //=========================================================================
8401 pub fn gst_registry_get_type() -> GType;
8402 pub fn gst_registry_fork_is_enabled() -> gboolean;
8403 pub fn gst_registry_fork_set_enabled(enabled: gboolean);
8404 pub fn gst_registry_get() -> *mut GstRegistry;
8405 pub fn gst_registry_add_feature(
8406 registry: *mut GstRegistry,
8407 feature: *mut GstPluginFeature,
8408 ) -> gboolean;
8409 pub fn gst_registry_add_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin) -> gboolean;
8410 pub fn gst_registry_check_feature_version(
8411 registry: *mut GstRegistry,
8412 feature_name: *const c_char,
8413 min_major: c_uint,
8414 min_minor: c_uint,
8415 min_micro: c_uint,
8416 ) -> gboolean;
8417 pub fn gst_registry_feature_filter(
8418 registry: *mut GstRegistry,
8419 filter: GstPluginFeatureFilter,
8420 first: gboolean,
8421 user_data: gpointer,
8422 ) -> *mut glib::GList;
8423 pub fn gst_registry_find_feature(
8424 registry: *mut GstRegistry,
8425 name: *const c_char,
8426 type_: GType,
8427 ) -> *mut GstPluginFeature;
8428 pub fn gst_registry_find_plugin(
8429 registry: *mut GstRegistry,
8430 name: *const c_char,
8431 ) -> *mut GstPlugin;
8432 pub fn gst_registry_get_feature_list(
8433 registry: *mut GstRegistry,
8434 type_: GType,
8435 ) -> *mut glib::GList;
8436 pub fn gst_registry_get_feature_list_by_plugin(
8437 registry: *mut GstRegistry,
8438 name: *const c_char,
8439 ) -> *mut glib::GList;
8440 pub fn gst_registry_get_feature_list_cookie(registry: *mut GstRegistry) -> u32;
8441 pub fn gst_registry_get_plugin_list(registry: *mut GstRegistry) -> *mut glib::GList;
8442 pub fn gst_registry_lookup(
8443 registry: *mut GstRegistry,
8444 filename: *const c_char,
8445 ) -> *mut GstPlugin;
8446 pub fn gst_registry_lookup_feature(
8447 registry: *mut GstRegistry,
8448 name: *const c_char,
8449 ) -> *mut GstPluginFeature;
8450 pub fn gst_registry_plugin_filter(
8451 registry: *mut GstRegistry,
8452 filter: GstPluginFilter,
8453 first: gboolean,
8454 user_data: gpointer,
8455 ) -> *mut glib::GList;
8456 pub fn gst_registry_remove_feature(registry: *mut GstRegistry, feature: *mut GstPluginFeature);
8457 pub fn gst_registry_remove_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin);
8458 pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *const c_char) -> gboolean;
8459
8460 //=========================================================================
8461 // GstSharedTaskPool
8462 //=========================================================================
8463 #[cfg(feature = "v1_20")]
8464 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8465 pub fn gst_shared_task_pool_get_type() -> GType;
8466 #[cfg(feature = "v1_20")]
8467 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8468 pub fn gst_shared_task_pool_new() -> *mut GstTaskPool;
8469 #[cfg(feature = "v1_20")]
8470 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8471 pub fn gst_shared_task_pool_get_max_threads(pool: *mut GstSharedTaskPool) -> c_uint;
8472 #[cfg(feature = "v1_20")]
8473 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8474 pub fn gst_shared_task_pool_set_max_threads(pool: *mut GstSharedTaskPool, max_threads: c_uint);
8475
8476 //=========================================================================
8477 // GstStream
8478 //=========================================================================
8479 pub fn gst_stream_get_type() -> GType;
8480 pub fn gst_stream_new(
8481 stream_id: *const c_char,
8482 caps: *mut GstCaps,
8483 type_: GstStreamType,
8484 flags: GstStreamFlags,
8485 ) -> *mut GstStream;
8486 pub fn gst_stream_get_caps(stream: *mut GstStream) -> *mut GstCaps;
8487 pub fn gst_stream_get_stream_flags(stream: *mut GstStream) -> GstStreamFlags;
8488 pub fn gst_stream_get_stream_id(stream: *mut GstStream) -> *const c_char;
8489 pub fn gst_stream_get_stream_type(stream: *mut GstStream) -> GstStreamType;
8490 pub fn gst_stream_get_tags(stream: *mut GstStream) -> *mut GstTagList;
8491 pub fn gst_stream_set_caps(stream: *mut GstStream, caps: *mut GstCaps);
8492 pub fn gst_stream_set_stream_flags(stream: *mut GstStream, flags: GstStreamFlags);
8493 pub fn gst_stream_set_stream_type(stream: *mut GstStream, stream_type: GstStreamType);
8494 pub fn gst_stream_set_tags(stream: *mut GstStream, tags: *mut GstTagList);
8495
8496 //=========================================================================
8497 // GstStreamCollection
8498 //=========================================================================
8499 pub fn gst_stream_collection_get_type() -> GType;
8500 pub fn gst_stream_collection_new(upstream_id: *const c_char) -> *mut GstStreamCollection;
8501 pub fn gst_stream_collection_add_stream(
8502 collection: *mut GstStreamCollection,
8503 stream: *mut GstStream,
8504 ) -> gboolean;
8505 pub fn gst_stream_collection_get_size(collection: *mut GstStreamCollection) -> c_uint;
8506 pub fn gst_stream_collection_get_stream(
8507 collection: *mut GstStreamCollection,
8508 index: c_uint,
8509 ) -> *mut GstStream;
8510 pub fn gst_stream_collection_get_upstream_id(
8511 collection: *mut GstStreamCollection,
8512 ) -> *const c_char;
8513
8514 //=========================================================================
8515 // GstSystemClock
8516 //=========================================================================
8517 pub fn gst_system_clock_get_type() -> GType;
8518 pub fn gst_system_clock_obtain() -> *mut GstClock;
8519 pub fn gst_system_clock_set_default(new_clock: *mut GstClock);
8520
8521 //=========================================================================
8522 // GstTask
8523 //=========================================================================
8524 pub fn gst_task_get_type() -> GType;
8525 pub fn gst_task_new(
8526 func: GstTaskFunction,
8527 user_data: gpointer,
8528 notify: glib::GDestroyNotify,
8529 ) -> *mut GstTask;
8530 pub fn gst_task_cleanup_all();
8531 pub fn gst_task_get_pool(task: *mut GstTask) -> *mut GstTaskPool;
8532 pub fn gst_task_get_state(task: *mut GstTask) -> GstTaskState;
8533 pub fn gst_task_join(task: *mut GstTask) -> gboolean;
8534 pub fn gst_task_pause(task: *mut GstTask) -> gboolean;
8535 #[cfg(feature = "v1_18")]
8536 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8537 pub fn gst_task_resume(task: *mut GstTask) -> gboolean;
8538 pub fn gst_task_set_enter_callback(
8539 task: *mut GstTask,
8540 enter_func: GstTaskThreadFunc,
8541 user_data: gpointer,
8542 notify: glib::GDestroyNotify,
8543 );
8544 pub fn gst_task_set_leave_callback(
8545 task: *mut GstTask,
8546 leave_func: GstTaskThreadFunc,
8547 user_data: gpointer,
8548 notify: glib::GDestroyNotify,
8549 );
8550 pub fn gst_task_set_lock(task: *mut GstTask, mutex: *mut glib::GRecMutex);
8551 pub fn gst_task_set_pool(task: *mut GstTask, pool: *mut GstTaskPool);
8552 pub fn gst_task_set_state(task: *mut GstTask, state: GstTaskState) -> gboolean;
8553 pub fn gst_task_start(task: *mut GstTask) -> gboolean;
8554 pub fn gst_task_stop(task: *mut GstTask) -> gboolean;
8555
8556 //=========================================================================
8557 // GstTaskPool
8558 //=========================================================================
8559 pub fn gst_task_pool_get_type() -> GType;
8560 pub fn gst_task_pool_new() -> *mut GstTaskPool;
8561 pub fn gst_task_pool_cleanup(pool: *mut GstTaskPool);
8562 #[cfg(feature = "v1_20")]
8563 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8564 pub fn gst_task_pool_dispose_handle(pool: *mut GstTaskPool, id: gpointer);
8565 pub fn gst_task_pool_join(pool: *mut GstTaskPool, id: gpointer);
8566 pub fn gst_task_pool_prepare(pool: *mut GstTaskPool, error: *mut *mut glib::GError);
8567 pub fn gst_task_pool_push(
8568 pool: *mut GstTaskPool,
8569 func: GstTaskPoolFunction,
8570 user_data: gpointer,
8571 error: *mut *mut glib::GError,
8572 ) -> gpointer;
8573
8574 //=========================================================================
8575 // GstTracer
8576 //=========================================================================
8577 pub fn gst_tracer_get_type() -> GType;
8578 pub fn gst_tracer_register(
8579 plugin: *mut GstPlugin,
8580 name: *const c_char,
8581 type_: GType,
8582 ) -> gboolean;
8583
8584 //=========================================================================
8585 // GstTracerFactory
8586 //=========================================================================
8587 pub fn gst_tracer_factory_get_type() -> GType;
8588 pub fn gst_tracer_factory_get_list() -> *mut glib::GList;
8589 pub fn gst_tracer_factory_get_tracer_type(factory: *mut GstTracerFactory) -> GType;
8590
8591 //=========================================================================
8592 // GstTracerRecord
8593 //=========================================================================
8594 pub fn gst_tracer_record_get_type() -> GType;
8595 pub fn gst_tracer_record_new(
8596 name: *const c_char,
8597 firstfield: *const c_char,
8598 ...
8599 ) -> *mut GstTracerRecord;
8600 pub fn gst_tracer_record_log(self_: *mut GstTracerRecord, ...);
8601
8602 //=========================================================================
8603 // GstTypeFindFactory
8604 //=========================================================================
8605 pub fn gst_type_find_factory_get_type() -> GType;
8606 pub fn gst_type_find_factory_get_list() -> *mut glib::GList;
8607 pub fn gst_type_find_factory_call_function(
8608 factory: *mut GstTypeFindFactory,
8609 find: *mut GstTypeFind,
8610 );
8611 pub fn gst_type_find_factory_get_caps(factory: *mut GstTypeFindFactory) -> *mut GstCaps;
8612 pub fn gst_type_find_factory_get_extensions(
8613 factory: *mut GstTypeFindFactory,
8614 ) -> *const *const c_char;
8615 pub fn gst_type_find_factory_has_function(factory: *mut GstTypeFindFactory) -> gboolean;
8616
8617 //=========================================================================
8618 // GstValueArray
8619 //=========================================================================
8620 pub fn gst_value_array_get_type() -> GType;
8621 pub fn gst_value_array_append_and_take_value(
8622 value: *mut gobject::GValue,
8623 append_value: *mut gobject::GValue,
8624 );
8625 pub fn gst_value_array_append_value(
8626 value: *mut gobject::GValue,
8627 append_value: *const gobject::GValue,
8628 );
8629 pub fn gst_value_array_get_size(value: *const gobject::GValue) -> c_uint;
8630 pub fn gst_value_array_get_value(
8631 value: *const gobject::GValue,
8632 index: c_uint,
8633 ) -> *const gobject::GValue;
8634 #[cfg(feature = "v1_18")]
8635 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8636 pub fn gst_value_array_init(
8637 value: *mut gobject::GValue,
8638 prealloc: c_uint,
8639 ) -> *mut gobject::GValue;
8640 pub fn gst_value_array_prepend_value(
8641 value: *mut gobject::GValue,
8642 prepend_value: *const gobject::GValue,
8643 );
8644
8645 //=========================================================================
8646 // GstValueList
8647 //=========================================================================
8648 pub fn gst_value_list_get_type() -> GType;
8649 pub fn gst_value_list_append_and_take_value(
8650 value: *mut gobject::GValue,
8651 append_value: *mut gobject::GValue,
8652 );
8653 pub fn gst_value_list_append_value(
8654 value: *mut gobject::GValue,
8655 append_value: *const gobject::GValue,
8656 );
8657 pub fn gst_value_list_concat(
8658 dest: *mut gobject::GValue,
8659 value1: *const gobject::GValue,
8660 value2: *const gobject::GValue,
8661 );
8662 pub fn gst_value_list_get_size(value: *const gobject::GValue) -> c_uint;
8663 pub fn gst_value_list_get_value(
8664 value: *const gobject::GValue,
8665 index: c_uint,
8666 ) -> *const gobject::GValue;
8667 #[cfg(feature = "v1_18")]
8668 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8669 pub fn gst_value_list_init(
8670 value: *mut gobject::GValue,
8671 prealloc: c_uint,
8672 ) -> *mut gobject::GValue;
8673 pub fn gst_value_list_merge(
8674 dest: *mut gobject::GValue,
8675 value1: *const gobject::GValue,
8676 value2: *const gobject::GValue,
8677 );
8678 pub fn gst_value_list_prepend_value(
8679 value: *mut gobject::GValue,
8680 prepend_value: *const gobject::GValue,
8681 );
8682
8683 //=========================================================================
8684 // GstChildProxy
8685 //=========================================================================
8686 pub fn gst_child_proxy_get_type() -> GType;
8687 pub fn gst_child_proxy_child_added(
8688 parent: *mut GstChildProxy,
8689 child: *mut gobject::GObject,
8690 name: *const c_char,
8691 );
8692 pub fn gst_child_proxy_child_removed(
8693 parent: *mut GstChildProxy,
8694 child: *mut gobject::GObject,
8695 name: *const c_char,
8696 );
8697 pub fn gst_child_proxy_get(object: *mut GstChildProxy, first_property_name: *const c_char, ...);
8698 pub fn gst_child_proxy_get_child_by_index(
8699 parent: *mut GstChildProxy,
8700 index: c_uint,
8701 ) -> *mut gobject::GObject;
8702 pub fn gst_child_proxy_get_child_by_name(
8703 parent: *mut GstChildProxy,
8704 name: *const c_char,
8705 ) -> *mut gobject::GObject;
8706 #[cfg(feature = "v1_22")]
8707 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
8708 pub fn gst_child_proxy_get_child_by_name_recurse(
8709 child_proxy: *mut GstChildProxy,
8710 name: *const c_char,
8711 ) -> *mut gobject::GObject;
8712 pub fn gst_child_proxy_get_children_count(parent: *mut GstChildProxy) -> c_uint;
8713 pub fn gst_child_proxy_get_property(
8714 object: *mut GstChildProxy,
8715 name: *const c_char,
8716 value: *mut gobject::GValue,
8717 );
8718 //pub fn gst_child_proxy_get_valist(object: *mut GstChildProxy, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
8719 pub fn gst_child_proxy_lookup(
8720 object: *mut GstChildProxy,
8721 name: *const c_char,
8722 target: *mut *mut gobject::GObject,
8723 pspec: *mut *mut gobject::GParamSpec,
8724 ) -> gboolean;
8725 pub fn gst_child_proxy_set(object: *mut GstChildProxy, first_property_name: *const c_char, ...);
8726 pub fn gst_child_proxy_set_property(
8727 object: *mut GstChildProxy,
8728 name: *const c_char,
8729 value: *const gobject::GValue,
8730 );
8731 //pub fn gst_child_proxy_set_valist(object: *mut GstChildProxy, first_property_name: *const c_char, var_args: /*Unimplemented*/va_list);
8732
8733 //=========================================================================
8734 // GstPreset
8735 //=========================================================================
8736 pub fn gst_preset_get_type() -> GType;
8737 pub fn gst_preset_get_app_dir() -> *const c_char;
8738 pub fn gst_preset_set_app_dir(app_dir: *const c_char) -> gboolean;
8739 pub fn gst_preset_delete_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
8740 pub fn gst_preset_get_meta(
8741 preset: *mut GstPreset,
8742 name: *const c_char,
8743 tag: *const c_char,
8744 value: *mut *mut c_char,
8745 ) -> gboolean;
8746 pub fn gst_preset_get_preset_names(preset: *mut GstPreset) -> *mut *mut c_char;
8747 pub fn gst_preset_get_property_names(preset: *mut GstPreset) -> *mut *mut c_char;
8748 pub fn gst_preset_is_editable(preset: *mut GstPreset) -> gboolean;
8749 pub fn gst_preset_load_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
8750 pub fn gst_preset_rename_preset(
8751 preset: *mut GstPreset,
8752 old_name: *const c_char,
8753 new_name: *const c_char,
8754 ) -> gboolean;
8755 pub fn gst_preset_save_preset(preset: *mut GstPreset, name: *const c_char) -> gboolean;
8756 pub fn gst_preset_set_meta(
8757 preset: *mut GstPreset,
8758 name: *const c_char,
8759 tag: *const c_char,
8760 value: *const c_char,
8761 ) -> gboolean;
8762
8763 //=========================================================================
8764 // GstTagSetter
8765 //=========================================================================
8766 pub fn gst_tag_setter_get_type() -> GType;
8767 //pub fn gst_tag_setter_add_tag_valist(setter: *mut GstTagSetter, mode: GstTagMergeMode, tag: *const c_char, var_args: /*Unimplemented*/va_list);
8768 //pub fn gst_tag_setter_add_tag_valist_values(setter: *mut GstTagSetter, mode: GstTagMergeMode, tag: *const c_char, var_args: /*Unimplemented*/va_list);
8769 pub fn gst_tag_setter_add_tag_value(
8770 setter: *mut GstTagSetter,
8771 mode: GstTagMergeMode,
8772 tag: *const c_char,
8773 value: *const gobject::GValue,
8774 );
8775 pub fn gst_tag_setter_add_tag_values(
8776 setter: *mut GstTagSetter,
8777 mode: GstTagMergeMode,
8778 tag: *const c_char,
8779 ...
8780 );
8781 pub fn gst_tag_setter_add_tags(
8782 setter: *mut GstTagSetter,
8783 mode: GstTagMergeMode,
8784 tag: *const c_char,
8785 ...
8786 );
8787 pub fn gst_tag_setter_get_tag_list(setter: *mut GstTagSetter) -> *const GstTagList;
8788 pub fn gst_tag_setter_get_tag_merge_mode(setter: *mut GstTagSetter) -> GstTagMergeMode;
8789 pub fn gst_tag_setter_merge_tags(
8790 setter: *mut GstTagSetter,
8791 list: *const GstTagList,
8792 mode: GstTagMergeMode,
8793 );
8794 pub fn gst_tag_setter_reset_tags(setter: *mut GstTagSetter);
8795 pub fn gst_tag_setter_set_tag_merge_mode(setter: *mut GstTagSetter, mode: GstTagMergeMode);
8796
8797 //=========================================================================
8798 // GstTocSetter
8799 //=========================================================================
8800 pub fn gst_toc_setter_get_type() -> GType;
8801 pub fn gst_toc_setter_get_toc(setter: *mut GstTocSetter) -> *mut GstToc;
8802 pub fn gst_toc_setter_reset(setter: *mut GstTocSetter);
8803 pub fn gst_toc_setter_set_toc(setter: *mut GstTocSetter, toc: *mut GstToc);
8804
8805 //=========================================================================
8806 // GstURIHandler
8807 //=========================================================================
8808 pub fn gst_uri_handler_get_type() -> GType;
8809 pub fn gst_uri_handler_get_protocols(handler: *mut GstURIHandler) -> *const *const c_char;
8810 pub fn gst_uri_handler_get_uri(handler: *mut GstURIHandler) -> *mut c_char;
8811 pub fn gst_uri_handler_get_uri_type(handler: *mut GstURIHandler) -> GstURIType;
8812 pub fn gst_uri_handler_set_uri(
8813 handler: *mut GstURIHandler,
8814 uri: *const c_char,
8815 error: *mut *mut glib::GError,
8816 ) -> gboolean;
8817
8818 //=========================================================================
8819 // Other functions
8820 //=========================================================================
8821 pub fn gst_calculate_linear_regression(
8822 xy: *const GstClockTime,
8823 temp: *mut GstClockTime,
8824 n: c_uint,
8825 m_num: *mut GstClockTime,
8826 m_denom: *mut GstClockTime,
8827 b: *mut GstClockTime,
8828 xbase: *mut GstClockTime,
8829 r_squared: *mut c_double,
8830 ) -> gboolean;
8831 #[cfg(feature = "v1_18_3")]
8832 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8833 pub fn gst_clear_buffer(buf_ptr: *mut *mut GstBuffer);
8834 #[cfg(feature = "v1_18_3")]
8835 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8836 pub fn gst_clear_buffer_list(list_ptr: *mut *mut GstBufferList);
8837 #[cfg(feature = "v1_18_3")]
8838 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8839 pub fn gst_clear_caps(caps_ptr: *mut *mut GstCaps);
8840 #[cfg(feature = "v1_18_3")]
8841 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8842 pub fn gst_clear_event(event_ptr: *mut *mut GstEvent);
8843 #[cfg(feature = "v1_18_3")]
8844 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8845 pub fn gst_clear_message(msg_ptr: *mut *mut GstMessage);
8846 #[cfg(feature = "v1_16")]
8847 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
8848 pub fn gst_clear_mini_object(object_ptr: *mut *mut GstMiniObject);
8849 #[cfg(feature = "v1_16")]
8850 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
8851 pub fn gst_clear_object(object_ptr: *mut *mut GstObject);
8852 #[cfg(feature = "v1_18_3")]
8853 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8854 pub fn gst_clear_query(query_ptr: *mut *mut GstQuery);
8855 #[cfg(feature = "v1_24")]
8856 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
8857 pub fn gst_clear_sample(sample_ptr: *mut *mut GstSample);
8858 #[cfg(feature = "v1_16")]
8859 #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
8860 pub fn gst_clear_structure(structure_ptr: *mut *mut GstStructure);
8861 #[cfg(feature = "v1_18_3")]
8862 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8863 pub fn gst_clear_tag_list(taglist_ptr: *mut *mut GstTagList);
8864 #[cfg(feature = "v1_18_3")]
8865 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18_3")))]
8866 pub fn gst_clear_uri(uri_ptr: *mut *mut GstUri);
8867 pub fn gst_debug_add_log_function(
8868 func: GstLogFunction,
8869 user_data: gpointer,
8870 notify: glib::GDestroyNotify,
8871 );
8872 pub fn gst_debug_add_ring_buffer_logger(max_size_per_thread: c_uint, thread_timeout: c_uint);
8873 pub fn gst_debug_bin_to_dot_data(
8874 bin: *mut GstBin,
8875 details: GstDebugGraphDetails,
8876 ) -> *mut c_char;
8877 pub fn gst_debug_bin_to_dot_file(
8878 bin: *mut GstBin,
8879 details: GstDebugGraphDetails,
8880 file_name: *const c_char,
8881 );
8882 pub fn gst_debug_bin_to_dot_file_with_ts(
8883 bin: *mut GstBin,
8884 details: GstDebugGraphDetails,
8885 file_name: *const c_char,
8886 );
8887 pub fn gst_debug_construct_term_color(colorinfo: c_uint) -> *mut c_char;
8888 pub fn gst_debug_construct_win_color(colorinfo: c_uint) -> c_int;
8889 pub fn gst_debug_get_all_categories() -> *mut glib::GSList;
8890 pub fn gst_debug_get_color_mode() -> GstDebugColorMode;
8891 pub fn gst_debug_get_default_threshold() -> GstDebugLevel;
8892 pub fn gst_debug_get_stack_trace(flags: GstStackTraceFlags) -> *mut c_char;
8893 pub fn gst_debug_is_active() -> gboolean;
8894 pub fn gst_debug_is_colored() -> gboolean;
8895 pub fn gst_debug_log(
8896 category: *mut GstDebugCategory,
8897 level: GstDebugLevel,
8898 file: *const c_char,
8899 function: *const c_char,
8900 line: c_int,
8901 object: *mut gobject::GObject,
8902 format: *const c_char,
8903 ...
8904 );
8905 pub fn gst_debug_log_default(
8906 category: *mut GstDebugCategory,
8907 level: GstDebugLevel,
8908 file: *const c_char,
8909 function: *const c_char,
8910 line: c_int,
8911 object: *mut gobject::GObject,
8912 message: *mut GstDebugMessage,
8913 user_data: gpointer,
8914 );
8915 #[cfg(feature = "v1_18")]
8916 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
8917 pub fn gst_debug_log_get_line(
8918 category: *mut GstDebugCategory,
8919 level: GstDebugLevel,
8920 file: *const c_char,
8921 function: *const c_char,
8922 line: c_int,
8923 object: *mut gobject::GObject,
8924 message: *mut GstDebugMessage,
8925 ) -> *mut c_char;
8926 #[cfg(feature = "v1_22")]
8927 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
8928 pub fn gst_debug_log_id(
8929 category: *mut GstDebugCategory,
8930 level: GstDebugLevel,
8931 file: *const c_char,
8932 function: *const c_char,
8933 line: c_int,
8934 id: *const c_char,
8935 format: *const c_char,
8936 ...
8937 );
8938 #[cfg(feature = "v1_22")]
8939 #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
8940 pub fn gst_debug_log_id_literal(
8941 category: *mut GstDebugCategory,
8942 level: GstDebugLevel,
8943 file: *const c_char,
8944 function: *const c_char,
8945 line: c_int,
8946 id: *const c_char,
8947 message_string: *const c_char,
8948 );
8949 //#[cfg(feature = "v1_22")]
8950 //#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
8951 //pub fn gst_debug_log_id_valist(category: *mut GstDebugCategory, level: GstDebugLevel, file: *const c_char, function: *const c_char, line: c_int, id: *const c_char, format: *const c_char, args: /*Unimplemented*/va_list);
8952 #[cfg(feature = "v1_20")]
8953 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
8954 pub fn gst_debug_log_literal(
8955 category: *mut GstDebugCategory,
8956 level: GstDebugLevel,
8957 file: *const c_char,
8958 function: *const c_char,
8959 line: c_int,
8960 object: *mut gobject::GObject,
8961 message_string: *const c_char,
8962 );
8963 //pub fn gst_debug_log_valist(category: *mut GstDebugCategory, level: GstDebugLevel, file: *const c_char, function: *const c_char, line: c_int, object: *mut gobject::GObject, format: *const c_char, args: /*Unimplemented*/va_list);
8964 pub fn gst_debug_print_stack_trace();
8965 pub fn gst_debug_remove_log_function(func: GstLogFunction) -> c_uint;
8966 pub fn gst_debug_remove_log_function_by_data(data: gpointer) -> c_uint;
8967 pub fn gst_debug_remove_ring_buffer_logger();
8968 pub fn gst_debug_ring_buffer_logger_get_logs() -> *mut *mut c_char;
8969 pub fn gst_debug_set_active(active: gboolean);
8970 pub fn gst_debug_set_color_mode(mode: GstDebugColorMode);
8971 pub fn gst_debug_set_color_mode_from_string(mode: *const c_char);
8972 pub fn gst_debug_set_colored(colored: gboolean);
8973 pub fn gst_debug_set_default_threshold(level: GstDebugLevel);
8974 pub fn gst_debug_set_threshold_for_name(name: *const c_char, level: GstDebugLevel);
8975 pub fn gst_debug_set_threshold_from_string(list: *const c_char, reset: gboolean);
8976 pub fn gst_debug_unset_threshold_for_name(name: *const c_char);
8977 pub fn gst_deinit();
8978 pub fn gst_dynamic_type_register(plugin: *mut GstPlugin, type_: GType) -> gboolean;
8979 pub fn gst_error_get_message(domain: glib::GQuark, code: c_int) -> *mut c_char;
8980 pub fn gst_filename_to_uri(
8981 filename: *const c_char,
8982 error: *mut *mut glib::GError,
8983 ) -> *mut c_char;
8984 pub fn gst_flow_get_name(ret: GstFlowReturn) -> *const c_char;
8985 pub fn gst_flow_to_quark(ret: GstFlowReturn) -> glib::GQuark;
8986 pub fn gst_formats_contains(formats: *const GstFormat, format: GstFormat) -> gboolean;
8987 pub fn gst_get_main_executable_path() -> *const c_char;
8988 pub fn gst_info_strdup_printf(format: *const c_char, ...) -> *mut c_char;
8989 //pub fn gst_info_strdup_vprintf(format: *const c_char, args: /*Unimplemented*/va_list) -> *mut c_char;
8990 //pub fn gst_info_vasprintf(result: *mut *mut c_char, format: *const c_char, args: /*Unimplemented*/va_list) -> c_int;
8991 pub fn gst_init(argc: *mut c_int, argv: *mut *mut *mut c_char);
8992 pub fn gst_init_check(
8993 argc: *mut c_int,
8994 argv: *mut *mut *mut c_char,
8995 error: *mut *mut glib::GError,
8996 ) -> gboolean;
8997 pub fn gst_init_get_option_group() -> *mut glib::GOptionGroup;
8998 pub fn gst_is_caps_features(obj: gconstpointer) -> gboolean;
8999 pub fn gst_is_initialized() -> gboolean;
9000 pub fn gst_make_element_message_details(name: *const c_char, ...) -> *mut GstStructure;
9001 pub fn gst_param_spec_array(
9002 name: *const c_char,
9003 nick: *const c_char,
9004 blurb: *const c_char,
9005 element_spec: *mut gobject::GParamSpec,
9006 flags: gobject::GParamFlags,
9007 ) -> *mut gobject::GParamSpec;
9008 pub fn gst_param_spec_fraction(
9009 name: *const c_char,
9010 nick: *const c_char,
9011 blurb: *const c_char,
9012 min_num: c_int,
9013 min_denom: c_int,
9014 max_num: c_int,
9015 max_denom: c_int,
9016 default_num: c_int,
9017 default_denom: c_int,
9018 flags: gobject::GParamFlags,
9019 ) -> *mut gobject::GParamSpec;
9020 pub fn gst_parent_buffer_meta_api_get_type() -> GType;
9021 pub fn gst_parse_bin_from_description(
9022 bin_description: *const c_char,
9023 ghost_unlinked_pads: gboolean,
9024 error: *mut *mut glib::GError,
9025 ) -> *mut GstBin;
9026 pub fn gst_parse_bin_from_description_full(
9027 bin_description: *const c_char,
9028 ghost_unlinked_pads: gboolean,
9029 context: *mut GstParseContext,
9030 flags: GstParseFlags,
9031 error: *mut *mut glib::GError,
9032 ) -> *mut GstElement;
9033 pub fn gst_parse_launch(
9034 pipeline_description: *const c_char,
9035 error: *mut *mut glib::GError,
9036 ) -> *mut GstElement;
9037 pub fn gst_parse_launch_full(
9038 pipeline_description: *const c_char,
9039 context: *mut GstParseContext,
9040 flags: GstParseFlags,
9041 error: *mut *mut glib::GError,
9042 ) -> *mut GstElement;
9043 pub fn gst_parse_launchv(
9044 argv: *mut *const c_char,
9045 error: *mut *mut glib::GError,
9046 ) -> *mut GstElement;
9047 pub fn gst_parse_launchv_full(
9048 argv: *mut *const c_char,
9049 context: *mut GstParseContext,
9050 flags: GstParseFlags,
9051 error: *mut *mut glib::GError,
9052 ) -> *mut GstElement;
9053 pub fn gst_print(format: *const c_char, ...);
9054 pub fn gst_printerr(format: *const c_char, ...);
9055 pub fn gst_printerrln(format: *const c_char, ...);
9056 pub fn gst_println(format: *const c_char, ...);
9057 pub fn gst_protection_filter_systems_by_available_decryptors(
9058 system_identifiers: *mut *const c_char,
9059 ) -> *mut *mut c_char;
9060 pub fn gst_protection_meta_api_get_type() -> GType;
9061 pub fn gst_protection_select_system(system_identifiers: *mut *const c_char) -> *const c_char;
9062 pub fn gst_reference_timestamp_meta_api_get_type() -> GType;
9063 pub fn gst_segtrap_is_enabled() -> gboolean;
9064 pub fn gst_segtrap_set_enabled(enabled: gboolean);
9065 pub fn gst_static_caps_get_type() -> GType;
9066 pub fn gst_static_pad_template_get_type() -> GType;
9067 pub fn gst_tag_exists(tag: *const c_char) -> gboolean;
9068 pub fn gst_tag_get_description(tag: *const c_char) -> *const c_char;
9069 pub fn gst_tag_get_flag(tag: *const c_char) -> GstTagFlag;
9070 pub fn gst_tag_get_nick(tag: *const c_char) -> *const c_char;
9071 pub fn gst_tag_get_type(tag: *const c_char) -> GType;
9072 pub fn gst_tag_is_fixed(tag: *const c_char) -> gboolean;
9073 pub fn gst_tag_merge_strings_with_comma(
9074 dest: *mut gobject::GValue,
9075 src: *const gobject::GValue,
9076 );
9077 pub fn gst_tag_merge_use_first(dest: *mut gobject::GValue, src: *const gobject::GValue);
9078 pub fn gst_tag_register(
9079 name: *const c_char,
9080 flag: GstTagFlag,
9081 type_: GType,
9082 nick: *const c_char,
9083 blurb: *const c_char,
9084 func: GstTagMergeFunc,
9085 );
9086 pub fn gst_tag_register_static(
9087 name: *const c_char,
9088 flag: GstTagFlag,
9089 type_: GType,
9090 nick: *const c_char,
9091 blurb: *const c_char,
9092 func: GstTagMergeFunc,
9093 );
9094 #[cfg(feature = "v1_18")]
9095 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9096 pub fn gst_tracing_get_active_tracers() -> *mut glib::GList;
9097 pub fn gst_tracing_register_hook(
9098 tracer: *mut GstTracer,
9099 detail: *const c_char,
9100 func: gobject::GCallback,
9101 );
9102 pub fn gst_type_find_get_type() -> GType;
9103 #[cfg(feature = "v1_18")]
9104 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9105 pub fn gst_type_is_plugin_api(type_: GType, flags: *mut GstPluginAPIFlags) -> gboolean;
9106 #[cfg(feature = "v1_18")]
9107 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
9108 pub fn gst_type_mark_as_plugin_api(type_: GType, flags: GstPluginAPIFlags);
9109 pub fn gst_update_registry() -> gboolean;
9110 pub fn gst_util_array_binary_search(
9111 array: gpointer,
9112 num_elements: c_uint,
9113 element_size: size_t,
9114 search_func: glib::GCompareDataFunc,
9115 mode: GstSearchMode,
9116 search_data: gconstpointer,
9117 user_data: gpointer,
9118 ) -> gpointer;
9119 pub fn gst_util_double_to_fraction(src: c_double, dest_n: *mut c_int, dest_d: *mut c_int);
9120 pub fn gst_util_dump_buffer(buf: *mut GstBuffer);
9121 pub fn gst_util_dump_mem(mem: *const u8, size: c_uint);
9122 pub fn gst_util_fraction_add(
9123 a_n: c_int,
9124 a_d: c_int,
9125 b_n: c_int,
9126 b_d: c_int,
9127 res_n: *mut c_int,
9128 res_d: *mut c_int,
9129 ) -> gboolean;
9130 pub fn gst_util_fraction_compare(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int) -> c_int;
9131 pub fn gst_util_fraction_multiply(
9132 a_n: c_int,
9133 a_d: c_int,
9134 b_n: c_int,
9135 b_d: c_int,
9136 res_n: *mut c_int,
9137 res_d: *mut c_int,
9138 ) -> gboolean;
9139 pub fn gst_util_fraction_to_double(src_n: c_int, src_d: c_int, dest: *mut c_double);
9140 pub fn gst_util_gdouble_to_guint64(value: c_double) -> u64;
9141 pub fn gst_util_get_object_array(
9142 object: *mut gobject::GObject,
9143 name: *const c_char,
9144 array: *mut *mut gobject::GValueArray,
9145 ) -> gboolean;
9146 pub fn gst_util_get_timestamp() -> GstClockTime;
9147 pub fn gst_util_greatest_common_divisor(a: c_int, b: c_int) -> c_int;
9148 pub fn gst_util_greatest_common_divisor_int64(a: i64, b: i64) -> i64;
9149 pub fn gst_util_group_id_next() -> c_uint;
9150 pub fn gst_util_guint64_to_gdouble(value: u64) -> c_double;
9151 pub fn gst_util_seqnum_compare(s1: u32, s2: u32) -> i32;
9152 pub fn gst_util_seqnum_next() -> u32;
9153 pub fn gst_util_set_object_arg(
9154 object: *mut gobject::GObject,
9155 name: *const c_char,
9156 value: *const c_char,
9157 );
9158 pub fn gst_util_set_object_array(
9159 object: *mut gobject::GObject,
9160 name: *const c_char,
9161 array: *const gobject::GValueArray,
9162 ) -> gboolean;
9163 pub fn gst_util_set_value_from_string(value: *mut gobject::GValue, value_str: *const c_char);
9164 #[cfg(feature = "v1_24")]
9165 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
9166 pub fn gst_util_simplify_fraction(
9167 numerator: *mut c_int,
9168 denominator: *mut c_int,
9169 n_terms: c_uint,
9170 threshold: c_uint,
9171 );
9172 pub fn gst_util_uint64_scale(val: u64, num: u64, denom: u64) -> u64;
9173 pub fn gst_util_uint64_scale_ceil(val: u64, num: u64, denom: u64) -> u64;
9174 pub fn gst_util_uint64_scale_int(val: u64, num: c_int, denom: c_int) -> u64;
9175 pub fn gst_util_uint64_scale_int_ceil(val: u64, num: c_int, denom: c_int) -> u64;
9176 pub fn gst_util_uint64_scale_int_round(val: u64, num: c_int, denom: c_int) -> u64;
9177 pub fn gst_util_uint64_scale_round(val: u64, num: u64, denom: u64) -> u64;
9178 pub fn gst_value_can_compare(
9179 value1: *const gobject::GValue,
9180 value2: *const gobject::GValue,
9181 ) -> gboolean;
9182 pub fn gst_value_can_intersect(
9183 value1: *const gobject::GValue,
9184 value2: *const gobject::GValue,
9185 ) -> gboolean;
9186 pub fn gst_value_can_subtract(
9187 minuend: *const gobject::GValue,
9188 subtrahend: *const gobject::GValue,
9189 ) -> gboolean;
9190 pub fn gst_value_can_union(
9191 value1: *const gobject::GValue,
9192 value2: *const gobject::GValue,
9193 ) -> gboolean;
9194 pub fn gst_value_compare(
9195 value1: *const gobject::GValue,
9196 value2: *const gobject::GValue,
9197 ) -> c_int;
9198 pub fn gst_value_deserialize(dest: *mut gobject::GValue, src: *const c_char) -> gboolean;
9199 #[cfg(feature = "v1_20")]
9200 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
9201 pub fn gst_value_deserialize_with_pspec(
9202 dest: *mut gobject::GValue,
9203 src: *const c_char,
9204 pspec: *mut gobject::GParamSpec,
9205 ) -> gboolean;
9206 pub fn gst_value_fixate(dest: *mut gobject::GValue, src: *const gobject::GValue) -> gboolean;
9207 pub fn gst_value_fraction_multiply(
9208 product: *mut gobject::GValue,
9209 factor1: *const gobject::GValue,
9210 factor2: *const gobject::GValue,
9211 ) -> gboolean;
9212 pub fn gst_value_fraction_subtract(
9213 dest: *mut gobject::GValue,
9214 minuend: *const gobject::GValue,
9215 subtrahend: *const gobject::GValue,
9216 ) -> gboolean;
9217 pub fn gst_value_get_bitmask(value: *const gobject::GValue) -> u64;
9218 pub fn gst_value_get_caps(value: *const gobject::GValue) -> *const GstCaps;
9219 pub fn gst_value_get_caps_features(value: *const gobject::GValue) -> *const GstCapsFeatures;
9220 pub fn gst_value_get_double_range_max(value: *const gobject::GValue) -> c_double;
9221 pub fn gst_value_get_double_range_min(value: *const gobject::GValue) -> c_double;
9222 pub fn gst_value_get_flagset_flags(value: *const gobject::GValue) -> c_uint;
9223 pub fn gst_value_get_flagset_mask(value: *const gobject::GValue) -> c_uint;
9224 pub fn gst_value_get_fraction_denominator(value: *const gobject::GValue) -> c_int;
9225 pub fn gst_value_get_fraction_numerator(value: *const gobject::GValue) -> c_int;
9226 pub fn gst_value_get_fraction_range_max(
9227 value: *const gobject::GValue,
9228 ) -> *const gobject::GValue;
9229 pub fn gst_value_get_fraction_range_min(
9230 value: *const gobject::GValue,
9231 ) -> *const gobject::GValue;
9232 pub fn gst_value_get_int64_range_max(value: *const gobject::GValue) -> i64;
9233 pub fn gst_value_get_int64_range_min(value: *const gobject::GValue) -> i64;
9234 pub fn gst_value_get_int64_range_step(value: *const gobject::GValue) -> i64;
9235 pub fn gst_value_get_int_range_max(value: *const gobject::GValue) -> c_int;
9236 pub fn gst_value_get_int_range_min(value: *const gobject::GValue) -> c_int;
9237 pub fn gst_value_get_int_range_step(value: *const gobject::GValue) -> c_int;
9238 pub fn gst_value_get_structure(value: *const gobject::GValue) -> *const GstStructure;
9239 pub fn gst_value_init_and_copy(dest: *mut gobject::GValue, src: *const gobject::GValue);
9240 pub fn gst_value_intersect(
9241 dest: *mut gobject::GValue,
9242 value1: *const gobject::GValue,
9243 value2: *const gobject::GValue,
9244 ) -> gboolean;
9245 pub fn gst_value_is_fixed(value: *const gobject::GValue) -> gboolean;
9246 pub fn gst_value_is_subset(
9247 value1: *const gobject::GValue,
9248 value2: *const gobject::GValue,
9249 ) -> gboolean;
9250 pub fn gst_value_register(table: *const GstValueTable);
9251 pub fn gst_value_serialize(value: *const gobject::GValue) -> *mut c_char;
9252 pub fn gst_value_set_bitmask(value: *mut gobject::GValue, bitmask: u64);
9253 pub fn gst_value_set_caps(value: *mut gobject::GValue, caps: *const GstCaps);
9254 pub fn gst_value_set_caps_features(
9255 value: *mut gobject::GValue,
9256 features: *const GstCapsFeatures,
9257 );
9258 pub fn gst_value_set_double_range(value: *mut gobject::GValue, start: c_double, end: c_double);
9259 pub fn gst_value_set_flagset(value: *mut gobject::GValue, flags: c_uint, mask: c_uint);
9260 pub fn gst_value_set_fraction(
9261 value: *mut gobject::GValue,
9262 numerator: c_int,
9263 denominator: c_int,
9264 );
9265 pub fn gst_value_set_fraction_range(
9266 value: *mut gobject::GValue,
9267 start: *const gobject::GValue,
9268 end: *const gobject::GValue,
9269 );
9270 pub fn gst_value_set_fraction_range_full(
9271 value: *mut gobject::GValue,
9272 numerator_start: c_int,
9273 denominator_start: c_int,
9274 numerator_end: c_int,
9275 denominator_end: c_int,
9276 );
9277 pub fn gst_value_set_int64_range(value: *mut gobject::GValue, start: i64, end: i64);
9278 pub fn gst_value_set_int64_range_step(
9279 value: *mut gobject::GValue,
9280 start: i64,
9281 end: i64,
9282 step: i64,
9283 );
9284 pub fn gst_value_set_int_range(value: *mut gobject::GValue, start: c_int, end: c_int);
9285 pub fn gst_value_set_int_range_step(
9286 value: *mut gobject::GValue,
9287 start: c_int,
9288 end: c_int,
9289 step: c_int,
9290 );
9291 pub fn gst_value_set_structure(value: *mut gobject::GValue, structure: *const GstStructure);
9292 pub fn gst_value_subtract(
9293 dest: *mut gobject::GValue,
9294 minuend: *const gobject::GValue,
9295 subtrahend: *const gobject::GValue,
9296 ) -> gboolean;
9297 pub fn gst_value_union(
9298 dest: *mut gobject::GValue,
9299 value1: *const gobject::GValue,
9300 value2: *const gobject::GValue,
9301 ) -> gboolean;
9302 pub fn gst_version(
9303 major: *mut c_uint,
9304 minor: *mut c_uint,
9305 micro: *mut c_uint,
9306 nano: *mut c_uint,
9307 );
9308 pub fn gst_version_string() -> *mut c_char;
9309
9310}
9311