QtlMovie 1.12 (A specialized FFmpeg front-end)
QtsAbstractLongTable Class Reference

Abstract base class for MPEG PSI/SI tables with long sections. More...

Inheritance diagram for QtsAbstractLongTable:
QtsAbstractTable QtsProgramAssociationTable QtsProgramMapTable

Public Member Functions

bool isCurrent () const
 Check if the section is "current" (vs. More...
 
void setIsCurrent (bool isCurrent)
 Modify the "current" flag. More...
 
void setVersion (quint8 version)
 Modify the table version. More...
 
quint8 version () const
 Get the table version. More...
 
- Public Member Functions inherited from QtsAbstractTable
virtual ~QtsAbstractTable ()
 Virtual destructor. More...
 
virtual bool deserialize (const QtsTable &table)=0
 This abstract method deserializes a binary table. More...
 
void invalidate ()
 Invalidate the table. More...
 
bool isValid () const
 Check if the table is valid. More...
 
virtual bool serialize (QtsTable &table) const =0
 This abstract method serializes a table. More...
 
QtsTableId tableId () const
 Get the table id. More...
 

Protected Member Functions

 QtsAbstractLongTable (QtsTableId tid, quint8 version=0, bool isCurrent=true)
 Protected constructor for subclasses. More...
 
bool addSection (QtsTable &table, bool isPrivateSection, quint16 tidExt, const void *payload, int payloadSize) const
 Serialization helper: add a section in the binary table. More...
 
bool addSection (QtsTable &table, bool isPrivateSection, quint16 tidExt, const QtlByteBlock &payload) const
 Serialization helper: add a section in the binary table. More...
 
- Protected Member Functions inherited from QtsAbstractTable
 QtsAbstractTable (QtsTableId tid)
 Protected constructor for subclasses. More...
 
bool deserializeInit (const QtsTable &table)
 Deserialization helper: Start the deserialization. More...
 
bool serializeInit (QtsTable &table) const
 Serialization helper: Start a new binary table. More...
 

Private Attributes

bool _isCurrent
 Table "current" flag (vs. next). More...
 
quint8 _version
 Table version. More...
 

Additional Inherited Members

- Protected Attributes inherited from QtsAbstractTable
bool _isValid
 Validity flag. More...
 
QtsTableId _tableId
 Table id, can be modified by subclasses. More...
 

Detailed Description

Abstract base class for MPEG PSI/SI tables with long sections.

Constructor & Destructor Documentation

◆ QtsAbstractLongTable()

QtsAbstractLongTable::QtsAbstractLongTable ( QtsTableId  tid,
quint8  version = 0,
bool  isCurrent = true 
)
inlineprotected

Protected constructor for subclasses.

Parameters
[in]tidTable id.
[in]versionTable version.
[in]isCurrent"current" flag.

Member Function Documentation

◆ version()

quint8 QtsAbstractLongTable::version ( ) const
inline

Get the table version.

Returns
The table version.

◆ setVersion()

void QtsAbstractLongTable::setVersion ( quint8  version)
inline

Modify the table version.

Parameters
[in]versionNew table version.

◆ isCurrent()

bool QtsAbstractLongTable::isCurrent ( ) const
inline

Check if the section is "current" (vs.

"next").

Returns
True if the section is "current" (vs. "next").

◆ setIsCurrent()

void QtsAbstractLongTable::setIsCurrent ( bool  isCurrent)
inline

Modify the "current" flag.

Parameters
[in]isCurrentNew "current" flag.

◆ addSection() [1/2]

bool QtsAbstractLongTable::addSection ( QtsTable table,
bool  isPrivateSection,
quint16  tidExt,
const void *  payload,
int  payloadSize 
) const
protected

Serialization helper: add a section in the binary table.

Parameters
[in]tableThe binary table to build.
[in]isPrivateSectionFalse for MPEG-defined sections, true for all others.
[in]tidExtTable id extension.
[in]payloadAddress of section payload to copy.
[in]payloadSizeSize of section payload.
Returns
True on success, false if the section could not be added (inconsistent property).

◆ addSection() [2/2]

bool QtsAbstractLongTable::addSection ( QtsTable table,
bool  isPrivateSection,
quint16  tidExt,
const QtlByteBlock payload 
) const
inlineprotected

Serialization helper: add a section in the binary table.

Parameters
[in]tableThe binary table to build.
[in]isPrivateSectionFalse for MPEG-defined sections, true for all others.
[in]tidExtTable id extension.
[in]payloadSection payload to copy.
Returns
True on success, false if the section could not be added (inconsistent property).

Member Data Documentation

◆ _version

quint8 QtsAbstractLongTable::_version
private

Table version.

◆ _isCurrent

bool QtsAbstractLongTable::_isCurrent
private

Table "current" flag (vs. next).


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