Struct mpeg2ts_reader::packet::Packet[][src]

pub struct Packet<'buf> { /* fields omitted */ }

A transport stream Packet is a wrapper around a byte slice which allows the bytes to be interpreted as a packet structure per ISO/IEC 13818-1, Section 2.4.3.3.

Methods

impl<'buf> Packet<'buf>
[src]

returns true if the given value is a valid synchronisation byte, the value 0x42, which must appear at the start of every transport stream packet.

Panics if the given buffer is less than 188 bytes, or if the initial sync-byte does not have the correct value (0x47). Calling code is expected to have already checked those conditions.

a structure larger than a single packet payload needs to be split across multiple packets, payload_unit_start() indicates if this packet payload contains the start of the structure. If false, this packets payload is a continuation of a structure which began in an earlier packet within the transport stream.

The sub-stream to which a particular packet belongs is indicated by this Packet Identifier value.

The returned enum value indicates if adaptation_field(), payload() or both will return something.

Each packet with a given pid() value within a transport stream should have a continuity counter value which increases by 1 from the last counter value seen. Unexpected continuity counter values allow the receiver of the transport stream to detect discontinuities in the stream (e.g. due to data loss during transmission).

An AdaptationField contains additional packet headers that may be present in the packet.

The data contained within the packet, not including the packet headers. Not all packets have a payload, and None is returned if adaptation_control() indicates that no payload is present. None may also be returned if the packet is malformed. If Some payload is returned, it is guaranteed not to be an empty slice.

Auto Trait Implementations

impl<'buf> Send for Packet<'buf>

impl<'buf> Sync for Packet<'buf>