MistServer
2.5.3-Pro-19-gf5e75b1 ( Generic_64)
|
Class for reading and writing TS Streams. More...
#include <ts_packet.h>
Public Member Functions | |
Packet () | |
This constructor creates an empty Packet, ready for use for either reading or writing. More... | |
Packet () | |
Packet (const Packet &rhs) | |
Packet (const Packet &rhs) | |
~Packet () | |
~Packet () | |
The deconstructor deletes all space that may be occupied by a Packet. More... | |
void | addStuffing () |
Adds stuffing to the Packet depending on how much content you want to send. More... | |
void | addStuffing () |
const char * | checkAndGetBuffer () const |
const char * | checkAndGetBuffer () const |
Checks the size of the internal packet buffer (prints error if size !=188), then returns a pointer to the data. More... | |
void | clear () |
void | clear () |
Sets the packet pos to 4, and resets the first 4 fields to defaults (including sync byte on pos 0) More... | |
int | fillFree (const char *PackageData, int maxLen) |
Fills the free bytes of the Packet. More... | |
int | fillFree (const char *PackageData, int maxLen) |
bool | FromFile (FILE *data) |
This function fills a Packet from a file. More... | |
bool | FromFile (FILE *data) |
bool | FromPointer (const char *data) |
This funtion fills a Packet from a char array. More... | |
bool | FromPointer (const char *data) |
int | getAdaptationField () const |
int | getAdaptationField () const |
Gets whether a Packet contains an adaptationfield. More... | |
int | getAdaptationFieldLen () const |
int | getAdaptationFieldLen () const |
Gets the current length of the adaptationfield. More... | |
unsigned int | getBytesFree () const |
Gets the amount of bytes that are not written yet in a Packet. More... | |
unsigned int | getBytesFree () const |
int | getContinuityCounter () const |
Gets the Continuity Counter of a single Packet. More... | |
int | getContinuityCounter () const |
unsigned int | getDataSize () const |
unsigned int | getDataSize () const |
int64_t | getOPCR () const |
Gets the OPCR (Original Program Clock Reference) of a Packet. More... | |
int64_t | getOPCR () const |
const char * | getPayload () const |
returns the character buffer with a std::string wrapper More... | |
const char * | getPayload () const |
int | getPayloadLength () const |
Gets the length of the payload for this apcket. More... | |
int | getPayloadLength () const |
int64_t | getPCR () const |
Gets the PCR (Program Clock Reference) of a Packet. More... | |
int64_t | getPCR () const |
unsigned int | getPID () const |
unsigned int | getPID () const |
Gets the PID of a single Packet. More... | |
bool | getRandomAccess () const |
Gets whether this Packet can be accessed at random (indicates keyframe). More... | |
bool | getRandomAccess () const |
unsigned int | getTransportScramblingControl () const |
Gets the transport scrambling control of a Packet. More... | |
unsigned int | getTransportScramblingControl () const |
bool | getUnitStart () const |
Gets the payload unit start inficator of a Packet. More... | |
bool | getUnitStart () const |
bool | hasDiscontinuity () const |
bool | hasDiscontinuity () const |
bool | hasESpriority () const |
bool | hasESpriority () const |
Gets the elementary stream priority indicator of a Packet. More... | |
bool | hasOPCR () const |
bool | hasOPCR () const |
Gets the value of the OPCR flag. More... | |
bool | hasPCR () const |
bool | hasPCR () const |
Gets the value of the PCR flag. More... | |
bool | hasPriority () const |
bool | hasPriority () const |
Gets the transport priority of a Packet. More... | |
bool | hasSplicingPoint () const |
bool | hasSplicingPoint () const |
Gets the value of the splicing point flag. More... | |
bool | hasTransportError () const |
bool | hasTransportError () const |
Gets the transport error inficator of a Packet. More... | |
bool | isPMT () const |
bool | isPMT () const |
Returns true if this PID contains a PMT. More... | |
operator bool () const | |
operator bool () const | |
void | setAdaptationField (int NewVal) |
void | setAdaptationField (int NewVal) |
Sets the selection value for an adaptationfield of a Packet. More... | |
void | setContinuityCounter (int NewContinuity) |
Sets the Continuity Counter of a single Packet. More... | |
void | setContinuityCounter (int NewContinuity) |
void | setDefaultPAT () |
Transforms the Packet into a standard Program Association Table. More... | |
void | setDefaultPAT () |
void | setDiscontinuity (bool newVal) |
void | setDiscontinuity (bool newVal) |
void | setPCR (int64_t NewVal) |
Sets the PCR (Program Clock Reference) of a Packet. More... | |
void | setPCR (int64_t NewVal) |
void | setPID (int NewPID) |
Sets the PID of a single Packet. More... | |
void | setPID (int NewPID) |
void | setRandomAccess (bool newVal) |
void | setRandomAccess (bool newVal) |
Gets the value of the transport private data point flag. More... | |
void | setUnitStart (bool newVal) |
Sets the start of a new unit in this Packet. More... | |
void | setUnitStart (bool newVal) |
std::string | toPrettyString (size_t indent=0, int detailLevel=3) const |
Prints a packet to stdout, for analyser purposes. More... | |
std::string | toPrettyString (size_t indent=0, int detailLevel=3) const |
void | updPos (unsigned int newPos) |
void | updPos (unsigned int newPos) |
update position in character array (pos), More... | |
Static Public Member Functions | |
static std::string & | getPESAudioLeadIn (unsigned int len, unsigned long long PTS) |
Generates a PES Lead-in for an audio frame. More... | |
static std::string & | getPESAudioLeadIn (unsigned int len, unsigned long long PTS) |
static std::string & | getPESVideoLeadIn (unsigned int len, unsigned long long PTS, unsigned long long offset, bool isAligned) |
static std::string & | getPESVideoLeadIn (unsigned int len, unsigned long long PTS, unsigned long long offset, bool isAligned) |
Generates a PES Lead-in for a video frame. More... | |
Protected Attributes | |
unsigned int | pos |
char | strBuf [189] |
Class for reading and writing TS Streams.
The class is capable of analyzing a packet of 188 bytes and calculating key values
TS::Packet::Packet | ( | ) |
This constructor creates an empty Packet, ready for use for either reading or writing.
All this constructor does is call Packet::clear().
TS::Packet::Packet | ( | const Packet & | rhs | ) |
TS::Packet::~Packet | ( | ) |
The deconstructor deletes all space that may be occupied by a Packet.
TS::Packet::Packet | ( | ) |
TS::Packet::Packet | ( | const Packet & | rhs | ) |
TS::Packet::~Packet | ( | ) |
void TS::Packet::addStuffing | ( | ) |
void TS::Packet::addStuffing | ( | ) |
const char * TS::Packet::checkAndGetBuffer | ( | ) | const |
Checks the size of the internal packet buffer (prints error if size !=188), then returns a pointer to the data.
const char* TS::Packet::checkAndGetBuffer | ( | ) | const |
void TS::Packet::clear | ( | ) |
void TS::Packet::clear | ( | ) |
Sets the packet pos to 4, and resets the first 4 fields to defaults (including sync byte on pos 0)
int TS::Packet::fillFree | ( | const char * | NewVal, |
int | maxLen | ||
) |
Fills the free bytes of the Packet.
Stores as many bytes from NewVal as possible in the packet. The minimum of Packet::BytesFree and maxLen is used.
NewVal | The data to store in the packet. |
maxLen | The maximum amount of bytes to store. |
int TS::Packet::fillFree | ( | const char * | PackageData, |
int | maxLen | ||
) |
bool TS::Packet::FromFile | ( | FILE * | data | ) |
bool TS::Packet::FromFile | ( | FILE * | data | ) |
This function fills a Packet from a file.
It fills the content with the next 188 bytes int he file.
Data | The data to be read into the packet. |
bool TS::Packet::FromPointer | ( | const char * | data | ) |
This funtion fills a Packet from a char array.
It fills the content with the first 188 characters of a char array
Data | The char array that contains the data to be read into the packet |
bool TS::Packet::FromPointer | ( | const char * | data | ) |
int TS::Packet::getAdaptationField | ( | ) | const |
Gets whether a Packet contains an adaptationfield.
int TS::Packet::getAdaptationField | ( | ) | const |
int TS::Packet::getAdaptationFieldLen | ( | ) | const |
int TS::Packet::getAdaptationFieldLen | ( | ) | const |
Gets the current length of the adaptationfield.
unsigned int TS::Packet::getBytesFree | ( | ) | const |
unsigned int TS::Packet::getBytesFree | ( | ) | const |
Gets the amount of bytes that are not written yet in a Packet.
int TS::Packet::getContinuityCounter | ( | ) | const |
int TS::Packet::getContinuityCounter | ( | ) | const |
Gets the Continuity Counter of a single Packet.
unsigned int TS::Packet::getDataSize | ( | ) | const |
unsigned int TS::Packet::getDataSize | ( | ) | const |
int64_t TS::Packet::getOPCR | ( | ) | const |
Gets the OPCR (Original Program Clock Reference) of a Packet.
int64_t TS::Packet::getOPCR | ( | ) | const |
const char * TS::Packet::getPayload | ( | ) | const |
returns the character buffer with a std::string wrapper
const char* TS::Packet::getPayload | ( | ) | const |
int TS::Packet::getPayloadLength | ( | ) | const |
Gets the length of the payload for this apcket.
int TS::Packet::getPayloadLength | ( | ) | const |
int64_t TS::Packet::getPCR | ( | ) | const |
Gets the PCR (Program Clock Reference) of a Packet.
int64_t TS::Packet::getPCR | ( | ) | const |
|
static |
Generates a PES Lead-in for an audio frame.
Prepends the lead-in to variable toSend, assumes toSend's length is all other data.
len | The length of this frame. |
PTS | The timestamp of the frame. |
|
static |
|
static |
Generates a PES Lead-in for a video frame.
Prepends the lead-in to variable toSend, assumes toSend's length is all other data.
len | The length of this frame. |
PTS | The timestamp of the frame. |
|
static |
unsigned int TS::Packet::getPID | ( | ) | const |
Gets the PID of a single Packet.
unsigned int TS::Packet::getPID | ( | ) | const |
bool TS::Packet::getRandomAccess | ( | ) | const |
bool TS::Packet::getRandomAccess | ( | ) | const |
unsigned int TS::Packet::getTransportScramblingControl | ( | ) | const |
unsigned int TS::Packet::getTransportScramblingControl | ( | ) | const |
bool TS::Packet::getUnitStart | ( | ) | const |
bool TS::Packet::getUnitStart | ( | ) | const |
bool TS::Packet::hasDiscontinuity | ( | ) | const |
bool TS::Packet::hasDiscontinuity | ( | ) | const |
bool TS::Packet::hasESpriority | ( | ) | const |
bool TS::Packet::hasESpriority | ( | ) | const |
bool TS::Packet::hasOPCR | ( | ) | const |
Gets the value of the OPCR flag.
bool TS::Packet::hasOPCR | ( | ) | const |
bool TS::Packet::hasPCR | ( | ) | const |
Gets the value of the PCR flag.
bool TS::Packet::hasPCR | ( | ) | const |
bool TS::Packet::hasPriority | ( | ) | const |
bool TS::Packet::hasPriority | ( | ) | const |
bool TS::Packet::hasSplicingPoint | ( | ) | const |
Gets the value of the splicing point flag.
bool TS::Packet::hasSplicingPoint | ( | ) | const |
bool TS::Packet::hasTransportError | ( | ) | const |
bool TS::Packet::hasTransportError | ( | ) | const |
bool TS::Packet::isPMT | ( | ) | const |
bool TS::Packet::isPMT | ( | ) | const |
Returns true if this PID contains a PMT.
Important caveat: only works if the corresponding PAT has been pretty-printed earlier!
TS::Packet::operator bool | ( | ) | const |
TS::Packet::operator bool | ( | ) | const |
void TS::Packet::setAdaptationField | ( | int | NewVal | ) |
void TS::Packet::setAdaptationField | ( | int | NewSelector | ) |
Sets the selection value for an adaptationfield of a Packet.
NewSelector | The new value of the selection bits.
|
void TS::Packet::setContinuityCounter | ( | int | NewContinuity | ) |
void TS::Packet::setContinuityCounter | ( | int | NewContinuity | ) |
Sets the Continuity Counter of a single Packet.
NewContinuity | The new Continuity Counter of the packet. |
void TS::Packet::setDefaultPAT | ( | ) |
Transforms the Packet into a standard Program Association Table.
void TS::Packet::setDefaultPAT | ( | ) |
void TS::Packet::setDiscontinuity | ( | bool | newVal | ) |
void TS::Packet::setDiscontinuity | ( | bool | newVal | ) |
void TS::Packet::setPCR | ( | int64_t | NewVal | ) |
Sets the PCR (Program Clock Reference) of a Packet.
NewVal | The new PCR Value. |
void TS::Packet::setPCR | ( | int64_t | NewVal | ) |
void TS::Packet::setPID | ( | int | NewPID | ) |
Sets the PID of a single Packet.
NewPID | The new PID of the packet. |
void TS::Packet::setPID | ( | int | NewPID | ) |
void TS::Packet::setRandomAccess | ( | bool | NewVal | ) |
Gets the value of the transport private data point flag.
void TS::Packet::setRandomAccess | ( | bool | newVal | ) |
void TS::Packet::setUnitStart | ( | bool | newVal | ) |
void TS::Packet::setUnitStart | ( | bool | NewVal | ) |
Sets the start of a new unit in this Packet.
NewVal | The new value for the start of a unit. |
std::string TS::Packet::toPrettyString | ( | size_t | indent = 0 , |
int | detailLevel = 3 |
||
) | const |
Prints a packet to stdout, for analyser purposes.
std::string TS::Packet::toPrettyString | ( | size_t | indent = 0 , |
int | detailLevel = 3 |
||
) | const |
void TS::Packet::updPos | ( | unsigned int | newPos | ) |
update position in character array (pos),
void TS::Packet::updPos | ( | unsigned int | newPos | ) |
|
protected |
|
protected |