Base class for all kinds of demuxed data.
More...
#include <tsDemuxedData.h>
|
| DemuxedData (const ByteBlock &content, PID source_pid=PID_NULL) |
| Constructor from full binary content.
|
|
| DemuxedData (const ByteBlockPtr &content_ptr, PID source_pid=PID_NULL) |
| Constructor from full binary content.
|
|
| DemuxedData (const DemuxedData &other, ShareMode mode) |
| Copy constructor.
|
|
| DemuxedData (const void *content, size_t content_size, PID source_pid=PID_NULL) |
| Constructor from full binary content.
|
|
| DemuxedData (DemuxedData &&other) noexcept |
| Move constructor.
|
|
| DemuxedData (PID source_pid=PID_NULL) |
| Default constructor.
|
|
virtual | ~DemuxedData () |
| Virtual destructor.
|
|
virtual void | clear () |
| Clear data content.
|
|
virtual const uint8_t * | content () const |
| Access to the full binary content of the data.
|
|
DemuxedData & | copy (const DemuxedData &other) |
| Duplication.
|
|
PacketCounter | firstTSPacketIndex () const |
| Index of first TS packet of the data in the demultiplexed stream.
|
|
PacketCounter | lastTSPacketIndex () const |
| Index of last TS packet of the data in the demultiplexed stream.
|
|
bool | matchContent (const ByteBlock &pattern, const ByteBlock &mask=ByteBlock()) const |
| Check if the start of the data matches a given pattern.
|
|
DemuxedData & | operator= (const DemuxedData &other) |
| Assignment operator.
|
|
DemuxedData & | operator= (DemuxedData &&other) noexcept |
| Move assignment operator.
|
|
bool | operator== (const DemuxedData &other) const |
| Equality operator.
|
|
size_t | rawDataSize () const |
| Size of the complete binary raw data containing the logical structure.
|
|
virtual void | reload (const ByteBlock &content, PID source_pid=PID_NULL) |
| Reload from full binary content.
|
|
virtual void | reload (const ByteBlockPtr &content_ptr, PID source_pid=PID_NULL) |
| Reload from full binary content.
|
|
virtual void | reload (const void *content, size_t content_size, PID source_pid=PID_NULL) |
| Reload from full binary content.
|
|
void | setFirstTSPacketIndex (PacketCounter i) |
| Set the first TS packet of the data in the demultiplexed stream.
|
|
void | setLastTSPacketIndex (PacketCounter i) |
| Set the last TS packet of the data in the demultiplexed stream.
|
|
void | setSourcePID (PID pid) |
| Set the source PID.
|
|
virtual size_t | size () const |
| Size of the logical binary content of the data.
|
|
PID | sourcePID () const |
| Get the source PID.
|
|
|
void | rwAppend (const void *data, size_t dsize) |
| Append raw data to the full binary content of the data for subclasses.
|
|
uint8_t * | rwContent () |
| Read/write access to the full binary content of the data for subclasses.
|
|
void | rwResize (size_t s) |
| Resize the full binary content of the data for subclasses.
|
|
Base class for all kinds of demuxed data.
◆ DemuxedData() [1/6]
ts::DemuxedData::DemuxedData |
( |
PID |
source_pid = PID_NULL | ) |
|
Default constructor.
- Parameters
-
[in] | source_pid | PID from which the packet was read. |
◆ DemuxedData() [2/6]
Copy constructor.
- Parameters
-
◆ DemuxedData() [3/6]
Move constructor.
- Parameters
-
[in,out] | other | Another instance to move. |
◆ DemuxedData() [4/6]
ts::DemuxedData::DemuxedData |
( |
const void * |
content, |
|
|
size_t |
content_size, |
|
|
PID |
source_pid = PID_NULL |
|
) |
| |
Constructor from full binary content.
- Parameters
-
[in] | content | Address of the binary data. |
[in] | content_size | Size in bytes of the data. |
[in] | source_pid | PID from which the data was read. |
◆ DemuxedData() [5/6]
Constructor from full binary content.
- Parameters
-
[in] | content | Binary packet data. |
[in] | source_pid | PID from which the packet was read. |
◆ DemuxedData() [6/6]
Constructor from full binary content.
- Parameters
-
[in] | content_ptr | Safe pointer to the binary data. The content is referenced, and thus shared. Do not modify the referenced ByteBlock from outside the DemuxedData. |
[in] | source_pid | PID from which the data were read. |
◆ reload() [1/3]
virtual void ts::DemuxedData::reload |
( |
const void * |
content, |
|
|
size_t |
content_size, |
|
|
PID |
source_pid = PID_NULL |
|
) |
| |
|
virtual |
Reload from full binary content.
- Parameters
-
[in] | content | Address of the binary packet data. |
[in] | content_size | Size in bytes of the packet. |
[in] | source_pid | PID from which the data were read. |
Reimplemented in ts::PESPacket, ts::Section, and ts::T2MIPacket.
◆ reload() [2/3]
◆ reload() [3/3]
Reload from full binary content.
- Parameters
-
[in] | content_ptr | Safe pointer to the binary packet data. The content is referenced, and thus shared. Do not modify the referenced ByteBlock from outside the DemuxedData. |
[in] | source_pid | PID from which the data were read. |
Reimplemented in ts::PESPacket, ts::Section, and ts::T2MIPacket.
◆ clear()
virtual void ts::DemuxedData::clear |
( |
| ) |
|
|
virtual |
◆ operator=() [1/2]
Assignment operator.
The packets are referenced, and thus shared between the two packet objects.
- Parameters
-
[in] | other | Other packet to assign to this object. |
- Returns
- A reference to this object.
◆ operator=() [2/2]
Move assignment operator.
- Parameters
-
[in,out] | other | Other packet to assign to this object. |
- Returns
- A reference to this object.
◆ copy()
Duplication.
Similar to assignment but the data are duplicated.
- Parameters
-
[in] | other | Other data to duplicate into this object. |
- Returns
- A reference to this object.
◆ operator==()
bool ts::DemuxedData::operator== |
( |
const DemuxedData & |
other | ) |
const |
Equality operator.
The source PID's are ignored, only the data contents are compared.
- Parameters
-
[in] | other | Other packet to compare. |
- Returns
- True if the two packets are identical. False otherwise.
◆ sourcePID()
PID ts::DemuxedData::sourcePID |
( |
| ) |
const |
|
inline |
Get the source PID.
- Returns
- The source PID.
◆ setSourcePID()
void ts::DemuxedData::setSourcePID |
( |
PID |
pid | ) |
|
|
inline |
Set the source PID.
- Parameters
-
◆ firstTSPacketIndex()
Index of first TS packet of the data in the demultiplexed stream.
Usually valid only if the data were extracted by a demux.
- Returns
- The first TS packet of the data in the demultiplexed stream.
◆ lastTSPacketIndex()
Index of last TS packet of the data in the demultiplexed stream.
Usually valid only if the data were extracted by a demux.
- Returns
- The last TS packet of the data in the demultiplexed stream.
◆ setFirstTSPacketIndex()
Set the first TS packet of the data in the demultiplexed stream.
- Parameters
-
[in] | i | The first TS packet of the data in the demultiplexed stream. |
◆ setLastTSPacketIndex()
Set the last TS packet of the data in the demultiplexed stream.
- Parameters
-
[in] | i | The last TS packet of the data in the demultiplexed stream. |
◆ content()
virtual const uint8_t * ts::DemuxedData::content |
( |
| ) |
const |
|
virtual |
Access to the full binary content of the data.
Do not modify content.
- Returns
- Address of the full binary content of the data. May be invalidated after modification.
◆ size()
virtual size_t ts::DemuxedData::size |
( |
| ) |
const |
|
virtual |
Size of the logical binary content of the data.
For subclasses of DemuxedData, this is the logical size of the data structure inside the DemuxedData blob.
- Returns
- Size of the logical binary content of the data.
Reimplemented in ts::PESPacket.
◆ rawDataSize()
size_t ts::DemuxedData::rawDataSize |
( |
| ) |
const |
Size of the complete binary raw data containing the logical structure.
- Returns
- Size of the complete binary raw data.
◆ matchContent()
Check if the start of the data matches a given pattern.
- Parameters
-
[in] | pattern | A byte block to compare with the start of the data. |
[in] | mask | Optional mask to select meaningful bits in pattern. |
- Returns
- Size of the binary content of the data.
◆ rwContent()
uint8_t * ts::DemuxedData::rwContent |
( |
| ) |
|
|
inlineprotected |
Read/write access to the full binary content of the data for subclasses.
- Returns
- Address of the full binary content of the data.
◆ rwResize()
void ts::DemuxedData::rwResize |
( |
size_t |
s | ) |
|
|
protected |
Resize the full binary content of the data for subclasses.
- Parameters
-
[in] | s | New size in bytes of the full binary content of the data. |
◆ rwAppend()
void ts::DemuxedData::rwAppend |
( |
const void * |
data, |
|
|
size_t |
dsize |
|
) |
| |
|
protected |
Append raw data to the full binary content of the data for subclasses.
- Parameters
-
[in] | data | Address of the new area to append. |
[in] | dsize | Size of the area to append. |
The documentation for this class was generated from the following file: