gst-plugins-rs/net/webrtc/src/lib.rs

52 lines
1.2 KiB
Rust
Raw Normal View History

// SPDX-License-Identifier: MPL-2.0
2022-10-19 19:22:31 +00:00
#![allow(clippy::non_send_fields_in_send_ty, unused_doc_comments)]
2022-08-16 14:44:41 +00:00
/**
* plugin-rswebrtc:
* @title: Rust WebRTC elements
* @short_description: A collection of high level WebRTC elements wrapping webrtcbin
2022-08-16 14:44:41 +00:00
*
* {{ net/webrtc/README.md[2:233] }}
*
2022-08-16 14:44:41 +00:00
* Since: plugins-rs-0.9
*/
2021-10-05 21:28:05 +00:00
use gst::glib;
use once_cell::sync::Lazy;
use tokio::runtime;
2021-10-05 21:28:05 +00:00
mod aws_kvs_signaller;
mod janusvr_signaller;
mod livekit_signaller;
pub mod signaller;
pub mod utils;
2021-10-05 21:28:05 +00:00
pub mod webrtcsink;
pub mod webrtcsrc;
mod whip_signaller;
2021-10-05 21:28:05 +00:00
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
webrtcsink::register(plugin)?;
webrtcsrc::register(Some(plugin))?;
2021-10-05 21:28:05 +00:00
Ok(())
}
gst::plugin_define!(
2022-08-16 14:44:41 +00:00
rswebrtc,
2021-10-05 21:28:05 +00:00
env!("CARGO_PKG_DESCRIPTION"),
plugin_init,
concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
"MPL-2.0",
2021-10-05 21:28:05 +00:00
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_NAME"),
env!("CARGO_PKG_REPOSITORY"),
env!("BUILD_REL_DATE")
);
pub static RUNTIME: Lazy<runtime::Runtime> = Lazy::new(|| {
runtime::Builder::new_multi_thread()
.enable_all()
.worker_threads(1)
.build()
.unwrap()
});