MythTV  master
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
SpliceInformationTable Class Reference

#include <libmythtv/mpeg/mpegtables.h>

Inheritance diagram for SpliceInformationTable:
[legend]
Collaboration diagram for SpliceInformationTable:
[legend]

Public Types

enum  : std::uint8_t { kNoEncryption = 0, kECB = 1, kCBC = 2, k3DES = 3 }
 
enum  : std::uint8_t {
  kSCTNull = 0x00, kSCTReserved0 = 0x01, kSCTReserved1 = 0x02, kSCTReserved2 = 0x03,
  kSCTSpliceSchedule = 0x04, kSCTSpliceInsert = 0x05, kSCTTimeSignal = 0x06, kSCTBandwidthReservation = 0x07,
  kSCTPrivateCommand = 0xff
}
 

Public Member Functions

 SpliceInformationTable (const SpliceInformationTable &table)
 
 SpliceInformationTable (const PSIPTable &table)
 
 ~SpliceInformationTable () override
 
void setSCTEPID (int ts_pid)
 
int getSCTEPID (void) const
 
uint SpliceProtocolVersion (void) const
 
void SetSpliceProtocolVersion (uint ver)
 
bool IsEncryptedPacket (void) const
 
void SetEncryptedPacket (bool val)
 
uint EncryptionAlgorithm (void) const
 
QString EncryptionAlgorithmString (void) const
 
void SetEncryptionAlgorithm (uint val)
 
uint64_t PTSAdjustment (void) const
 
void SetPTSAdjustment (uint64_t val)
 
uint CodeWordIndex (void) const
 
void SetCodeWordIndex (uint val)
 
uint SpliceCommandLength (void) const
 
void SetSpliceCommandLength (uint len)
 
uint SpliceCommandType (void) const
 
QString SpliceCommandTypeString (void) const
 
void SetSpliceCommandType (uint type)
 
SpliceScheduleView SpliceSchedule (void) const
 
SpliceInsertView SpliceInsert (void) const
 
SpliceTimeView TimeSignal (void) const
 
uint SpliceDescriptorsLength (uint) const
 
const unsigned char * SpliceDescriptors (void) const
 
bool Parse (void)
 
QString toString (void) const override
 
QString toStringXML (uint indent_level) const override
 
QString toString (int64_t first, int64_t last) const
 
QString toStringXML (uint indent_level, int64_t first, int64_t last) const
 
- Public Member Functions inherited from PSIPTable
 PSIPTable (const TSPacket &tspacket, const unsigned char *pesdata, uint pes_size)
 
 PSIPTable (const unsigned char *pesdata)
 Constructor for viewing a section, does not create it's own data. More...
 
 PSIPTable (const std::vector< uint8_t > &pesdata)
 
 PSIPTable (const PSIPTable &)=default
 
 PSIPTable (const PESPacket &table)
 
 PSIPTable (const TSPacket &table)
 
uint TableID (void) const
 
bool SectionSyntaxIndicator (void) const
 
bool PrivateIndicator (void) const
 
uint SectionLength (void) const
 
uint SectionLengthRaw (void) const
 
uint TableIDExtension (void) const
 
uint Version (void) const
 
bool IsCurrent (void) const
 
uint Section (void) const
 
uint LastSection (void) const
 
uint ATSCProtocolVersion (void) const
 
const unsigned char * psipdata (void) const
 
unsigned char * psipdata (void)
 
void SetTableID (uint id)
 
void SetSectionLength (uint length)
 
void SetTableIDExtension (uint len)
 
void SetVersionNumber (uint ver)
 
void SetCurrent (bool cur)
 
void SetSection (uint num)
 
void SetLastSection (uint num)
 
void SetATSCProtocolVersion (int ver)
 
bool HasCRC (void) const override
 1 bit Cyclic Redundancy Check present More...
 
bool HasSectionNumber (void) const
 
bool VerifyPSIP (bool verify_crc) const
 
