Skip to main content

arcly_stream/protocol/
mod.rs

1//! Reusable protocol scaffolding shared by ingest handlers (RTMP, RTSP, …).
2//!
3//! Gated behind `ingest`. Extracted from `sc-protocol-ingest`, with the global
4//! metrics singleton removed — counters are the caller's concern.
5
6mod ingest;
7
8// Shared panic-free big-endian reader under every network parser. Internal.
9#[cfg(any(feature = "_rtp", feature = "srt", feature = "rtmp"))]
10pub(crate) mod byteops;
11
12pub use ingest::{
13    find_nal_start, run_tcp_ingest_server, IngestRateLimit, KeyframeGate, NalStart,
14    MAX_AUDIO_FRAME, MAX_VIDEO_FRAME,
15};
16
17#[cfg(feature = "rtmp")]
18#[cfg_attr(docsrs, doc(cfg(feature = "rtmp")))]
19pub mod rtmp;
20
21#[cfg(feature = "_rtp")]
22#[cfg_attr(docsrs, doc(cfg(any(feature = "rtsp", feature = "webrtc"))))]
23pub mod rtp;
24
25#[cfg(feature = "rtsp")]
26#[cfg_attr(docsrs, doc(cfg(feature = "rtsp")))]
27pub mod rtsp;
28
29#[cfg(feature = "srt")]
30#[cfg_attr(docsrs, doc(cfg(feature = "srt")))]
31pub mod srt;
32
33#[cfg(feature = "webrtc")]
34#[cfg_attr(docsrs, doc(cfg(feature = "webrtc")))]
35pub mod webrtc;