MythTV  master
Public Member Functions | Private Attributes | List of all members
ServiceDescriptionTable Class Reference

This table tells the decoder on which PIDs to find A/V data. More...

#include <dvbtables.h>

Inheritance diagram for ServiceDescriptionTable:
Inheritance graph
[legend]
Collaboration diagram for ServiceDescriptionTable:
Collaboration graph
[legend]

Public Member Functions

 ServiceDescriptionTable (const ServiceDescriptionTable &table)
 
 ServiceDescriptionTable (const PSIPTable &table)
 
 ~ServiceDescriptionTable () override
 
uint TSID () const
 transport_stream_id 16 3.0 0x0000 More...
 
uint OriginalNetworkID () const
 original_network_id 16 8.0 More...
 
uint ServiceCount () const
 Number of services. More...
 
uint ServiceID (uint i) const
 service_id 16 0.0+p More...
 
bool HasEITSchedule (uint i) const
 
bool HasEITPresentFollowing (uint i) const
 
uint RunningStatus (uint i) const
 running_status 3 3.0+p More...
 
bool IsEncrypted (uint i) const
 free_CA_mode 1 3.3+p More...
 
uint ServiceDescriptorsLength (uint i) const
 desc_loop_length 12 3.4+p More...
 
const unsigned char * ServiceDescriptors (uint i) const
 for (j=0;j<N;j++) x 5.0+p { descriptor() } More...
 
ServiceDescriptorGetServiceDescriptor (uint i) const
 
ServiceRelocatedDescriptorGetServiceRelocatedDescriptor (uint i) const
 
bool Mutate (void)
 mutates a SDTo into a SDTa (vice versa) and recalculates the CRC More...
 
void Parse (void) const
 
QString toString (void) const override
 
- 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
 
virtual QString toStringXML (uint indent_level) 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
 

Private Attributes

std::vector< const unsigned char * > m_ptrs
 

Additional Inherited Members

- Static Public Member Functions inherited from PSIPTable
static PSIPTable View (const TSPacket &tspacket)
 
static PSIPTable ViewData (const unsigned char *pesdata)
 
- 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

This table tells the decoder on which PIDs to find A/V data.

Todo:
This is just a stub.

Definition at line 108 of file dvbtables.h.

Constructor & Destructor Documentation

◆ ServiceDescriptionTable() [1/2]

ServiceDescriptionTable::ServiceDescriptionTable ( const ServiceDescriptionTable table)
inline

Definition at line 111 of file dvbtables.h.

◆ ServiceDescriptionTable() [2/2]

ServiceDescriptionTable::ServiceDescriptionTable ( const PSIPTable table)
inlineexplicit

Definition at line 117 of file dvbtables.h.

◆ ~ServiceDescriptionTable()

ServiceDescriptionTable::~ServiceDescriptionTable ( )
inlineoverride

Definition at line 122 of file dvbtables.h.

Member Function Documentation

◆ TSID()

uint ServiceDescriptionTable::TSID ( ) const
inline

transport_stream_id 16 3.0 0x0000

Definition at line 136 of file dvbtables.h.

Referenced by DVBStreamData::CacheSDT(), DTVSignalMonitor::HandleSDT(), ChannelScanSM::HandleSDT(), toString(), and update_info().

◆ OriginalNetworkID()

uint ServiceDescriptionTable::OriginalNetworkID ( ) const
inline

◆ ServiceCount()

uint ServiceDescriptionTable::ServiceCount ( ) const
inline

Number of services.

Definition at line 143 of file dvbtables.h.

Referenced by ChannelScanSM::HandleSDT(), ChannelScanSM::HandleSDTo(), DVBStreamData::ProcessSDT(), and toString().

◆ ServiceID()

uint ServiceDescriptionTable::ServiceID ( uint  i) const
inline

service_id 16 0.0+p

Definition at line 148 of file dvbtables.h.

Referenced by ChannelScanSM::HandleSDT(), ChannelScanSM::HandleSDTo(), DVBStreamData::ProcessSDT(), toString(), and update_info().

◆ HasEITSchedule()

bool ServiceDescriptionTable::HasEITSchedule ( uint  i) const
inline

Definition at line 151 of file dvbtables.h.

Referenced by DVBStreamData::ProcessSDT(), toString(), and update_info().

◆ HasEITPresentFollowing()

bool ServiceDescriptionTable::HasEITPresentFollowing ( uint  i) const
inline

Definition at line 153 of file dvbtables.h.

Referenced by DVBStreamData::ProcessSDT(), toString(), and update_info().

◆ RunningStatus()

uint ServiceDescriptionTable::RunningStatus ( uint  i) const
inline

running_status 3 3.0+p

Definition at line 156 of file dvbtables.h.

◆ IsEncrypted()

bool ServiceDescriptionTable::IsEncrypted ( uint  i) const
inline

free_CA_mode 1 3.3+p

Definition at line 158 of file dvbtables.h.

Referenced by ChannelScanSM::HandleSDT(), and toString().

◆ ServiceDescriptorsLength()

uint ServiceDescriptionTable::ServiceDescriptorsLength ( uint  i) const
inline

desc_loop_length 12 3.4+p

Definition at line 160 of file dvbtables.h.

Referenced by GetServiceDescriptor(), GetServiceRelocatedDescriptor(), ChannelScanSM::HandleSDTo(), Parse(), toString(), and update_info().

◆ ServiceDescriptors()

const unsigned char* ServiceDescriptionTable::ServiceDescriptors ( uint  i) const
inline

for (j=0;j<N;j++) x 5.0+p { descriptor() }

Definition at line 164 of file dvbtables.h.

Referenced by GetServiceDescriptor(), GetServiceRelocatedDescriptor(), ChannelScanSM::HandleSDTo(), toString(), and update_info().

◆ GetServiceDescriptor()

ServiceDescriptor * ServiceDescriptionTable::GetServiceDescriptor ( uint  i) const

Definition at line 164 of file dvbtables.cpp.

Referenced by update_info().

◆ GetServiceRelocatedDescriptor()

ServiceRelocatedDescriptor * ServiceDescriptionTable::GetServiceRelocatedDescriptor ( uint  i) const

Definition at line 179 of file dvbtables.cpp.

Referenced by update_info().

◆ Mutate()

bool ServiceDescriptionTable::Mutate ( void  )

mutates a SDTo into a SDTa (vice versa) and recalculates the CRC

Definition at line 194 of file dvbtables.cpp.

◆ Parse()

void ServiceDescriptionTable::Parse ( void  ) const

Definition at line 115 of file dvbtables.cpp.

◆ toString()

QString ServiceDescriptionTable::toString ( void  ) const
overridevirtual

Reimplemented from PSIPTable.

Definition at line 127 of file dvbtables.cpp.

Referenced by ChannelScanSM::HandleSDT(), and ChannelScanSM::HandleSDTo().

Member Data Documentation

◆ m_ptrs

std::vector<const unsigned char*> ServiceDescriptionTable::m_ptrs
mutableprivate

Definition at line 177 of file dvbtables.h.

Referenced by Parse().


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