This class extracts PSI/SI sections and tables from TS packets. More...
Classes | |
| struct | EtidContext |
| This internal structure contains the analysis context for one TID/TIDext into one PID. More... | |
| struct | PidContext |
| This internal structure contains the analysis context for one PID. More... | |
| struct | Status |
| Demux status information. More... | |
Public Member Functions | |
| QtsSectionDemux (QtsTableHandlerInterface *tableHandler=0, QtsSectionHandlerInterface *sectionHandler=0, const QtsPidSet &pidFilter=QtsNoPid) | |
| Constructor. More... | |
| void | getStatus (Status &status) const |
| Get the current status of the demux. More... | |
| bool | hasErrors () const |
| Check if the demux has errors. More... | |
| virtual void | reset () Q_DECL_OVERRIDE |
| Reset the analysis context (partially built sections and tables). More... | |
| virtual void | resetPid (QtsPid pid) Q_DECL_OVERRIDE |
| Reset the analysis context for one single PID. More... | |
| void | setSectionHandler (QtsSectionHandlerInterface *handler) |
| Set the section handler. More... | |
| void | setTableHandler (QtsTableHandlerInterface *handler) |
| Set the table handler. More... | |
Public Member Functions inherited from QtsDemux | |
| QtsDemux (const QtsPidSet &pidFilter=QtsAllPids) | |
| Constructor. More... | |
| virtual | ~QtsDemux () |
| Virtual destructor. More... | |
| virtual void | addPid (QtsPid pid) |
| Add a PID to filter. More... | |
| void | feedPacket (const QtsTsPacket &packet) |
| Feed the demux with a TS packet. More... | |
| int | filteredPidCount () const |
| Get the number of PID's which are filtered by the demux. More... | |
| qint64 | lastPcr () const |
| Get the last PCR found in the stream. More... | |
| QtsPacketCounter | packetCount () const |
| Get the number of process TS packets. More... | |
| virtual void | removePid (QtsPid pid) |
| Remove a PID to filter. More... | |
| void | resetPacketCount () |
| Reset the number of process TS packets. More... | |
| virtual void | setPidFilter (const QtsPidSet &pidFilter) |
| Set the list of PID's to filter. More... | |
Private Types | |
| typedef QMap< QtsExtTableId, EtidContext > | EtidContextMap |
| Map of EtidContext index by ETID. More... | |
| typedef QMap< QtsPid, PidContext > | PidContextMap |
| Map of PidContext index by PID. More... | |
Private Member Functions | |
| void | processTsPacket (const QtsTsPacket &packet) Q_DECL_OVERRIDE |
| Feed the demux with a TS packet (PID already filtered). More... | |
Private Attributes | |
| bool | _inHandler |
| True when in the context of a table/section handler. More... | |
| QtsPid | _pidInHandler |
| PID which is currently processed by handler. More... | |
| PidContextMap | _pids |
| State of the PID's analysis. More... | |
| bool | _resetPending |
| Delayed reset(). More... | |
| QtsSectionHandlerInterface * | _sectionHandler |
| Handler to invoke for each section. More... | |
| Status | _status |
| State of the demux. More... | |
| QtsTableHandlerInterface * | _tableHandler |
| Handler to invoke for each new table. More... | |
This class extracts PSI/SI sections and tables from TS packets.
General notes:
|
private |
Map of EtidContext index by ETID.
|
private |
Map of PidContext index by PID.
| QtsSectionDemux::QtsSectionDemux | ( | QtsTableHandlerInterface * | tableHandler = 0, |
| QtsSectionHandlerInterface * | sectionHandler = 0, |
||
| const QtsPidSet & | pidFilter = QtsNoPid |
||
| ) |
Constructor.
| [in] | tableHandler | Handler to invoke for each new table. Default: none. |
| [in] | sectionHandler | Handler to invoke for each section. Default: none. |
| [in] | pidFilter | Set of PID's to filter. Default: none. |
|
inline |
Set the table handler.
| [in] | handler | The table handler. |
|
inline |
Set the section handler.
| [in] | handler | The section handler. |
|
virtual |
Reset the analysis context (partially built sections and tables).
Useful when the transport stream changes. The PID filter and the handlers are not modified.
Reimplemented from QtsDemux.
Reimplemented in QtsStandaloneTableDemux.
|
virtual |
Reset the analysis context for one single PID.
| [in] | pid | PID to reset. |
Reimplemented from QtsDemux.
Reimplemented in QtsStandaloneTableDemux.
|
inline |
Get the current status of the demux.
| [out] | status | Receives the current status of the demux. |
|
inline |
Check if the demux has errors.
|
privatevirtual |
Feed the demux with a TS packet (PID already filtered).
| [in] | packet | The TS packet to process. |
Implements QtsDemux.
|
private |
Handler to invoke for each new table.
|
private |
Handler to invoke for each section.
|
private |
State of the PID's analysis.
|
private |
State of the demux.
|
private |
True when in the context of a table/section handler.
|
private |
PID which is currently processed by handler.
|
private |
Delayed reset().