Skip to main content

Module srt

Module srt 

Source
Available on crate features ingest and srt only.
Expand description

Native SRT ingest handler (feature srt).

Accepts SRT (Secure Reliable Transport) connections in listener mode, parses the control/data packet stream, and extracts the encapsulated MPEG-TS payload into elementary media frames that flow onto the engine bus through the standard InboundProtocol seam.

§Pipeline

 UDP datagram ─▶ SrtPacket::parse ─▶ data payload ─▶ TsDemuxer ─▶ AccessUnit
                      │                                              │
                      └─ handshake (induction/conclusion)           ▼
                                                             PublishSession

The SRT packet header (SRT RFC, draft-sharabayko-srt) and the SrtHandshake induction/conclusion exchange are parsed here; the MPEG-TS bytes ride in SRT data packets and are demuxed by TsDemuxer.

§Scope (per the v0.1.3 design decision)

Unencrypted transport only. SRT’s AES-CTR key exchange (the KMREQ/KMRSP handshake extensions) requires a crypto backend and is intentionally out of scope for the #![forbid(unsafe_code)], dependency-light kernel — an encrypted feed is rejected at handshake. Basic ACK/NAK keep-alive is handled; a full ARQ retransmission window is not modeled (the listener tolerates loss and re-syncs on the next TS/PES boundary).

Structs§

SrtHandler
SRT ingest worker — binds a UDP listener and demuxes one MPEG-TS feed.
SrtHandshake
The fields of an SRT handshake this listener inspects.
TsDemuxer
Stateful MPEG-TS demuxer. Feed it TS bytes with push.
TsPayload
One reassembled access unit demuxed from the TS stream.

Enums§

ControlType
SRT control packet types (the 15-bit type field of a control header).
HandshakeType
SRT handshake request type (the 32-bit Handshake Type field).
SrtPacket
A parsed SRT packet — its header fields and, for data packets, the payload offset (always 16, the fixed header length).
TsTrackKind
Whether a demuxed TsPayload is a video or audio access unit.