Read/write TS packets on a stream.
More...
#include <tsTSPacketStream.h>
Read/write TS packets on a stream.
◆ TSPacketStream()
Constructor.
- Parameters
-
| [in,out] | reporter | Reference to an object providing a Report. This reference is kept in the constructed object instance. |
| [in] | format | Initial packet format. |
| [in] | stream | Stream read/write interface. Can be null and replaced later. |
◆ readPackets()
Read TS packets from the stream.
- Parameters
-
| [out] | buffer | Address of reception packet buffer. |
| [out] | metadata | Optional packet metadata. If the file format provides time stamps, they are set in the metadata. Ignored if null pointer. |
| [in] | max_packets | Size of buffer in packets. Also size of metadata in number of objects (when specified). |
- Returns
- The actual number of read packets. Returning zero means error or end of stream.
Reimplemented in ts::TSFile.
◆ writePackets()
| virtual bool ts::TSPacketStream::writePackets |
( |
const TSPacket * |
buffer, |
|
|
const TSPacketMetadata * |
metadata, |
|
|
size_t |
packet_count |
|
) |
| |
|
virtual |
Write TS packets to the stream.
- Parameters
-
| [in] | buffer | Address of first packet to write. |
| [in] | metadata | Optional packet metadata containing time stamps. If the file format requires time stamps, metadata must not be a null pointer and all packets must have a time stamp. Otherwise, the last written timestamp is repeated. |
| [in] | packet_count | Number of packets to write. Also size of metadata in number of objects (when specified). |
- Returns
- True on success, false on error.
◆ readPacketsCount()
Get the number of read packets.
- Returns
- The number of read packets.
◆ writePacketsCount()
Get the number of written packets.
- Returns
- The number of written packets.
◆ PacketHeaderSize()
| static size_t ts::TSPacketStream::PacketHeaderSize |
( |
TSPacketFormat |
format | ) |
|
|
static |
Get the packet header size for a given packet format.
This "header" comes before the classical 188-byte TS packet.
- Parameters
-
| [in] | format | Initial packet format. |
- Returns
- The packet header size in bytes (before the TS packet).
◆ PacketTrailerSize()
| static size_t ts::TSPacketStream::PacketTrailerSize |
( |
TSPacketFormat |
format | ) |
|
|
static |
Get the packet trailer size for a given packet format.
This "trailer" comes after the classical 188-byte TS packet.
- Parameters
-
| [in] | format | Initial packet format. |
- Returns
- The packet trailer size in bytes (before the TS packet).
◆ packetHeaderSize()
| size_t ts::TSPacketStream::packetHeaderSize |
( |
| ) |
const |
|
inline |
Get the packet header size, based on the packet format of this file.
This "header" comes before the classical 188-byte TS packet.
- Returns
- The packet header size in bytes (before the TS packet).
◆ packetTrailerSize()
| size_t ts::TSPacketStream::packetTrailerSize |
( |
| ) |
const |
|
inline |
Get the packet trailer size, based on the packet format of this file.
This "trailer" comes after the classical 188-byte TS packet.
- Returns
- The packet trailer size in bytes (before the TS packet).
◆ packetFormat()
Get the file format.
- Returns
- The file format.
◆ packetFormatString()
| UString ts::TSPacketStream::packetFormatString |
( |
| ) |
const |
|
inline |
Get the file format as a string.
- Returns
- The file format as a string.
◆ resetPacketStream()
Reset the stream format and counters.
- Parameters
-
| [in] | format | Initial packet format. |
| [in] | stream | Stream read/write interface. |
◆ MAX_HEADER_SIZE
Maximum size in bytes of a packet header for non-TS format.
Must be lower than the TS packet size to allow auto-detection on read.
◆ MAX_TRAILER_SIZE
| constexpr size_t ts::TSPacketStream::MAX_TRAILER_SIZE = ts::RS_SIZE |
|
staticconstexpr |
Maximum size in bytes of a packet trailer for non-TS format.
Must be lower than the TS packet size to allow auto-detection on read.
The documentation for this class was generated from the following file: