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... | |
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... | |
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().