saorsa_webrtc_core/
lib.rs1#![deny(missing_docs)]
42#![deny(unsafe_code)]
43#![deny(clippy::panic)]
44#![deny(clippy::unwrap_used)]
45#![deny(clippy::expect_used)]
46#![warn(clippy::all)]
47#![allow(clippy::pedantic)]
49#![allow(clippy::nursery)]
50#![allow(clippy::unused_async)]
51#![allow(clippy::module_name_repetitions)]
52#![allow(clippy::derivable_impls)]
53
54pub mod types;
56
57#[cfg(feature = "legacy-webrtc")]
59pub mod service;
60
61#[cfg(feature = "legacy-webrtc")]
63pub mod media;
64
65#[cfg(feature = "legacy-webrtc")]
67pub mod call;
68
69pub mod signaling;
71
72pub mod transport;
74
75pub mod quic_streams;
77
78pub mod quic_bridge;
80
81pub mod protocol_handler;
83
84pub mod identity;
86
87pub mod link_transport;
89
90pub mod quic_media_transport;
92
93#[cfg(feature = "legacy-webrtc")]
95pub use call::{CallManager, CallManagerConfig};
96pub use identity::{PeerIdentity, PeerIdentityString};
97pub use link_transport::{
98 LinkTransport, LinkTransportError, PeerConnection, StreamType as LinkStreamType,
99};
100#[cfg(feature = "legacy-webrtc")]
101pub use media::{
102 AudioDevice, AudioTrack, MediaEvent, MediaStream, MediaStreamManager, VideoDevice, VideoTrack,
103};
104pub use protocol_handler::{
105 WebRtcHandlerConfig, WebRtcHandlerError, WebRtcIncoming, WebRtcProtocolHandler,
106 WebRtcProtocolHandlerBuilder,
107};
108pub use quic_bridge::{RtpPacket, StreamConfig, StreamType, WebRtcQuicBridge};
109pub use quic_media_transport::{
110 MediaTransportError, MediaTransportState, QuicMediaTransport, StreamHandle, StreamPriority,
111 TransportStats,
112};
113pub use service::{WebRtcConfig, WebRtcEvent, WebRtcService, WebRtcServiceBuilder};
114pub use signaling::{
115 SignalingHandler, SignalingMessage as SignalingMessageType, SignalingTransport,
116};
117pub use transport::{AntQuicTransport, TransportConfig};
118pub use types::*;
119
120pub mod prelude {
122 #[cfg(feature = "legacy-webrtc")]
123 pub use crate::call::{CallManager, CallManagerConfig};
124 pub use crate::identity::{PeerIdentity, PeerIdentityString};
125 #[cfg(feature = "legacy-webrtc")]
126 pub use crate::media::{MediaEvent, MediaStreamManager};
127 pub use crate::protocol_handler::{WebRtcHandlerConfig, WebRtcIncoming, WebRtcProtocolHandler};
128 #[cfg(feature = "legacy-webrtc")]
129 pub use crate::service::{WebRtcConfig, WebRtcEvent, WebRtcService, WebRtcServiceBuilder};
130 pub use crate::signaling::{SignalingHandler, SignalingMessage, SignalingTransport};
131 pub use crate::transport::{AntQuicTransport, TransportConfig};
132 pub use crate::types::{
133 CallEvent, CallId, CallState, MediaConstraints, MediaType, NativeQuicConfiguration,
134 };
135}