17 releases
new 0.3.0 | May 24, 2024 |
---|---|
0.2.9 | May 11, 2024 |
0.2.7 | Apr 25, 2024 |
0.2.4 | Feb 28, 2024 |
0.1.4 | Jan 28, 2024 |
#1518 in Asynchronous
439 downloads per month
105KB
2.5K
SLoC
Jarust Plugins
A list of predefined plugins.
Current plugins:
- Echo test
- Audio bridge
- Video room
EchoTest Example
use jarust::jaconfig::JaConfig;
use jarust::jaconfig::TransportType;
use jarust_plugins::echotest::events::EchoTestPluginEvent;
use jarust_plugins::echotest::messages::EchoTestStartMsg;
use jarust_plugins::echotest::EchoTest;
use tracing_subscriber::EnvFilter;
#[tokio::main(flavor = "current_thread")]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(EnvFilter::from_default_env().add_directive("jarust=trace".parse()?))
.init();
let mut connection = jarust::connect(
JaConfig::new("ws://localhost:8188/ws", None, "janus"),
TransportType::Ws,
)
.await?;
let session = connection.create(10).await?;
let (handle, mut event_receiver, ..) = session.attach_echo_test().await?;
handle
.start(EchoTestStartMsg {
audio: true,
video: true,
..Default::default()
})
.await?;
while let Some(event) = event_receiver.recv().await {
match event {
EchoTestPluginEvent::Result { result, .. } => {
tracing::info!("result: {result}");
}
}
}
Ok(())
}
AudioBridge Example
use jarust::jaconfig::JaConfig;
use jarust::jaconfig::TransportType;
use jarust_plugins::audio_bridge::AudioBridge;
use tracing_subscriber::EnvFilter;
#[tokio::main(flavor = "current_thread")]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(EnvFilter::from_default_env().add_directive("jarust=trace".parse()?))
.init();
let mut connection = jarust::connect(
JaConfig::new("ws://localhost:8188/ws", None, "janus"),
TransportType::Ws,
)
.await?;
let session = connection.create(10).await?;
let (handle, ..) = session.attach_audio_bridge().await?;
let result = handle.list().await?;
tracing::info!("Rooms {:#?}", result);
Ok(())
}
Dependencies
~4.5–7.5MB
~125K SLoC