Skip to main content

gsthang/
lib.rs

1use gst::glib;
2
3mod sink;
4mod source;
5
6use tracing::level_filters::LevelFilter;
7use tracing_subscriber::EnvFilter;
8
9pub fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
10	sink::register(plugin)?;
11	source::register(plugin)?;
12
13	let filter = EnvFilter::builder()
14		.with_default_directive(LevelFilter::INFO.into())
15		.from_env_lossy() // Allow overriding with RUST_LOG
16		.add_directive("h2=warn".parse().unwrap())
17		.add_directive("quinn=info".parse().unwrap())
18		.add_directive("tracing::span=off".parse().unwrap())
19		.add_directive("tracing::span::active=off".parse().unwrap());
20
21	let logger = tracing_subscriber::FmtSubscriber::builder()
22		.with_writer(std::io::stderr)
23		.with_env_filter(filter)
24		.finish();
25
26	tracing::subscriber::set_global_default(logger).unwrap();
27	Ok(())
28}
29
30gst::plugin_define!(
31	hang,
32	env!("CARGO_PKG_DESCRIPTION"),
33	plugin_init,
34	concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
35	"Apache 2.0",
36	env!("CARGO_PKG_NAME"),
37	env!("CARGO_PKG_NAME"),
38	env!("CARGO_PKG_REPOSITORY"),
39	env!("BUILD_REL_DATE")
40);