Module mpeg2ts_reader::psi [] [src]

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.

Structs

BufferSectionSyntaxParser

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.

CrcCheckWholeSectionSyntaxPayloadParser
DedupSectionSyntaxPayloadParser

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.

SectionCommonHeader
SectionPacketConsumer

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.

SectionSyntaxSectionProcessor
TableSyntaxHeader

Represents the fields that appear within table sections that use the common 'section syntax'.

Enums

CurrentNext

Traits

SectionProcessor

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.

SectionSyntaxPayloadParser

Trait for types that will handle MPEGTS PSI table sections with 'section syntax'.

WholeSectionSyntaxPayloadParser

Functions

section_syntax_payload