Skip to content

3.1.1 — concatenated-section fix

Choose a tag to compare

@fishloa fishloa released this 07 Jun 20:15
· 26 commits to main since this release
a0184ab

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
    bundled SiDemux already 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