Packetization of PES data into Transport Stream packets.
More...
Packetization of PES data into Transport Stream packets.
PES packets are provided by an object implementing PESProviderInterface. This means that this class works in "pull" mode; it pulls new PES packets from the application when needed. If you need a PES packetizer working in "push" mode, check class PESStreamPacketizer.
◆ PESPacketizer()
Constructor.
- Parameters
-
[in] | duck | TSDuck execution context. The reference is kept inside the packetizer. |
[in] | pid | PID for generated TS packets. |
[in] | provider | An object which will be called each time a PES packet is required. |
◆ setPESProvider()
Set the object which provides PES packets when the packetizer needs more data.
- Parameters
-
[in] | provider | An object which will be called each time a PES packet is required. |
◆ pesProvider()
Get the object which provides PES packets when the packetizer needs more data.
- Returns
- The object which will be called each time a PES packet is required.
◆ atPESBoundary()
bool ts::PESPacketizer::atPESBoundary |
( |
| ) |
const |
|
inline |
Check if the TS packet stream is exactly at a PES packet boundary.
- Returns
- True if the last returned TS packet contained the end of a PES packet.
◆ pesCount()
Get the number of completely packetized PES packets so far.
- Returns
- The number of completely packetized PES packets so far.
◆ reset()
virtual void ts::PESPacketizer::reset |
( |
| ) |
|
|
overridevirtual |
◆ getNextPacket()
virtual bool ts::PESPacketizer::getNextPacket |
( |
TSPacket & |
packet | ) |
|
|
overridevirtual |
Build the next MPEG packet for the list of items (sections or PES) to pacjetize.
If there is nothing to packetize, generate a null packet on PID_NULL.
- Parameters
-
[out] | packet | The next TS packet. |
- Returns
- True if a real packet is returned, false if a null packet was returned.
Implements ts::AbstractPacketizer.
◆ display()
virtual std::ostream& ts::PESPacketizer::display |
( |
std::ostream & |
strm | ) |
const |
|
overridevirtual |
◆ setPID()
void ts::AbstractPacketizer::setPID |
( |
PID |
pid | ) |
|
|
inlineinherited |
Set the default PID for subsequent MPEG packets.
- Parameters
-
[in] | pid | PID for generated TS packets. |
◆ getPID()
PID ts::AbstractPacketizer::getPID |
( |
| ) |
const |
|
inlineinherited |
Get the default PID for subsequent MPEG packets.
- Returns
- PID for generated TS packets.
◆ setNextContinuityCounter()
void ts::AbstractPacketizer::setNextContinuityCounter |
( |
uint8_t |
cc | ) |
|
|
inlineinherited |
Set the continuity counter value for next MPEG packet.
This counter is automatically incremented at each packet. It is usually never a good idea to change this, except maybe before generating the first packet if the continuity must be preserved with the previous content of the PID.
- Parameters
-
[in] | cc | Next continuity counter. |
◆ nextContinuityCounter()
uint8_t ts::AbstractPacketizer::nextContinuityCounter |
( |
| ) |
const |
|
inlineinherited |
Get the continuity counter value for next MPEG packet.
- Returns
- Next continuity counter.
◆ packetCount()
Get the number of generated TS packets so far.
- Returns
- The number of generated TS packets so far.
◆ report()
Report& ts::AbstractPacketizer::report |
( |
| ) |
const |
|
inlineinherited |
Get a reference to the debugging report.
- Returns
- A reference to the debugging report.
◆ duck()
const DuckContext& ts::AbstractPacketizer::duck |
( |
| ) |
const |
|
inlineinherited |
Get a reference to the TSDuck execution context.
- Returns
- A reference to the TSDuck execution context.
◆ configurePacket()
void ts::AbstractPacketizer::configurePacket |
( |
TSPacket & |
pkt, |
|
|
bool |
nullify |
|
) |
| |
|
protectedinherited |
Configure a TS packet with continuity and PID.
Also increment the number of generated packet. So this method must be called exactly once per packet.
- Parameters
-
[in,out] | pkt | TS packet to configure |
[in] | nullify | Return a null packet instead (no data to return for now). |
The documentation for this class was generated from the following file: