Skip to main content

πŸ”’ PSI Tables CRC

Many MPEG-TS Program Specific Information (PSI) sections, including PAT and PMT, carry a CRC32 field. That CRC protects the section body against bit errors, truncation, and malformed mux output.

If the CRC is wrong, a receiver cannot trust the PSI section contents even if the packet framing itself still looks valid.

What This Test Does​

During ingest demux, the application lets the MPEG-TS parser validate PSI sections that include CRC32 protection. When a PSI section CRC does not match the computed value, ingest records a PSITableCRCError observation with the packet index and byte offset of the failing packet and continues scanning the stream.

PSI CRC

βœ… Pass Criteria​

The test passes when no PSI table CRC mismatches were observed during ingest.
Application result message:

No PSI table CRC errors were detected.

❌ Fail Criteria​

The test fails when one or more PSI sections with CRC protection were parsed with a CRC mismatch.
Typical causes include:

  • bit corruption in PAT or PMT packets
  • damaged or partially overwritten transport-stream files
  • malformed PSI generated by an encoder or remultiplexer
  • payload corruption that preserved packet sync but altered PSI contents

Application result message pattern:

N PSI table CRC errors were detected. First at byte offset X, packet Y.

Test file​

  • mpegts-psi-crc-corrupt.ts

Corrupted CRC at offsets: [44033, 92349, 141417, 191989]