Module mpeg2ts_reader::pes
source · Expand description
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 pieces back to the calling application as they are encountered – these pieces 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
TODO: not yet implemented
Header at the start of every PES packet.
Extracts elementary stream data from a series of transport stream packets which are passed
one-by-one.
Extra data which may optionally be present in the
PesHeader
, potentially including
Presentation Timestamp (PTS) and Decode Timestamp (DTS) values.A 33-bit Elementary Stream timestamp, used to represent PTS and DTS values which may appear in
an Elementy Stream header.
Enums
Indicates the copyright status of the contents of the Elementary Stream packet.
Indicates if the start of some ‘unit’ of Elementary Stream content is immediately at the start of the PES
packet payload.
Indicates weather the contents of the Elementary Stream packet are original or a copy.
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.Type for the length of a PES packet
Detail about the formatting problem which prevented a
Timestamp
value being parsed.Traits
Trait for types that will receive call-backs as pieces of a specific elementary stream are
encounted within a transport stream.