This class extracts PES packets from TS packets. More...
Classes | |
struct | PidContext |
This internal structure contains the analysis context for one PID. More... | |
Public Member Functions | |
QtsPesDemux (QtsPesHandlerInterface *handler=0, const QtsPidSet &pidFilter=QtsAllPids) | |
Constructor. More... | |
virtual void | reset () Q_DECL_OVERRIDE |
Reset the analysis context (partially built PES packets). More... | |
virtual void | resetPid (QtsPid pid) Q_DECL_OVERRIDE |
Reset the analysis context for one single PID. More... | |
void | setPesHandler (QtsPesHandlerInterface *handler) |
Set the PES packet handler. More... | |
![]() | |
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... | |
Protected Member Functions | |
virtual void | handlePesPacket (const QtsPesPacket &packet) |
This hook is invoked when a complete PES packet is available. More... | |
Private Types | |
typedef QMap< QtsPid, PidContext > | PidContextMap |
Map of PID analysis contexts, indexed by PID value. More... | |
Private Member Functions | |
QtsPesDemux () Q_DECL_EQ_DELETE | |
void | processPesPacket (QtsPid pid, PidContext &pc) |
Process a complete PES packet. More... | |
virtual 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 handler. More... | |
QtsPesHandlerInterface * | _pesHandler |
User handler. More... | |
QtsPid | _pidInHandler |
PID which is currently processed by handler. More... | |
PidContextMap | _pids |
Map of PID analysis contexts. More... | |
bool | _resetPending |
Delayed reset(). More... | |
This class extracts PES packets from TS packets.
|
private |
Map of PID analysis contexts, indexed by PID value.
|
explicit |
Constructor.
[in] | handler | User handler for PES packet notification. |
[in] | pidFilter | Set of PID's to filter. |
|
private |
|
inline |
Set the PES packet handler.
[in] | handler | The PES packet handler. |
|
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 from QtsDemux.
Reimplemented in QtsTeletextDemux.
|
virtual |
Reset the analysis context for one single PID.
[in] | pid | PID to reset. |
Reimplemented from QtsDemux.
Reimplemented in QtsTeletextDemux.
|
protectedvirtual |
This hook is invoked when a complete PES packet is available.
Can be overloaded by subclasses to add intermediate processing.
[in] | packet | The PES packet. |
Reimplemented in QtsTeletextDemux.
|
privatevirtual |
Feed the demux with a TS packet (PID already filtered).
[in] | packet | The TS packet to process. |
Implements QtsDemux.
|
private |
Process a complete PES packet.
[in] | pid | The source PID. |
[in,out] | pc | The PID analysis context. |
|
private |
User handler.
|
private |
Map of PID analysis contexts.
|
private |
True when in the context of a handler.
|
private |
PID which is currently processed by handler.
|
private |
Delayed reset().