- Public Member Functions inherited from PESPacket
 PESPacket (const unsigned char *pesdata)
 
 PESPacket (const std::vector< uint8_t > &pesdata)
 
PESPacketoperator= (const PESPacket &pkt)=delete
 
 PESPacket (const PESPacket &pkt)
 
virtual ~PESPacket ()
 
bool IsClone () const
 
bool AddTSPacket (const TSPacket *tspacket, int cardid, bool &broken)
 
bool IsGood () const
 
const TSHeadertsheader () const
 
TSHeadertsheader ()
 
void GetAsTSPackets (std::vector< TSPacket > &output, uint cc) const
 Returns payload only PESPacket as series of TSPackets. More...
 
uint StreamID () const
 
uint Length () const
 
uint ScramblingControl () const
 
bool HighPriority () const
 1 bit Indicates if this is a high priority packet More...
 
bool DataAligned () const
 1 bit Data alignment indicator (must be 0 for video) More...
 
bool CopyRight () const
 1 bit If true packet may contain copy righted material and is known to have once contained materiale with copy rights. More...
 
bool OriginalRecording () const
 1 bit Original Recording More...
 
bool HasPTS () const
 1 bit Presentation Time Stamp field is present More...
 
bool HasDTS () const
 1 bit Decoding Time Stamp field is present More...
 
bool HasESCR () const
 1 bit Elementary Stream Clock Reference field is present More...
 
bool HasESR () const
 1 bit Elementary Stream Rate field is present More...
 
bool HasDSM () const
 1 bit DSM field present (should always be false for broadcasts) More...
 
bool HasACI () const
 1 bit Additional Copy Info field is present More...
 
bool HasExtensionFlags () const
 1 bit Extension flags are present More...
 
uint64_t PTS (void) const
 Presentation Time Stamp, present if HasPTS() is true. More...
 
uint64_t DTS (void) const
 Decode Time Stamp, present if HasDTS() is true. More...
 
uint TSSizeInBuffer () const
 
uint PSIOffset () const
 
const unsigned char * pesdata () const
 
unsigned char * pesdata ()
 
const unsigned char * data () const
 
unsigned char * data ()
 
void SetStreamID (uint id)
 
void SetLength (uint len)
 
void SetTotalLength (uint len)
 
void SetPSIOffset (uint offset)
 
uint CRC (void) const
 
void SetCRC (uint crc)
 
uint CalcCRC (void) const
 
bool VerifyCRC (void) const
 
bool VerifyCRC (int cardid, int pid) const
 

Static Public Member Functions

static SpliceInformationTableGetDecrypted (const QString &codeWord)
 Returns decrypted version of this packet. More...
 
- Static Public Member Functions inherited from PSIPTable
static PSIPTable View (const TSPacket &tspacket)
 
static PSIPTable ViewData (const unsigned char *pesdata)
 

Private Attributes

std::vector< const unsigned char * > m_ptrs0
 
std::vector< const unsigned char * > m_ptrs1
 
const unsigned char * m_epilog {nullptr}
 
int m_sctePid {0}
 

Additional Inherited Members

- Static Public Attributes inherited from PSIPTable
static const uint kPsipOffset = 8
 
- Static Public Attributes inherited from PESPacket
static constexpr uint kMpegCRCSize { 4 }
 
- Protected Member Functions inherited from PSIPTable
 PSIPTable (const TSPacket &tspacket, bool)
 
QString XMLValues (uint indent_level) const
 
- Protected Member Functions inherited from PESPacket
 PESPacket ()=default
 noop constructor, only for use by derived classes More...
 
void Finalize ()
 
- Protected Attributes inherited from PESPacket
unsigned char * m_pesData { nullptr }
 Pointer to PES data in full buffer. More...
 
unsigned char * m_fullBuffer { nullptr }
 Pointer to allocated data. More...
 
uint m_psiOffset { 0 }
 AFCOffset + StartOfFieldPointer. More...
 
uint m_ccLast { 255 }
 Continuity counter of last inserted TS Packet. More...
 
