lib.rs 20.3 KB
Newer Older
Sebastian Dröge's avatar
Sebastian Dröge committed
1 2
// This file was generated by gir (https://github.com/gtk-rs/gir @ d1e88f9)
// from gir-files (https://github.com/gtk-rs/gir-files @ 63dd366)
3 4 5
// DO NOT EDIT

#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6 7 8 9 10
#![allow(
    clippy::approx_constant,
    clippy::type_complexity,
    clippy::unreadable_literal
)]
11 12 13 14

extern crate glib_sys as glib;
extern crate gobject_sys as gobject;
extern crate gstreamer_sys as gst;
15
extern crate libc;
16 17

#[allow(unused_imports)]
18 19 20 21
use libc::{
    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
    intptr_t, size_t, ssize_t, time_t, uintptr_t, FILE,
};
22 23 24 25 26

#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};

// Callbacks
27 28 29 30
pub type GstHarnessPrepareBufferFunc =
    Option<unsafe extern "C" fn(*mut GstHarness, gpointer) -> *mut gst::GstBuffer>;
pub type GstHarnessPrepareEventFunc =
    Option<unsafe extern "C" fn(*mut GstHarness, gpointer) -> *mut gst::GstEvent>;
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

// Records
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstHarness {
    pub element: *mut gst::GstElement,
    pub srcpad: *mut gst::GstPad,
    pub sinkpad: *mut gst::GstPad,
    pub src_harness: *mut GstHarness,
    pub sink_harness: *mut GstHarness,
    pub priv_: *mut GstHarnessPrivate,
}

impl ::std::fmt::Debug for GstHarness {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GstHarness @ {:?}", self as *const _))
47 48 49 50 51 52
            .field("element", &self.element)
            .field("srcpad", &self.srcpad)
            .field("sinkpad", &self.sinkpad)
            .field("src_harness", &self.src_harness)
            .field("sink_harness", &self.sink_harness)
            .finish()
53 54 55 56
    }
}

#[repr(C)]
57
pub struct _GstHarnessPrivate(c_void);
58

59
pub type GstHarnessPrivate = *mut _GstHarnessPrivate;
60 61

#[repr(C)]
62
pub struct _GstHarnessThread(c_void);
63

64
pub type GstHarnessThread = *mut _GstHarnessThread;
65 66

#[repr(C)]
67
pub struct _GstStreamConsistency(c_void);
68

69
pub type GstStreamConsistency = *mut _GstStreamConsistency;
70 71 72 73 74 75 76 77 78 79

#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstTestClockClass {
    pub parent_class: gst::GstClockClass,
}

impl ::std::fmt::Debug for GstTestClockClass {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GstTestClockClass @ {:?}", self as *const _))
80 81
            .field("parent_class", &self.parent_class)
            .finish()
82 83 84 85
    }
}

#[repr(C)]
86
pub struct _GstTestClockPrivate(c_void);
87

88
pub type GstTestClockPrivate = *mut _GstTestClockPrivate;
89 90 91 92 93 94 95 96 97 98 99 100

// Classes
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstTestClock {
    pub parent: gst::GstClock,
    pub priv_: *mut GstTestClockPrivate,
}

impl ::std::fmt::Debug for GstTestClock {
    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
        f.debug_struct(&format!("GstTestClock @ {:?}", self as *const _))
101 102
            .field("parent", &self.parent)
            .finish()
103 104 105 106 107 108 109 110 111
    }
}

