TSDuck v3.44-4554
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::mcast::LCTHeader Class Reference

Representation of a Layered Coding Transport (LCT) header. More...

#include <tsmcastLCTHeader.h>

Inheritance diagram for ts::mcast::LCTHeader:
Collaboration diagram for ts::mcast::LCTHeader:

Public Member Functions

 LCTHeader ()=default
 Default constructor.
 
void clear ()
 Clear the content of a binary LCT header.
 
bool deserialize (const uint8_t *&addr, size_t &size, FileTransport protocol)
 Deserialize a binary LCT header.
 
virtual UString toString () const override
 Convert to a string object.
 

Public Attributes

ByteBlock cci {}
 Congestion control information.
 
std::optional< uint8_t > cenc {}
 Optional content encoding algorithm from header HET_CENC.
 
bool close_object = false
 Close Object flag.
 
bool close_session = false
 Close Session flag.
 
uint8_t codepoint = 0
 Codepoint identifier.
 
std::map< uint8_t, ByteBlockext {}
 Other header extensions, indexed by type (HET), when not deserialized in explicit fields.
 
std::optional< FDTInstanceHeaderfdt {}
 Optional FDT instance from header HET_FDT.
 
uint8_t fec_encoding_id = 0
 FEC Encoding ID.
 
FECPayloadId fpi {}
 FEC Payload ID, following the LCT header.
 
std::optional< FECTransmissionInformationfti {}
 Optional FEC transmission information from header HET_FTI.
 
uint8_t lct_version = 0
 LCT protocol version (4 bits).
 
std::optional< NIPActualCarrierInformationnaci {}
 Optional DVB-NIP carrier information from header HET_NACI.
 
FileTransport protocol = FT_UNKNOWN
 Higher level protocol.
 
uint8_t psi = 0
 Protocol-Specific Indication (2 bits).
 
bool repair_packet = false
 FEC repair packet, meaning not a source packet (ROUTE).
 
std::optional< Timetime {}
 Optional sender current time from header HET_TIME.
 
uint64_t toi = 0
 Transport Object Identifier (low 64 bits).
 
uint64_t toi_high = 0
 Transport Object Identifier (high 64 bits).
 
size_t toi_length = 0
 Length in bytes of TOI field.
 
std::optional< uint64_t > tol {}
 Optional ATSC Transport Onject Length from header HET_TOL (24 or 48 bits).
 
uint64_t tsi = 0
 Transport Session Identifier.
 
size_t tsi_length = 0
 Length in bytes of TSI field.
 

Detailed Description

Representation of a Layered Coding Transport (LCT) header.

By extension, for use in context of FLUTE and DVB-NIP, the corresponding optional headers are added.

See also
IETF RFC 5651

Member Function Documentation

◆ deserialize()

bool ts::mcast::LCTHeader::deserialize ( const uint8_t *&  addr,
size_t &  size,
FileTransport  protocol 
)

Deserialize a binary LCT header.

Parameters
[in,out]addrAddress of binary area. Updated to point after LCT header.
[in,out]sizeSize of binary area. Updated with remaining size after deserializing the LCT header.
[in]protocolThe expected file transport protocol.
Returns
True on success, false on error. Same as valid field.

◆ toString()

virtual UString ts::mcast::LCTHeader::toString ( ) const
overridevirtual

Convert to a string object.

Returns
This object, converted as a string.

Implements ts::StringifyInterface.


The documentation for this class was generated from the following file: