Expand description
Async/tokio stream adapters for DVB SI and T2-MI processing.
This crate wraps the synchronous dvb_si::demux::SiDemux and
dvb_t2mi::pump::T2miPump as futures_core::Stream implementations,
quarantining tokio and futures-core away from the parser crates.
§Streams
-
SectionStream— wrapsdvb_si::demux::SiDemuxover anytokio::io::AsyncReadbyte source (file, TCP socket). Each item is an owneddvb_si::demux::SectionEvent('static, no borrow of the read buffer). -
T2miEventStream— wrapsdvb_t2mi::pump::T2miPumpover anytokio::io::AsyncRead. Each item is an owneddvb_t2mi::pump::T2miEvent.
Both streams are also constructable from a UDP multicast socket (the dominant
real-world DVB transport) via the bind_multicast constructor when the udp
feature is enabled.
§Ownership and cancellation
The adapter owns the read buffer and feeds bytes into the synchronous pump
on each poll_next call. Events are buffered in a small per-packet queue and
drained before the next read is attempted. There are no internal tasks or
spawning; cancellation is simply dropping the stream.
§188-byte TS framing and resync
The adapter reads raw bytes from the AsyncRead source and performs 188-byte
TS packet alignment via a sync-byte (0x47) resync on the read buffer. The
resync logic is implemented once in resync and shared by both streams.
§Feature flags
| Feature | Default | Description |
|---|---|---|
udp | on | UDP/multicast constructors (bind_multicast) via tokio::net::UdpSocket. |
§MSRV
dvb-stream 1.81 (mirrors the workspace). This crate is versioned and
released independently from the dvb-si / dvb-t2mi lockstep because
tokio’s own MSRV moves faster.
Re-exports§
pub use section_stream::SectionStream;pub use t2mi_stream::T2miEventStream;
Modules§
- resync
- TS byte-stream resynchronisation helpers for
dvb-stream. - section_
stream SectionStream— asyncfutures_core::Streamof owned SI section events.- t2mi_
stream T2miEventStream— asyncfutures_core::Streamof owned T2-MI events.
Structs§
- Resync
Stats - Statistics tracking resynchronisation events and discarded bytes in a TS byte stream.