TSDuck v3.38-3696
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::EDID Class Reference

Extended MPEG descriptor id. More...

#include <tsEDID.h>

Public Member Functions

 EDID ()=default
 Default constructor.
 
DID did () const
 Get the descriptor id (aka tag).
 
DID didExtDVB () const
 Get the DVB descriptor tag extension.
 
DID didExtMPEG () const
 Get the MPEG descriptor tag extension.
 
bool isExtensionDVB () const
 Check if the descriptor is a DVB extension descriptor.
 
bool isExtensionMPEG () const
 Check if the descriptor is an MPEG extension descriptor.
 
bool isPrivateDescriptor () const
 Check if the descriptor is a DVB private one.
 
bool isStandard () const
 Check if the descriptor is a standard one.
 
bool isTableSpecific () const
 Check if the descriptor is table-specific.
 
bool isValid () const
 Check if the extended descriptor id is valid.
 
bool operator< (const EDID &e) const
 Comparison operator.
 
bool operator<= (const EDID &e) const
 Comparison operator.
 
bool operator== (const EDID &e) const
 Comparison operator.
 
bool operator> (const EDID &e) const
 Comparison operator.
 
bool operator>= (const EDID &e) const
 Comparison operator.
 
PDS pds () const
 Get the private data specifier.
 
TID tableId () const
 Get the required table-id for a table-specific descriptor.
 

Static Public Member Functions

static EDID ExtensionDVB (DID ext)
 Build the EDID for a DVB extension descriptor.
 
static EDID ExtensionMPEG (DID ext)
 Build the EDID for an MPEG extension descriptor.
 
static EDID Private (DID did, PDS pds)
 Build the EDID for a private DVB descriptor.
 
static EDID Standard (DID did)
 Build the EDID for a standard MPEG or DVB descriptor.
 
static EDID TableSpecific (DID did, TID tid)
 Build the EDID for a table-specific descriptor.
 

Detailed Description

Extended MPEG descriptor id.

For convenience, it is sometimes useful to identify descriptors using an "extended DID" because a descriptor tag is not always enough to uniquely identify a descriptor.

A descriptor usually falls into one of the following categories:

  • Standard MPEG or DVB descriptor (tag in the range 0x00-0x7F).
  • Private DVB descriptor (tag in the range 0x80-0xFF). Must be associated with a 32-bit private data specifier or PDS.
  • DVB extension descriptor (tag == 0x7F). Must be associated with an 8-bit tag extension.
  • DVB table-specific descriptor (tag in the MPEG-defined range 0x00-0x3F). Must be associated with an 8-bit table id. Such a descriptor uses a reserved standard tag but its meaning changes in the context of a specific table such as AIT, INT or UNT. Standard MPEG descriptors cannot be used in such tables.

Member Function Documentation

◆ Standard()

static EDID ts::EDID::Standard ( DID  did)
inlinestatic

Build the EDID for a standard MPEG or DVB descriptor.

Parameters
[in]didDescriptor tag.
Returns
The corresponding EDID.

◆ Private()

static EDID ts::EDID::Private ( DID  did,
PDS  pds 
)
inlinestatic

Build the EDID for a private DVB descriptor.

Parameters
[in]didDescriptor tag.
[in]pdsAssociated private data specifier.
Returns
The corresponding EDID.

◆ ExtensionDVB()

static EDID ts::EDID::ExtensionDVB ( DID  ext)
inlinestatic

Build the EDID for a DVB extension descriptor.

Parameters
[in]extAssociated tag extension. The descriptor tag is implicitly DID_DVB_EXTENSION.
Returns
The corresponding EDID.

◆ ExtensionMPEG()

static EDID ts::EDID::ExtensionMPEG ( DID  ext)
inlinestatic

Build the EDID for an MPEG extension descriptor.

Parameters
[in]extAssociated tag extension. The descriptor tag is implicitly DID_MPEG_EXTENSION.
Returns
The corresponding EDID.

◆ TableSpecific()

static EDID ts::EDID::TableSpecific ( DID  did,
TID  tid 
)
inlinestatic

Build the EDID for a table-specific descriptor.

Parameters
[in]didDescriptor tag.
[in]tidAssociated required table id.
Returns
The corresponding EDID.

◆ isValid()

bool ts::EDID::isValid ( ) const
inline

Check if the extended descriptor id is valid.

Returns
True if valid.

◆ isStandard()

bool ts::EDID::isStandard ( ) const
inline

Check if the descriptor is a standard one.

Returns
True if the descriptor is a standard one.

◆ did()

DID ts::EDID::did ( ) const
inline

Get the descriptor id (aka tag).

Returns
The descriptor id.

◆ isPrivateDescriptor()

bool ts::EDID::isPrivateDescriptor ( ) const
inline

Check if the descriptor is a DVB private one.

Returns
True if the descriptor is a DVB private one.

◆ pds()

PDS ts::EDID::pds ( ) const
inline

Get the private data specifier.

Returns
The private data specifier or PDS_NULL if this is not a private descriptor.

◆ isExtensionDVB()

bool ts::EDID::isExtensionDVB ( ) const
inline

Check if the descriptor is a DVB extension descriptor.

Returns
True if the descriptor is a DVB extension descriptor.

◆ isExtensionMPEG()

bool ts::EDID::isExtensionMPEG ( ) const
inline

Check if the descriptor is an MPEG extension descriptor.

Returns
True if the descriptor is an MPEG extension descriptor.

◆ didExtDVB()

DID ts::EDID::didExtDVB ( ) const
inline

Get the DVB descriptor tag extension.

Returns
The descriptor tag extension or EDID_NULL if this is not a DVB extension descriptor.

◆ didExtMPEG()

DID ts::EDID::didExtMPEG ( ) const
inline

Get the MPEG descriptor tag extension.

Returns
The descriptor tag extension or MPEG_EDID_NULL if this is not an MPEG extension descriptor.

◆ isTableSpecific()

bool ts::EDID::isTableSpecific ( ) const
inline

Check if the descriptor is table-specific.

Returns
True if the descriptor is table-specific.

◆ tableId()

TID ts::EDID::tableId ( ) const
inline

Get the required table-id for a table-specific descriptor.

Returns
The table id or TID_NULL if this is not a table-specific descriptor.

◆ operator==()

bool ts::EDID::operator== ( const EDID e) const
inline

Comparison operator.

Parameters
[in]eOther instance to compare.
Returns
True is this object == e.

◆ operator<()

bool ts::EDID::operator< ( const EDID e) const
inline

Comparison operator.

Parameters
[in]eOther instance to compare.
Returns
True is this object < e.

◆ operator<=()

bool ts::EDID::operator<= ( const EDID e) const
inline

Comparison operator.

Parameters
[in]eOther instance to compare.
Returns
True is this object <= e.

◆ operator>()

bool ts::EDID::operator> ( const EDID e) const
inline

Comparison operator.

Parameters
[in]eOther instance to compare.
Returns
True is this object > e.

◆ operator>=()

bool ts::EDID::operator>= ( const EDID e) const
inline

Comparison operator.

Parameters
[in]eOther instance to compare.
Returns
True is this object >= e.

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