Abstract base class for transport stream demultiplexers. More...
Public Member Functions | |
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... | |
virtual void | reset () |
Reset the analysis context (partially built PES packets). More... | |
void | resetPacketCount () |
Reset the number of process TS packets. More... | |
virtual void | resetPid (QtsPid pid) |
Reset the analysis context for one single PID. More... | |
virtual void | setPidFilter (const QtsPidSet &pidFilter) |
Set the list of PID's to filter. More... | |
Private Member Functions | |
QtsDemux () Q_DECL_EQ_DELETE | |
virtual void | processTsPacket (const QtsTsPacket &packet)=0 |
Feed the demux with a TS packet (PID already filtered). More... | |
Private Attributes | |
qint64 | _lastPcr |
Last PCR is any TS packet, any PID. More... | |
QtsPacketCounter | _packetCount |
Number of TS packets in demultiplexed stream. More... | |
QtsPidSet | _pidFilter |
PIDs to filter. More... | |
Abstract base class for transport stream demultiplexers.
|
explicit |
Constructor.
[in] | pidFilter | Set of PID's to filter. |
|
virtual |
Virtual destructor.
|
private |
void QtsDemux::feedPacket | ( | const QtsTsPacket & | packet | ) |
Feed the demux with a TS packet.
[in] | packet | TS packet from the stream to demultiplex. If the PID of the packet is not in the PID filter, it is ignored. |
|
virtual |
Set the list of PID's to filter.
[in] | pidFilter | Set of PID's to filter. |
|
virtual |
Add a PID to filter.
[in] | pid | PID to filter. |
|
virtual |
Remove a PID to filter.
[in] | pid | PID to no longer filter. |
|
inline |
Get the number of PID's which are filtered by the demux.
|
virtual |
Reset the analysis context (partially built PES packets).
Useful when the transport stream changes. The PID filter and the handlers are not modified.
Reimplemented in QtsTeletextDemux, QtsSectionDemux, QtsStandaloneTableDemux, and QtsPesDemux.
|
virtual |
Reset the analysis context for one single PID.
[in] | pid | PID to reset. |
Reimplemented in QtsTeletextDemux, QtsSectionDemux, QtsStandaloneTableDemux, and QtsPesDemux.
|
inline |
Get the last PCR found in the stream.
|
inline |
Get the number of process TS packets.
|
inline |
Reset the number of process TS packets.
|
privatepure virtual |
Feed the demux with a TS packet (PID already filtered).
Must be implemented by subclasses.
[in] | packet | The TS packet to process. |
Implemented in QtsSectionDemux, and QtsPesDemux.
|
private |
Number of TS packets in demultiplexed stream.
|
private |
Last PCR is any TS packet, any PID.
|
private |
PIDs to filter.