1#![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;
31#[cfg(feature = "futures")]
32pub(crate) mod app_sink_futures;
33pub use crate::app_sink::AppSinkCallbacks;
34
35pub mod app_src;
36#[cfg(feature = "futures")]
37pub(crate) mod app_src_futures;
38pub use crate::app_src::AppSrcCallbacks;
39
40pub mod prelude {
43 #[doc(hidden)]
44 pub use gst_base::prelude::*;
45}