TSDuck v3.44-4659
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::DSMCCModuleAssembler::ModuleContext Struct Reference

Context for a single Module in the carousel. More...

#include <tsDSMCCModuleAssembler.h>

Collaboration diagram for ts::DSMCCModuleAssembler::ModuleContext:

Public Types

enum class  Status {
  UNKNOWN ,
  PENDING ,
  COMPLETE
}
 Completion status of this module. More...
 

Public Member Functions

bool isComplete () const
 Check if module is fully loaded.
 
void setSize (uint32_t size, uint16_t blk_size)
 Initialize module with expected size and block size.
 

Public Attributes

uint16_t block_size = DEFAULT_BLOCK_SIZE
 Block size in bytes, announced by the DII.
 
DescriptorList descs {nullptr}
 Copy of the DII module's user_info descriptor list. Decoded by consumers on demand.
 
uint32_t download_id = 0
 download_id from the DII; maps to the carousel group in data-carousel mode.
 
size_t expected_blocks = 0
 Number of DDB blocks expected (ceil(module_size / block_size)).
 
bool is_compressed = false
 True if a compressed_module_descriptor is present.
 
uint16_t module_id = 0
 Module identifier from the DII (only unique within a download_id).
 
uint32_t module_size = 0
 Total module size in bytes.
 
uint8_t module_version = 0
 Module version, incremented by the broadcaster on update.
 
uint32_t original_size = 0
 Uncompressed size from compressed_module_descriptor.
 
ByteBlock payload {}
 Complete module payload assembled from DDBs.
 
Status status = Status::UNKNOWN
 Current status of the module.
 

Detailed Description

Context for a single Module in the carousel.

Member Enumeration Documentation

◆ Status

Completion status of this module.

Enumerator
UNKNOWN 

No information yet (no DII and no block seen).

PENDING 

DII seen, still collecting blocks.

COMPLETE 

All blocks received and (if needed) decompressed.

Member Function Documentation

◆ setSize()

void ts::DSMCCModuleAssembler::ModuleContext::setSize ( uint32_t  size,
uint16_t  blk_size 
)

Initialize module with expected size and block size.

Parameters
[in]sizeTotal module size in bytes.
[in]blk_sizeBlock size in bytes.

◆ isComplete()

bool ts::DSMCCModuleAssembler::ModuleContext::isComplete ( ) const
inline

Check if module is fully loaded.

Returns
True if the module is complete.

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