32       unsigned int getPID() 
const;
    35       void setPCR(int64_t NewVal);
    59       operator bool() 
const;
    66       int fillFree(
const char * PackageData, 
int maxLen);      
    68       void updPos(
unsigned int newPos);
    71       static std::string & 
getPESVideoLeadIn(
unsigned int len, 
unsigned long long PTS, 
unsigned long long offset, 
bool isAligned);      
    75       std::string 
toPrettyString(
size_t indent = 0, 
int detailLevel = 3) 
const;
    85   class ProgramAssociationTable : 
public Packet {
    87       ProgramAssociationTable & operator = (
const Packet & rhs);
    88       char getOffset() 
const;
    89       char getTableId() 
const;
    90       short getSectionLength() 
const;
    91       short getTransportStreamId() 
const;
    92       char getVersionNumber() 
const;
    93       bool getCurrentNextIndicator() 
const;
    94       char getSectionNumber() 
const;
    95       char getLastSectionNumber() 
const;
    96       short getProgramCount() 
const;
    97       short getProgramNumber(
short index) 
const;
    98       short getProgramPID(
short index) 
const;
   103   class ProgramMappingEntry {
   105       ProgramMappingEntry(
char * begin, 
char * end);
   107       operator bool() 
const;
   109       int getStreamType() 
const;
   110       void setStreamType(
int newType);
   111       std::string getCodec() 
const;
   112       std::string getStreamTypeString() 
const;
   113       int getElementaryPid() 
const;
   114       void setElementaryPid(
int newElementaryPid);
   115       int getESInfoLength() 
const;
   116       const char * getESInfo() 
const;
   117       void setESInfo(
const std::string & newInfo);
   124   class ProgramMappingTable : 
public Packet {
   126       ProgramMappingTable();
   127       ProgramMappingTable & operator = (
const Packet & rhs);
   128       char getOffset() 
const;
   129       void setOffset(
char newVal);
   130       char getTableId() 
const;
   131       void setTableId(
char newVal);
   132       short getSectionLength() 
const;
   133       void setSectionLength(
short newVal);
   134       short getProgramNumber() 
const;
   135       void setProgramNumber(
short newVal);
   136       char getVersionNumber() 
const;
   137       void setVersionNumber(
char newVal);
   138       bool getCurrentNextIndicator() 
const;
   139       void setCurrentNextIndicator(
bool newVal);
   140       char getSectionNumber() 
const;
   141       void setSectionNumber(
char newVal);
   142       char getLastSectionNumber() 
const;
   143       void setLastSectionNumber(
char newVal);
   144       short getPCRPID() 
const;
   145       void setPCRPID(
short newVal);
   146       short getProgramInfoLength() 
const;
   147       void setProgramInfoLength(
short newVal);
   148       ProgramMappingEntry getEntry(
int index) 
const;      
   160     char StandardHeader[7] = {0xFF, 0xF1, 0x00, 0x00, 0x00, 0x1F, 0xFC};
   162     StandardHeader[2] = ((((initData[0] >> 3) - 1) << 6) & 0xC0); 
   163     StandardHeader[2] |= ((((initData[0] & 0x07) << 1) | ((initData[1] >> 7) & 0x01)) << 2); 
   164     StandardHeader[2] |= ((initData[1] & 0x20) >> 5); 
   165     StandardHeader[3] = ((initData[1] & 0x18) << 3); 
   166     StandardHeader[3] |= ((FrameLen & 0x00001800) >> 11);
   167     StandardHeader[4] = ((FrameLen & 0x000007F8) >> 3);
   168     StandardHeader[5] |= ((FrameLen & 0x00000007) << 5);
   169     return std::string(StandardHeader, 7);
   188   static char PAT[188] = {0x47, 0x40, 0x00, 0x10, 0x00, 0x00, 0xB0, 0x0D, 0x00, 0x01, 0xC1, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x2A, 0xB1, 0x04,
   189                           0xB2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   190                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   191                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   192                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   193                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   194                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
   195                           0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
   198   const char * 
createPMT(std::set<unsigned long>& selectedTracks, 
DTSC::Meta& myMeta, 
int contCounter=0);
 
int getAdaptationFieldLen() const 
Gets the current length of the adaptationfield. 
Definition: ts_packet.cpp:215
unsigned int pos
Definition: ts_packet.h:82
bool hasSplicingPoint() const 
Gets the value of the splicing point flag. 
Definition: ts_packet.cpp:379
void setPID(int NewPID)
Sets the PID of a single Packet. 
Definition: ts_packet.cpp:74
void setUnitStart(bool newVal)
Sets the start of a new unit in this Packet. 
Definition: ts_packet.cpp:316
char strBuf[189]
Definition: ts_packet.h:81
void setDiscontinuity(bool newVal)
Definition: ts_packet.cpp:334
static std::string getAudioHeader(int FrameLen, std::string initData)
Constructs an audio header to be used on each audio frame. 
Definition: ts_packet.h:159
void setAdaptationField(int NewVal)
Sets the selection value for an adaptationfield of a Packet. 
Definition: ts_packet.cpp:124
static std::string & getPESAudioLeadIn(unsigned int len, unsigned long long PTS)
Generates a PES Lead-in for an audio frame. 
Definition: ts_packet.cpp:475
bool hasPriority() const 
Gets the transport priority of a Packet. 
Definition: ts_packet.cpp:203
bool FromPointer(const char *data)
This funtion fills a Packet from a char array. 
Definition: ts_packet.cpp:55
unsigned int getDataSize() const 
Definition: ts_packet.cpp:304
const char * getPayload() const 
returns the character buffer with a std::string wrapper 
Definition: ts_packet.cpp:561
void addStuffing()
Adds stuffing to the Packet depending on how much content you want to send. 
Definition: ts_packet.cpp:504
void setContinuityCounter(int NewContinuity)
Sets the Continuity Counter of a single Packet. 
Definition: ts_packet.cpp:88
unsigned int getBytesFree() const 
Gets the amount of bytes that are not written yet in a Packet. 
Definition: ts_packet.cpp:101
bool hasESpriority() const 
Gets the elementary stream priority indicator of a Packet. 
Definition: ts_packet.cpp:326
Holds all TS processing related code. 
Definition: ts_packet.cpp:20
void setDefaultPAT()
Transforms the Packet into a standard Program Association Table. 
Definition: ts_packet.cpp:408
const char * checkAndGetBuffer() const 
Checks the size of the internal packet buffer (prints error if size !=188), then returns a pointer to...
Definition: ts_packet.cpp:418
bool FromFile(FILE *data)
This function fills a Packet from a file. 
Definition: ts_packet.cpp:37
void setPCR(int64_t NewVal)
Sets the PCR (Program Clock Reference) of a Packet. 
Definition: ts_packet.cpp:143
void clear()
Sets the packet pos to 4, and resets the first 4 fields to defaults (including sync byte on pos 0) ...
Definition: ts_packet.cpp:110
void setRandomAccess(bool newVal)
Gets the value of the transport private data point flag. 
Definition: ts_packet.cpp:385
void updPos(unsigned int newPos)
update position in character array (pos), 
Definition: ts_packet.cpp:66
bool hasPCR() const 
Gets the value of the PCR flag. 
Definition: ts_packet.cpp:367
bool hasTransportError() const 
Gets the transport error inficator of a Packet. 
Definition: ts_packet.cpp:191
static char PAT[188]
A standard Program Association Table, as generated by FFMPEG. 
Definition: ts_packet.h:188
~Packet()
The deconstructor deletes all space that may be occupied by a Packet. 
Definition: ts_packet.cpp:62
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. 
Definition: ts_packet.cpp:449
int getContinuityCounter() const 
Gets the Continuity Counter of a single Packet. 
Definition: ts_packet.cpp:95
std::string toPrettyString(size_t indent=0, int detailLevel=3) const 
Prints a packet to stdout, for analyser purposes. 
Definition: ts_packet.cpp:227
bool getUnitStart() const 
Gets the payload unit start inficator of a Packet. 
Definition: ts_packet.cpp:197
bool hasOPCR() const 
Gets the value of the OPCR flag. 
Definition: ts_packet.cpp:373
bool getRandomAccess() const 
Gets whether this Packet can be accessed at random (indicates keyframe). 
Definition: ts_packet.cpp:358
int64_t getOPCR() const 
Gets the OPCR (Original Program Clock Reference) of a Packet. 
Definition: ts_packet.cpp:175
int getAdaptationField() const 
Gets whether a Packet contains an adaptationfield. 
Definition: ts_packet.cpp:137
unsigned int getTransportScramblingControl() const 
Gets the transport scrambling control of a Packet. 
Definition: ts_packet.cpp:209
bool hasDiscontinuity() const 
Definition: ts_packet.cpp:330
const char * createPMT(std::set< unsigned long > &selectedTracks, DTSC::Meta &myMeta, int contCounter)
Construct a PMT (special 188B ts packet) from a set of selected tracks and metadata. 
Definition: ts_packet.cpp:967
bool isPMT() const 
Returns true if this PID contains a PMT. 
Definition: ts_packet.cpp:310
int fillFree(const char *PackageData, int maxLen)
Fills the free bytes of the Packet. 
Definition: ts_packet.cpp:494
unsigned int getPID() const 
Gets the PID of a single Packet. 
Definition: ts_packet.cpp:82
int getPayloadLength() const 
Gets the length of the payload for this apcket. 
Definition: ts_packet.cpp:567
Packet()
This constructor creates an empty Packet, ready for use for either reading or writing. 
Definition: ts_packet.cpp:23
int64_t getPCR() const 
Gets the PCR (Program Clock Reference) of a Packet. 
Definition: ts_packet.cpp:160