diff --git a/mythtv/libs/libmythtv/mpeg/mpegtables.cpp b/mythtv/libs/libmythtv/mpeg/mpegtables.cpp
index 8a0619c..4c1fc6c 100644
|
a
|
b
|
uint StreamID::Normalize(uint stream_id, const desc_list_t &desc, |
| 66 | 66 | return stream_id; |
| 67 | 67 | } |
| 68 | 68 | |
| | 69 | bool PSIPTable::HasCRC(void) const |
| | 70 | { |
| | 71 | switch (TableID()) |
| | 72 | { |
| | 73 | case TableID::PAT: |
| | 74 | case TableID::CAT: |
| | 75 | case TableID::PMT: |
| | 76 | return true; |
| | 77 | // case TableID::TSDT |
| | 78 | |
| | 79 | // DVB manditory |
| | 80 | case TableID::NIT: |
| | 81 | case TableID::SDT: |
| | 82 | case TableID::PF_EIT: |
| | 83 | return true; |
| | 84 | case TableID::TDT: |
| | 85 | return false; |
| | 86 | |
| | 87 | // DVB optional |
| | 88 | case TableID::NITo: |
| | 89 | case TableID::SDTo: |
| | 90 | case TableID::BAT: |
| | 91 | case TableID::PF_EITo: |
| | 92 | return true; |
| | 93 | case TableID::RST: |
| | 94 | case TableID::ST: |
| | 95 | return false; |
| | 96 | case TableID::TOT: |
| | 97 | return true; |
| | 98 | // case TableID::RNT: |
| | 99 | // case TableID::CT: |
| | 100 | // case TableID::RCT: |
| | 101 | // case TableID::CIT: |
| | 102 | // case TableID::MPEFEC: |
| | 103 | case TableID::DIT: |
| | 104 | return false; |
| | 105 | case TableID::SIT: |
| | 106 | return true; |
| | 107 | |
| | 108 | // ATSC |
| | 109 | // case TableID::STUFFING: |
| | 110 | // case TableID::CAPTION: |
| | 111 | // case TableID::CENSOR: |
| | 112 | |
| | 113 | // case TableID::ECN: |
| | 114 | // case TableID::SRVLOC: |
| | 115 | // case TableID::TSS: |
| | 116 | // case TableID::CMPNAME: |
| | 117 | |
| | 118 | case TableID::MGT: |
| | 119 | case TableID::TVCT: |
| | 120 | case TableID::CVCT: |
| | 121 | case TableID::RRT: |
| | 122 | case TableID::EIT: |
| | 123 | case TableID::ETT: |
| | 124 | case TableID::STT: |
| | 125 | |
| | 126 | case TableID::DCCT: |
| | 127 | case TableID::DCCSCT: |
| | 128 | return true; |
| | 129 | } |
| | 130 | |
| | 131 | // DVB Longterm EIT data |
| | 132 | if (TableID::SC_EITbeg <= TableID() && TableID()<= TableID::SC_EITendo) |
| | 133 | return true; |
| | 134 | // Dishnet Longterm EIT data |
| | 135 | if (TableID::DN_EITbego <= TableID() && TableID()<= TableID::DN_EITendo) |
| | 136 | return true; |
| | 137 | |
| | 138 | return false; |
| | 139 | } |
| | 140 | |
| 69 | 141 | const bool PSIPTable::VerifyPSIP(bool verify_crc) const |
| 70 | 142 | { |
| 71 | 143 | if (verify_crc && (CalcCRC() != CRC())) |
diff --git a/mythtv/libs/libmythtv/mpeg/mpegtables.h b/mythtv/libs/libmythtv/mpeg/mpegtables.h
index b1feba5..44fd189 100644
|
a
|
b
|
class PSIPTable : public PESPacket |
| 359 | 359 | // only for real ATSC PSIP tables, not similar MPEG2 tables |
| 360 | 360 | void SetProtocolVersion(int ver) { pesdata()[8] = ver; } |
| 361 | 361 | |
| | 362 | bool HasCRC(void) const; |
| | 363 | |
| 362 | 364 | const bool VerifyPSIP(bool verify_crc) const; |
| 363 | 365 | |
| 364 | 366 | const QString toString(void) const; |
| … |
… |
class ConditionalAccessTable : public PSIPTable |
| 627 | 629 | // for (i = 0; i < N; i++) 8.0 64 |
| 628 | 630 | // { descriptor() } |
| 629 | 631 | uint DescriptorsLength(void) const |
| 630 | | { return SectionLength() - PSIP_OFFSET - (HasCRC() ? 4 : 0); } |
| | 632 | { return SectionLength() - PSIP_OFFSET;} |
| 631 | 633 | const unsigned char *Descriptors(void) const { return psipdata(); } |
| 632 | 634 | |
| 633 | 635 | // CRC_32 32 rpchof |
diff --git a/mythtv/libs/libmythtv/mpeg/pespacket.h b/mythtv/libs/libmythtv/mpeg/pespacket.h
index 4df91e3..1198b1b 100644
|
a
|
b
|
class PESPacket |
| 182 | 182 | /// 1 bit Additional Copy Info field is present |
| 183 | 183 | bool HasACI() const { return (_pesdata[4] & 0x4) >> 2; } |
| 184 | 184 | /// 1 bit Cyclic Redundancy Check present |
| 185 | | bool HasCRC() const { return (_pesdata[4] & 0x2) >> 1; } |
| | 185 | virtual bool HasCRC() const { return (_pesdata[4] & 0x2) >> 1; } |
| 186 | 186 | /// 1 bit Extension flags are present |
| 187 | 187 | bool HasExtensionFlags() const { return _pesdata[4] & 0x1; } |
| 188 | 188 | |