pub mod common;
pub mod client;
pub mod server;
pub use common::frame::{MediaFrame, MediaFrameType};
pub use common::error::MediaTransportError;
pub use common::events::{MediaTransportEvent, MediaEventCallback};
pub use common::config::{SecurityMode, SecurityInfo, IdentityValidation};
pub use common::stats::{MediaStats, QualityLevel, StreamStats, StatsFactory};
pub use client::transport::MediaTransportClient;
pub use client::config::{ClientConfig, ClientConfigBuilder};
pub use client::ClientFactory;
pub use client::transport::DefaultMediaTransportClient;
pub use server::transport::MediaTransportServer;
pub use server::transport::ClientInfo;
pub use server::config::{ServerConfig, ServerConfigBuilder};
pub use server::ServerFactory;
pub use server::transport::DefaultMediaTransportServer;
pub use client::security::ClientSecurityContext;
pub use client::security::ClientSecurityConfig;
pub use client::security::DefaultClientSecurityContext;
pub use server::security::ServerSecurityContext;
pub use server::security::ServerSecurityConfig;
pub use server::security::DefaultServerSecurityContext;
pub async fn create_client(config: ClientConfig) -> Result<client::transport::DefaultMediaTransportClient, MediaTransportError> {
client::ClientFactory::create_client(config).await
}
pub async fn create_server(config: ServerConfig) -> Result<server::transport::DefaultMediaTransportServer, MediaTransportError> {
server::ServerFactory::create_server(config).await
}
pub async fn create_webrtc_client(
remote_addr: std::net::SocketAddr
) -> Result<client::transport::DefaultMediaTransportClient, MediaTransportError> {
client::ClientFactory::create_webrtc_client(remote_addr).await
}
pub async fn create_webrtc_server(
local_addr: std::net::SocketAddr
) -> Result<server::transport::DefaultMediaTransportServer, MediaTransportError> {
server::ServerFactory::create_webrtc_server(local_addr).await
}