Go to the documentation of this file.
3 #ifndef MPEG_DESCRIPTORS_H
4 #define MPEG_DESCRIPTORS_H
305 operator const unsigned char*()
const {
return m_data; }
309 if ((len < 2) || (
int(DescriptorLength()) + 2) > len)
314 if ((data.size() < 2) ||
315 ((
static_cast<size_t>(DescriptorLength()) + 2) > data.size()))
319 int len,
uint tag) : m_data(data)
321 if ((len < 2) || ((
int(DescriptorLength()) + 2) > len)
322 || (DescriptorTag() != tag))
327 if ((data.size() < 2) ||
328 ((
static_cast<size_t>(DescriptorLength()) + 2) > data.size())
329 || (DescriptorTag() != tag))
333 int len,
uint tag,
uint req_desc_len) : m_data(data)
335 if ((len < 2) || ((
int(DescriptorLength()) + 2) > len)
336 || (DescriptorTag() != tag)
337 || (DescriptorLength() != req_desc_len))
343 uint size(
void)
const {
return DescriptorLength() + 2; }
348 QString DescriptorTagString(
void)
const;
350 virtual QString
toString(
void)
const;
351 virtual QString toStringPD(
uint priv_dsid)
const;
352 virtual QString toStringXML(
uint indent_level)
const;
355 static desc_list_t ParseAndExclude(
const unsigned char *data,
uint len,
356 int excluded_descid);
357 static desc_list_t ParseOnlyInclude(
const unsigned char *data,
uint len,
358 int excluded_descid);
360 static const unsigned char *Find(
const desc_list_t &parsed,
uint desc_tag);
361 static const unsigned char *FindExtension(
const desc_list_t &parsed,
uint desc_tag);
364 static const unsigned char *FindBestMatch(
373 QString hexdump(
void)
const;
374 QString descrDump(
const QString &name)
const;
418 bool ID(
void)
const {
return (
m_data[2] & 0x40) != 0; }
445 return QString(
"") + QChar(
m_data[2]) + QChar(
m_data[3]) +
564 QString
toString(
void)
const override;
593 const {
return (
m_data[5]&0x20 ) != 0; }
678 #endif // MPEG_DESCRIPTORS_H
@ dvb_time_shifted_service
bool StillPictureFlag(void) const
VideoStreamDescriptor(const unsigned char *data, int len=300)
QString toString() const override
int iso639_key_to_canonical_key(int iso639_2)
QString toString(const QDateTime &raw_dt, uint format)
Returns formatted string representing the time.
bool ExternalClockReferenceIndicator(void) const
QString CanonicalLanguageString(void) const
@ satellite_delivery_system
uint ProfileSpace(void) const
uint DescriptorTag(void) const
@ multiprotocol_encapsulation
uint DescriptorLength(void) const
uint ClockAccuracyInteger(void) const
@ multiplex_buffer_utilization
MPEGDescriptor(const std::vector< uint8_t > &data)
@ atsc_time_shifted_service
uint ProfileIDC(void) const
bool VariableRateAudioIndicator(void) const
SmoothingBufferDescriptor(const unsigned char *data, int len=300)
@ ci_protection_descriptor
@ partial_transport_stream
bool FramePackingSEINotPresentFlag(void) const
QString toString() const override
uint MaximumBitrate(void) const
QString toString() const override
DataStreamAlignmentDescriptor(const unsigned char *data, int len=300)
bool HRDManagementValid(void) const
QString toString() const override
@ terrestrial_delivery_system
bool FrameRateExtensionFlag(void) const
@ multilingual_network_name
@ nordig_content_protection
uint DataSize(void) const
uint ClockAccuracyExponent(void) const
QString toString() const override
QString FormatIdentifierString(void) const
@ deferred_association_tag
uint ChromaFormat(void) const
SystemClockDescriptor(const unsigned char *data, int len=300)
uint FrameRateCode(void) const
bool HasPictureAndTimingInfo(void) const
MPEGDescriptor(const unsigned char *data, int len, uint tag)
@ s2x_satellite_delivery_system
const unsigned char * CodeRaw() const
const unsigned char * Data(void) const
@ atsc_program_identifier
@ atsc_content_identifier
uint SystemID(void) const
@ scte_revision_detection
bool MPEG1OnlyFlag(void) const
AVCVideoDescriptor(const unsigned char *data, int len=300)
MPEGDescriptor(const std::vector< uint8_t > &data, uint tag)
const unsigned char * m_data
RegistrationDescriptor(const unsigned char *data, int len=300)
@ ziggo_package_descriptor
std::vector< const unsigned char * > desc_list_t
ISO 13818-1:2000/Amd.3:2004 page 12 ISO/IEC 13818-1:2019 (E) p 103.
uint SBLeakRate(void) const
@ s2_satellite_delivery_system
QString toString() const override
@ dvb_simulcast_channel_descriptor
bool AVC24HourPicture(void) const
bool FreeFormatFlag(void) const
AVCTimingAndHRDDescriptor(const unsigned char *data, int len=300)
bool MultipleFrameRateFlag(void) const
ISO639LanguageDescriptor(const unsigned char *data, int len=300)
bool ConstraintSet2(void) const
uint DescriptorTagExtension(void) const
@ atsc_private_information
HEVCVideoDescriptor(const unsigned char *data, int len=300)
static QString iso639_key_to_str3(int code)
uint FormatIdentifier(void) const
@ multilingual_bouquet_name
ISO 13818-1:2013/FDAM 3 (E) page 7 ISO/IEC 13818-1:2019 (E) page 121.
int LanguageKey(void) const
QString LanguageString(void) const
@ time_slice_fec_identifier
AudioStreamDescriptor(const unsigned char *data, int len=300)
bool AVCStill(void) const
@ dvb_logical_channel_descriptor
@ upc_event_episode_title
@ premiere_content_transmission
int CanonicalLanguageKey(void) const
MaximumBitrateDescriptor(const unsigned char *data, int len=300)
static void InitializeDescriptionMap(void)
uint AlignmentType(void) const
QString toString(void) const override
MPEGDescriptor(const unsigned char *data, int len, uint tag, uint req_desc_len)
QString toString() const override
ISO 13818-1:2000/Amd.3:2004 page 11.
@ multilingual_service_name
ISO 639-1 and ISO 639-2 support functions.
uint AVCCompatible(void) const
bool ConstraintSet1(void) const
static bool description_map_initialized
static QString GetDescription(const QString &fmt)
QString toString() const override
@ scte_transport_stream_id
@ freesat_chan_cat_mapping
ConditionalAccessDescriptor(const unsigned char *data, int len=300)
QString toString() const override
uint ProfileIDC(void) const
@ premiere_parental_information
static QMutex description_map_lock
QString toString() const override
static int iso639_str3_to_key(const unsigned char *iso639_2)
uint ProfileAndLevelIndication(void) const
MPEGDescriptor(const unsigned char *data, int len=300)
static QMap< QString, QString > description_map
bool ConstrainedParameterFlag(void) const
@ c2_bundle_delivery_system
bool ConstraintSet0(void) const
uint LevelIDC(void) const