3.1.1 — concatenated-section fix
3.1.1 — concatenated-section fix
Bugfix release. SectionReassembler::feed extracted only the first PSI/SI
section in a TS payload; any sections concatenated after it (legal per
EN 300 468 §5.1.4, common on EMM PIDs that pack several short messages into
one payload) were silently discarded. The fix loops, draining every complete
section — recovering previously-lost SI/EMM data on busy multiplexes.
- Table-agnostic: affected every PID, surfaced on CAS/EMM (intermittent
decryption failures from dropped SHARED EMMs). On a real DVB-T2 capture the
fix recovered +7 emitted / +14 completed CRC-valid sections. - Sibling reassemblers (dvb-t2mi
PacketReassembler, carousel
ModuleReassembler) already drained correctly — unaffected. - Consumers should drain with
while let Some(s) = r.pop_section()(the
bundledSiDemuxalready does).
No API changes. All four crates released in lockstep at 3.1.1.
Full changelog: https://github.com/fishloa/rust-dvb/blob/main/dvb-si/CHANGELOG.md