TSDuck
v3.39-3902
MPEG Transport Stream Toolkit
|
Representation of an ISDB DownLoad Table (DLT). More...
Public Member Functions | |
DLT () | |
Default constructor. | |
DLT (DuckContext &duck, const BinaryTable &table) | |
Constructor from a binary table. More... | |
Static Public Member Functions | |
static void | DisplaySection (ts::TablesDisplay &display, const ts::Section §ion, ts::PSIBuffer &payload, const ts::UString &margin) |
A static method to display a section. More... | |
Public Attributes | |
ByteBlock | code_data {} |
Downloaded software fragment. Padded with FF to 2048 bytes in binary section. | |
uint16_t | last_Lsection_number = 0 |
DLT last section number (recreated on 16 bits). | |
uint16_t | Lsection_number = 0 |
DLT section number (recreated on 16 bits). | |
uint8_t | maker_id = 0 |
Manufacturer id. | |
uint8_t | model_id = 0 |
Model id within manufacturer. | |
ByteBlock | model_info {} |
Model information. Padded with FF to 145 bytes in binary section. | |
uint8_t | version_id = 0 |
Downloaded software id. | |
Static Public Attributes | |
static constexpr size_t | CODE_DATA_SIZE = 2048 |
Fixed size in bytes of code_data in binary section. | |
static constexpr size_t | MODEL_INFO_SIZE = 145 |
Fixed size in bytes of model_info in binary section. | |
Protected Member Functions | |
virtual bool | analyzeXML (DuckContext &, const xml::Element *) override |
virtual void | buildXML (DuckContext &, xml::Element *) const override |
virtual void | clearContent () override |
virtual void | deserializePayload (PSIBuffer &, const Section &) override |
virtual void | serializePayload (BinaryTable &, PSIBuffer &) const override |
virtual bool | useTrailingCRC32 () const override |
Representation of an ISDB DownLoad Table (DLT).
Note: the ARIB STD-B16 is only in available in Japanese version and not generally available for download. The following is a summary of the structure of the DLT for the purpose of its implementation.
The DLT indicates the software to be downloaded. PID is operated by the operator and is indicated by DCT. It is transmitted in part (or all) of the transport_stream of the network. It is scrambled to ensure security. The frequency of transmission is set arbitrarily by the operator.
The DLT is a short section. However, the ARIB standard recreates 16-bit extended versions of section_number and last_section_number in the form of Lsection_number and last_Lsection_number. A CRC-32 is also explicitly added at the end of the section (just like a TOT).
maker_id: This 8-bit field indicates the manufacturer identification of the receiver to which this section applies. This value is managed and operated by the standardization organization.
model_id: This 8-bit field indicates the model identification of the receiver to which this section applies, within the same maker_id. This value is managed and operated by each manufacturer.
version_id (software version identification): This 8-bit field indicates the software version identification of the receiver to which this section applies, within the same maker_id/model_id. This value is managed and operated by each manufacturer. Only one version_id is transmitted at the same time.
Lsection_number (extended section number): This 16-bit field is an extension of section_number to 16 bits, and indicates the number of the extended section. The extended section number of the first section in a subtable is 0x00. The extended section number is incremented by 1 for each additional section with the same table identification/manufacturer identification/model identification/software version identification.
last_Lsection_number (last extended section number): This 16-bit field is an extension of last_section_number to 16 bits, and specifies the number of the last section of the subtable to which the section belongs (i.e., the section with the highest extended section number).
model_info: This 145-byte field can contain any information related to the software.
code_data_byte (downloaded software): This 2048-byte field indicates the software to be downloaded.
CRC_32 (CRC): This 32-bit field is generated according to the CRC generation method section of the ISO/IEC13818-1 standard. It indicates the CRC value for the entire section.
ts::DLT::DLT | ( | DuckContext & | duck, |
const BinaryTable & | table | ||
) |
Constructor from a binary table.
[in,out] | duck | TSDuck execution context. |
[in] | table | Binary table to deserialize. |
|
static |
A static method to display a section.
[in,out] | display | Display engine. |
[in] | section | The section to display. |
[in,out] | payload | A PSIBuffer over the payload. |
[in] | margin | Left margin content. |