Available on crate feature
ingest only.Expand description
Reusable protocol scaffolding shared by ingest handlers (RTMP, RTSP, …).
Gated behind ingest. Extracted from sc-protocol-ingest, with the global
metrics singleton removed — counters are the caller’s concern.
Modules§
- rtmp
rtmp - A working RTMP
InboundProtocol: publish (ingest) and play (egress) over the real Adobe wire protocol. - rtp
rtsporwebrtc - Shared RTP/RTCP parsing and NAL-codec (de)packetization — RFC 3550 framing plus H.264 (RFC 6184) and H.265 (RFC 7798) payload formats.
- rtsp
rtsp - Native RTSP ingest handler (feature
rtsp). - srt
srt - Native SRT ingest handler (feature
srt). - webrtc
webrtc - WebRTC WHIP/WHEP ingest & egress signaling with a pluggable crypto transport
(feature
webrtc).
Structs§
- Ingest
Rate Limit - Per-connection sliding-window ingress rate limiter (bytes/second).
- Keyframe
Gate - Gate that suppresses delta frames until the first IDR (keyframe) arrives, so late-joining or re-subscribing clients always start at a clean decoder boundary.
- NalStart
- A located Annex-B start code within an H.264/H.265 bytestream.
Constants§
- MAX_
AUDIO_ FRAME - Maximum allowed audio frame size (1 MiB).
- MAX_
VIDEO_ FRAME - Maximum allowed video frame size (8 MiB). Frames larger than this should be dropped before parsing so a crafted source cannot exhaust heap memory.
Functions§
- find_
nal_ start - Find the next Annex-B NAL start code (
00 00 01or00 00 00 01) inbufat or afterfrom. - run_
tcp_ ingest_ server - Generic TCP accept loop shared by RTMP/RTSP handlers.