pub mod client;
pub mod common;
pub mod server;
pub use common::config::{IdentityValidation, SecurityInfo, SecurityMode};
pub use common::error::MediaTransportError;
pub use common::events::{MediaEventCallback, MediaTransportEvent};
pub use common::frame::{MediaFrame, MediaFrameType};
pub use common::stats::{MediaStats, QualityLevel, StatsFactory, StreamStats};
pub use client::config::{ClientConfig, ClientConfigBuilder};
pub use client::transport::DefaultMediaTransportClient;
pub use client::transport::MediaTransportClient;
pub use client::ClientFactory;
pub use server::config::{ServerConfig, ServerConfigBuilder};
pub use server::transport::ClientInfo;
pub use server::transport::DefaultMediaTransportServer;
pub use server::transport::MediaTransportServer;
pub use server::ServerFactory;
pub use client::security::ClientSecurityConfig;
pub use client::security::ClientSecurityContext;
pub use client::security::DefaultClientSecurityContext;
pub use server::security::DefaultServerSecurityContext;
pub use server::security::ServerSecurityConfig;
pub use server::security::ServerSecurityContext;
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
}