TSDuck Version 3.16-1064 (TSDuck - The MPEG Transport Stream Toolkit)
ts::CASMapper Class Reference

This class maps PID's with CA system ids. More...

Inheritance diagram for ts::CASMapper:
Collaboration diagram for ts::CASMapper:

Public Member Functions

 CASMapper (Report &report)
 Constructor. More...
 
CASFamily casFamily (PID pid) const
 Get the CAS family of a CA PID (ECM or EMM). More...
 
uint16_t casId (PID pid) const
 Get the CAS id of a CA PID (ECM or EMM). More...
 
void feedPacket (const TSPacket &pkt)
 This method feeds the CAS mapper with a TS packet. More...
 
bool getCADescriptor (PID pid, CADescriptorPtr &desc) const
 Get the CA_descriptor which describes a CA PID (ECM or EMM). More...
 
bool isECM (PID pid) const
 Check if a PID carries ECM's. More...
 
bool isEMM (PID pid) const
 Check if a PID carries EMM's. More...
 
bool knownPID (PID pid) const
 Check if a PID is a known CA PID. More...
 
void setCurrentNext (bool current, bool next)
 Filter PSI tables based on current/next indicator. More...
 

Detailed Description

This class maps PID's with CA system ids.

All packets are passed through this object. It tracks the location of all EMM and ECM PID's and records the corresponding CAS attributes.

Constructor & Destructor Documentation

◆ CASMapper()

ts::CASMapper::CASMapper ( Report report)

Constructor.

Parameters
[in,out]reportWhere to log errors.

Member Function Documentation

◆ feedPacket()

void ts::CASMapper::feedPacket ( const TSPacket pkt)
inline

This method feeds the CAS mapper with a TS packet.

Parameters
[in]pktA new transport stream packet.

◆ setCurrentNext()

void ts::CASMapper::setCurrentNext ( bool  current,
bool  next 
)
inline

Filter PSI tables based on current/next indicator.

Parameters
[in]currentUse "current" tables. This is true by default.
[in]nextUse "next" tables. This is false by default.

◆ knownPID()

bool ts::CASMapper::knownPID ( PID  pid) const
inline

Check if a PID is a known CA PID.

Parameters
[in]pidA PID to check.
Returns
True if @ pid is a known ECM or EMM PID.

◆ casFamily()

CASFamily ts::CASMapper::casFamily ( PID  pid) const

Get the CAS family of a CA PID (ECM or EMM).

Parameters
[in]pidA PID to check.
Returns
The CAS family or CAS_OTHER if unknown.

◆ casId()

uint16_t ts::CASMapper::casId ( PID  pid) const

Get the CAS id of a CA PID (ECM or EMM).

Parameters
[in]pidA PID to check.
Returns
The CAS id or zero if the PID is not known.

◆ isECM()

bool ts::CASMapper::isECM ( PID  pid) const

Check if a PID carries ECM's.

Parameters
[in]pidA PID to check.
Returns
True if the PID carries ECM's, false otherwise.

◆ isEMM()

bool ts::CASMapper::isEMM ( PID  pid) const

Check if a PID carries EMM's.

Parameters
[in]pidA PID to check.
Returns
True if the PID carries EMM's, false otherwise.

◆ getCADescriptor()

bool ts::CASMapper::getCADescriptor ( PID  pid,
CADescriptorPtr desc 
) const

Get the CA_descriptor which describes a CA PID (ECM or EMM).

Parameters
[in]pidA PID to check.
[out]descA safe pointer to the associated CA_descriptor.
Returns
True if the CA_descriptor was found, false otherwise.

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