extern "C" {

    //=========================================================================
    // GstHarness
    //=========================================================================
    #[cfg(any(feature = "v1_6", feature = "dox"))]
112 113 114 115 116 117 118 119
    pub fn gst_harness_add_element_full(
        h: *mut GstHarness,
        element: *mut gst::GstElement,
        hsrc: *mut gst::GstStaticPadTemplate,
        element_sinkpad_name: *const c_char,
        hsink: *mut gst::GstStaticPadTemplate,
        element_srcpad_name: *const c_char,
    );
120 121 122 123 124 125 126
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_element_sink_pad(h: *mut GstHarness, sinkpad: *mut gst::GstPad);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_element_src_pad(h: *mut GstHarness, srcpad: *mut gst::GstPad);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_parse(h: *mut GstHarness, launchline: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
127 128 129 130 131 132 133 134 135
    pub fn gst_harness_add_probe(
        h: *mut GstHarness,
        element_name: *const c_char,
        pad_name: *const c_char,
        mask: gst::GstPadProbeType,
        callback: gst::GstPadProbeCallback,
        user_data: gpointer,
        destroy_data: glib::GDestroyNotify,
    );
136
    #[cfg(any(feature = "v1_16", feature = "dox"))]
137 138 139 140 141
    pub fn gst_harness_add_propose_allocation_meta(
        h: *mut GstHarness,
        api: GType,
        params: *const gst::GstStructure,
    );
142 143 144 145 146 147 148
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_sink(h: *mut GstHarness, sink_element_name: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_sink_harness(h: *mut GstHarness, sink_harness: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_add_sink_parse(h: *mut GstHarness, launchline: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
149 150 151 152 153
    pub fn gst_harness_add_src(
        h: *mut GstHarness,
        src_element_name: *const c_char,
        has_clock_wait: gboolean,
    );
154
    #[cfg(any(feature = "v1_6", feature = "dox"))]
155 156 157 158 159
    pub fn gst_harness_add_src_harness(
        h: *mut GstHarness,
        src_harness: *mut GstHarness,
        has_clock_wait: gboolean,
    );
160
    #[cfg(any(feature = "v1_6", feature = "dox"))]
161 162 163 164 165
    pub fn gst_harness_add_src_parse(
        h: *mut GstHarness,
        launchline: *const c_char,
        has_clock_wait: gboolean,
    );
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_buffers_in_queue(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_buffers_received(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_crank_multiple_clock_waits(h: *mut GstHarness, waits: c_uint) -> gboolean;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_crank_single_clock_wait(h: *mut GstHarness) -> gboolean;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_create_buffer(h: *mut GstHarness, size: size_t) -> *mut gst::GstBuffer;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_dump_to_file(h: *mut GstHarness, filename: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_events_in_queue(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_events_received(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
183 184 185 186
    pub fn gst_harness_find_element(
        h: *mut GstHarness,
        element_name: *const c_char,
    ) -> *mut gst::GstElement;
187
    #[cfg(any(feature = "v1_6", feature = "dox"))]
188 189 190 191 192 193
    pub fn gst_harness_get(
        h: *mut GstHarness,
        element_name: *const c_char,
        first_property_name: *const c_char,
        ...
    );
194
    #[cfg(any(feature = "v1_6", feature = "dox"))]
195 196 197 198 199
    pub fn gst_harness_get_allocator(
        h: *mut GstHarness,
        allocator: *mut *mut gst::GstAllocator,
        params: *mut gst::GstAllocationParams,
    );
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_get_last_pushed_timestamp(h: *mut GstHarness) -> gst::GstClockTime;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_get_testclock(h: *mut GstHarness) -> *mut GstTestClock;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_play(h: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_pull(h: *mut GstHarness) -> *mut gst::GstBuffer;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_pull_event(h: *mut GstHarness) -> *mut gst::GstEvent;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_pull_upstream_event(h: *mut GstHarness) -> *mut gst::GstEvent;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_push(h: *mut GstHarness, buffer: *mut gst::GstBuffer) -> gst::GstFlowReturn;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
215 216 217 218
    pub fn gst_harness_push_and_pull(
        h: *mut GstHarness,
        buffer: *mut gst::GstBuffer,
    ) -> *mut gst::GstBuffer;
219 220 221 222 223 224 225
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_push_event(h: *mut GstHarness, event: *mut gst::GstEvent) -> gboolean;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_push_from_src(h: *mut GstHarness) -> gst::GstFlowReturn;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_push_to_sink(h: *mut GstHarness) -> gst::GstFlowReturn;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
226 227 228 229
    pub fn gst_harness_push_upstream_event(
        h: *mut GstHarness,
        event: *mut gst::GstEvent,
    ) -> gboolean;
230 231 232
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_query_latency(h: *mut GstHarness) -> gst::GstClockTime;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
233 234 235 236 237 238
    pub fn gst_harness_set(
        h: *mut GstHarness,
        element_name: *const c_char,
        first_property_name: *const c_char,
        ...
    );
239 240 241 242 243 244 245 246 247 248 249
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_blocking_push_mode(h: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_caps(h: *mut GstHarness, in_: *mut gst::GstCaps, out: *mut gst::GstCaps);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_caps_str(h: *mut GstHarness, in_: *const c_char, out: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_drop_buffers(h: *mut GstHarness, drop_buffers: gboolean);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_forwarding(h: *mut GstHarness, forwarding: gboolean);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
250 251 252 253 254
    pub fn gst_harness_set_propose_allocator(
        h: *mut GstHarness,
        allocator: *mut gst::GstAllocator,
        params: *const gst::GstAllocationParams,
    );
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_sink_caps(h: *mut GstHarness, caps: *mut gst::GstCaps);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_sink_caps_str(h: *mut GstHarness, str: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_src_caps(h: *mut GstHarness, caps: *mut gst::GstCaps);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_src_caps_str(h: *mut GstHarness, str: *const c_char);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_time(h: *mut GstHarness, time: gst::GstClockTime) -> gboolean;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_set_upstream_latency(h: *mut GstHarness, latency: gst::GstClockTime);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_sink_push_many(h: *mut GstHarness, pushes: c_int) -> gst::GstFlowReturn;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
270 271 272 273 274
    pub fn gst_harness_src_crank_and_push_many(
        h: *mut GstHarness,
        cranks: c_int,
        pushes: c_int,
    ) -> gst::GstFlowReturn;
275 276 277
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_src_push_event(h: *mut GstHarness) -> gboolean;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
    pub fn gst_harness_stress_custom_start(
        h: *mut GstHarness,
        init: glib::GFunc,
        callback: glib::GFunc,
        data: gpointer,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_property_start_full(
        h: *mut GstHarness,
        name: *const c_char,
        value: *const gobject::GValue,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_push_buffer_start_full(
        h: *mut GstHarness,
        caps: *mut gst::GstCaps,
        segment: *const gst::GstSegment,
        buf: *mut gst::GstBuffer,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_push_buffer_with_cb_start_full(
        h: *mut GstHarness,
        caps: *mut gst::GstCaps,
        segment: *const gst::GstSegment,
        func: GstHarnessPrepareBufferFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_push_event_start_full(
        h: *mut GstHarness,
        event: *mut gst::GstEvent,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
316
    #[cfg(any(feature = "v1_8", feature = "dox"))]
317 318 319 320 321 322 323 324 325 326 327 328 329
    pub fn gst_harness_stress_push_event_with_cb_start_full(
        h: *mut GstHarness,
        func: GstHarnessPrepareEventFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_push_upstream_event_start_full(
        h: *mut GstHarness,
        event: *mut gst::GstEvent,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
330
    #[cfg(any(feature = "v1_8", feature = "dox"))]
331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351
    pub fn gst_harness_stress_push_upstream_event_with_cb_start_full(
        h: *mut GstHarness,
        func: GstHarnessPrepareEventFunc,
        data: gpointer,
        notify: glib::GDestroyNotify,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_requestpad_start_full(
        h: *mut GstHarness,
        templ: *mut gst::GstPadTemplate,
        name: *const c_char,
        caps: *mut gst::GstCaps,
        release: gboolean,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_statechange_start_full(
        h: *mut GstHarness,
        sleep: c_ulong,
    ) -> *mut GstHarnessThread;
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
    #[cfg(any(feature = "v1_14", feature = "dox"))]
    pub fn gst_harness_take_all_data(h: *mut GstHarness, size: *mut size_t) -> *mut u8;
    #[cfg(any(feature = "v1_14", feature = "dox"))]
    pub fn gst_harness_take_all_data_as_buffer(h: *mut GstHarness) -> *mut gst::GstBuffer;
    #[cfg(any(feature = "v1_14", feature = "dox"))]
    pub fn gst_harness_take_all_data_as_bytes(h: *mut GstHarness) -> *mut glib::GBytes;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_teardown(h: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_try_pull(h: *mut GstHarness) -> *mut gst::GstBuffer;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_try_pull_event(h: *mut GstHarness) -> *mut gst::GstEvent;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_try_pull_upstream_event(h: *mut GstHarness) -> *mut gst::GstEvent;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_upstream_events_in_queue(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_upstream_events_received(h: *mut GstHarness) -> c_uint;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_use_systemclock(h: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_use_testclock(h: *mut GstHarness);
    #[cfg(any(feature = "v1_6", feature = "dox"))]
375 376 377 378 379
    pub fn gst_harness_wait_for_clock_id_waits(
        h: *mut GstHarness,
        waits: c_uint,
        timeout: c_uint,
    ) -> gboolean;
380 381 382 383 384
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_new(element_name: *const c_char) -> *mut GstHarness;
    #[cfg(any(feature = "v1_8", feature = "dox"))]
    pub fn gst_harness_new_empty() -> *mut GstHarness;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
385 386 387 388 389 390 391
    pub fn gst_harness_new_full(
        element: *mut gst::GstElement,
        hsrc: *mut gst::GstStaticPadTemplate,
        element_sinkpad_name: *const c_char,
        hsink: *mut gst::GstStaticPadTemplate,
        element_srcpad_name: *const c_char,
    ) -> *mut GstHarness;
392 393 394
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_new_parse(launchline: *const c_char) -> *mut GstHarness;
    #[cfg(any(feature = "v1_6", feature = "dox"))]
395 396 397 398 399
    pub fn gst_harness_new_with_element(
        element: *mut gst::GstElement,
        element_sinkpad_name: *const c_char,
        element_srcpad_name: *const c_char,
    ) -> *mut GstHarness;
400
    #[cfg(any(feature = "v1_6", feature = "dox"))]
401 402 403 404 405
    pub fn gst_harness_new_with_padnames(
        element_name: *const c_char,
        element_sinkpad_name: *const c_char,
        element_srcpad_name: *const c_char,
    ) -> *mut GstHarness;
406
    #[cfg(any(feature = "v1_6", feature = "dox"))]
407 408 409 410 411
    pub fn gst_harness_new_with_templates(
        element_name: *const c_char,
        hsrc: *mut gst::GstStaticPadTemplate,
        hsink: *mut gst::GstStaticPadTemplate,
    ) -> *mut GstHarness;
412 413 414 415 416 417 418 419 420 421 422 423
    #[cfg(any(feature = "v1_6", feature = "dox"))]
    pub fn gst_harness_stress_thread_stop(t: *mut GstHarnessThread) -> c_uint;

    //=========================================================================
    // GstTestClock
    //=========================================================================
    pub fn gst_test_clock_get_type() -> GType;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_new() -> *mut gst::GstClock;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_new_with_start_time(start_time: gst::GstClockTime) -> *mut gst::GstClock;
    #[cfg(any(feature = "v1_4", feature = "dox"))]
424 425 426
    pub fn gst_test_clock_id_list_get_latest_time(
        pending_list: *const glib::GList,
    ) -> gst::GstClockTime;
427 428 429 430 431 432 433 434 435 436 437
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_advance_time(test_clock: *mut GstTestClock, delta: gst::GstClockTimeDiff);
    #[cfg(any(feature = "v1_8", feature = "dox"))]
    pub fn gst_test_clock_crank(test_clock: *mut GstTestClock) -> gboolean;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_get_next_entry_time(test_clock: *mut GstTestClock) -> gst::GstClockTime;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_has_id(test_clock: *mut GstTestClock, id: gst::GstClockID) -> gboolean;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_peek_id_count(test_clock: *mut GstTestClock) -> c_uint;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
438 439 440 441
    pub fn gst_test_clock_peek_next_pending_id(
        test_clock: *mut GstTestClock,
        pending_id: *mut gst::GstClockID,
    ) -> gboolean;
442
    #[cfg(any(feature = "v1_4", feature = "dox"))]
443 444 445 446
    pub fn gst_test_clock_process_id_list(
        test_clock: *mut GstTestClock,
        pending_list: *const glib::GList,
    ) -> c_uint;
447 448 449 450
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_process_next_clock_id(test_clock: *mut GstTestClock) -> gst::GstClockID;
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_set_time(test_clock: *mut GstTestClock, new_time: gst::GstClockTime);
451
    #[cfg(any(feature = "v1_16", feature = "dox"))]
452 453 454 455 456 457
    pub fn gst_test_clock_timed_wait_for_multiple_pending_ids(
        test_clock: *mut GstTestClock,
        count: c_uint,
        timeout_ms: c_uint,
        pending_list: *mut *mut glib::GList,
    ) -> gboolean;
458
    #[cfg(any(feature = "v1_4", feature = "dox"))]
459 460 461 462 463
    pub fn gst_test_clock_wait_for_multiple_pending_ids(
        test_clock: *mut GstTestClock,
        count: c_uint,
        pending_list: *mut *mut glib::GList,
    );
464
    #[cfg(any(feature = "v1_2", feature = "dox"))]
465 466 467 468
    pub fn gst_test_clock_wait_for_next_pending_id(
        test_clock: *mut GstTestClock,
        pending_id: *mut gst::GstClockID,
    );
469 470 471 472 473 474
    #[cfg(any(feature = "v1_2", feature = "dox"))]
    pub fn gst_test_clock_wait_for_pending_id_count(test_clock: *mut GstTestClock, count: c_uint);

    //=========================================================================
    // Other functions
    //=========================================================================
475 476 477 478
    pub fn gst_consistency_checker_add_pad(
        consist: *mut GstStreamConsistency,
        pad: *mut gst::GstPad,
    ) -> gboolean;
479 480 481 482 483
    pub fn gst_consistency_checker_free(consist: *mut GstStreamConsistency);
    pub fn gst_consistency_checker_new(pad: *mut gst::GstPad) -> *mut GstStreamConsistency;
    pub fn gst_consistency_checker_reset(consist: *mut GstStreamConsistency);

}