Go to the documentation of this file.
11 #include <QCoreApplication>
32 for (
uint i = 0; (i < length) && buf[i]; i++)
68 QString codec = QString(
"iso-8859-%1").arg(which);
69 iconv_t conv = iconv_open(
"utf-16", qPrintable(codec));
70 if (conv == (iconv_t) -1)
75 size_t outmaxlen = length * 2 + 2;
77 outbytes.resize(outmaxlen);
78 char *outp = outbytes.data();
79 size_t outremain = outmaxlen;
84 size_t ret = iconv(conv, &buf, &length, &outp, &outremain);
85 if (ret ==
size_t(-1))
95 if (outbytes[0] ==
static_cast<char>(0xFE))
97 *outp++ = 0xFF; *outp++ = 0xFD;
101 *outp++ = 0xFD; *outp++ = 0xFF;
120 QString::fromUtf16(
reinterpret_cast<char16_t*
>(outbytes.data()),
121 (outmaxlen-outremain)/2);
142 size_t length = (raw_length - 1) / 2;
143 auto *to =
new QChar[length];
144 for (
size_t i=0; i<length; i++)
145 to[i] = QChar((src[1 + i*2] << 8) + src[1 + i*2 + 1]);
146 QString to2(to, length);
151 if (((0x11 < src[0]) && (src[0] < 0x15)) ||
152 ((0x15 < src[0]) && (src[0] < 0x1f)))
155 LOG(VB_SIPARSER, LOG_ERR,
156 "dvb_decode_text: Multi-byte coded text is not yet supported.");
168 auto *dst =
new unsigned char[raw_length + encoding_override.size()];
171 if (!encoding_override.empty() && (src[0] >= 0x20)) {
172 std::copy(encoding_override.cbegin(), encoding_override.cend(), dst);
173 length = encoding_override.size();
177 for (
uint i = 0; i < raw_length; i++)
179 if ((src[i] < 0x80) || (src[i] > 0x9F))
181 dst[length++] = src[i];
184 else if (src[i] == 0x8A)
186 dst[length++] = 0x20;
192 QString sStr = (!length) ?
"" :
decode_text(dst, length);
206 if ((buf[0] >= 0x01) && (buf[0] <= 0x0B))
208 return iconv_helper(4 + buf[0], (
char*)(buf + 1), length - 1);
210 if ((buf[0] == 0x10) && (length >= 3))
218 uint code = buf[1] << 8 | buf[2];
220 return iconv_helper(code, (
char*)(buf + 3), length - 3);
221 return QString::fromLocal8Bit((
char*)(buf + 3), length - 3);
225 return QString::fromUtf8((
char*)(buf + 1), length - 1);
229 return QString::fromLocal8Bit((
char*)(buf + 1), length - 1);
237 LOG(VB_SIPARSER, LOG_WARNING,
238 QString(
"dvb_decode_short_name: name is %1 chars "
239 "long. Unlikely to be a short name.")
244 if (((0x10 < src[0]) && (src[0] < 0x15)) ||
245 ((0x15 < src[0]) && (src[0] < 0x20)))
248 LOG(VB_SIPARSER, LOG_ERR,
"dvb_decode_short_name: "
249 "Multi-byte coded text is not yet supported.");
253 auto *dst =
new unsigned char[raw_length];
257 for (
uint i = 0; i < raw_length; i++)
261 while ((++i < raw_length) && (src[i] != 0x87))
263 if ((src[i] < 0x80) || (src[i] > 0x9F))
265 dst[length++] = src[i];
268 else if (src[i] == 0x8A)
270 dst[length++] = 0x20;
300 "Information Service",
302 "CA Replacement Service",
303 "TS Containing Complete Network/Bouquet SI",
304 "Service Replacement Service",
305 "Data Broadcast Service",
308 "System Software Update Service",
309 "TS Containing SSU, BAT or NIT",
310 "IP/MAC Notification Service",
311 "TS Containing INT, BAT or NIT",
321 return QString(
"Reserved(0x%1)").arg(
LinkageType(),2,16,QChar(
'0'));
322 return QString(
"User Defined(0x%1)").arg(
LinkageType(),2,16,QChar(
'0'));
328 return "Hand-Over to an Identical Service";
330 return "Hand-Over to a Local Variation";
332 return "Hand-over to an Associated Service";
359 QString
tmp(
"ContentDescriptor: ");
373 QString subCatStr = QCoreApplication::translate(
"(Categories)",
374 "%1 - %2",
"Category with subcategory display");
376 s_categoryDesc[0x10] = QCoreApplication::translate(
"(Categories)",
"Movie");
378 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
379 QCoreApplication::translate(
"(Categories)",
"Detective/Thriller"));
381 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
382 QCoreApplication::translate(
"(Categories)",
383 "Adventure/Western/War"));
385 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
386 QCoreApplication::translate(
"(Categories)",
387 "Science Fiction/Fantasy/Horror"));
389 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
390 QCoreApplication::translate(
"(Categories)",
"Comedy"));
392 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
393 QCoreApplication::translate(
"(Categories)",
394 "Soap/Melodrama/Folkloric"));
396 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
397 QCoreApplication::translate(
"(Categories)",
"Romance"));
399 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
400 QCoreApplication::translate(
"(Categories)",
401 "Serious/Classical/Religious/Historical Movie/Drama"));
403 .arg(QCoreApplication::translate(
"(Categories)",
"Movie"),
404 QCoreApplication::translate(
"(Categories)",
"Adult",
407 s_categoryDesc[0x20] = QCoreApplication::translate(
"(Categories)",
"News");
408 s_categoryDesc[0x21] = QCoreApplication::translate(
"(Categories)",
409 "News/Weather Report");
410 s_categoryDesc[0x22] = QCoreApplication::translate(
"(Categories)",
412 s_categoryDesc[0x23] = QCoreApplication::translate(
"(Categories)",
414 s_categoryDesc[0x24] = QCoreApplication::translate(
"(Categories)",
415 "Intelligent Programs");
417 s_categoryDesc[0x30] = QCoreApplication::translate(
"(Categories)",
419 s_categoryDesc[0x31] = QCoreApplication::translate(
"(Categories)",
421 s_categoryDesc[0x32] = QCoreApplication::translate(
"(Categories)",
423 s_categoryDesc[0x33] = QCoreApplication::translate(
"(Categories)",
426 s_categoryDesc[0x40] = QCoreApplication::translate(
"(Categories)",
428 s_categoryDesc[0x41] = QCoreApplication::translate(
"(Categories)",
429 "Special Events (World Cup, World Series, etc)");
430 s_categoryDesc[0x42] = QCoreApplication::translate(
"(Categories)",
432 s_categoryDesc[0x43] = QCoreApplication::translate(
"(Categories)",
433 "Football (Soccer)");
434 s_categoryDesc[0x44] = QCoreApplication::translate(
"(Categories)",
436 s_categoryDesc[0x45] = QCoreApplication::translate(
"(Categories)",
437 "Misc. Team Sports");
439 s_categoryDesc[0x46] = QCoreApplication::translate(
"(Categories)",
441 s_categoryDesc[0x47] = QCoreApplication::translate(
"(Categories)",
443 s_categoryDesc[0x48] = QCoreApplication::translate(
"(Categories)",
445 s_categoryDesc[0x49] = QCoreApplication::translate(
"(Categories)",
447 s_categoryDesc[0x4A] = QCoreApplication::translate(
"(Categories)",
449 s_categoryDesc[0x4B] = QCoreApplication::translate(
"(Categories)",
452 s_categoryDesc[0x50] = QCoreApplication::translate(
"(Categories)",
"Kids");
453 s_categoryDesc[0x51] = QCoreApplication::translate(
"(Categories)",
454 "Pre-School Children's Programs");
455 s_categoryDesc[0x52] = QCoreApplication::translate(
"(Categories)",
456 "Entertainment Programs for 6 to 14");
457 s_categoryDesc[0x53] = QCoreApplication::translate(
"(Categories)",
458 "Entertainment Programs for 10 to 16");
459 s_categoryDesc[0x54] = QCoreApplication::translate(
"(Categories)",
460 "Informational/Educational");
461 s_categoryDesc[0x55] = QCoreApplication::translate(
"(Categories)",
464 s_categoryDesc[0x60] = QCoreApplication::translate(
"(Categories)",
465 "Music/Ballet/Dance");
466 s_categoryDesc[0x61] = QCoreApplication::translate(
"(Categories)",
468 s_categoryDesc[0x62] = QCoreApplication::translate(
"(Categories)",
470 s_categoryDesc[0x63] = QCoreApplication::translate(
"(Categories)",
472 s_categoryDesc[0x64] = QCoreApplication::translate(
"(Categories)",
474 s_categoryDesc[0x65] = QCoreApplication::translate(
"(Categories)",
476 s_categoryDesc[0x66] = QCoreApplication::translate(
"(Categories)",
479 s_categoryDesc[0x70] = QCoreApplication::translate(
"(Categories)",
481 s_categoryDesc[0x71] = QCoreApplication::translate(
"(Categories)",
483 s_categoryDesc[0x72] = QCoreApplication::translate(
"(Categories)",
485 s_categoryDesc[0x73] = QCoreApplication::translate(
"(Categories)",
487 s_categoryDesc[0x74] = QCoreApplication::translate(
"(Categories)",
488 "Popular Culture/Traditional Arts");
489 s_categoryDesc[0x75] = QCoreApplication::translate(
"(Categories)",
491 s_categoryDesc[0x76] = QCoreApplication::translate(
"(Categories)",
493 s_categoryDesc[0x77] = QCoreApplication::translate(
"(Categories)",
494 "Experimental Film/Video");
495 s_categoryDesc[0x78] = QCoreApplication::translate(
"(Categories)",
496 "Broadcasting/Press");
497 s_categoryDesc[0x79] = QCoreApplication::translate(
"(Categories)",
499 s_categoryDesc[0x7A] = QCoreApplication::translate(
"(Categories)",
500 "Arts/Culture Magazines");
501 s_categoryDesc[0x7B] = QCoreApplication::translate(
"(Categories)",
"Fashion");
503 s_categoryDesc[0x80] = QCoreApplication::translate(
"(Categories)",
504 "Social/Political/Economics");
505 s_categoryDesc[0x81] = QCoreApplication::translate(
"(Categories)",
506 "Magazines/Reports/Documentary");
507 s_categoryDesc[0x82] = QCoreApplication::translate(
"(Categories)",
508 "Economics/Social Advisory");
509 s_categoryDesc[0x83] = QCoreApplication::translate(
"(Categories)",
510 "Remarkable People");
512 s_categoryDesc[0x90] = QCoreApplication::translate(
"(Categories)",
513 "Education/Science/Factual");
514 s_categoryDesc[0x91] = QCoreApplication::translate(
"(Categories)",
515 "Nature/Animals/Environment");
516 s_categoryDesc[0x92] = QCoreApplication::translate(
"(Categories)",
517 "Technology/Natural Sciences");
518 s_categoryDesc[0x93] = QCoreApplication::translate(
"(Categories)",
519 "Medicine/Physiology/Psychology");
520 s_categoryDesc[0x94] = QCoreApplication::translate(
"(Categories)",
521 "Foreign Countries/Expeditions");
522 s_categoryDesc[0x95] = QCoreApplication::translate(
"(Categories)",
523 "Social/Spiritual Sciences");
524 s_categoryDesc[0x96] = QCoreApplication::translate(
"(Categories)",
525 "Further Education");
526 s_categoryDesc[0x97] = QCoreApplication::translate(
"(Categories)",
529 s_categoryDesc[0xA0] = QCoreApplication::translate(
"(Categories)",
531 s_categoryDesc[0xA1] = QCoreApplication::translate(
"(Categories)",
533 s_categoryDesc[0xA2] = QCoreApplication::translate(
"(Categories)",
535 s_categoryDesc[0xA3] = QCoreApplication::translate(
"(Categories)",
537 s_categoryDesc[0xA4] = QCoreApplication::translate(
"(Categories)",
539 s_categoryDesc[0xA5] = QCoreApplication::translate(
"(Categories)",
"Cooking");
540 s_categoryDesc[0xA6] = QCoreApplication::translate(
"(Categories)",
541 "Advertizement/Shopping");
542 s_categoryDesc[0xA7] = QCoreApplication::translate(
"(Categories)",
545 s_categoryDesc[0xB0] = QCoreApplication::translate(
"(Categories)",
546 "Original Language");
547 s_categoryDesc[0xB1] = QCoreApplication::translate(
"(Categories)",
549 s_categoryDesc[0xB2] = QCoreApplication::translate(
"(Categories)",
550 "\"Unpublished\" Programs");
551 s_categoryDesc[0xB3] = QCoreApplication::translate(
"(Categories)",
554 s_categoryDesc[0xF0] = QCoreApplication::translate(
"(Categories)",
562 QString str =
"FrequencyListDescriptor: frequencies: ";
567 str += (i+1 <
FrequencyCount()) ? ((i+4)%10) ?
", " :
",\n " :
"";
580 str.append(
" (Radio)");
582 str.append(
" (HDTV)");
584 str.append(
" (UHDTV)");
586 str.append(
" (Teletext)");
588 str.append(QString(
" (Unknown 0x%1)").arg(
ServiceType(),2,16,QChar(
'0')));
595 QString ret = QString(
"Subtitling Descriptor ");
596 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
602 ret.append(QString(
"type(0x%1) composition_page_id(%2) ancillary_page_id(%3) lang(%4)")
614 QString ret = QString(
"Teletext Descriptor ");
615 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
621 ret.append(QString(
"type(%1) mag(%2) page(%3) lang(%4)")
633 QString str = QString(
"CableDeliverySystemDescriptor ");
634 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
637 str.append(QString(
"Frequency: %1\n").arg(
FrequencyHz()));
638 str.append(QString(
" Mod=%1, SymbR=%2, FECInner=%3, FECOuter=%4")
649 QString str = QString(
"SatelliteDeliverySystemDescriptor ");
650 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
653 str.append(QString(
"Frequency: %1, Type: %2\n").arg(
FrequencykHz())
655 str.append(QString(
" Mod=%1, SymbR=%2, FECInner=%3, Orbit=%4, Pol=%5")
667 QString str = QString(
"TerrestrialDeliverySystemDescriptor ");
668 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
671 str.append(QString(
"Frequency: %1\n").arg(
FrequencyHz()));
672 str.append(QString(
" BW=%1MHz C=%2 HP=%3 LP=%4 GI=%5 TransMode=%6k")
686 QString str = QString(
"S2SatelliteDeliverySystemDescriptor ");
687 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
693 str.append(QString(
" TSGSMode(%1)").arg(
TSGSMode()));
697 str.append(
" Dumping\n");
705 QString str = QString(
"ImageIconDescriptor ");
706 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
713 str.append(
" Dumping\n");
724 const unsigned char *cp =
m_data + 8;
736 QString str = QString(
"T2DeliverySystemDescriptor ");
737 str += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
740 str += QString(
"plp_id(%1) ").arg(
PlpID());
741 str += QString(
"T2_system_id(%1)").arg(
T2SystemID());
749 str += QString(
"TFS=%1 ").arg(
TFSFlag());
755 str += QString(
"\n ");
756 str += QString(
"cell_id:%1 ").arg(
CellID(i));
757 str += QString(
"centre_frequency:");
771 str += QString(
"\n ");
777 str.append(
" Dumping\n");
785 QString str = QString(
"SHDeliverySystemDescriptor ");
786 str += QString(
"tag(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
792 str.append(
" Dumping\n");
800 QString str = QString(
"SupplementaryAudioDescriptor ");
801 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
804 str += QString(
"\n ");
805 str += QString(
"mix_type(%1) ").arg(
MixType());
807 str += QString(
"\n ");
814 str.append(
" Dumping\n");
822 QString str = QString(
"NetworkChangeNotiyDescriptor ");
823 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
826 str.append(
" Dumping\n");
834 QString str = QString(
"MessageDescriptor ");
835 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
838 str += QString(
"\n ");
839 str += QString(
"message_id(%1) ").arg(
MessageID());
841 str += QString(
"\n ");
842 str += QString(
"text_char(\"%1\")").arg(
Message());
844 str.append(
" Dumping\n");
852 QString str = QString(
"TargetRegionDescriptor ");
853 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
856 str += QString(
"\n ");
861 str.append(
" Dumping\n");
869 QString str = QString(
"TargetRegionNameDescriptor ");
870 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
873 str += QString(
"\n ");
879 str.append(
" Dumping\n");
887 QString str = QString(
"ServiceRelocatedDescriptor ");
888 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
891 str += QString(
"\n ");
894 str += QString(
"old_service_id(%1) ").arg(
OldServiceID());
896 str.append(
" Dumping\n");
904 QString str = QString(
"C2DeliverySystemDescriptor ");
905 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
911 str.append(
" Dumping\n");
919 QString str = QString(
"S2XSatelliteDeliverySystemDescriptor ");
920 str += QString(
"(0x%1 ").arg(
DescriptorTag(),2,16,QChar(
'0'));
926 str.append(
" Dumping\n");
933 QString ret =
"UKChannelListDescriptor sid->chan_num: ";
937 ret += (i+1 <
ChannelCount()) ? ((i+4)%10) ?
", " :
",\n " :
"";
944 QString ret =
"DVBSimulcastChannelDescriptor sid->chan_num: ";
948 ret += (i+1 <
ChannelCount()) ? ((i+3)%10) ?
", " :
",\n " :
"";
955 QString ret =
"Sky Logical Channel Number Descriptor ";
956 ret += QString(
"(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
959 ret += QString(
"\n RegionID (%1) (0x%2) Raw (0x%3)")
964 ret += QString(
"\n ServiceID (%1) (0x%2) ").arg(
ServiceID(i)).arg(
ServiceID(i),4,16,QChar(
'0'));
965 ret += QString(
"ServiceType (0x%1) ").arg(
ServiceType(i),2,16,QChar(
'0'));
967 ret += QString(
"ChannelID(0x%1) ").arg(
ChannelID(i),4,16,QChar(
'0'));
968 ret += QString(
"Flags(0x%1) ").arg(
Flags(i),4,16,QChar(
'0'));
976 QString ret =
"Freesat Logical Channel Number Descriptor ";
977 ret += QString(
"(0x%1)").arg(
DescriptorTag(),2,16,QChar(
'0'));
982 ret += QString(
"\n ServiceID (%1) (0x%2) ").arg(
ServiceID(i)).arg(
ServiceID(i),4,16,QChar(
'0'));
983 ret += QString(
"ChanID (0x%1)").arg(
ChanID(i), 4, 16, QChar(
'0'));
994 QString ret =
"Freesat Region Descriptor ";
995 ret += QString(
"(0x%1)").arg(
DescriptorTag(),2,16,QChar(
'0'));
1003 ret += QString(
"\n Region (%1) (%2) '%3'")
1004 .arg(region_id,2).arg(language, region_name);
1011 QString ret = QString(
"Freesat Callsign Descriptor ");
1012 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
1020 QString ret = QString(
"OpenTV ChannelList Descriptor region: %1 sid->chan_num(id): ").arg(
RegionID());
1031 QString ret = QString(
"ApplicationSignallingDescriptor ");
1032 ret += QString(
"tag(0x%1) ").arg(
DescriptorTag(),2,16,QChar(
'0'));
1045 QString ret = QString(
"CAIdentifierDescriptor ");
1048 ret += QString(
"ca_system_id(0x%1) ")
1056 QString ret = QString(
"DataBroadcastDescriptor: "
1057 "data_broadcast_id(%1) "
1058 "component_tag(%1) ")
1062 ret += QString(
"selector(0x ");
1064 ret += QString(
"%1 ").arg(
Selector()[i], 0, 16);
1067 ret += QString(
"ISO_639_language_code(%1) ")
1070 ret += QString(
"text(%1) ") +
Text();
1077 QString ret = QString(
"LocalTimeOffsetDescriptor ");
1079 for (
uint i = 0; i < count; ++i)
1081 ret += QString(
"country_code(%1) country_region_id(0x%2) "
1082 "local_time_offset_with_polarity(%3) "
1083 "time_of_change(TODO)")
1094 QString ret = QString(
"NVODReferenceDescriptor ");
1097 ret += QString(
"transport_stream_id(0x%1) original_network_id(0x%2) "
1098 "service_id(0x%3) ")
1108 return QString(
"PartialTransportStreamDescriptor peak_rate(%1) "
1109 "min_overall_smooth_rate(%2) max_overall_smooth_buf(3)")
1115 QString ret = QString(
"AC-3 Descriptor ");
1118 ret += QString(
"type(0x%1) ").arg(
ComponentType(), 2, 16, QChar(
'0'));
1120 ret += QString(
"bsid(0x%1) ").arg(
BSID(), 2, 16, QChar(
'0'));
1122 ret += QString(
"mainid(0x%1) ").arg(
MainID(), 2, 16, QChar(
'0'));
1124 ret += QString(
"asvc(0x%1) ").arg(
ASVC(), 2, 16, QChar(
'0'));
1130 QMultiMap<QString, QString> ret;
1140 index += 1 +
m_data[7 + index];
1142 index += 1 +
m_data[7 + index];
1143 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 toString(void) const override
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
uint Flags(size_t i) const
QString toString(void) const override
uint LogicalChannelNumber(size_t i, size_t j) const
uint NotTimesliceFlag() const
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
QString toString(void) const override
QString BandwidthString(void) const
uint RegionID(size_t i, size_t j) 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
uint MultipleInputStreamFlag() 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
uint ChanID(size_t i) const
QString ConstellationString(void) const
@ kHandOverAssociatedService
QString FECInnerString(void) const
uint OriginalNetworkId(uint i) const
QString LanguageString(uint i) const
std::vector< const unsigned char * > m_subCellPtrs
@ kHandOverLocalVariation
uint DescriptorTagExtension(void) const
uint AITVersionNumber(uint i) const
uint LanguageCodePresent(void) const
uint PeakRate(void) const
static volatile bool s_categoryDescExists
const iso6937table iso6937table_base
QString toString(void) const override
QString toString(void) const override
QString SisoMisoString(void) const
QString LanguageString(void) const
static QMutex s_categoryLock
QString myth_category_type_to_string(ProgramInfo::CategoryType category_type)
uint TransportStreamId(uint i) const
const unsigned char * Selector(void) const
uint ComponentType(void) 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
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
uint LogicalChannelNumber(size_t i) 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
uint LCNCount(size_t 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
uint ChannelID(size_t i) const
uint ServiceID(size_t i) const
QString toString(void) const
uint MobileHandOverType(void) const
QString toString(void) const override
QString toString(void) const override
uint RegionID(void) const
uint ServiceID(size_t i) 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
uint64_t FrequencykHz(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
QString toString(void) const override
QString toString(void) const override
uint CompositionPageID(uint i) const
QString ModulationString(void) const
uint EditorialClassification(void) const
uint ServiceType(size_t i) 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 ScramblingSequenceSelector() const
uint OldOriginalNetworkID(void) const