gstreamer_validate/
functions.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use crate::ffi;
4use glib::translate::*;
5
6#[doc(alias = "gst_validate_init")]
7pub fn init() {
8    unsafe {
9        ffi::gst_validate_init();
10        crate::INITIALIZED.store(true, std::sync::atomic::Ordering::SeqCst);
11    }
12}
13
14#[doc(alias = "gst_validate_init_debug")]
15pub fn init_debug() {
16    unsafe {
17        ffi::gst_validate_init_debug();
18    }
19}
20
21#[doc(alias = "gst_validate_setup_test_file")]
22pub fn setup_test_file(test_file: &str, use_fakesinks: bool) -> gst::Structure {
23    skip_assert_initialized!();
24    unsafe {
25        from_glib_full(ffi::gst_validate_setup_test_file(
26            test_file.to_glib_none().0,
27            use_fakesinks as i32,
28        ))
29    }
30}
31
32#[doc(alias = "gst_validate_print_action_types")]
33pub fn print_action_types(action_types: Vec<&str>) {
34    assert_initialized_main_thread!();
35    unsafe {
36        ffi::gst_validate_print_action_types(
37            action_types.to_glib_none().0,
38            action_types.len() as i32,
39        );
40    }
41}