uint m_pesDataSize { 0 }
 Number of data bytes (TS header + PES data) More...
 
uint m_allocSize { 0 }
 Total number of bytes we allocated. More...
 
bool m_badPacket { false }
 true if a CRC is not good yet More...
 
- Static Protected Attributes inherited from PESPacket
static const uint kTheMagicNoCRCCRC = 0xFFFFFFFF
 

Detailed Description

Definition at line 1029 of file mpegtables.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : std::uint8_t
Enumerator
kNoEncryption 
kECB 
kCBC 
k3DES 

Definition at line 1067 of file mpegtables.h.

◆ anonymous enum

anonymous enum : std::uint8_t
Enumerator
kSCTNull 
kSCTReserved0 
kSCTReserved1 
kSCTReserved2 
kSCTSpliceSchedule 
kSCTSpliceInsert 
kSCTTimeSignal 
kSCTBandwidthReservation 
kSCTPrivateCommand 

Definition at line 1117 of file mpegtables.h.

Constructor & Destructor Documentation

◆ SpliceInformationTable() [1/2]

SpliceInformationTable::SpliceInformationTable ( const SpliceInformationTable table)
inline

Definition at line 1032 of file mpegtables.h.

◆ SpliceInformationTable() [2/2]

SpliceInformationTable::SpliceInformationTable ( const PSIPTable table)
inlineexplicit

Definition at line 1038 of file mpegtables.h.

◆ ~SpliceInformationTable()

SpliceInformationTable::~SpliceInformationTable ( )
inlineoverride

Definition at line 1044 of file mpegtables.h.

Member Function Documentation

◆ setSCTEPID()

void SpliceInformationTable::setSCTEPID ( int  ts_pid)
inline

Definition at line 1046 of file mpegtables.h.

Referenced by MPEGStreamData::HandleTables().

◆ getSCTEPID()

int SpliceInformationTable::getSCTEPID ( void  ) const
inline

Definition at line 1047 of file mpegtables.h.

Referenced by toString(), and toStringXML().

◆ SpliceProtocolVersion()

uint SpliceInformationTable::SpliceProtocolVersion ( void  ) const
inline

Definition at line 1058 of file mpegtables.h.

Referenced by Parse().

◆ SetSpliceProtocolVersion()

void SpliceInformationTable::SetSpliceProtocolVersion ( uint  ver)
inline

Definition at line 1059 of file mpegtables.h.

◆ IsEncryptedPacket()

bool SpliceInformationTable::IsEncryptedPacket ( void  ) const
inline

Definition at line 1061 of file mpegtables.h.

Referenced by Parse(), toString(), and toStringXML().

◆ SetEncryptedPacket()

void SpliceInformationTable::SetEncryptedPacket ( bool  val)
inline

Definition at line 1062 of file mpegtables.h.

◆ EncryptionAlgorithm()

uint SpliceInformationTable::EncryptionAlgorithm ( void  ) const
inline

Definition at line 1076 of file mpegtables.h.

Referenced by EncryptionAlgorithmString().

◆ EncryptionAlgorithmString()

QString SpliceInformationTable::EncryptionAlgorithmString ( void  ) const

Definition at line 1373 of file mpegtables.cpp.

Referenced by toString(), and toStringXML().

◆ SetEncryptionAlgorithm()

void SpliceInformationTable::SetEncryptionAlgorithm ( uint  val)
inline

Definition at line 1078 of file mpegtables.h.

◆ PTSAdjustment()

uint64_t SpliceInformationTable::PTSAdjustment ( void  ) const
inline

Definition at line 1084 of file mpegtables.h.

Referenced by toString(), and toStringXML().

◆ SetPTSAdjustment()

void SpliceInformationTable::SetPTSAdjustment ( uint64_t  val)
inline

Definition at line 1092 of file mpegtables.h.

◆ CodeWordIndex()

uint SpliceInformationTable::CodeWordIndex ( void  ) const
inline

Definition at line 1102 of file mpegtables.h.

Referenced by toStringXML().

◆ SetCodeWordIndex()

