gstreamer_app/
lib.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3#![cfg_attr(docsrs, feature(doc_cfg))]
4#![allow(clippy::missing_safety_doc)]
5#![allow(clippy::manual_c_str_literals)]
6#![doc = include_str!("../README.md")]
7
8pub use glib;
9pub use gst;
10pub use gst_base;
11pub use gstreamer_app_sys as ffi;
12
13macro_rules! assert_initialized_main_thread {
14    () => {
15        if !gst::INITIALIZED.load(std::sync::atomic::Ordering::SeqCst) {
16            gst::assert_initialized();
17        }
18    };
19}
20
21macro_rules! skip_assert_initialized {
22    () => {};
23}
24
25#[allow(unused_imports)]
26#[allow(clippy::derivable_impls)]
27mod auto;
28pub use crate::auto::*;
29
30pub mod app_sink;
31pub use crate::app_sink::AppSinkCallbacks;
32
33pub mod app_src;
34pub use crate::app_src::AppSrcCallbacks;
35
36// Re-export all the traits in a prelude module, so that applications
37// can always "use gst_app::prelude::*" without getting conflicts
38pub mod prelude {
39    #[doc(hidden)]
40    pub use gst_base::prelude::*;
41}