Module mpeg2ts_reader::pes [] [src]

Support for Packetised Elementary Stream syntax within Transport Stream packet payloads. Elementary streams are split into 'elementary stream packets', which are then further split into the payloads of transport stream packets.

The types here allow the elementary stream to be reconstructed by passing all the extracted peices back to the calling application as they are encountered -- these peices are not reassembled, to avoid the cost of copying of the underlying data.

To receive Elementary Stream data, create an implementation of ElementaryStreamConsumer, and register this with the StreamConstructor object passed to the Demultiplex instance.

Structs

PesHeader

Header at the start of every PES packet.

PesPacketConsumer

Extracts elementary stream data from a series of transport stream packets which are passed one-by-one.

PesParsedContents

Extra data which may optionally be present in the PesHeader, potentially including Presentation Timestamp (PTS) and Decode Timestamp (DTS) values.

Timestamp

A 33-bit Elementary Stream timestamp, used to represent PTS and DTS values which may appear in an Elementy Stream header.

Enums

Copyright

Indicates the copyright status of the contents of the Elementary Stream packet.

DataAlignment

Indicates if the start of some 'unit' of Elementary Stream content is immediately at the start of the PES packet payload.

OriginalOrCopy

Indicates weather the contents of the Elementary Stream packet are original or a copy.

PesContents

Either PesContents::Payload, when the PesHeader has no extra fields, or PesContents::Parsed, when the header provides additional optional fields exposed in a ParsedPesContents object.

PtsDts
TimestampError

Detail about the formatting problem which prevented a Timestamp value being parsed.

Traits

ElementaryStreamConsumer

Trait for types that will receive call-backs as pieces of a specific elementary stream are encounted within a transport stream.