Module mpeg2ts_reader::psi

source ·
Expand description

Types for processing tables of Program Specific Information in a transport stream.

Concepts

  • There are multiple standard types of Program Specific Information, like the Program Association Table and Program Map Table. Standards derived from mpegts may define their own table types.
  • A PSI Table can split into Sections
  • A Section can be split across a small number of individual transport stream Packets
  • A Section may use a syntax common across a number of the standard table types, or may be an opaque bag of bytes within the transport stream whose interpretation is defined within a derived standard (and therefore not in this library).

Core types

Note that the specific types of table such as Program Association Table are defined elsewhere with only the generic functionality in this module.

Modules

Types related to the Program Association Table
Types related to the Program Map Table

Structs

Implements BufferSectionSyntaxParser so that any sections that cross TS-packet boundaries are collected into a single byte-buffer for easier parsing. In the common case that the section fits entirely in a single TS packet, the implementation is zero-copy.
A wrapper around some other implementation of SectionSyntaxPayloadParser that passes-through section data, unless the TableSyntaxHeader indicates a version_number which is the same as the last data that was passed though.
A PacketConsumer for buffering Program Specific Information, which may be split across multiple TS packets, and passing a complete PSI table to the given SectionProcessor when a complete, valid section has been received.
Represents the fields that appear within table sections that use the common ‘section syntax’.

Enums

Traits

Trait for types which process the data within a PSI section following the 12-byte section_length field (which is one of the items available in the SectionCommonHeader that is passed in.
Trait for types that will handle MPEGTS PSI table sections with ‘section syntax’.