QString TerrestrialVirtualChannelTable::ChannelString(uint chan) const { QString str; str.append(QString(" Channel #%1 ").arg(chan)); str.append(QString("name(%1) %2-%3 ").arg(ShortChannelName(chan)) .arg(MajorChannel(chan)).arg(MinorChannel(chan))); str.append(QString("mod(%1) ").arg(ModulationModeString(chan))); str.append(QString("cTSID(0x%1)\n") .arg(ChannelTransportStreamID(chan),4,16,QChar('0'))); str.append(QString(" pnum(%1) ").arg(ProgramNumber(chan))); str.append(QString("ETM_loc(%1) ").arg(ETMlocation(chan))); str.append(QString("access_ctrl(%1) ").arg(IsAccessControlled(chan))); str.append(QString("hidden(%1) ").arg(IsHidden(chan))); str.append(QString("hide_guide(%1) ").arg(IsHiddenInGuide(chan))); str.append(QString("service_type(%1)\n").arg(ServiceTypeString(chan))); str.append(QString(" source_id(%1)\n").arg(SourceID(chan))); if (0 != DescriptorsLength(chan)) { str.append(QString(" descriptors length(%1) ") .arg(DescriptorsLength(chan))); vector<const unsigned char*> desc = MPEGDescriptor::Parse(Descriptors(chan), DescriptorsLength(chan)); str.append(QString("count:%1\n").arg(desc.size())); for (uint i = 0; i < desc.size(); i++) { str.append(QString(" %1\n") .arg(MPEGDescriptor(desc[i]).toString())); } } return str; }
QString CableVirtualChannelTable::toString(int chan) const { static QString modnames[6] = { QObject::tr("[Reserved]"), QObject::tr("Analog"), QObject::tr("SCTE mode 1"), QObject::tr("SCTE mode 2"), QObject::tr("ATSC 8-VSB"), QObject::tr("ATSC 16-VSB"), }; static QString servicenames[5] = { QObject::tr("[Reserved]"), QObject::tr("Analog"), QObject::tr("ATSC TV"), QObject::tr("ATSC Audio"), QObject::tr("ATSC Data"), }; QString str; str.append(QString("Channel #%1 ").arg(chan)); str.append(QString("name(%1) %2-%3 ").arg(ShortChannelName(chan)) .arg(MajorChannel(chan)).arg(MinorChannel(chan))); if (ModulationMode(chan) > 5) str.append(QString("mod(UNKNOWN %1) ").arg(ModulationMode(chan))); else str.append(QString("mod(%1) ").arg(modnames[ModulationMode(chan)])); str.append(QString("cTSID(0x%1)\n") .arg(ChannelTransportStreamID(chan), 0, 16)); str.append(QString(" pnum(%1) ").arg(ProgramNumber(chan))); str.append(QString("ETM_loc(%1) ").arg(ETMlocation(chan))); str.append(QString("access_ctrl(%1) ").arg(IsAccessControlled(chan))); str.append(QString("hidden(%1)\n").arg(IsHidden(chan))); str.append(QString("path_select(%1) ").arg(IsPathSelect(chan))); str.append(QString("out_of_band(%1) ").arg(IsOutOfBand(chan))); str.append(QString("hide_guide(%1) ").arg(IsHiddenInGuide(chan))); if (ServiceType(chan) > 4) str.append(QString("service_type(UNKNOWN %1) ").arg(ServiceType(chan))); else str.append(QString("service_type(%1) ").arg(servicenames[ServiceType(chan)])); str.append(QString("source_id(%1)\n").arg(SourceID(chan))); if (0 != DescriptorsLength(chan)) { str.append(QString(" descriptors length(%1) ") .arg(DescriptorsLength(chan))); vector<const unsigned char*> desc = MPEGDescriptor::Parse(Descriptors(chan), DescriptorsLength(chan)); str.append(QString("count(%1)\n").arg(desc.size())); for (uint i = 0; i < desc.size(); i++) str.append(QString(" %1\n") .arg(MPEGDescriptor(desc[i]).toString())); } return str; }
QString VirtualChannelTable::XMLChannelValues( uint indent_level, uint chan) const { QString indent_0 = xml_indent(indent_level); QString str; str += QString("short_channel_name=\"%1\" ").arg(ShortChannelName(chan)); str += "\n" + indent_0; str += QString("modulation=\"0x%1\" modulation_desc=\"%2\" ") .arg(ModulationMode(chan),2,16,QChar('0')) .arg(ModulationModeString(chan)); str += QString("channel_tsid=\"0x%1\"") .arg(ChannelTransportStreamID(chan),4,16,QChar('0')); str += "\n" + indent_0; str += QString("program_number=\"%1\" ").arg(ProgramNumber(chan)); str += QString("etm_location=\"%1\" ").arg(ETMlocation(chan)); str += QString("access_controlled=\"%1\"") .arg(xml_bool_to_string(IsAccessControlled(chan))); str += "\n" + indent_0; str += QString("hidden=\"%1\" ") .arg(xml_bool_to_string(IsHidden(chan))); str += QString("hide_guide=\"%1\"") .arg(xml_bool_to_string(IsHiddenInGuide(chan))); str += "\n" + indent_0; str += QString("service_type=\"0x%1\" service_type_desc=\"%2\"") .arg(ServiceType(chan),2,16,QChar('0')) .arg(ServiceTypeString(chan)); str += "\n" + indent_0; str += QString("source_id=\"0x%1\"") .arg(SourceID(chan),4,16,QChar('0')); return str; }