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
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
@ kTSITUAnnexA
Specified in Annex A of ITU Rec. J.83.
bool Scrambled(uint i) const
uint SourceID(uint i) const
uint DescriptorsLength(void) const
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
@ kTSDigiCipher
from SCTE 57 – DigiCipher II
uint TableSubtype(void) const
uint ChannelsCount(uint i) const
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
@ kTSITUQPSK
ITU-R Rec. BO.1211:1995 (QPSK)
uint PathSelect(uint i) const
static const iso6937table * d
uint FirstMapIndex(void) const
@ kTSITUAnnexB
Specified in Annex B of ITU Rec. J.83.
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