Go to the documentation of this file.
27 return QString(
"CarrierDefinitionSubtable number_of_carriers(%1)")
36 QString str = indent_0 +
37 QString(
"<CarrierDefinition descriptors_count=\"%2\" ")
40 str +=
"\n" + indent_1;
41 str += QString(R
"(spacing_unit="%1" spacing_unit_hz="%2")")
43 str += "\n" + indent_1;
44 str += QString(R
"(frequency_spacing="%1" frequency_spacing_hz="%2")")
46 str += "\n" + indent_1;
47 str += QString(R
"(frequency_unit="%1" frequency_unit_hz="%2")")
49 str += "\n" + indent_1;
50 str += QString(
"first_carrier_frequency=\"%1\" "
51 "first_carrier_frequency_hz=\"%2\">\n")
55 std::vector<const unsigned char*> desc =
62 return str + indent_0 +
"</CarrierDefinition>";
72 case kTSITUQPSK:
return "ITU 1211 (QPSK Satelite)";
91 case kNone:
return "None";
101 case kQPSK:
return "QPSK";
102 case kBPSK:
return "BPSK";
103 case kOQPSK:
return "OQPSK";
104 case kVSB8:
return "8-VSB";
105 case kVSB16:
return "16-VSB";
106 case kQAM16:
return "QAM-16";
107 case kQAM32:
return "QAM-32";
108 case kQAM64:
return "QAM-64";
109 case kQAM80:
return "QAM-80";
110 case kQAM96:
return "QAM-96";
111 case kQAM112:
return "QAM-112";
112 case kQAM128:
return "QAM-128";
113 case kQAM160:
return "QAM-160";
114 case kQAM192:
return "QAM-192";
115 case kQAM224:
return "QAM-224";
116 case kQAM256:
return "QAM-256";
117 case kQAM320:
return "QAM-320";
118 case kQAM384:
return "QAM-384";
119 case kQAM448:
return "QAM-448";
120 case kQAM512:
return "QAM-512";
121 case kQAM640:
return "QAM-640";
122 case kQAM768:
return "QAM-768";
123 case kQAM896:
return "QAM-896";
131 return "ModulationMode";
138 QString str = indent_0 +
139 QString(
"<ModulationMode descriptors_count=\"%2\"")
141 str +=
"\n" + indent_1;
142 str += QString(R
"(transmission_system="%1" transmission_system_desc="%2")")
144 str += "\n" + indent_1;
145 str += QString(R
"(inner_coding_mode="%1" inner_coding_mode_desc="%2")")
147 str += "\n" + indent_1;
148 str += QString(
"split_bitstream_mode=\"%1\" ")
150 str += QString(
"symbol_rate=\"%1\"").arg(
SymbolRate());
152 std::vector<const unsigned char*> desc =
159 for (
auto &
d : desc)
165 return str + indent_0 +
"</ModulationMode>";
176 const unsigned char *next =
pesdata() + 7;
180 uint desc_count = next[offset-1];
182 for (
uint j = 0; j < desc_count; j++)
202 QString str = QString(
"Network Information Section (SCTE) crc(0x%1)\n")
203 .arg(
CRC(),8,16,QChar(
'0'));
204 str += QString(
"first_index(%1) number_of_records(%2) table_subtype(%3)\n")
225 QString str = indent_0 +
"<SCTENetworkInformationSection psip=\"scte\" ";
227 str += QString(
"first_index=\"%1\" ").arg(
FirstIndex());
228 str +=
"\n" + indent_1;
230 str += QString(
"table_subtype=\"%1\"").arg(
TableSubtype());
244 std::vector<const unsigned char*> desc =
246 for (
auto &
d : desc)
252 return str + indent_0 +
"</SCTENetworkInformationSection>";
265 return QString(
"Network Text Section crc(0x%1)\n")
266 .arg(
CRC(),8,16,QChar(
'0'));
273 QString str = indent_0 +
"<NetworkTextSection ";
274 str += QString(
"iso_639_language_code=\"%1\" ").arg(
LanguageString());
276 str += QString(
"table_subtype=\"%1\"").arg(
TableSubtype());
305 bool descriptors_included = (
pesdata()[7] & 0x20) != 0;
307 const unsigned char *next =
pesdata() + 14;
311 if (!descriptors_included)
313 for (
uint i = 0; i < number_of_vc_records && ok; i++)
315 if (next + 10 >= end)
327 for (
uint i = 0; i < number_of_vc_records; i++)
330 uint desc_count = next[10];
332 for (
uint j = 0; j < desc_count; j++)
350 if (!ok || next >= end)
372 QString str = indent_0 +
"<DefinedChannelsMap ";
373 str += QString(
"first_virtual_channel=\"%1\" ")
375 str += QString(
"dcm_data_length=\"%1\">\n")
380 str += indent_1 + QString(
"<Range range_defined=\"%1\"%2 "
381 "channels_count=\"%3\" />\n")
387 return str + indent_0 +
"</DefinedChannelsMap>";
394 case kNTSC:
return "NTSC";
395 case kPAL625:
return "PAL-625";
396 case kPAL525:
return "PAL-525";
397 case kSECAM:
return "SECAM";
398 case kMAC:
return "MAC";
399 default:
return QString(
"Reserved(%1)").arg(
VideoStandard(i));
408 QString str = indent_0 +
"<DefinedChannelsMap ";
409 str += QString(
"number_of_vc_records=\"%1\"")
411 str +=
"\n" + indent_1;
412 str += QString(
"descriptors_included=\"%1\" ")
414 str += QString(
"splice=\"%1\" ")
416 str +=
"\n" + indent_1;
417 str += QString(R
"(activation_time="%1" actication_time_desc="%2")")
424 str += indent_1 +
"<Channel ";
425 str += QString(
"virtual_channel_number=\"%1\" ")
427 str +=
"\n" + indent_2;
428 str += QString(
"application_virtual_channel=\"%1\" ")
430 str += QString(
"path_select=\"%1\" ").arg(
PathSelect(i));
431 str +=
"\n" + indent_2;
432 str += QString(R
"(transport_type="%1" transport_type_desc="%2" )")
434 str += "\n" + indent_2;
435 str += QString(R
"(channel_type="%1" channel_type_desc="%2" )")
438 str += QString(
"application_id=\"%1\" ").arg(
ApplicationID(i));
440 str += QString(
"source_id=\"%1\" ").arg(
SourceID(i));
441 str +=
"\n" + indent_2;
444 str += QString(
"cds_reference=\"%1\" ").arg(
CDSReference(i));
445 str += QString(
"program_number=\"%1\" ").arg(
ProgramNumber(i));
446 str += QString(
"mms_reference=\"%1\" ").arg(
MMSReference(i));
450 str += QString(
"cds_reference=\"%1\" ").arg(
CDSReference(i));
451 str += QString(
"scrampled=\"%1\" ").arg(
static_cast<int>(
Scrambled(i)));
452 str +=
"\n" + indent_2;
453 str += QString(R
"(video_standard="%1" video_standard_desc="%2" )")
462 str +=
"\n" + indent_2;
466 std::vector<const unsigned char*> desc =
468 for (
auto &
d : desc)
473 str += indent_1 +
"</Channel>";
476 return str + indent_0 +
"</DefinedChannelsMap>";
483 QString str = indent_0 +
"<InverseChannelMap ";
484 str += QString(
"first_map_index=\"%1\" ")
486 str += QString(
"record_count=\"%1\">\n")
491 str += indent_1 + QString(
"<Map source_id=\"%1\" "
492 "virtual_channel_number=\"%2\" />\n")
496 return str + indent_0 +
"</InverseChannelMap>";
506 default:
return QString(
"Reserved(%1)").arg(
TableSubtype());
513 return QString(
"Short Virtual Channel Section ID(%1) crc(0x%2)\n")
514 .arg(
ID()).arg(
CRC(),8,16,QChar(
'0'));
521 QString str = indent_0 +
522 QString(
"<ShortVirtualChannelSection vct_id=\"%1\" ").arg(
ID());
524 str +=
"\n" + indent_1;
525 str += QString(R
"(table_subtype="%1" table_subtype_desc="%2")")
536 std::vector<const unsigned char*> desc =
538 for (
auto &
d : desc)
544 return str + indent_0 +
"</ShortVirtualChannelSection>";
552 QString(
"SystemTimeSection (SCTE) raw(%1) GPS_UTC_Offset(%2) utc(%3_")
562 QString str = indent_0 +
563 QString(
"<SCTESystemTimeSection system_time=\"%1\" "
564 "gps_utc_offset=\"%2\"\n%3utc_time_desc=\"%4\" psip=\"scte\"")
574 std::vector<const unsigned char*> desc =
576 for (
auto &
d : desc)
582 return str + indent_0 +
"</SCTESystemTimeSection>";
590 return "Aggregate Data Event Section\n";
596 return "<AggregateDataEventSection />";
uint NumberOfCarriers(void) const
@ kTSDigiCipher
from SCTE 57 – DigiCipher II
uint VirtualChannelNumber(uint i) const
uint FirstVirtualChannel(void) const
QString toString(const QDateTime &raw_dt, uint format)
Returns formatted string representing the time.
uint DescriptorsLength(void) const
bool DescriptorsIncluded(void) const
QString toStringXML(uint indent_level) const
QString toStringXML(uint indent_level) const override
bool ApplicationVirtualChannel(uint i) const
static QString toString(void)
QString VideoStandardString(uint i) const
QString toString(void) const override
QString TransportTypeString(uint i) const
uint NumberOfVCRecords(void) const
const unsigned char * pesdata() const
QString toString(void) const override
uint SpacingUnit(void) const
uint ModulationFormat(void) const
uint TransmissionMedium(void) const
QString ModulationFormatString(void) const
uint ProgramNumber(uint i) const
QString indentSpaces(unsigned int level, unsigned int size=4)
const unsigned char * Descriptors(void) const
DefinedChannelsMapSubtable DefinedChannelsMap(void) const
uint ChannelType(uint i) const
uint DescriptorsCount(void) const
QString ChannelTypeString(uint i) const
QString TableSubtypeString(void) const
QString toStringXML(uint indent_level) const
uint MMSReference(uint i) const
uint InnerCodingMode(void) const
QString toStringXML(uint indent_level) const override
QDateTime ActivationTimeUTC(uint offset=0) const
uint TransportType(uint i) const
virtual QString toStringXML(uint indent_level) const
Returns XML representation of string the TS Reader XML format.
uint FrequencyUnitHz(void) const
uint TransmissionSystem(void) const
uint DescriptorsLength(void) const
uint SymbolRate(void) const
static desc_list_t Parse(const unsigned char *data, uint len)
uint FirstCarrierFrequency(void) const
uint FrequencyUnit(void) const
QString toStringXML(uint indent_level) const
uint FrequencySpacingHz(void) const
VirtualChannelMapSubtable VirtualChannelMap(void) const
uint SpacingUnitHz(void) const
bool RangeDefined(uint i) const
const unsigned char * Descriptors(uint i) const
bool Scrambled(uint i) const
uint SourceID(uint i) const
uint DescriptorsLength(void) const
@ kTSITUAnnexA
Specified in Annex A of ITU Rec. J.83.
@ kTSITUQPSK
ITU-R Rec. BO.1211:1995 (QPSK)
uint VideoStandard(uint i) const
uint ApplicationID(uint i) const
uint DescriptorsLength(uint i) const
InverseChannelMapSubtable InverseChannelMap(void) const
uint DCMDataLength(void) const
QString toStringXML(uint indent_level) const
QString toStringXML(uint indent_level) const
uint TableSubtype(void) const
uint DescriptorsCount(uint i) const
const unsigned char * Descriptors(void) const
uint FrequencySpacing(void) const
uint TableSubtype(void) const
uint ChannelsCount(uint i) const
@ kTSITUAnnexB
Specified in Annex B of ITU Rec. J.83.
uint64_t FirstCarrierFrequencyHz(void) const
uint VirtualChannelNumber(uint i) const
std::vector< const unsigned char * > m_ptrs
QString LanguageString(void) const
QString XMLValues(uint indent_level) const
uint PathSelect(uint i) const
static const iso6937table * d
uint FirstMapIndex(void) const
QString toString(void) const
SCTE System information tables.
QString bool_to_string(bool val)
This is equivalent to QVariant(bool).toString()
QString toString(void) const override
uint DescriptorsCount(void) const
uint CDSReference(uint i) const
QString TransmissionSystemString(void) const
const unsigned char * Descriptors(void) const
uint RecordCount(void) const
bool SplitBitstreamMode(void) const
uint ActivationTimeRaw(void) const
uint SourceID(uint i) const
QString InnerCodingModeString(void) const
uint TransmissionMedium(void) const
QString toStringXML(uint indent_level) const override