void SpliceInformationTable::SetCodeWordIndex ( uint  val)
inline

Definition at line 1103 of file mpegtables.h.

◆ SpliceCommandLength()

uint SpliceInformationTable::SpliceCommandLength ( void  ) const
inline

Definition at line 1106 of file mpegtables.h.

Referenced by toString().

◆ SetSpliceCommandLength()

void SpliceInformationTable::SetSpliceCommandLength ( uint  len)
inline

Definition at line 1110 of file mpegtables.h.

◆ SpliceCommandType()

uint SpliceInformationTable::SpliceCommandType ( void  ) const
inline

Definition at line 1129 of file mpegtables.h.

Referenced by Parse(), SpliceCommandTypeString(), toString(), and toStringXML().

◆ SpliceCommandTypeString()

QString SpliceInformationTable::SpliceCommandTypeString ( void  ) const

Definition at line 1387 of file mpegtables.cpp.

Referenced by toString(), and toStringXML().

◆ SetSpliceCommandType()

void SpliceInformationTable::SetSpliceCommandType ( uint  type)
inline

Definition at line 1131 of file mpegtables.h.

◆ SpliceSchedule()

SpliceScheduleView SpliceInformationTable::SpliceSchedule ( void  ) const
inline

Definition at line 1142 of file mpegtables.h.

◆ SpliceInsert()

SpliceInsertView SpliceInformationTable::SpliceInsert ( void  ) const
inline

Definition at line 1148 of file mpegtables.h.

Referenced by toString(), and toStringXML().

◆ TimeSignal()

SpliceTimeView SpliceInformationTable::TimeSignal ( void  ) const
inline

Definition at line 1154 of file mpegtables.h.

Referenced by Parse().

◆ SpliceDescriptorsLength()

uint SpliceInformationTable::SpliceDescriptorsLength ( uint  ) const
inline

Definition at line 1174 of file mpegtables.h.

◆ SpliceDescriptors()

const unsigned char* SpliceInformationTable::SpliceDescriptors ( void  ) const
inline

Definition at line 1181 of file mpegtables.h.

◆ GetDecrypted()

SpliceInformationTable * SpliceInformationTable::GetDecrypted ( const QString &  codeWord)
static

Returns decrypted version of this packet.

Definition at line 1273 of file mpegtables.cpp.

◆ Parse()

bool SpliceInformationTable::Parse ( void  )

Definition at line 1280 of file mpegtables.cpp.

◆ toString() [1/2]

QString SpliceInformationTable::toString ( void  ) const
inlineoverridevirtual

Reimplemented from PSIPTable.

Definition at line 1194 of file mpegtables.h.

◆ toStringXML() [1/2]

QString SpliceInformationTable::toStringXML ( uint  indent_level) const
inlineoverridevirtual

Reimplemented from PSIPTable.

Definition at line 1196 of file mpegtables.h.

◆ toString() [2/2]

QString SpliceInformationTable::toString ( int64_t  first,
int64_t  last 
) const

Definition at line 1409 of file mpegtables.cpp.

◆ toStringXML() [2/2]

QString SpliceInformationTable::toStringXML ( uint  indent_level,
int64_t  first,
int64_t  last 
) const

Definition at line 1465 of file mpegtables.cpp.

Member Data Documentation

◆ m_ptrs0

std::vector<const unsigned char*> SpliceInformationTable::m_ptrs0
private

Definition at line 1203 of file mpegtables.h.

Referenced by Parse().

◆ m_ptrs1

std::vector<const unsigned char*> SpliceInformationTable::m_ptrs1
private

Definition at line 1204 of file mpegtables.h.

Referenced by Parse().

◆ m_epilog

const unsigned char* SpliceInformationTable::m_epilog {nullptr}
private

Definition at line 1205 of file mpegtables.h.

Referenced by Parse().

◆ m_sctePid

int SpliceInformationTable::m_sctePid {0}
private

Definition at line 1206 of file mpegtables.h.


The documentation for this class was generated from the following files: