Go to the documentation of this file.
8 #include <QCoreApplication>
24 for (
uint i = 0; (i < length) && buf[i]; i++)
60 QString codec = QString(
"iso-8859-%1").arg(which);
61 iconv_t conv = iconv_open(
"utf-16", qPrintable(codec));
62 if (conv == (iconv_t) -1)
67 size_t outmaxlen = length * 2 + 2;
69 outbytes.resize(outmaxlen);
70 char *outp = outbytes.data();
71 size_t outremain = outmaxlen;
76 size_t ret = iconv(conv, &buf, &length, &outp, &outremain);
77 if (ret ==
size_t(-1))
87 if (outbytes[0] ==
static_cast<char>(0xFE))
89 *outp++ = 0xFF; *outp++ = 0xFD;
93 *outp++ = 0xFD; *outp++ = 0xFF;
112 QString::fromUtf16(
reinterpret_cast<char16_t*
>(outbytes.data()),
113 (outmaxlen-outremain)/2);
134 size_t length = (raw_length - 1) / 2;
135 auto *to =
new QChar[length];
136 for (
size_t i=0; i<length; i++)
137 to[i] = QChar((src[1 + i*2] << 8) + src[1 + i*2 + 1]);
138 QString to2(to, length);
143 if (((0x11 < src[0]) && (src[0] < 0x15)) ||
144 ((0x15 < src[0]) && (src[0] < 0x1f)))
147 LOG(VB_SIPARSER, LOG_ERR,
148 "dvb_decode_text: Multi-byte coded text is not yet supported.");
154 auto *dst =
new unsigned char[raw_length + encoding_override.size()];
157 if (!encoding_override.empty() && (src[0] >= 0x20)) {
158 std::copy(encoding_override.cbegin(), encoding_override.cend(), dst);
159 length = encoding_override.size();
163 for (
uint i = 0; i < raw_length; i++)
165 if ((src[i] < 0x80) || (src[i] > 0x9F))
167 dst[length++] = src[i];
170 else if (src[i] == 0x8A)
172 dst[length++] = 0x20;
178 QString sStr = (!length) ?
"" :
decode_text(dst, length);
192 if ((buf[0] >= 0x01) && (buf[0] <= 0x0B))
194 return iconv_helper(4 + buf[0], (
char*)(buf + 1), length - 1);
204 uint code = buf[1] << 8 | buf[2];
206 return iconv_helper(code, (
char*)(buf + 3), length - 3);
207 return QString::fromLocal8Bit((
char*)(buf + 3), length - 3);
211 return QString::fromUtf8((
char*)(buf + 1), length - 1);
215 return QString::fromLocal8Bit((
char*)(buf + 1), length - 1);
223 LOG(VB_SIPARSER, LOG_WARNING,
224 QString(
"dvb_decode_short_name: name is %1 chars "
225 "long. Unlikely to be a short name.")
230 if (((0x10 < src[0]) && (src[0] < 0x15)) ||
231 ((0x15 < src[0]) && (src[0] < 0x20)))
234 LOG(VB_SIPARSER, LOG_ERR,
"dvb_decode_short_name: "
235 "Multi-byte coded text is not yet supported.");
239 auto *dst =
new unsigned char[raw_length];
243 for (
uint i = 0; i < raw_length; i++)
247 while ((++i < raw_length) && (src[i] != 0x87))
249 if ((src[i] < 0x80) || (src[i] > 0x9F))
251 dst[length++] = src[i];
254 else if (src[i] == 0x8A)
256 dst[length++] = 0x20;
286 "Information Service",
288 "CA Replacement Service",
289 "TS Containing Complete Network/Bouquet SI",
290 "Service Replacement Service",
291 "Data Broadcast Service",
294 "System Software Update Service",
295 "TS Containing SSU, BAT or NIT",
296 "IP/MAC Notification Service",
297 "TS Containing INT, BAT or NIT",
307 return QString(
"Reserved(0x%1)").arg(
LinkageType(),2,16,QChar(
'0'));
308 return QString(
"User Defined(0x%1)").arg(
LinkageType(),2,16,QChar(
'0'));
314 return "Hand-Over to an Identical Service";
316 return "Hand-Over to a Local Variation";
318 return "Hand-over to an Associated Service";
345 QString
tmp(
"ContentDescriptor: ");
359 QString subCatStr = QCoreApplication::translate(
"(Categories)",
360 "%1 - %2",
"Category with subcategory display");
362 s_categoryDesc[0x10] = QCoreApplication::translate(
"(Categories)",
"Movie");
364 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
365 QCoreApplication::translate(
"(Categories)",
"Detective/Thriller"));
367 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
368 QCoreApplication::translate(
"(Categories)",
369 "Adventure/Western/War"));
371 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
372 QCoreApplication::translate(
"(Categories)",
373 "Science Fiction/Fantasy/Horror"));
375 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
376 QCoreApplication::translate(
"(Categories)",
"Comedy"));
378 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
379 QCoreApplication::translate(
"(Categories)",
380 "Soap/Melodrama/Folkloric"));
382 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
383 QCoreApplication::translate(
"(Categories)",
"Romance"));
385 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
386 QCoreApplication::translate(
"(Categories)",
387 "Serious/Classical/Religious/Historical Movie/Drama"));
389 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
390 QCoreApplication::translate(
"(Categories)",
"Adult",
393 s_categoryDesc[0x20] = QCoreApplication::translate(
"(Categories)",
"News");
394 s_categoryDesc[0x21] = QCoreApplication::translate(
"(Categories)",
395 "News/Weather Report");
396 s_categoryDesc[0x22] = QCoreApplication::translate(
"(Categories)",
398 s_categoryDesc[0x23] = QCoreApplication::translate(
"(Categories)",
400 s_categoryDesc[0x24] = QCoreApplication::translate(
"(Categories)",
401 "Intelligent Programs");
403 s_categoryDesc[0x30] = QCoreApplication::translate(
"(Categories)",
405 s_categoryDesc[0x31] = QCoreApplication::translate(
"(Categories)",
407 s_categoryDesc[0x32] = QCoreApplication::translate(
"(Categories)",
409 s_categoryDesc[0x33] = QCoreApplication::translate(
"(Categories)",
412 s_categoryDesc[0x40] = QCoreApplication::translate(
"(Categories)",
414 s_categoryDesc[0x41] = QCoreApplication::translate(
"(Categories)",
415 "Special Events (World Cup, World Series, etc)");
416 s_categoryDesc[0x42] = QCoreApplication::translate(
"(Categories)",
418 s_categoryDesc[0x43] = QCoreApplication::translate(
"(Categories)",
419 "Football (Soccer)");
420 s_categoryDesc[0x44] = QCoreApplication::translate(
"(Categories)",
422 s_categoryDesc[0x45] = QCoreApplication::translate(
"(Categories)",
423 "Misc. Team Sports");
425 s_categoryDesc[0x46] = QCoreApplication::translate(
"(Categories)",
427 s_categoryDesc[0x47] = QCoreApplication::translate(
"(Categories)",
429 s_categoryDesc[0x48] = QCoreApplication::translate(
"(Categories)",
431 s_categoryDesc[0x49] = QCoreApplication::translate(
"(Categories)",
433 s_categoryDesc[0x4A] = QCoreApplication::translate(
"(Categories)",
435 s_categoryDesc[0x4B] = QCoreApplication::translate(
"(Categories)",
438 s_categoryDesc[0x50] = QCoreApplication::translate(
"(Categories)",
"Kids");
439 s_categoryDesc[0x51] = QCoreApplication::translate(
"(Categories)",
440 "Pre-School Children's Programs");
441 s_categoryDesc[0x52] = QCoreApplication::translate(
"(Categories)",
442 "Entertainment Programs for 6 to 14");
443 s_categoryDesc[0x53] = QCoreApplication::translate(
"(Categories)",
444 "Entertainment Programs for 10 to 16");
445 s_categoryDesc[0x54] = QCoreApplication::translate(
"(Categories)",
446 "Informational/Educational");
447 s_categoryDesc[0x55] = QCoreApplication::translate(
"(Categories)",
450 s_categoryDesc[0x60] = QCoreApplication::translate(
"(Categories)",
451 "Music/Ballet/Dance");
452 s_categoryDesc[0x61] = QCoreApplication::translate(
"(Categories)",
454 s_categoryDesc[0x62] = QCoreApplication::translate(
"(Categories)",
456 s_categoryDesc[0x63] = QCoreApplication::translate(
"(Categories)",
458 s_categoryDesc[0x64] = QCoreApplication::translate(
"(Categories)",
460 s_categoryDesc[0x65] = QCoreApplication::translate(
"(Categories)",
462 s_categoryDesc[0x66] = QCoreApplication::translate(
"(Categories)",
465 s_categoryDesc[0x70] = QCoreApplication::translate(
"(Categories)",
467 s_categoryDesc[0x71] = QCoreApplication::translate(
"(Categories)",
469 s_categoryDesc[0x72] = QCoreApplication::translate(
"(Categories)",
471 s_categoryDesc[0x73] = QCoreApplication::translate(
"(Categories)",
473 s_categoryDesc[0x74] = QCoreApplication::translate(
"(Categories)",
474 "Popular Culture/Traditional Arts");
475 s_categoryDesc[0x75] = QCoreApplication::translate(
"(Categories)",
477 s_categoryDesc[0x76] = QCoreApplication::translate(
"(Categories)",
479 s_categoryDesc[0x77] = QCoreApplication::translate(
"(Categories)",
480 "Experimental Film/Video");
481 s_categoryDesc[0x78] = QCoreApplication::translate(
"(Categories)",
482 "Broadcasting/Press");
483 s_categoryDesc[0x79] = QCoreApplication::translate(
"(Categories)",
485 s_categoryDesc[0x7A] = QCoreApplication::translate(
"(Categories)",
486 "Arts/Culture Magazines");
487 s_categoryDesc[0x7B] = QCoreApplication::translate(
"(Categories)",
"Fashion");
489 s_categoryDesc[0x80] = QCoreApplication::translate(
"(Categories)",
490 "Social/Political/Economics");
491 s_categoryDesc[0x81] = QCoreApplication::translate(
"(Categories)",
492 "Magazines/Reports/Documentary");
493 s_categoryDesc[0x82] = QCoreApplication::translate(
"(Categories)",
494 "Economics/Social Advisory");
495 s_categoryDesc[0x83] = QCoreApplication::translate(
"(Categories)",
496 "Remarkable People");
498 s_categoryDesc[0x90] = QCoreApplication::translate(
"(Categories)",
499 "Education/Science/Factual");
500 s_categoryDesc[0x91] = QCoreApplication::translate(
"(Categories)",
501 "Nature/Animals/Environment");
502 s_categoryDesc[0x92] = QCoreApplication::translate(
"(Categories)",
503 "Technology/Natural Sciences");
504 s_categoryDesc[0x93] = QCoreApplication::translate(
"(Categories)",
505 "Medicine/Physiology/Psychology");
506 s_categoryDesc[0x94] = QCoreApplication::translate(
"(Categories)",
507 "Foreign Countries/Expeditions");
508 s_categoryDesc[0x95] = QCoreApplication::translate(
"(Categories)",
509 "Social/Spiritual Sciences");
510 s_categoryDesc[0x96] = QCoreApplication::translate(
"(Categories)",
511 "Further Education");
512 s_categoryDesc[0x97] = QCoreApplication::translate(
"(Categories)",
515 s_categoryDesc[0xA0] = QCoreApplication::translate(
"(Categories)",
517 s_categoryDesc[0xA1] = QCoreApplication::translate(
"(Categories)",
519 s_categoryDesc[0xA2] = QCoreApplication::translate(
"(Categories)",
521 s_categoryDesc[0xA3] = QCoreApplication::translate(
"(Categories)",
523 s_categoryDesc[0xA4] = QCoreApplication::translate(
"(Categories)",
525 s_categoryDesc[0xA5] = QCoreApplication::translate(
"(Categories)",
"Cooking");
526 s_categoryDesc[0xA6] = QCoreApplication::translate(
"(Categories)",
527 "Advertizement/Shopping");
528 s_categoryDesc[0xA7] = QCoreApplication::translate(
"(Categories)",
531 s_categoryDesc[0xB0] = QCoreApplication::translate(
"(Categories)",
532 "Original Language");
533 s_categoryDesc[0xB1] = QCoreApplication::translate(
"(Categories)",
535 s_categoryDesc[0xB2] = QCoreApplication::translate(
"(Categories)",
536 "\"Unpublished\" Programs");
537 s_categoryDesc[0xB3] = QCoreApplication::translate(
"(Categories)",
540 s_categoryDesc[0xF0] = QCoreApplication::translate(
"(Categories)",
548 QString str =
"FrequencyListDescriptor: frequencies: ";
553 str += (i+1 <
FrequencyCount()) ? ((i+4)%10) ?
", " :
",\n " :
"";
566 str.append(
" (Radio)");
568 str.append(
" (HDTV)");
570 str.append(
" (UHDTV)");
572 str.append(
" (Teletext)");
574 str.append(QString(
" (Unknown 0x%1)").arg(
ServiceType(),2,16,QChar(
'0')));
581 QString ret = QString(
"Subtitling Descriptor ");
582 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
588 ret.append(QString(
"type(0x%1) composition_page_id(%2) ancillary_page_id(%3) lang(%4)")
600 QString ret = QString(
"Teletext Descriptor ");
601 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
607 ret.append(QString(
"type(%1) mag(%2) page(%3) lang(%4)")
619 QString str = QString(
"CableDeliverySystemDescriptor ");
620 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
623 str.append(QString(
"Frequency: %1\n").arg(
FrequencyHz()));
624 str.append(QString(
" Mod=%1, SymbR=%2, FECInner=%3, FECOuter=%4")
635 QString str = QString(
"SatelliteDeliverySystemDescriptor ");
636 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
639 str.append(QString(
"Frequency: %1, Type: %2\n").arg(
FrequencykHz())
641 str.append(QString(
" Mod=%1, SymbR=%2, FECInner=%3, Orbit=%4, Pol=%5")
653 QString str = QString(
"TerrestrialDeliverySystemDescriptor ");
654 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
657 str.append(QString(
"Frequency: %1\n").arg(
FrequencyHz()));
658 str.append(QString(
" BW=%1MHz C=%2 HP=%3 LP=%4 GI=%5 TransMode=%6k")
672 QString str = QString(
"ImageIconDescriptor ");
673 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
680 str.append(
" Dumping\n");
691 const unsigned char *cp =
m_data + 8;
703 QString str = QString(
"T2DeliverySystemDescriptor ");
704 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
707 str += QString(
"plp_id(%1) ").arg(
PlpID());
708 str += QString(
"T2_system_id(%1)").arg(
T2SystemID());
716 str += QString(
"TFS=%1 ").arg(
TFSFlag());
722 str += QString(
"\n ");
723 str += QString(
"cell_id:%1 ").arg(
CellID(i));
724 str += QString(
"centre_frequency:");
738 str += QString(
"\n ");
744 str.append(
" Dumping\n");
752 QString str = QString(
"SHDeliverySystemDescriptor ");
753 str += QString(
"tag(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
759 str.append(
" Dumping\n");
767 QString str = QString(
"SupplementaryAudioDescriptor ");
768 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
771 str += QString(
"\n ");
772 str += QString(
"mix_type(%1) ").arg(
MixType());
774 str += QString(
"\n ");
781 str.append(
" Dumping\n");
789 QString str = QString(
"NetworkChangeNotiyDescriptor ");
790 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
793 str.append(
" Dumping\n");
801 QString str = QString(
"MessageDescriptor ");
802 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
805 str += QString(
"\n ");
806 str += QString(
"message_id(%1) ").arg(
MessageID());
808 str += QString(
"\n ");
809 str += QString(
"text_char(\"%1\")").arg(
Message());
811 str.append(
" Dumping\n");
819 QString str = QString(
"TargetRegionDescriptor ");
820 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
823 str += QString(
"\n ");
828 str.append(
" Dumping\n");
836 QString str = QString(
"TargetRegionNameDescriptor ");
837 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
840 str += QString(
"\n ");
846 str.append(
" Dumping\n");
854 QString str = QString(
"ServiceRelocatedDescriptor ");
855 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
858 str += QString(
"\n ");
861 str += QString(
"old_service_id(%1) ").arg(
OldServiceID());
863 str.append(
" Dumping\n");
871 QString str = QString(
"C2DeliverySystemDescriptor ");
872 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
878 str.append(
" Dumping\n");
886 QString str = QString(
"S2XSatelliteDeliverySystemDescriptor ");
887 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
893 str.append(
" Dumping\n");
900 QString ret =
"UKChannelListDescriptor sid->chan_num: ";
904 ret += (i+1 <
ChannelCount()) ? ((i+4)%10) ?
", " :
",\n " :
"";
911 QString ret =
"DVBSimulcastChannelDescriptor sid->chan_num: ";
915 ret += (i+1 <
ChannelCount()) ? ((i+3)%10) ?
", " :
",\n " :
"";
922 QString ret =
"Sky Logical Channel Number Descriptor ";
923 ret += QString(
"(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
926 ret += QString(
"\n RegionID (%1) (0x%2) Raw (0x%3)")
931 ret += QString(
"\n ServiceID (%1) (0x%2) ").arg(
ServiceID(i)).arg(
ServiceID(i),4,16,QChar(
'0'));
932 ret += QString(
"ServiceType (0x%1) ").arg(
ServiceType(i),2,16,QChar(
'0'));
934 ret += QString(
"ChannelID(0x%1) ").arg(
ChannelID(i),4,16,QChar(
'0'));
935 ret += QString(
"Flags(0x%1) ").arg(
Flags(i),4,16,QChar(
'0'));
943 QString ret =
"Freesat Logical Channel Number Descriptor ";
944 ret += QString(
"(0x%1)").arg(
DescriptorTag(),2,16,QChar(
'0'));
949 ret += QString(
"\n ServiceID (%1) (0x%2) ").arg(
ServiceID(i)).arg(
ServiceID(i),4,16,QChar(
'0'));
950 ret += QString(
"ChanID (0x%1)").arg(
ChanID(i), 4, 16, QChar(
'0'));
961 QString ret =
"Freesat Region Descriptor ";
962 ret += QString(
"(0x%1)").arg(
DescriptorTag(),2,16,QChar(
'0'));
970 ret += QString(
"\n Region (%1) (%2) '%3'")
971 .arg(region_id,2).arg(language, region_name);
978 QString ret = QString(
"Freesat Callsign Descriptor ");
979 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
987 QString ret = QString(
"OpenTV ChannelList Descriptor region: %1 sid->chan_num(id): ").arg(
RegionID());
998 QString ret = QString(
"ApplicationSignallingDescriptor ");
999 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
1012 QString ret = QString(
"CAIdentifierDescriptor ");
1015 ret += QString(
"ca_system_id(0x%1) ")
1023 QString ret = QString(
"DataBroadcastDescriptor: "
1024 "data_broadcast_id(%1) "
1025 "component_tag(%1) ")
1029 ret += QString(
"selector(0x ");
1031 ret += QString(
"%1 ").arg(
Selector()[i], 0, 16);
1034 ret += QString(
"ISO_639_language_code(%1) ")
1037 ret += QString(
"text(%1) ") +
Text();
1044 QString ret = QString(
"LocalTimeOffsetDescriptor ");
1046 for (
uint i = 0; i < count; ++i)
1048 ret += QString(
"country_code(%1) country_region_id(0x%2) "
1049 "local_time_offset_with_polarity(%3) "
1050 "time_of_change(TODO)")
1061 QString ret = QString(
"NVODReferenceDescriptor ");
1064 ret += QString(
"transport_stream_id(0x%1) original_network_id(0x%2) "
1065 "service_id(0x%3) ")
1075 return QString(
"PartialTransportStreamDescriptor peak_rate(%1) "
1076 "min_overall_smooth_rate(%2) max_overall_smooth_buf(3)")
1082 QString ret = QString(
"AC-3 Descriptor ");
1085 ret += QString(
"type(0x%1) ").arg(
ComponentType(), 2, 16, QChar(
'0'));
1087 ret += QString(
"bsid(0x%1) ").arg(
BSID(), 2, 16, QChar(
'0'));
1089 ret += QString(
"mainid(0x%1) ").arg(
MainID(), 2, 16, QChar(
'0'));
1091 ret += QString(
"asvc(0x%1) ").arg(
ASVC(), 2, 16, QChar(
'0'));
1097 QMultiMap<QString, QString> ret;
1107 index += 1 +
m_data[7 + index];
1109 index += 1 +
m_data[7 + index];
1110 ret.insert (item_description, item);
uint TeletextMagazineNum(uint i) const
QString freesat_huffman_to_string(const unsigned char *compressed, uint size)
QString OrbitalPositionString(void) const
uint ChannelID(uint i) const
QString TransmissionModeString(void) const
QString CountryCodeString(void) const
QString toString(void) const override
ProgramInfo::CategoryType GetMythCategory(uint i) const
QString GuardIntervalString(void) const
uint CellIDExtension(uint i, uint j) const
uint DescriptorTag(void) const
QString GuardIntervalString(void) const
uint DescriptorLength(void) const
uint OtherFrequencyFlag(void) const
uint Nibble1(uint i) const
QString GetDescription(uint i) const
QString toString(void) const override
uint DescriptorNumber(void) const
int LocalTimeOffsetWithPolarity(uint i) const
QString hexdump(void) const
uint ApplicationType(uint i) const
QString LanguageString(void) const
uint MessageID(void) const
QString Message(void) const
QString toString(void) const override
QString toString(void) const override
QString toString(void) const override
uint NumCells(void) const
QString FECOuterString(void) const
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
QString toString(void) const override
QString toString(void) const override
unsigned long long FrequencyHz(void) const
QString toString(void) const override
uint SubcellInfoLoopLength(uint i) const
std::vector< uint8_t > enc_override
uint CountryRegionId(uint i) const
QString dvb_decode_text(const unsigned char *src, uint raw_length, const enc_override &encoding_override)
QString FECInnerString(void) const
QString LanguageString(void) const
static QString decode_iso6937(const unsigned char *buf, uint length)
uint CASystemCount(void) const
uint DataBroadcastId(void) const
uint ChannelNumber(uint i) const
QString toString(void) const override
uint LCNCount(int i) const
QString toString(void) const override
QString BandwidthString(void) const
uint CentreFrequency(uint i) const
uint ChannelCount(void) const
static QString decode_text(const unsigned char *buf, uint length)
uint AncillaryPageID(uint i) const
uint RegionCount(void) const
uint ServiceType(void) const
uint ServiceId(uint i) const
QString BandwidthString(void) const
static QMap< uint, QString > s_categoryDesc
uint SmoothRate(void) const
QString toString(void) const override
uint ChannelCount(void) const
MBASE_PUBLIC long long copy(QFile &dst, QFile &src, uint block_size=0)
Copies src file to dst file.
bool IsTeletext(void) const
const std::array< const std::string, 14 > linkage_types
uint FrequencyLoopLength(uint i) const
QString toString(void) const override
QMultiMap< QString, QString > Items(void) const
bool HasMainID(void) const
uint StreamCount(void) const
uint StreamCount(void) const
QString toString(void) const override
uint OldServiceID(void) const
const unsigned char * m_data
uint ChannelNumber(uint i) const
QString ConstellationString(void) const
@ kHandOverAssociatedService
QString FECInnerString(void) const
uint OriginalNetworkId(uint i) const
QString LanguageString(uint i) const
uint ServiceID(int i) const
std::vector< const unsigned char * > m_subCellPtrs
@ kHandOverLocalVariation
uint DescriptorTagExtension(void) const
uint AITVersionNumber(uint i) const
uint ServiceType(int i) const
uint LanguageCodePresent(void) const
uint PeakRate(void) const
uint ChannelID(int i) const
static volatile bool s_categoryDescExists
const iso6937table iso6937table_base
QString toString(void) const override
QString toString(void) const override
QString SisoMisoString(void) const
unsigned long long FrequencykHz(void) const
QString LanguageString(void) const
static QMutex s_categoryLock
QString myth_category_type_to_string(ProgramInfo::CategoryType category_type)
uint ServiceID(int i) const
uint TransportStreamId(uint i) const
const unsigned char * Selector(void) const
uint ComponentType(void) const
uint RegionID(int i, int j) const
QString Language(uint i) const
uint LengthOfItems(void) const
QString LanguageString(void) const
uint CellID(uint i) const
QString toString(void) const override
QString CodeRateLPString(void) const
const std::array< const iso6937table *, 256 > iso6937table_secondary
QString toString(void) const override
std::vector< const unsigned char * > m_cellPtrs
QString CountryCodeString(void) const
uint LogicalChannelNumber(int i) const
QString Callsign(void) const
QString toString(void) const override
QString toString(void) const override
int CASystemId(uint i) const
uint SelectorLength(void) const
QString toString(void) const override
uint LastDescriptorNumber(void) const
QString CountryCodeString(uint i) const
uint ServiceID(uint i) const
uint OldTransportID(void) const
QString ModulationSystemString(void) const
QString LinkageTypeString(void) const
QString ModulationString(void) const
uint SymbolRateHz(void) const
bool IsDigitalAudio(void) const
uint TeletextPageNum(uint i) const
uint ServiceID(uint i) const
QString toString(void) const override
uint64_t FrequencyHz(void) const
uint ChannelCount(void) const
static QString iconv_helper(int which, char *buf, size_t length)
QString Language(void) const
QString MobileHandOverTypeString(void) const
QString TransmissionModeString(void) const
std::array< const uint16_t, 256 > iso6937table
int RegionID(uint i) const
QString PolarizationString() const
uint ServiceCount(void) const
uint SubtitleType(uint i) const
QString toString(void) const override
QString CodeRateHPString(void) const
uint SymbolRateHz(void) const
uint DataComponentTag(void) const
QString toString(void) const override
QString toString(void) const override
uint ChannelNumber(uint i) const
unsigned long long FrequencyHz(uint i) const
uint LinkageType(void) const
QString toString(void) const
uint MobileHandOverType(void) const
QString toString(void) const override
QString toString(void) const override
uint RegionID(void) const
uint TransposerFrequency(uint i, uint j) const
uint FrequencyCount() const
QString dvb_decode_short_name(const unsigned char *src, uint raw_length)
QString LanguageString(uint i) const
QString toString(void) const override
uint RegionRaw(void) const
uint TeletextType(uint i) const
uint SmoothBuf(void) const
uint Nibble(uint i) const
QString toString(void) const override
uint T2SystemID(void) const
uint LogicalChannelNumber(int i, int j) const
QString toString(void) const override
QString toString(void) const override
uint CompositionPageID(uint i) const
QString ModulationString(void) const
uint EditorialClassification(void) const
QString RegionName(uint i) const
bool HasComponentType(void) const
uint ServiceID(uint i) const
uint ServiceCount(void) const
QString toString(void) const override
QString toString(void) const override
uint OldOriginalNetworkID(void) const