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)]
26mod auto;
27pub use crate::auto::*;
28
29pub mod app_sink;
30pub use crate::app_sink::AppSinkCallbacks;
31
32pub mod app_src;
33pub use crate::app_src::AppSrcCallbacks;
34
35// Re-export all the traits in a prelude module, so that applications
36// can always "use gst_app::prelude::*" without getting conflicts
37pub mod prelude {
38    #[doc(hidden)]
39    pub use gst_base::prelude::*;
40}