TSDuck v3.40-4025
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts Namespace Reference

TSDuck namespace, containing all TSDuck classes and functions. More...

Namespaces

namespace  duck
 Definitions of the TSDuck internal messaging protocol.
 
namespace  ecmgscs
 Definitions of the DVB SimulCrypt ECMG <=> SCS protocol.
 
namespace  emmgmux
 Definitions of the DVB SimulCrypt EMMG <=> MUX protocol.
 
namespace  hls
 Namespace for HTTP Live Streaming (HLS) classes.
 
namespace  json
 Namespace for JSON (JavaScript Object Notation) classes.
 
namespace  names
 Namespace for functions returning Digital TV names.
 
namespace  pcsc
 PC/SC smartcard API utilities.
 
namespace  tlv
 Namespace for TLV protocols (Tag / Length / Value)
 
namespace  xml
 Namespace for XML classes.
 

Classes

class  AACDescriptor
 Representation of an AAC_descriptor. More...
 
class  AbortInterface
 An interface to check for abort. More...
 
class  AbstractAudioVideoAttributes
 Abstract base class for MPEG audio and video attributes. More...
 
class  AbstractAVCAccessUnit
 Base class for AVC access units, aka NALunits. More...
 
class  AbstractDatagramInputPlugin
 Abstract base class for input plugins receiving real-time datagrams. More...
 
class  AbstractDefinedByStandards
 Abstract base class for objects which are defined by standards. More...
 
class  AbstractDeliverySystemDescriptor
 Abstract base class for DVB delivery system descriptors. More...
 
class  AbstractDemux
 Abstract base class for all sorts of demux from TS packets. More...
 
class  AbstractDescrambler
 Abstract base class for DVB descrambler plugins. More...
 
class  AbstractDescriptor
 Abstract base class for MPEG PSI/SI descriptors. More...
 
class  AbstractDescriptorsTable
 Base class for MPEG tables containing only a list of descriptors (eg. More...
 
class  AbstractDownloadContentDescriptor
 Base class for ISDB download content descriptors. More...
 
class  AbstractDuplicateRemapPlugin
 Abstract base class for the plugins duplicate and remap. More...
 
class  AbstractHEVCAccessUnit
 Base class for HEVC access units, aka NALunits. More...
 
class  AbstractHTTPInputPlugin
 Abstract base class for HTTP-based input plugins. More...
 
class  AbstractLogicalChannelDescriptor
 Abstract representation of a logical_channel_descriptor for different private data specifiers. More...
 
class  AbstractLongTable
 Abstract base class for MPEG PSI/SI tables with long sections. More...
 
class  AbstractMultilingualDescriptor
 Abstract base class for DVB descriptors with a multilingual name. More...
 
class  AbstractNetworkAddress
 Abstract base class for all network address and socket address classes. More...
 
class  AbstractNumber
 Abstract base class for different representations of "numbers". More...
 
class  AbstractOutputStream
 Intermediate abstract class to help implementing std::ostream. More...
 
class  AbstractPacketizer
 Abstract superclass for packetizer classes (sections or PES packets). More...
 
class  AbstractPreferredNameIdentifierDescriptor
 Abstract representation of a preferred_name_identifier_descriptor for different private data specifiers. More...
 
class  AbstractPreferredNameListDescriptor
 Abstract representation of a preferred_name_list_descriptor for different private data specifiers. More...
 
class  AbstractReadStreamInterface
 Abstract interface to read raw data from a stream. More...
 
class  AbstractSignalization
 Abstract base class for MPEG PSI/SI tables and descriptors. More...
 
class  AbstractTable
 Abstract base class for MPEG PSI/SI tables. More...
 
class  AbstractTablePlugin
 Abstract base class for plugins which process one type of table (PAT, CAT, etc.) More...
 
class  AbstractTransportListTable
 Abstract base class for tables containing a list of transport stream descriptions. More...
 
class  AbstractVideoAccessUnit
 Base class for video access units, aka NALunits. More...
 
class  AbstractVideoData
 Abstract base class for AVC data, either access units or structures. More...
 
class  AbstractVideoStructure
 Base class for sub-structures inside video access units. More...
 
class  AbstractVVCAccessUnit
 Base class for VVC (H.266) access units, aka NALunits. More...
 
class  AbstractWriteStreamInterface
 Abstract interface to write raw data on a stream. More...
 
class  AC3Attributes
 AC-3 (DD) and Enhanced-AC-3 (DD+) audio attributes. More...
 
class  AccessUnitIterator
 Iterator for common AVC/HEVC/VVC video access units. More...
 
class  AdaptationFieldDataDescriptor
 Representation of a adaptation_field_data_descriptor. More...
 
class  AES128
 AES-128 block cipher. More...
 
class  AES256
 AES-256 block cipher. More...
 
class  AFExtensionsDescriptor
 Representation of an MPEG-defined af_extensions_descriptor. More...
 
class  AIT
 Representation of an Application Information Table (AIT) More...
 
class  AncillaryDataDescriptor
 Representation of a ancillary_data_descriptor. More...
 
class  AnnouncementSupportDescriptor
 Representation of a announcement_support_descriptor. More...
 
class  ApplicationDescriptor
 Representation of an application_descriptor (AIT specific). More...
 
class  ApplicationIconsDescriptor
 Representation of an application_icons_descriptor (AIT specific). More...
 
class  ApplicationIdentifier
 Representation of an Application Identifier. More...
 
class  ApplicationNameDescriptor
 Representation of an application_name_descriptor (AIT specific). More...
 
class  ApplicationRecordingDescriptor
 Representation of an application_recording_descriptor (AIT specific). More...
 
class  ApplicationSharedLibrary
 Representation of an application shared library. More...
 
class  ApplicationSignallingDescriptor
 Representation of an application_signalling_descriptor. More...
 
class  ApplicationStorageDescriptor
 Representation of an application_storage_descriptor (AIT specific). More...
 
class  ApplicationUsageDescriptor
 Representation of an application_usage_descriptor (AIT specific). More...
 
class  AreaBroadcastingInformationDescriptor
 Representation of an ISDB area_broadcasting_information_descriptor. More...
 
class  ArgMix
 Base class for elements of an argument list with mixed types. More...
 
class  ArgMixIn
 Define an element of an argument list with mixed integer and string input types. More...
 
class  ArgMixOut
 Define an element of an argument list with integer output types of mixed sizes. More...
 
class  Args
 An encapsulation of command line syntax and analysis. More...
 
class  ArgsWithPlugins
 Command line arguments for commands with plugins. More...
 
class  ARIBCharset
 Definition of the ARIB STD-B24 character set (ISDB Japan). More...
 
struct  Assign
 Assign ("=") functor. More...
 
struct  AssignAnd
 Assign with binary and ("&=") functor. More...
 
struct  AssignOr
 Assign with binary or ("|=") functor. More...
 
struct  AssignXor
 Assign with binary exclusive or ("^=") functor. More...
 
class  AssociationTagDescriptor
 Representation of an association_tag_descriptor. More...
 
class  AsyncReport
 Asynchronous message report. More...
 
class  AsyncReportArgs
 Parameters and command line arguments for asynchronous log. More...
 
class  ATSCAC3AudioStreamDescriptor
 Representation of an ATSC AC-3_audio_stream_descriptor. More...
 
class  ATSCEAC3AudioDescriptor
 Representation of an ATSC E-AC-3_audio_descriptor. More...
 
class  ATSCEIT
 Representation of an ATSC Event Information Table (ATSC EIT). More...
 
class  ATSCMultipleString
 Representation of an ATSC multiple_string_structure. More...
 
class  ATSCStuffingDescriptor
 Representation of an ATSC stuffing_descriptor. More...
 
class  ATSCTimeShiftedServiceDescriptor
 Representation of an ATSC time_shifted_service_descriptor. More...
 
class  AudioComponentDescriptor
 Representation of an ISDB audio_component_descriptor. More...
 
class  AudioLanguageOptions
 Options to update the language of an audio stream in a PMT. More...
 
class  AudioLanguageOptionsVector
 Vector of audio language options. More...
 
class  AudioPreselectionDescriptor
 Representation of an audio_preselection_descriptor. More...
 
class  AudioStreamDescriptor
 Representation of an audio_stream_descriptor. More...
 
class  AustraliaLogicalChannelDescriptor
 Representation of a Free TV Australia logical_channel_descriptor. More...
 
class  AuxiliaryVideoStreamDescriptor
 Representation of an Auxiliary_video_stream_descriptor. More...
 
class  AV1VideoDescriptor
 Representation of an AV1_video_descriptor. More...
 
class  AVCAccessUnitDelimiter
 Representation of an AVC access unit delimiter (AUD). More...
 
class  AVCAttributes
 Video attributes for Advanced Video Coding. More...
 
class  AVCHRDParameters
 AVC HRD (Hypothetical Reference Decoder) parameters. More...
 
class  AVCParser
 Parser for Advanced Video Coding data. More...
 
class  AVCSequenceParameterSet
 Representation of an AVC sequence parameter set access unit. More...
 
class  AVCTimingAndHRDDescriptor
 Representation of an AVC_timing_and_HRD_descriptor. More...
 
class  AVCVideoDescriptor
 Representation of an AVC_video_descriptor. More...
 
class  AVCVUIParameters
 AVC VUI (Video Usability Information) parameters. More...
 
class  AVS2AudioDescriptor
 Representation of an AVS2_audio_descriptor. More...
 
class  AVS3AudioDescriptor
 Representation of an AVS3_audio_descriptor. More...
 
class  AVS3VideoDescriptor
 Representation of an AVS3_video_descriptor. More...
 
class  BasicLocalEventDescriptor
 Representation of an ISDB basic_local_event_descriptor. More...
 
class  BAT
 Representation of a Bouquet Association Table (BAT). More...
 
class  BetterSystemRandomGenerator
 Improved system-provided PRNG (pseudo-random numbers generator). More...
 
class  BinaryTable
 Representation of MPEG PSI/SI tables in binary form (ie. More...
 
class  BIT
 Representation of an ISDB Broadcaster Information Table (BIT). More...
 
class  BitrateDifferenceDVBT
 A variant of DVB-T tuners parameters with an offset between a target bitrate and their theoretical bitrate. More...
 
class  BitRateRegulator
 Regulate execution speed based on a bitrate. More...
 
class  BlockCipher
 Base class for all block ciphers. More...
 
class  BlockCipherAlertInterface
 Interface for classes which need to be notified when an alert is raised on a block cipher. More...
 
class  BlockCipherProperties
 Properties of a block cipher. More...
 
class  BoardInformationDescriptor
 Representation of an ISDB board_information_descriptor. More...
 
class  BouquetNameDescriptor
 Representation of a bouquet_name_descriptor. More...
 
class  BroadcasterNameDescriptor
 Representation of an ISDB broadcaster_name_descriptor. More...
 
class  Buffer
 General-purpose memory buffer with bit access. More...
 
class  ByteBlock
 Definition of a generic block of bytes. More...
 
class  C2BundleDeliverySystemDescriptor
 Representation of a C2_bundle_delivery_system_descriptor. More...
 
class  C2DeliverySystemDescriptor
 Representation of a C2_delivery_system_descriptor. More...
 
class  CableDeliverySystemDescriptor
 Representation of a cable_delivery_system_descriptor. More...
 
class  CableEmergencyAlertTable
 Representation of an SCTE 18 Cable Emergency Alert Table. More...
 
class  CAContractInfoDescriptor
 Representation of an ISDB CA_contract_info_descriptor. More...
 
class  CADescriptor
 Representation of a generic CA_descriptor. More...
 
class  CAEMMTSDescriptor
 Representation of an ISDB CA_EMM_TS_descriptor. More...
 
class  CAIdentifierDescriptor
 Representation of a CA_identifier_descriptor. More...
 
class  CaptionServiceDescriptor
 Representation of an ATSC caption_service_descriptor. More...
 
class  CarouselCompatibleCompositeDescriptor
 Representation of an ISDB carousel_compatible_composite_descriptor. More...
 
class  CarouselIdentifierDescriptor
 Representation of a carousel_identifier_descriptor. More...
 
class  CASDate
 Template representation of a CAS date. More...
 
class  CAServiceDescriptor
 Representation of an ISDB CA_service_descriptor. More...
 
class  CASMapper
 This class maps PID's with CA system ids. More...
 
class  CASSelectionArgs
 Command line arguments to select Conditional Access Systems. More...
 
class  CAT
 Representation of a Conditional Access Table (CAT). More...
 
class  CBC
 Cipher Block Chaining (CBC) mode. More...
 
class  CDT
 Representation of an ISDB Common Data Table (CDT). More...
 
class  CellFrequencyLinkDescriptor
 Representation of a cell_frequency_link_descriptor. More...
 
class  CellListDescriptor
 Representation of a cell_list_descriptor. More...
 
class  CerrReport
 A singleton implementing Report on std::cerr without synchronization. More...
 
class  ChannelFile
 An XML file containing the description of TV channels and their networks. More...
 
class  Charset
 Definition of a character set for PSI/SI encoding. More...
 
class  CIAncillaryDataDescriptor
 Representation of a CI_ancillary_data_descriptor. More...
 
class  CIT
 Representation of DVB Content Identifier Table (CIT). More...
 
class  COM
 A class to encapsulate the initialization of Windows COM. More...
 
class  CommandLine
 A basic command line interpreter. More...
 
class  CommandLineHandler
 An interface which handles a command from a CommandLine instance. More...
 
class  CompactBitSet
 A compact version of std::bitset. More...
 
class  ComponentDescriptor
 Representation of a component_descriptor. More...
 
class  ComponentNameDescriptor
 Representation of an ATSC component_name_descriptor. More...
 
class  ComPtr
 Managed pointers for COM objects, auto-released (Windows-specific). More...
 
class  ConditionalPlaybackDescriptor
 Representation of an ISDB conditional_playback_descriptor. More...
 
class  ConfigFile
 Representation of a configuration file. More...
 
class  ConfigSection
 Representation of a "configuration section". More...
 
class  ConsoleState
 A class to save and restore the state of the Windows console. More...
 
class  ContentAdvisoryDescriptor
 Representation of an ATSC content_advisory_descriptor. More...
 
class  ContentAvailabilityDescriptor
 Representation of an ISDB content_availability_descriptor. More...
 
class  ContentDescriptor
 Representation of a content_descriptor. More...
 
class  ContentIdentifierDescriptor
 Representation of a DVB-defined content_identifier_descriptor. More...
 
class  ContentLabellingDescriptor
 Representation of an MPEG-defined content_labelling_descriptor. More...
 
class  ContinuityAnalyzer
 Continuity counters analysis and repair. More...
 
class  CopyrightDescriptor
 Representation of an copyright_descriptor. More...
 
class  CountryAvailabilityDescriptor
 Representation of a country_availability_descriptor. More...
 
class  CPCMDeliverySignallingDescriptor
 Representation of a DVB cpcm_delivery_signalling_descriptor. More...
 
class  CPDescriptor
 Representation of a CP_descriptor. More...
 
class  CPIdentifierDescriptor
 Representation of a CP_identifier_descriptor. More...
 
class  CRC32
 Cyclic Redundancy Check as used in MPEG sections. More...
 
class  CTR
 Counter (CTR) chaining mode. More...
 
class  CTS1
 Cipher text Stealing (CTS) mode, alternative 1. More...
 
class  CTS2
 Cipher text Stealing (CTS) mode, alternative 2. More...
 
class  CTS3
 Cipher text Stealing (CTS) mode, alternative 3. More...
 
class  CTS4
 Cipher text Stealing (CTS) mode, alternative 4. More...
 
class  CueIdentifierDescriptor
 Representation of a cue_identifier_descriptor (SCTE 35). More...
 
class  CVCT
 Representation of an ATSC Cable Virtual Channel Table (CVCT) More...
 
class  CyclingPacketizer
 Cyclic packetization of MPEG sections into Transport Stream packets. More...
 
class  DataBroadcastDescriptor
 Representation of a data_broadcast_descriptor. More...
 
class  DataBroadcastIdDescriptor
 Representation of a generic data_broadcast_id_descriptor. More...
 
class  DataComponentDescriptor
 Representation of an ISDB data_component_descriptor. More...
 
class  DataContentDescriptor
 Representation of an ISDB data_content_descriptor. More...
 
class  DataStreamAlignmentDescriptor
 Representation of a data_stream_alignment_descriptor. More...
 
class  DCCArrivingRequestDescriptor
 Representation of an ATSC dcc_arriving_request_descriptor. More...
 
class  DCCDepartingRequestDescriptor
 Representation of an ATSC dcc_departing_request_descriptor. More...
 
class  DCCSCT
 Representation of an ATSC Directed Channel Change Selection Code Table (DCCSCT). More...
 
class  DCCT
 Representation of an ATSC Directed Channel Change Table (DCCT). More...
 
class  DCT
 Representation of an ISDB Download Control Table (DCT). More...
 
class  DebugPlugin
 Debug packet processor plugin for tsp. More...
 
class  DefaultAuthorityDescriptor
 Representation of an RAR_over_IP_descriptor. More...
 
class  DeferredAssociationTagsDescriptor
 Representation of a deferred_association_tags_descriptor. More...
 
class  DektecControl
 A class implementing the tsdektec control utility. More...
 
class  DektecDeviceInfo
 A simple encapsulation of Dektec device information. More...
 
class  DektecInputPlugin
 Dektec input plugin for tsp. More...
 
class  DektecOutputPlugin
 Dektec output plugin for tsp. More...
 
class  DeliverySystemSet
 A set of delivery system values (ts::DeliverySystem). More...
 
class  DemuxedData
 Base class for all kinds of demuxed data. More...
 
class  DES
 DES block cipher. More...
 
class  Descriptor
 Representation of a MPEG PSI/SI descriptors in binary format. More...
 
class  DescriptorContext
 A class to lookup the context of MPEG PSI/SI descriptors. More...
 
class  DescriptorList
 List of MPEG PSI/SI descriptors. More...
 
class  DigitalCopyControlDescriptor
 Representation of an ISDB digital_copy_control_descriptor. More...
 
class  DIILocationDescriptor
 Representation of a DII_location_descriptor (AIT specific). More...
 
class  DirectShowFilterCategory
 A class which instanciates all DirectShow devices in a given category (Windows-specific). More...
 
class  DirectShowGraph
 An encapsulation of a DirectShow graph (Windows-specific). More...
 
class  DirectShowNetworkType
 A class which encapsulates a DirectShow network type and its properties (Windows-specific). More...
 
class  DirectShowTest
 A class to perform various tests on DirectShow and BDA (Windows-specific). More...
 
class  DiscontinuityInformationTable
 Representation of a Discontinuity Information Table (DIT) More...
 
class  DisplayInterface
 An interface to be implemented by classes supporting display to a standard text stream. More...
 
class  DLT
 Representation of an ISDB DownLoad Table (DLT). More...
 
class  DownloadContentDescriptor
 Representation of an ISDB download_content_descriptor. More...
 
class  DropOutputPlugin
 Drop output plugin for tsp. More...
 
class  DSMCCStreamDescriptorsTable
 Representation of a DSM-CC Stream Descriptors table. More...
 
class  DSNGDescriptor
 Representation of a DSNG_descriptor. More...
 
class  DTGGuidanceDescriptor
 Representation of a DTG guidance_descriptor. More...
 
class  DTGHDSimulcastLogicalChannelDescriptor
 Representation of a DTG HD_simulcast_logical_channel_descriptor. More...
 
class  DTGLogicalChannelDescriptor
 Representation of a DTG logical_channel_descriptor. More...
 
class  DTGPreferredNameIdentifierDescriptor
 Representation of a DTG preferred_name_identifier_descriptor. More...
 
class  DTGPreferredNameListDescriptor
 Representation of a DTG preferred_name_list_descriptor. More...
 
class  DTGServiceAttributeDescriptor
 Representation of a DTG service_attribute_descriptor. More...
 
class  DTGShortServiceNameDescriptor
 Representation of a DTG short_service_name_descriptor. More...
 
class  DTSDescriptor
 Representation of a DTS_descriptor. More...
 
class  DTSHDDescriptor
 Representation of a DTS_HD_descriptor. More...
 
class  DTSNeuralDescriptor
 Representation of a DTS_neural_descriptor. More...
 
class  DTVProperties
 Encapsulation of Linux DVB property lists. More...
 
class  DuckConfigFile
 A singleton which contains the TSDuck configuration file. More...
 
class  DuckContext
 TSDuck execution context containing current preferences. More...
 
class  DuckExtensionRepository
 A repository of TSDuck extensions. More...
 
class  DumpCharset
 Definition of the fake character set to dump string binary data. More...
 
class  DVBAC3Descriptor
 Representation of a DVB AC-3_descriptor. More...
 
class  DVBAC4Descriptor
 Representation of a DVB AC-4_descriptor. More...
 
class  DVBCharset
 Definition of the generic DVB character sets. More...
 
class  DVBCharTable
 Definition of a character set for DVB encoding. More...
 
class  DVBCharTableSingleByte
 Definition of a DVB character set using a single byte per character. More...
 
class  DVBCharTableUTF16
 Definition of the UTF-8 DVB character set. More...
 
class  DVBCharTableUTF8
 Definition of the UTF-8 DVB character set. More...
 
class  DVBCISSA
 DVB-CISSA AES-based TS packet encryption. More...
 
class  DVBCSA2
 DVB CSA-2 (Digital Video Broadcasting Common Scrambling Algorithm). More...
 
class  DVBDTSUHDDescriptor
 Representation of a DVB DTS-UHD descriptor. More...
 
class  DVBEnhancedAC3Descriptor
 Representation of a DVB enhanced_AC-3_descriptor. More...
 
class  DVBHTMLApplicationBoundaryDescriptor
 Representation of a dvb_html_application_boundary_descriptor (AIT specific). More...
 
class  DVBHTMLApplicationDescriptor
 Representation of a dvb_html_application_descriptor (AIT specific). More...
 
class  DVBHTMLApplicationLocationDescriptor
 Representation of a dvb_html_application_location_descriptor (AIT specific). More...
 
class  DVBJApplicationDescriptor
 Representation of a dvb_j_application_descriptor (AIT specific). More...
 
class  DVBJApplicationLocationDescriptor
 Representation of a dvb_j_application_location_descriptor (AIT specific). More...
 
class  DVBServiceProminenceDescriptor
 Representation of a DVB service_prominence_descriptor. More...
 
class  DVBStuffingDescriptor
 Representation of a DVB stuffing_descriptor. More...
 
class  DVBTimeShiftedServiceDescriptor
 Representation of a DVB time_shifted_service_descriptor. More...
 
class  DVS042
 DVS 042 cipher block chaining mode. More...
 
class  EacemHDSimulcastLogicalChannelDescriptor
 Representation of an EACEM-defined HD_simulcast_logical_channel_descriptor. More...
 
class  EacemLogicalChannelNumberDescriptor
 Representation of an EACEM-defined logical_channel_number_descriptor. More...
 
class  EacemPreferredNameIdentifierDescriptor
 Representation of an eacem_preferred_name_identifier_descriptor. More...
 
class  EacemPreferredNameListDescriptor
 Representation of an eacem_preferred_name_list_descriptor. More...
 
class  EacemStreamIdentifierDescriptor
 Representation of an eacem_stream_identifier_descriptor. More...
 
class  EASAudioFileDescriptor
 Representation of an SCTE 18 EAS_audio_file_descriptor (specific to a Cable Emergency Alert Table). More...
 
class  EASInbandDetailsChannelDescriptor
 Representation of an SCTE 18 EAS_inband_details_channel_descriptor (specific to a Cable Emergency Alert Table). More...
 
class  EASInbandExceptionChannelsDescriptor
 Representation of an SCTE 18 EAS_inband_exception_channels_descriptor (specific to a Cable Emergency Alert Table). More...
 
class  EASMetadataDescriptor
 Representation of an SCTE 164 EAS_metadata_descriptor (specific to a Cable Emergency Alert Table). More...
 
class  ECB
 Electronic Code Book (ECB) mode. More...
 
class  ECMGClient
 A DVB-ECMG client which acts as a DVB-SCS. More...
 
class  ECMGClientArgs
 Command line arguments for the class ECMGClient. More...
 
class  ECMGClientHandlerInterface
 Interface for classes which need to be notified of asynchronous ECM generation using ECMGClient. More...
 
class  ECMRepetitionRateDescriptor
 Representation of an ECM_repetition_rate_descriptor. More...
 
class  EDID
 Extended MPEG descriptor id. More...
 
class  EditLine
 Read input lines with bash-like line editing when possible. More...
 
class  EIT
 Representation of a DVB Event Information Table (EIT). More...
 
class  EITGenerator
 Generate and insert EIT sections based on an EPG content. More...
 
class  EITProcessor
 Perform various transformations on an EIT PID. More...
 
class  EITRepetitionProfile
 EIT sections repetition profile. More...
 
class  EmergencyInformationDescriptor
 Representation of an ISDB emergency_information_descriptor. More...
 
class  EMMGClient
 A DVB-EMMG client which connects to any MUX to inject data. More...
 
struct  EnableBitMaskOperators
 This traits is used to enable bitmask operators on an enumeration type. More...
 
struct  EnableBitMaskOperators< ts::EITOptions >
 Template specialization on type ts::EITOptions
More...
 
struct  EnableBitMaskOperators< ts::hls::TagFlags >
 Template specialization on type ts::hls::TagFlags
More...
 
struct  EnableBitMaskOperators< ts::NamesFlags >
 Template specialization on type ts::NamesFlags
More...
 
struct  EnableBitMaskOperators< ts::PSIMerger::Options >
 Template specialization on type ts::PSIMerger::Options
More...
 
struct  EnableBitMaskOperators< ts::Replacement >
 Template specialization on type ts::Replacement
More...
 
struct  EnableBitMaskOperators< ts::SRTStatMode >
 Template specialization on type ts::SRTStatMode
More...
 
struct  EnableBitMaskOperators< ts::Standards >
 Template specialization on type ts::Standards
More...
 
struct  EnableBitMaskOperators< ts::TSDatagramInputOptions >
 Template specialization on type ts::TSDatagramInputOptions
More...
 
struct  EnableBitMaskOperators< ts::TSDatagramOutputOptions >
 Template specialization on type ts::TSDatagramOutputOptions
More...
 
struct  EnableBitMaskOperators< ts::TSFile::OpenFlags >
 Template specialization on type ts::TSFile::OpenFlags
More...
 
class  Enumeration
 Enumeration of int/string pairs. More...
 
class  ErrCodeReport
 A proxy class to automatically report std::error_code errors. More...
 
class  ERT
 Representation of an ISDB Event Relation Table (ERT). More...
 
class  ETT
 Representation of an ATSC Extended Text Table (ETT) More...
 
class  EutelsatChannelNumberDescriptor
 Representation of an Eutelsat_channel_number_descriptor. More...
 
class  EVCTimingAndHRDDescriptor
 Representation of an VVC_timing_and_HRD_descriptor. More...
 
class  EVCVideoDescriptor
 Representation of an HEVC_video_descriptor. More...
 
class  EventGroupDescriptor
 Representation of an ISDB event_group_descriptor. More...
 
class  Exception
 Base class for all exceptions in TSDuck. More...
 
class  Expressions
 Expression resolver based on the definition of symbols. More...
 
class  ExtendedBroadcasterDescriptor
 Representation of an ISDB extended_broadcaster_descriptor. More...
 
class  ExtendedChannelNameDescriptor
 Representation of an ATSC extended_channel_name_descriptor. More...
 
class  ExtendedEventDescriptor
 Representation of a extended_event_descriptor. More...
 
class  ExternalApplicationAuthorizationDescriptor
 Representation of an external_application_authorization_descriptor (AIT specific). More...
 
class  ExternalESIdDescriptor
 Representation of an external_ES_ID_descriptor. More...
 
class  FileInputPlugin
 File input plugin for tsp. More...
 
class  FileNameGenerator
 Generate file names based on counter or dates and time. More...
 
class  FileNameRate
 Representation of a file name and an associated repetition rate. More...
 
class  FileNameRateList
 Specialized list of file names and an associated repetition rates. More...
 
class  FileOutputPlugin
 File output plugin for tsp. More...
 
class  FilePacketPlugin
 File packet processor plugin for tsp. More...
 
class  FixedPoint
 Template representation of fixed-precision numbers. More...
 
class  FloatingPoint
 Encapsulation of a double floating-point as an AbstractNumber. More...
 
class  FMCDescriptor
 Representation of a FMC_descriptor. More...
 
class  ForkInputPlugin
 File input plugin for tsp. More...
 
class  ForkOutputPlugin
 File output plugin for tsp. More...
 
class  ForkPacketPlugin
 File packet processor plugin for tsp. More...
 
class  ForkPipe
 Fork a process and create an optional pipe to its standard input. More...
 
class  Fraction
 Template representation of fractional numbers. More...
 
class  FrequencyListDescriptor
 Representation of a frequency_list_descriptor. More...
 
class  FTAContentManagementDescriptor
 Representation of a FTA_content_management_descriptor. More...
 
class  GenreDescriptor
 Representation of an ATSC genre_descriptor. More...
 
class  GitHubRelease
 This class holds information from GitHub about a release of a project. More...
 
class  GraphicsConstraintsDescriptor
 Representation of a graphics_constraints_descriptor (AIT specific). More...
 
class  GreenExtensionDescriptor
 Representation of an MPEG-defined green_extension_descriptor. More...
 
class  Grid
 This class produces a report in a grid format with tables and sections. More...
 
class  Hash
 Base class for all hash functions. More...
 
class  HEVCAccessUnitDelimiter
 Representation of an HEVC access unit delimiter (AUD). More...
 
class  HEVCAttributes
 Video attributes for HEVC / H.265. More...
 
class  HEVCHierarchyExtensionDescriptor
 Representation of an MPEG-defined HEVC_hierarchy_extension_descriptor. More...
 
class  HEVCHRDParameters
 HEVC HRD (Hypothetical Reference Decoder) parameters. More...
 
class  HEVCOperationPointDescriptor
 Representation of an Auxiliary_video_stream_descriptor. More...
 
class  HEVCProfileTierLevel
 HEVC profile, tier and level structure. More...
 
class  HEVCScalingListData
 HEVC scaling list data structure. More...
 
class  HEVCSequenceParameterSet
 Representation of an HEVC sequence parameter set access unit. More...
 
class  HEVCShortTermReferencePictureSetList
 List of HEVC short-term reference picture sets. More...
 
class  HEVCSubregionDescriptor
 Representation of an HEVC_subregion_descriptor. More...
 
class  HEVCTileSubstreamDescriptor
 Representation of an HEVC_tile_substream_descriptor. More...
 
class  HEVCTimingAndHRDDescriptor
 Representation of an HEVC_timing_and_HRD_descriptor. More...
 
class  HEVCVideoDescriptor
 Representation of an HEVC_video_descriptor. More...
 
class  HEVCVUIParameters
 HEVC VUI (Video Usability Information) parameters. More...
 
class  HFBand
 Definition of an HF frequency band (UHF, VHF). More...
 
class  HiDesDevice
 Encapsulation of a HiDes modulator device. More...
 
class  HiDesDeviceInfo
 Information about a HiDes modulator device. More...
 
class  HierarchicalTransmissionDescriptor
 Representation of an ISDB hierarchical_transmission_descriptor. More...
 
class  HierarchyDescriptor
 Representation of a hierarchy_descriptor. More...
 
class  HTTPInputPlugin
 HTTP input plugin for tsp. More...
 
class  HTTPOutputPlugin
 HTTP output plugin for tsp. More...
 
class  HybridInformationDescriptor
 Representation of an ISDB hybrid_information_descriptor. More...
 
class  IBPDescriptor
 Representation of a IBP_descriptor. More...
 
class  IDSA
 ATIS-0800006 AES-based TS packet encryption (ATIS-IDSA). More...
 
struct  ieee_float
 Definition of an IEEE floating point type with a given represenation. More...
 
class  ImageIconDescriptor
 Representation of a image_icon_descriptor. More...
 
class  ImplementationError
 Implementation error. More...
 
class  InputPlugin
 Input tsp plugin interface. More...
 
class  InputRedirector
 A class to redirect an input stream. More...
 
class  InputSwitcher
 Implementation of the input plugin switcher. More...
 
class  InputSwitcherArgs
 Transport stream input switcher command-line options. More...
 
class  INT
 Representation of an IP/MAC Notification Table (INT). More...
 
struct  int_max
 The meta-type ts::int_max selects the integer type with largest width and same signedness as another integer type. More...
 
class  Integer
 Encapsulation of an integer type as an AbstractNumber. More...
 
class  IntegerMap
 Generic map of integers, indexed by integer. More...
 
class  InterruptHandler
 An interface to be implemented by a class to handle user Ctrl-C interrupt. More...
 
class  InvalidSectionHandlerInterface
 Abstract interface to receive an invalid MPEG section from a SectionDemux. More...
 
class  IODDescriptor
 Representation of an IOD_descriptor. More...
 
class  IOManipulatorProxy
 I/O manipulator with argument for subclasses of std::basic_ostream. More...
 
class  IPAddress
 A generic representation of an IP address, IPv4 or IPv6. More...
 
class  IPAddressMask
 A combination of IP address and network mask or prefix. More...
 
class  IPInputPlugin
 IP input plugin for tsp. More...
 
class  IPMACGenericStreamLocationDescriptor
 Representation of an IP/MAC_generic_stream_location_descriptor (INT specific). More...
 
class  IPMACPlatformNameDescriptor
 Representation of an IP/MAC_platform_name_descriptor (INT specific). More...
 
class  IPMACPlatformProviderNameDescriptor
 Representation of an IP/MAC_platform_provider_name_descriptor (INT specific). More...
 
class  IPMACStreamLocationDescriptor
 Representation of an IP/MAC_stream_location_descriptor (INT specific). More...
 
class  IPOutputPlugin
 IP output plugin for tsp. More...
 
class  IPPacket
 Representation of a raw IPv4 or IPv6 packet. More...
 
class  IPPacketPlugin
 IP output plugin for tsp. More...
 
class  IPSignallingDescriptor
 Representation of an ip_signalling_descriptor (AIT specific). More...
 
class  IPSocketAddress
 Generic socket address class (IPv4 or IPv6 address & port). More...
 
class  ISDBAccessControlDescriptor
 Representation of an ISDB access_control_descriptor. More...
 
class  ISDBComponentGroupDescriptor
 Representation of an ISDB Lcomponent_group_descriptor. More...
 
class  ISDBConnectedTransmissionDescriptor
 Representation of an ISDB connected_transmission_descriptor. More...
 
class  ISDBHyperlinkDescriptor
 Representation of an ISDB hyperlink_descriptor. More...
 
class  ISDBLDTLinkageDescriptor
 Representation of an ISDB LDT_linkage_descriptor. More...
 
class  ISDBNetworkIdentifierDescriptor
 Representation of an ISDB network_identifier_descriptor. More...
 
class  ISDBTargetRegionDescriptor
 Representation of an ISDB target_region_descriptor. More...
 
class  ISDBTerrestrialDeliverySystemDescriptor
 Representation of an ISDB terrestrial_delivery_system_descriptor. More...
 
class  ISDBTInformation
 ISDB-T Information block in a TS packet trailer (204-byte packet). More...
 
class  ISDBTInformationPacket
 ISDB-T Information Packet (IIP). More...
 
class  ISO639LanguageDescriptor
 Representation of an ISO_639_language_descriptor. More...
 
class  ISPAccessModeDescriptor
 Representation of an ISP_access_mode_descriptor (INT specific). More...
 
class  ITT
 Representation of an ISDB Index Transmission information Table (ITT). More...
 
class  J2KVideoDescriptor
 Representation of a J2K_video_descriptor. More...
 
class  JPEGXSVideoDescriptor
 Representation of an JPEG_XS_video_descriptor. More...
 
class  KeyTable
 Definition of a basic and non-secure implementation of a symmetric key table. More...
 
class  LatencyMonitor
 Implementation of the latency monitor This class is used by the tslatencymonitor utility. More...
 
class  LatencyMonitorArgs
 Transport stream latency monitor command-line options. More...
 
class  LCEVCLinkageDescriptor
 Representation of an LCEVC_video_descriptor. More...
 
class  LCEVCVideoDescriptor
 Representation of an HEVC_video_descriptor. More...
 
class  LDT
 Representation of an ISDB Linked Description Table (LDT). More...
 
class  LinkageDescriptor
 Representation of a generic linkage_descriptor. More...
 
class  LIT
 Representation of an ISDB Local event Information Table (LIT). More...
 
class  LNB
 Description of a Low-Noise Block (LNB) converter in a satellite dish. More...
 
class  LocalTimeOffsetDescriptor
 Representation of a local_time_offset_descriptor. More...
 
class  LogicalChannelNumbers
 A multi-standard storage of Logical Channel Numbers (LCN). More...
 
class  LogoTransmissionDescriptor
 Representation of an ISDB logo_transmission_descriptor. More...
 
class  M4MuxBufferSizeDescriptor
 Representation of an M4 Mux Buffer Size descriptor. More...
 
class  M4MuxTimingDescriptor
 Representation of a m4mux_timing_descriptor. More...
 
class  MACAddress
 A basic representation of a MAC address. More...
 
class  MacPList
 This class implements a macOS XML PList file. More...
 
struct  make_signed
 The meta-type ts::make_signed is a generalization of std::make_signed which works on floating point-types as well. More...
 
class  Mastering_Display_Metadata_type
 Representation of Mastering Display Metadata, used by several descriptors. More...
 
class  MaximumBitrateDescriptor
 Representation of a maximum_bitrate_descriptor. More...
 
class  MediaServiceKindDescriptor
 Representation of an Media_service_kind_descriptor. More...
 
class  MemoryInputPlugin
 Memory input plugin for tsp. More...
 
class  MemoryOutputPlugin
 Memory output plugin for tsp. More...
 
class  MessageDescriptor
 Representation of a message_descriptor. More...
 
class  MessagePriorityQueue
 Template message queue for inter-thread communication with priority. More...
 
class  MessageQueue
 Template message queue for inter-thread communication. More...
 
class  MetadataDescriptor
 Representation of an MPEG-defined metadata_descriptor. More...
 
class  MetadataPointerDescriptor
 Representation of an MPEG-defined metadata_pointer_descriptor. More...
 
class  MetadataSTDDescriptor
 Representation of a metadata_STD_descriptor. More...
 
class  MGT
 Representation of an ATSC Master Guide Table (MGT) More...
 
class  ModulationArgs
 Modulation parameters for tuners and their command-line definitions. More...
 
class  MosaicDescriptor
 Representation of a mosaic_descriptor. More...
 
class  MPEDemux
 This class extracts MPE (Multi-Protocol Encapsulation) datagrams from TS packets. More...
 
class  MPEG2AACAudioDescriptor
 Representation of an MPEG2_AAC_audio_descriptor. More...
 
class  MPEG2AudioAttributes
 Audio attributes for MPEG-1 / MPEG-2 audio. More...
 
class  MPEG2StereoscopicVideoFormatDescriptor
 Representation of an MPEG2_stereoscopic_video_format_descriptor. More...
 
class  MPEG2VideoAttributes
 Video attributes for MPEG-1 and MPEG-2. More...
 
class  MPEG4AudioDescriptor
 Representation of an MPEG4_audio_descriptor. More...
 
class  MPEG4AudioExtensionDescriptor
 Representation of a MPEG4_audio_extension_descriptor. More...
 
class  MPEG4TextDescriptor
 Representation of an MPEG-4 Text Descriptor. More...
 
class  MPEG4VideoDescriptor
 Representation of an MPEG4_video_descriptor. More...
 
class  MPEGH3DAudioCommandDescriptor
 Representation of an MPEGH_3D_audio_command_descriptor. More...
 
class  MPEGH3DAudioConfigDescriptor
 Representation of an MPEGH_3D_audio_config_descriptor. More...
 
class  MPEGH3DAudioDescriptor
 Representation of an MPEG-defined MPEGH_3D_audio_descriptor. More...
 
class  MPEGH3DAudioDRCLoudnessDescriptor
 Representation of an MPEGH_3D_audio_drc_loudness_descriptor. More...
 
class  MPEGH3DAudioMultiStreamDescriptor
 Representation of an MPEG-defined MPEGH_3D_audio_multi_stream_descriptor. More...
 
class  MPEGH3DAudioSceneDescriptor
 Representation of an MPEG-defined MPEGH_3D_audio_scene_descriptor. More...
 
class  MPEGH3DAudioTextLabelDescriptor
 Representation of an MPEG-H_3dAudio_descriptor. More...
 
class  MPEHandlerInterface
 MPE (Multi-Protocol Encapsulation) demux handler interface. More...
 
class  MPEPacket
 Representation of a packet for MPE (Multi-Protocol Encapsulation). More...
 
class  MultilingualBouquetNameDescriptor
 Representation of a multilingual_bouquet_name_descriptor. More...
 
class  MultilingualComponentDescriptor
 Representation of a multilingual_component_descriptor. More...
 
class  MultilingualNetworkNameDescriptor
 Representation of a multilingual_network_name_descriptor. More...
 
class  MultilingualServiceNameDescriptor
 Representation of a multilingual_service_name_descriptor. More...
 
class  MultiplexBufferDescriptor
 Representation of a multiplex_buffer_descriptor. More...
 
class  MultiplexBufferUtilizationDescriptor
 Representation of an multiplex_buffer_utilization_descriptor. More...
 
class  MuxCodeDescriptor
 Representation of an MuxCode descriptor. More...
 
class  Muxer
 Implementation of the TS multiplexer. More...
 
class  MuxerArgs
 Transport stream multiplexer command-line options. More...
 
class  MVCExtensionDescriptor
 Representation of an MVC_extension_descriptor. More...
 
class  MVCOperationPointDescriptor
 Representation of an MVC_operation_point_descriptor. More...
 
class  NamesFile
 Representation of a ".names" file, containing names for identifiers. More...
 
class  NBIT
 Representation of an ISDB Network Board Information Table (NBIT). More...
 
class  NetworkChangeNotifyDescriptor
 Representation of a network_change_notify_descriptor. More...
 
class  NetworkDownloadContentDescriptor
 Representation of an ISDB network_download_content_descriptor. More...
 
class  NetworkInterface
 Description of a network interface. More...
 
class  NetworkNameDescriptor
 Representation of a network_name_descriptor. More...
 
class  NIT
 Representation of a Network Information Table (NIT) More...
 
class  NodeRelationDescriptor
 Representation of an ISDB node_relation_descriptor. More...
 
class  NorDigLogicalChannelDescriptorV1
 Representation of a NorDig logical_channel_descriptor (V1). More...
 
class  NorDigLogicalChannelDescriptorV2
 Representation of a NorDig logical_channel_descriptor (V2). More...
 
class  NPTEndpointDescriptor
 Representation of a DSM-CC NPT_endpoint_descriptor. More...
 
class  NPTReferenceDescriptor
 Representation of a DSM-CC NPT_reference_descriptor. More...
 
class  null_mutex
 A null_mutex class which can be used to replace std::mutex or std::recursive_mutex. More...
 
class  NullInputPlugin
 Null packet input plugin for tsp. More...
 
class  NullReport
 A singleton implementing Report which drops all messages. More...
 
class  NVODReferenceDescriptor
 Representation of a NVOD_reference_descriptor. More...
 
class  Object
 General-purpose base class for polymophic objects. More...
 
class  ObjectRepository
 A global repository of general-purpose base class for polymophic objects. More...
 
class  OneShotPacketizer
 Packetization of MPEG sections into Transport Stream packets in one shot. More...
 
class  OutputPager
 Send application output to a "pager" application such as "more" or "less". More...
 
class  OutputPlugin
 Output tsp plugin interface. More...
 
class  OutputRedirector
 A class to redirect an output stream. More...
 
class  PacketDecapsulation
 An efficient TSDuck-specific TS packets decapsulation from a PID. More...
 
class  PacketEncapsulation
 An efficient TSDuck-specific TS packets encapsulation in a PID. More...
 
class  PacketInsertionController
 Control the insertion points of TS packets in a stream based on various criteria. More...
 
class  Packetizer
 Packetization of MPEG sections into Transport Stream packets. More...
 
class  PagerArgs
 Command line arguments for --pager or --no-pager. More...
 
class  ParentalRatingDescriptor
 Representation of an parental_rating_descriptor. More...
 
class  PartialReceptionDescriptor
 Representation of an ISDB partial_reception_descriptor. More...
 
class  PartialTransportStreamDescriptor
 Representation of a partial_transport_stream_descriptor. More...
 
class  PartialTSTimeDescriptor
 Representation of an ISDB partialTS_time_descriptor. More...
 
class  PAT
 Representation of a Program Association Table (PAT). More...
 
class  PcapFile
 Read a pcap or pcapng capture file format. More...
 
class  PcapFilter
 Read a pcap or pcapng file with packet filtering. More...
 
class  PcapStream
 Read a TCP/IP session from a pcap or pcapng file. More...
 
class  PCAT
 Representation of an ISDB Partial Content Announcement Table (PCAT). More...
 
class  PCRAnalyzer
 PCR statistics analysis. More...
 
class  PCRMerger
 Adjust PCR clocks when a TS is merged into a larger one. More...
 
class  PCRRegulator
 Regulate execution speed based on PCR's in one reference PID. More...
 
class  PDCDescriptor
 Representation of a PDC_descriptor. More...
 
class  PESDemux
 This class extracts PES packets from TS packets. More...
 
class  PESHandlerInterface
 Abstract interface to be notified of PES packets using a PESDemux. More...
 
class  PESOneShotPacketizer
 Packetization of PES data into Transport Stream packets in one shot. More...
 
class  PESPacket
 Representation of MPEG PES packets. More...
 
class  PESPacketizer
 Packetization of PES data into Transport Stream packets. More...
 
class  PESProviderInterface
 Abstract interface for classes which provide PES packets into a Packetizer. More...
 
class  PESStreamPacketizer
 Packetization of PES data into Transport Stream packets in "push" mode. More...
 
struct  PIDOperator
 Association of a PID and an operator id (CAS-specific). More...
 
class  PIDOperatorSet
 Specialized set of PIDOperator. More...
 
class  Plugin
 Base class of all tsp plugins. More...
 
class  PluginEventContext
 Context of a plugin event. More...
 
class  PluginEventData
 General-purpose plugin event data referencing binary data to exchange with applications. More...
 
class  PluginEventHandlerInterface
 Abstract interface to receive events from a plugin. More...
 
class  PluginEventHandlerRegistry
 Registry of plugin event handlers. More...
 
class  PluginOptions
 Command-line options for one plugin. More...
 
class  PluginRepository
 A repository of TSP plugins, either statically or dynamically linked. More...
 
class  PluginThread
 Base class for threads executing a tsp plugin. More...
 
class  PMT
 Representation of a Program Map Table (PMT). More...
 
class  PolledFile
 Description of a polled file. More...
 
class  PollFiles
 A class to poll files for modifications. More...
 
class  PollFilesListener
 Interface for classes listening for file modification. More...
 
class  PrefetchDescriptor
 Representation of a prefetch_descriptor (AIT specific). More...
 
class  PrivateDataIndicatorDescriptor
 Representation of a private_data_indicator_descriptor. More...
 
class  PrivateDataSpecifierDescriptor
 Representation of a private_data_specifier_descriptor. More...
 
class  ProcessorPlugin
 Packet processing tsp plugin interface. More...
 
class  ProtectionMessageDescriptor
 Representation of a protection_message_descriptor. More...
 
class  PSIBuffer
 A specialized subclass of ts::Buffer for PSI serialization. More...
 
class  PSILogger
 This class logs sections and tables. More...
 
class  PSIMerger
 This class merges PSI/SI tables from two TS, replacing TS packets. More...
 
class  PSIPlugin
 Display PSI/SI information plugin for tsp. More...
 
class  PSIRepository
 A repository for known PSI/SI tables and descriptors. More...
 
class  PushInputPlugin
 Abstract superclass for input tsp plugins working in push mode. More...
 
class  QualityExtensionDescriptor
 Representation of an MPEG-defined HEVC_hierarchy_extension_descriptor. More...
 
class  RandomGenerator
 Abstract base class for PRNG's (pseudo-random numbers generators). More...
 
class  RARoverDVBstreamDescriptor
 Representation of an RAR_over_DVB_stream_descriptor. More...
 
class  RARoverIPDescriptor
 Representation of an RAR_over_IP_descriptor. More...
 
class  RCT
 Representation of a Related Content Table (RCT) More...
 
class  RedistributionControlDescriptor
 Representation of an ATSC redistribution_control_descriptor. More...
 
class  ReferenceDescriptor
 Representation of an ISDB reference_descriptor. More...
 
class  RegistrationDescriptor
 Representation of a registration_descriptor. More...
 
class  Registry
 A class to encapsulate the access to the Windows registry. More...
 
class  RelatedContentDescriptor
 Representation of a DVB-defined related_content_descriptor. More...
 
class  Report
 Base class for message reporting and monitoring. More...
 
class  ReportBuffer
 A subclass of ts::Report which logs all messages in an internal buffer. More...
 
class  ReportFile
 A subclass of ts::Report which outputs messages in a text file. More...
 
class  ResidentBuffer
 Implementation of memory buffer locked in physical memory. More...
 
class  RingNode
 Base class for objects being part of a ring, ie. More...
 
class  RISTInputPlugin
 Reliable Internet Stream Transport (RIST) input plugin for tsp. More...
 
class  RISTOutputPlugin
 Reliable Internet Stream Transport (RIST) output plugin for tsp. More...
 
class  RNT
 Representation of a DVB Resolution provider Notification Table (RNT). More...
 
class  RNTScanDescriptor
 Representation of an RNT_scan_descriptor. More...
 
class  RRT
 Representation of an ATSC Rating Region Table (RRT). More...
 
class  RST
 Representation of a Running Status Table (RST). More...
 
class  S2SatelliteDeliverySystemDescriptor
 Representation of an S2_satellite_delivery_system_descriptor. More...
 
class  S2XSatelliteDeliverySystemDescriptor
 Representation of an S2X_satellite_delivery_system_descriptor. More...
 
class  S2Xv2SatelliteDeliverySystemDescriptor
 Representation of an S2Xv2_satellite_delivery_system_descriptor. More...
 
class  SAT
 Representation of a Satellite Access Table (SAT). More...
 
class  SatelliteDeliverySystemDescriptor
 Representation of a satellite_delivery_system_descriptor. More...
 
class  SchedulingDescriptor
 Representation of an scheduling_descriptor (UNT specific). More...
 
class  ScramblingDescriptor
 Representation of a scrambling_descriptor. More...
 
class  SCTE52_2003
 ANSI/SCTE 52 2003 DES-based TS packet encryption. More...
 
class  SCTE52_2008
 ANSI/SCTE 52 2008 DES-based TS packet encryption. More...
 
class  SDT
 Representation of a Service Description Table (SDT). More...
 
class  SDTT
 Representation of an ISDB Software Download Trigger Table (SDTT). More...
 
class  Section
 Representation of MPEG PSI/SI sections. More...
 
class  SectionContext
 A base class to lookup the context of MPEG PSI/SI sections. More...
 
class  SectionDemux
 This class rebuilds MPEG tables and sections from TS packets. More...
 
class  SectionFile
 A binary or XML file containing PSI/SI sections and tables. More...
 
class  SectionFileArgs
 Command line arguments for section file processing. More...
 
class  SectionHandlerInterface
 Abstract interface to receive MPEG Section from a SectionDemux. More...
 
class  SectionProviderInterface
 Abstract interface for classes which provide MPEG sections into a Packetizer. More...
 
class  SelectionInformationTable
 Representation of a Selection Information Table. More...
 
class  SeriesDescriptor
 Representation of an ISDB series_descriptor. More...
 
class  Service
 Describe a DVB or ATSC service. More...
 
class  ServiceAvailabilityDescriptor
 Representation of a service_availability_descriptor. More...
 
class  ServiceDescriptor
 Representation of a service_descriptor. More...
 
class  ServiceDiscovery
 Discover and describe a DVB service. More...
 
class  ServiceGroupDescriptor
 Representation of an ISDB service_group_descriptor. More...
 
class  ServiceIdentifierDescriptor
 Representation of a service_identifier_descriptor. More...
 
class  ServiceIdTriplet
 Full identification of a DVB service (aka "DVB triplet"). More...
 
class  ServiceListDescriptor
 Representation of a service_list_descriptor. More...
 
class  ServiceLocationDescriptor
 Representation of an ATSC service_location_descriptor. More...
 
class  ServiceMoveDescriptor
 Representation of a service_move_descriptor. More...
 
class  ServiceRelocatedDescriptor
 Representation of a service_relocated_descriptor. More...
 
struct  Severity
 Message severity. More...
 
class  SHA1
 SHA-1 hash. More...
 
class  SHA256
 SHA-256 hash. More...
 
class  SHA512
 SHA-512 hash. More...
 
class  SharedLibrary
 Shared library handling (.so on Linux, .dylib on macOS, .dll on Windows). More...
 
class  SHDeliverySystemDescriptor
 Representation of a SH_delivery_system_descriptor. More...
 
class  ShortEventDescriptor
 Representation of an short_event_descriptor. More...
 
class  ShortNodeInformationDescriptor
 Representation of an ISDB short_node_information_descriptor. More...
 
class  ShortSmoothingBufferDescriptor
 Representation of a short_smoothing_buffer_descriptor. More...
 
class  SignalAllocator
 Allocate POSIX real-time signal numbers (Linux-specific). More...
 
class  SignalizationDemux
 General-purpose signalization demux. More...
 
class  SignalizationHandlerInterface
 General-purpose signalization handler interface. More...
 
class  SignalState
 State of a modulated broadcast signal. More...
 
class  SimpleApplicationBoundaryDescriptor
 Representation of a simple_application_boundary_descriptor (AIT specific). More...
 
class  SimpleApplicationLocationDescriptor
 Representation of a simple_application_location_descriptor (AIT specific). More...
 
class  SimulCryptDate
 Representation of a date in DVB SimulCrypt protocols (ETSI TS 103 197). More...
 
class  SingleDataStatistics
 Statistics over a single set of data (integer or floating point). More...
 
class  SinkEnumMediaTypes
 SinkEnumMediaTypes, enumerator returned by ::IPin::EnumMediaTypes (Windows-specific). More...
 
class  SinkEnumPins
 SinkEnumPins, enumerator returned by ::IBaseFilter::EnumPins (Windows-specific). More...
 
class  SinkFilter
 The DirectShow sink filter (Windows-specific). More...
 
class  SinkPin
 SinkPin, input pin for SinkFilter (Windows-specific). More...
 
class  SIParameterDescriptor
 Representation of an ISDB SI_parameter_descriptor. More...
 
class  SIPrimeTSDescriptor
 Representation of an ISDB SI_prime_TS_descriptor. More...
 
class  SkipPlugin
 Skip packet processor plugin for tsp. More...
 
class  SkyLogicalChannelNumberDescriptor
 Representation of a sky_logical_channel_number_descriptor. More...
 
class  SLDescriptor
 Representation of an SL_descriptor. More...
 
struct  smaller_unsigned
 Define the smaller unsigned integer type with at least a given number of bits. More...
 
class  SmoothingBufferDescriptor
 Representation of a smoothing_buffer_descriptor. More...
 
class  Socket
 Base class for TCP and UDP sockets. More...
 
class  SpliceAvailDescriptor
 Representation of an SCTE 35 avail_descriptor (SIT specific). More...
 
class  SpliceDTMFDescriptor
 Representation of an SCTE 35 DTMF_descriptor (SIT specific). More...
 
class  SpliceInformationTable
 Representation of an SCTE 35 Splice Information Table. More...
 
class  SpliceInsert
 Representation of an SCTE 35 SpliceInsert command. More...
 
class  SplicePrivateCommand
 Representation of an SCTE 35 private_command() structure. More...
 
class  SpliceSchedule
 Representation of an SCTE 35 SpliceSchedule command. More...
 
class  SpliceSegmentationDescriptor
 Representation of an SCTE 35 segmentation_descriptor (SIT specific). More...
 
class  SpliceTime
 Representation of an SCTE 35 splice_time() structure. More...
 
class  SpliceTimeDescriptor
 Representation of an SCTE 35 time_descriptor (SIT specific). More...
 
class  SRTInputPlugin
 Secure Reliable Transport (SRT) input plugin for tsp. More...
 
class  SRTOutputPlugin
 Secure Reliable Transport (SRT) output plugin for tsp. More...
 
class  SRTSocket
 Secure Reliable Transport (SRT) Socket. More...
 
class  SSUDataBroadcastIdDescriptor
 Representation of a data_broadcast_id_descriptor for system software update. More...
 
class  SSUEnhancedMessageDescriptor
 Representation of an SSU_enhanced_message_descriptor (UNT specific). More...
 
class  SSUEventNameDescriptor
 Representation of an SSU_event_name_descriptor (UNT specific). More...
 
class  SSULinkageDescriptor
 Representation of a linkage_descriptor for system software update. More...
 
class  SSULocationDescriptor
 Representation of an SSU_location_descriptor (UNT specific). More...
 
class  SSUMessageDescriptor
 Representation of an SSU_message_descriptor (UNT specific). More...
 
class  SSUSubgroupAssociationDescriptor
 Representation of an SSU_subgroup_association_descriptor (UNT specific). More...
 
class  SSUURIDescriptor
 Representation of an SSU_uri_descriptor (UNT specific). More...
 
class  StandaloneTableDemux
 A SectionDemux which extracts MPEG tables without external handler. More...
 
struct  static_power10
 Static values of power of 10. More...
 
class  STCReferenceDescriptor
 Representation of an ISDB STC_reference_descriptor. More...
 
class  STDDescriptor
 Representation of an STD_descriptor. More...
 
class  StereoscopicProgramInfoDescriptor
 Representation of a stereoscopic_program_info_descriptor. More...
 
class  StereoscopicVideoInfoDescriptor
 Representation of a stereoscopic_video_info_descriptor. More...
 
class  StreamEventDescriptor
 Representation of a DSM-CC stream_event_descriptor. More...
 
class  StreamIdentifierDescriptor
 Representation of a stream_identifier_descriptor. More...
 
class  StreamModeDescriptor
 Representation of a DSM-CC stream_mode_descriptor. More...
 
class  StringifyInterface
 An interface to be implemented by classes supporting a conversion to UString. More...
 
class  STT
 Representation of an ATSC System Time Table (STT) More...
 
class  SubRipGenerator
 Generate subtitles in SubRip format (aka SRT). More...
 
class  SubtitlingDescriptor
 Representation of a subtitling_descriptor. More...
 
class  SupplementaryAudioDescriptor
 Representation of a supplementary_audio_descriptor. More...
 
class  SVCExtensionDescriptor
 Representation of an SVC_extension_descriptor. More...
 
class  SysInfo
 A singleton holding information on the current operating system. More...
 
class  SystemClockDescriptor
 Representation of an system_clock_descriptor. More...
 
class  SystemManagementDescriptor
 Representation of an ISDB system_management_descriptor. More...
 
class  SystemMonitor
 Monitoring thread for system resources used by the application. More...
 
class  SystemRandomGenerator
 System-provided PRNG (pseudo-random numbers generator). More...
 
class  T2DeliverySystemDescriptor
 Representation of a T2_delivery_system_descriptor. More...
 
class  T2MIDemux
 This class analyzes T2-MI (DVB-T2 Modulator Interface) from TS packets. More...
 
class  T2MIDescriptor
 Representation of a T2MI_descriptor. More...
 
class  T2MIHandlerInterface
 T2-MI demux handler interface. More...
 
class  T2MIPacket
 Representation of a DVB T2-MI (DVB-T2 Modulator Interface) packet. More...
 
class  TableHandlerInterface
 Table handler interface. More...
 
class  TablePatchXML
 Implementation of on-the-fly table patching using XML. More...
 
class  TablesDisplay
 A class to display PSI/SI tables. More...
 
class  TablesLogger
 This class logs sections and tables. More...
 
class  TablesLoggerFilter
 The default section filter for TablesLogger. More...
 
class  TablesLoggerFilterInterface
 An interface which is used to filter sections in TablesLogger. More...
 
class  TablesLoggerFilterRepository
 The repository of section filters for TablesLogger. More...
 
class  TablesPlugin
 Collect selected PSI/SI tables plugin for tsp. More...
 
class  TargetBackgroundGridDescriptor
 Representation of a target_background_grid_descriptor. More...
 
class  TargetIPAddressDescriptor
 Representation of a target_IP_address_descriptor (INT/UNT specific). More...
 
class  TargetIPSlashDescriptor
 Representation of a target_IP_slash_descriptor (INT specific). More...
 
class  TargetIPSourceSlashDescriptor
 Representation of a target_IP_source_slash_descriptor (INT specific). More...
 
class  TargetIPv6AddressDescriptor
 Representation of a target_IPv6_address_descriptor (INT/UNT specific). More...
 
class  TargetIPv6SlashDescriptor
 Representation of a target_IPv6_slash_descriptor (INT specific). More...
 
class  TargetIPv6SourceSlashDescriptor
 Representation of a target_IPv6_source_slash_descriptor (INT specific). More...
 
class  TargetMACAddressDescriptor
 Representation of a target_MAC_address_descriptor (INT/UNT specific). More...
 
class  TargetMACAddressRangeDescriptor
 Representation of a target_MAC_address_range_descriptor (INT specific). More...
 
class  TargetRegionDescriptor
 Representation of a target_region_descriptor. More...
 
class  TargetRegionNameDescriptor
 Representation of a target_region_name_descriptor. More...
 
class  TargetSerialNumberDescriptor
 Representation of a target_serial_number_descriptor (INT/UNT specific). More...
 
class  TargetSmartcardDescriptor
 Representation of a target_smartcard_descriptor (INT/UNT specific). More...
 
class  TCPConnection
 Base class for a TCP/IP session. More...
 
class  TCPServer
 Implementation of a TCP/IP server. More...
 
class  TCPSocket
 Base class for TCP/IP sockets. More...
 
class  TDES
 Triple-DES block cipher. More...
 
class  TDT
 Representation of a Time & Date Table (TDT) More...
 
class  TelephoneDescriptor
 Representation of a telephone_descriptor. More...
 
class  TeletextCharset
 Implementation of a Teletext character set. More...
 
class  TeletextDemux
 This class extracts Teletext subtitles from TS packets. More...
 
class  TeletextDescriptor
 Representation of a teletext_descriptor. More...
 
class  TeletextFrame
 Description of one Teletext frame. More...
 
class  TeletextHandlerInterface
 Interface to be implemented by classes which need to be notified of Teletext messages using a Teletext demux. More...
 
class  TeletextPlugin
 Extract Teletext subtitles plugin for tsp. More...
 
class  TelnetConnection
 Implementation of a half-duplex line oriented telnet connection. More...
 
class  TerrestrialDeliverySystemDescriptor
 Representation of a terrestrial_delivery_system_descriptor. More...
 
class  TextFormatter
 Format and print a text document using various output types and indentation. More...
 
class  TextParser
 A support class for applications which parse various text formats. More...
 
class  TextTable
 This class produces a formatted table of text lines and columns. More...
 
class  Thread
 Base class for threads. More...
 
class  ThreadAttributes
 Set of attributes for a thread object (ts::Thread). More...
 
struct  ThreadSafetyMutex
 Define the appropriate mutex class for a given level of thread-safety. More...
 
class  Time
 The Time class implements a basic representation of time. More...
 
class  TimeShiftBuffer
 A TS packet buffer for time shift. More...
 
class  TimeShiftedEventDescriptor
 Representation of a time_shifted_event_descriptor. More...
 
class  TimeSliceFECIdentifierDescriptor
 Representation of a time_slice_fec_identifier_descriptor. More...
 
class  TimeTrackerDemux
 A demux which tracks time stamps per PID. More...
 
class  TLVSyntax
 Representation of a Tag, Length, Value (TVL) syntax. More...
 
class  TOT
 Representation of a Time Offset Table (TOT) More...
 
class  TransportProfileDescriptor
 Representation of a transport_profile_descriptor. More...
 
class  TransportProtocolDescriptor
 Representation of a transport_protocol_descriptor (AIT specific). More...
 
class  TransportStreamDescriptor
 Representation of a transport_stream_descriptor. More...
 
class  TransportStreamId
 Full identification of a DVB transport stream. More...
 
class  TSAnalyzer
 A class which analyzes a complete transport stream. More...
 
class  TSAnalyzerOptions
 Report options for the class TSAnalyzer. More...
 
class  TSAnalyzerReport
 A subclass of TSAnalyzer with reporting capabilities. More...
 
class  TSDatagramOutput
 Send TS packets over datagrams (UDP, SRT, RIST, etc.) More...
 
class  TSDatagramOutputHandlerInterface
 Generic datagram handler interface. More...
 
class  TSDT
 Representation of a Transport Stream Description Table (TSDT) More...
 
class  TSDumpArgs
 Command line arguments for transport stream packets dump. More...
 
class  TSFile
 Transport stream file, input and/or output. More...
 
class  TSFileInputArgs
 Transport stream file input with command-line arguments. More...
 
class  TSFileInputBuffered
 Transport stream file input with a seekable buffer. More...
 
class  TSFileOutputArgs
 Transport stream file output with command-line arguments. More...
 
class  TSFileOutputResync
 A specialized form of transport stream output file with resynchronized PID and continuity counters. More...
 
class  TSForkPipe
 A subclass of ts::ForkPipe which exchanges TS packets on the pipe. More...
 
class  TSFuzzing
 Transport stream packets fuzzing. More...
 
class  TSFuzzingArgs
 Command line arguments for transport stream packets fuzzing. More...
 
class  TSInformationDescriptor
 Representation of an ISDB TS_information_descriptor. More...
 
class  TSP
 TSP callback for plugins. More...
 
class  TSPacket
 Basic definition of an MPEG-2 transport packet. More...
 
class  TSPacketMetadata
 Metadata of an MPEG-2 transport packet for tsp plugins. More...
 
class  TSPacketQueue
 Transport stream packet queue for inter-thread communication. More...
 
class  TSPacketStream
 Read/write TS packets on a stream. More...
 
class  TSPacketWindow
 A view over a window of a buffer of TS packets. More...
 
class  TSPControlCommand
 Definition of TSP control commands syntax. More...
 
class  TSProcessor
 Core of the TSP Transport Stream Processor. More...
 
class  TSProcessorArgs
 Transport stream processor options and their command line options. More...
 
class  TSScanner
 A class which scans the services of a transport stream. More...
 
class  TSScrambling
 Transport stream scrambling using multiple algorithms. More...
 
class  TSSpeedMetrics
 TS processing speed metrics evaluation. More...
 
class  TTMLSubtitlingDescriptor
 Representation of a TTML_subtitling_descriptor. More...
 
class  Tuner
 General-purpose implementation of a digital TV tuner. More...
 
class  TunerArgs
 Parameters for tuners and their command-line definitions. More...
 
class  TunerBase
 Base class for Digital TV tuners. More...
 
class  TunerDevice
 Digital TV tuner physical device. More...
 
class  TunerDeviceInfo
 Information on Linux DVB tuner device. More...
 
class  TunerEmulator
 Digital TV tuner emulator. More...
 
class  TunerGraph
 A specialization of a DirectShow graph for tuner reception (Windows-specific). More...
 
class  TVAIdDescriptor
 Representation of a DVB-defined TVA_id_descriptor. More...
 
class  TVCT
 Representation of an ATSC Terrestrial Virtual Channel Table (TVCT) More...
 
class  UDPReceiver
 UDP datagram receiver with common command line options. More...
 
class  UDPReceiverArgs
 Command line arguments for the class UDPReceiver. More...
 
class  UDPReceiverArgsList
 Command line arguments for the class UDPReceiver. More...
 
class  UDPSocket
 UDP Socket. More...
 
class  UID
 A singleton which generates 64-bit UID, unique integer. More...
 
struct  underlying_type
 The meta-type ts::underlying_type is a generalization of std::underlying_type which works on integer types as well. More...
 
class  UNT
 Representation of an Update Notification Table (INT). More...
 
class  UpdateDescriptor
 Representation of an update_descriptor (UNT specific). More...
 
class  URILinkageDescriptor
 Representation of a URI_linkage_descriptor. More...
 
class  URL
 Representation of a Uniform Resource Locator (URL). More...
 
class  UserInterrupt
 An instance of this class handles the Ctrl+C user interrupt. More...
 
class  UString
 An implementation of UTF-16 strings. More...
 
class  UWAVideoStreamDescriptor
 Representation of an CUVV_video_stream_descriptor. More...
 
class  VatekControl
 A class implementing the tsvatek control utility. More...
 
class  VatekOutputPlugin
 Vatek output plugin for tsp. More...
 
class  VBIDataDescriptor
 Representation of a VBI_data_descriptor. More...
 
class  VBITeletextDescriptor
 Representation of a VBI_teletext_descriptor. More...
 
class  VCT
 Base class for ATSC Virtual Channel Table (VCT). More...
 
class  VersionInfo
 Information about version identification of TSDuck. More...
 
class  VideoDecodeControlDescriptor
 Representation of an ISDB video_decode_control_descriptor. More...
 
class  VideoDepthRangeDescriptor
 Representation of a video_depth_range_descriptor. More...
 
class  VideoStreamDescriptor
 Representation of an video_stream_descriptor. More...
 
class  VideoWindowDescriptor
 Representation of a video_window_descriptor. More...
 
class  VirtualSegmentationDescriptor
 Representation of an MPEG-defined virtual_segmentation_descriptor. More...
 
class  VLANId
 A structure which describes a VLAN identification. More...
 
class  VLANIdStack
 A stack of VLAN identifiers, from outer to inner VLAN. More...
 
class  VVCAccessUnitDelimiter
 Representation of a VVC access unit delimiter (AUD). More...
 
class  VVCSubpicturesDescriptor
 Representation of a DVB VVC_subpictures_descriptor. More...
 
class  VVCTimingAndHRDDescriptor
 Representation of an VVC_timing_and_HRD_descriptor. More...
 
class  VVCVideoDescriptor
 Representation of a VVC_video_descriptor. More...
 
class  WatchDog
 General-purpose timeout watchdog. More...
 
class  WatchDogHandlerInterface
 Expiration handler interface for general-purpose timeout watchdog. More...
 
class  WebRequest
 Perform a simple Web request (HTTP, HTTPS, FTP). More...
 
class  WebRequestArgs
 Command line arguments for the class WebRequest. More...
 
class  XAITLocationDescriptor
 Representation of a xait_location_descriptor. More...
 
class  XAITPIDDescriptor
 Representation of a xait_pid_descriptor. More...
 
class  XDID
 eXtension Descriptor Id. More...
 
class  Xoshiro256ss
 Xoshiro256** PRNG (pseudo-random numbers generator). More...
 
class  XTID
 Extended MPEG table id. More...
 

Typedefs

using AbstractDescriptorPtr = std::shared_ptr< AbstractDescriptor >
 Safe pointer for AbstractDescriptor (not thread-safe).
 
using AbstractDescriptorPtrVector = std::vector< AbstractDescriptorPtr >
 Vector of AbstractDescriptor pointers.
 
using AbstractTablePtr = std::shared_ptr< AbstractTable >
 Safe pointer for AbstractTable (not thread-safe)
 
using AbstractTablePtrVector = std::vector< AbstractTablePtr >
 Vector of BinaryTable pointers.
 
using AC3Descriptor = DVBAC3Descriptor
 Legacy name for a DVB AC-3_descriptor.
 
using AC4Descriptor = DVBAC4Descriptor
 Legacy name for a DVB AC-4_descriptor.
 
using BandWidth = uint32_t
 Bandwidth (OFDM, DVB-T/T2)
 
using BinaryTablePtr = std::shared_ptr< BinaryTable >
 Safe pointer for BinaryTable (not thread-safe)
 
using BinaryTablePtrVector = std::vector< BinaryTablePtr >
 Vector of BinaryTable pointers.
 
using BitRate = user_defined
 Bitrate in bits/second.
 
using BitrateDifferenceDVBTList = std::list< BitrateDifferenceDVBT >
 List of BitrateDifferenceDVBT.
 
using BoolPredicate = bool(*)(bool, bool)
 Declaration of a boolean predicate with two arguments.
 
using ByteBlockList = std::list< ByteBlock >
 List of ByteBlock.
 
using ByteBlockPtr = std::shared_ptr< ByteBlock >
 Safe pointer for ByteBlock.
 
using ByteBlockVector = std::vector< ByteBlock >
 Vector of ByteBlock.
 
using CADescriptorPtr = std::shared_ptr< CADescriptor >
 Safe pointer to a CADescriptor (thread-safe).
 
using CASID = uint16_t
 Conditional Access System Id.
 
using char_ptr = char *
 Pointer to char.
 
using CommandLineMethod = CommandStatus(CommandLineHandler::*)(const UString &command, Args &args)
 Profile of a CommandLineHandler method which is invoked by a CommandLine instance for one command.
 
using const_char_ptr = const char *
 Pointer to const char.
 
using const_int16_ptr = const int16_t *
 Pointer to const int16_t.
 
using const_int32_ptr = const int32_t *
 Pointer to const int32_t.
 
using const_int64_ptr = const int64_t *
 Pointer to const int64_t.
 
using const_int8_ptr = const int8_t *
 Pointer to const int8_t.
 
using const_uint16_ptr = const uint16_t *
 Pointer to const uint16_t.
 
using const_uint32_ptr = const uint32_t *
 Pointer to const uint32_t.
 
using const_uint64_ptr = const uint64_t *
 Pointer to const uint64_t.
 
using const_uint8_ptr = const uint8_t *
 Pointer to const uint8_t.
 
using deciseconds = cn::duration< cn::milliseconds::rep, std::deci >
 A derivative of std::chrono::duration for deciseconds (1/10 of a second).
 
using DektecDeviceInfoVector = std::vector< DektecDeviceInfo >
 A vector of Dektec device information.
 
using DeliverySystemList = std::list< DeliverySystem >
 An ordered list of delivery system values (ts::DeliverySystem).
 
using DescriptorPtr = std::shared_ptr< Descriptor >
 Safe pointer for Descriptor (not thread-safe)
 
using DescriptorPtrVector = std::vector< DescriptorPtr >
 Vector of Descriptor pointers Use class DescriptorList for advanced features.
 
using DID = uint8_t
 Descriptor identifier.
 
using DisplayCADescriptorFunction = void(*)(TablesDisplay &display, PSIBuffer &private_part, const UString &margin, TID tid)
 Profile of a function to display the private part of a CA_descriptor.
 
using DisplayDescriptorFunction = void(*)(TablesDisplay &display, const Descriptor &desc, PSIBuffer &payload, const UString &margin, const DescriptorContext &context)
 Profile of a function to display a descriptor.
 
using DisplaySectionFunction = void(*)(TablesDisplay &display, const Section &section, PSIBuffer &payload, const UString &margin)
 Profile of a function to display a section.
 
using DTS = cn::duration< std::intmax_t, std::ratio< 1, SYSTEM_CLOCK_SUBFREQ > >
 Definition of a number of DTS units as a std::chrono::duration type.
 
using EnhancedAC3Descriptor = DVBEnhancedAC3Descriptor
 Legacy name for a DVB enhanced_AC-3_descriptor.
 
using Environment = std::map< UString, UString >
 Define a container type holding all environment variables.
 
using GitHubReleasePtr = std::shared_ptr< GitHubRelease >
 Smart pointer to a GitHubRelease (not thread-safe).
 
using GitHubReleaseVector = std::vector< GitHubReleasePtr >
 Vector of smart pointers to GitHubRelease objects.
 
using HiDesDeviceInfoList = std::list< HiDesDeviceInfo >
 A list of HiDes device information.
 
using ieee_float128_t = typename ieee_float< 128, 15, 112 >::type
 128-bit IEEE floating point type.
 
using ieee_float32_t = typename ieee_float< 32, 8, 23 >::type
 32-bit IEEE floating point type.
 
using ieee_float64_t = typename ieee_float< 64, 11, 52 >::type
 64-bit IEEE floating point type.
 
using ieee_float80_t = typename ieee_float< 80, 15, 64 >::type
 80-bit IEEE floating point type.
 
using int16_ptr = int16_t *
 Pointer to int16_t.
 
using int32_ptr = int32_t *
 Pointer to int32_t.
 
using int64_ptr = int64_t *
 Pointer to int64_t.
 
using int8_ptr = int8_t *
 Pointer to int8_t.
 
using ioctl_request_t = platform-dependent
 Portable type for ioctl() request parameter.
 
using IPAddressMaskVector = std::vector< IPAddressMask >
 Vector of IP addresses and network masks.
 
using IPAddressSet = std::set< IPAddress >
 Set of IP addresses.
 
using IPAddressVector = std::vector< IPAddress >
 Vector of IP addresses.
 
using IPSocketAddressSet = std::set< IPSocketAddress >
 Set of socket addresses.
 
using IPSocketAddressVector = std::vector< IPSocketAddress >
 Vector of socket addresses.
 
using ISDBTLayerCounter = IntegerMap< uint8_t, PacketCounter, &ISDBTLayerCounterNamesSection >
 A map of packet counters, indexed by ISDB-T layer.
 
using LogSectionFunction = UString(*)(const Section &section, size_t max_bytes)
 Profile of a function to display a brief overview ("log") of a section on one line.
 
using MACAddressVector = std::vector< MACAddress >
 Vector of MAC addresses.
 
using MediaGuardDate = CASDate< 1990 >
 Representation of a MediaGuard date.
 
using ModulationArgsPtr = std::shared_ptr< ModulationArgs >
 Safe pointer for ModulationArgs (thread-safe).
 
using MonoBoolPredicate = bool(*)(bool)
 Declaration of a boolean predicate with one argument.
 
using monotonic_time = cn::time_point< cn::steady_clock >
 Definition of a monotonic time.
 
using MultiBoolPredicate = bool(*)(std::initializer_list< bool >)
 Declaration of a boolean predicate with a variable number of arguments.
 
using NetworkInterfaceVector = std::vector< NetworkInterface >
 Vector of network interfaces.
 
using ObjectPtr = std::shared_ptr< Object >
 Safe pointer for Object (thread-safe).
 
using PacketBuffer = ResidentBuffer< TSPacket >
 TS packet are accessed in a memory-resident buffer.
 
using PacketCounter = uint64_t
 Number of Transport Stream packets.
 
using PacketMetadataBuffer = ResidentBuffer< TSPacketMetadata >
 Metadata for TS packet are accessed in a memory-resident buffer.
 
using PCR = cn::duration< std::intmax_t, std::ratio< 1, SYSTEM_CLOCK_FREQ > >
 Definition of a number of PCR units as a std::chrono::duration type.
 
using PDS = uint32_t
 Private data specifier.
 
using PESPacketPtr = std::shared_ptr< PESPacket >
 Safe pointer for PESPacket.
 
using PESPacketPtrVector = std::vector< PESPacketPtr >
 Vector of PESPacket safe pointers.
 
using PID = uint16_t
 PID value (13 bits).
 
using PIDSet = std::bitset< PID_MAX >
 A bit mask for PID values.
 
using PluginOptionsVector = std::vector< PluginOptions >
 A vector of plugin options, representing a processing chain.
 
using PolledFileList = std::list< PolledFilePtr >
 List of safe pointers to PolledFile (not thread-safe).
 
using PolledFilePtr = std::shared_ptr< PolledFile >
 Safe pointer to a PolledFile (not thread-safe).
 
using PSILoggerPtr = std::shared_ptr< PSILogger >
 Safe pointer for PSILogger.
 
using PTS = cn::duration< std::intmax_t, std::ratio< 1, SYSTEM_CLOCK_SUBFREQ > >
 Definition of a number of PTS units as a std::chrono::duration type.
 
using REGID = uint32_t
 Registration id, as found in an MPEG registration descriptor.
 
using REGIDVector = std::vector< REGID >
 Vector of registration ids.
 
using rtp_units = cn::duration< std::intmax_t, std::ratio< 1, RTP_RATE_MP2T > >
 Definition of a number of RTP clock units as a std::chrono::duration type.
 
using SafeAccessDate = CASDate< 2000 >
 Representation of a SafeAccess date.
 
using SectionCounter = uint64_t
 Number of sections.
 
using SectionPtr = std::shared_ptr< Section >
 Safe pointer for Section (not thread-safe).
 
using SectionPtrVector = std::vector< SectionPtr >
 Vector of Section pointers.
 
using ServiceIdTripletSet = std::set< ServiceIdTriplet >
 Set of ServiceIdTriplet.
 
using ServiceIdTripletVector = std::vector< ServiceIdTriplet >
 Vector of ServiceIdTriplet.
 
using ServiceList = std::list< Service >
 List of DVB services.
 
using ServiceSet = std::set< Service >
 Set of DVB services.
 
using ServiceVector = std::vector< Service >
 Vector of DVB services.
 
using StuffingDescriptor = DVBStuffingDescriptor
 Legacy name for a DVB stuffing_descriptor.
 
using SysRecvBufferPointer = platform_specific
 Pointer type for the address of the data buffer for a recv() system call.
 
using SysSendBufferPointer = platform_specific
 Pointer type for the address of the data buffer for a send() system call.
 
using SysSendSizeType = platform_specific
 Integer type for the size of the data buffer for a send() system call.
 
using SysSocketLengthType = platform_specific
 Integer data type which receives the length of a struct sockaddr.
 
using SysSocketLingerType = platform_specific
 Integer data type for the field l_linger in the struct linger socket option.
 
using SysSocketMulticastLoopType = platform_specific
 Integer data type for the IPv4 multicast loop socket option.
 
using SysSocketMulticastLoopType6 = platform_specific
 Integer data type for the IPv6 multicast loop socket option.
 
using SysSocketMulticastTTLType = platform_specific
 Integer data type for the multicast Time To Live (TTL) socket option.
 
using SysSocketPktInfoType = platform_specific
 Integer data type for the IP_PKTINFO socket option.
 
using SysSocketSignedSizeType = platform_specific
 Integer data type for a "signed size" returned from send() or recv() system calls.
 
using SysSocketTClassType = platform_specific
 Integer data type for the Traffic Class (TCLASS) IPv6 socket option.
 
using SysSocketTOSType = platform_specific
 Integer data type for the Type Of Service (TOS) IPv4 socket option.
 
using SysSocketTTLType = platform_specific
 Integer data type for the Time To Live (TTL) socket option.
 
using SysSocketType = platform_specific
 Data type for socket descriptors as returned by the socket() system call.
 
using SysSocketV6OnlyType = platform_specific
 Integer data type for the IPV6_V6ONLY socket option.
 
using SysSockOptPointer = platform_specific
 Pointer type for the address of a socket option value.
 
using T2MIPacketPtr = std::shared_ptr< T2MIPacket >
 Safe pointer for T2MIPacket (not thread-safe).
 
using T2MIPacketPtrVector = std::vector< T2MIPacketPtr >
 Vector of T2MIPacket safe pointers.
 
using TablesLoggerFilterPtr = std::shared_ptr< TablesLoggerFilterInterface >
 A safe pointer to TablesLogger section filter (not thread-safe).
 
using TablesLoggerFilterVector = std::vector< TablesLoggerFilterPtr >
 A vector of safe pointers to TablesLogger section filters.
 
using TablesLoggerPtr = std::shared_ptr< TablesLogger >
 Safe pointer for TablesLogger (not thread-safe).
 
using TID = uint8_t
 Table identifier.
 
using TLVSyntaxVector = std::vector< TLVSyntax >
 A vector of TLVSyntax.
 
using TransportStreamIdSet = std::set< TransportStreamId >
 Set of TransportStreamId.
 
using TransportStreamIdVector = std::vector< TransportStreamId >
 Vector of TransportStreamId.
 
using TSPacketLabelSet = CompactBitSet< 32 >
 A set of labels used as metadata for a TS packet.
 
using TSPacketMetadataVector = std::vector< TSPacketMetadata >
 Vector of packet metadata.
 
using TSPacketPtr = std::shared_ptr< TSPacket >
 Safe pointer for TSPacket.
 
using TSPacketVector = std::vector< TSPacket >
 Vector of packets.
 
using TunerDevice = TunerBase
 Digital TV tuner physical device.
 
using TunerPtr = std::shared_ptr< TunerBase >
 Safe pointer to a tuner (not thread-safe).
 
using TunerPtrVector = std::vector< TunerPtr >
 Vector of safe pointers to tuners (not thread-safe).
 
using UChar = char16_t
 UTF-16 character.
 
using uint16_ptr = uint16_t *
 Pointer to uint16_t.
 
using uint32_ptr = uint32_t *
 Pointer to uint32_t.
 
using uint64_ptr = uint64_t *
 Pointer to uint64_t.
 
using uint8_ptr = uint8_t *
 Pointer to uint8_t.
 
using UStringList = std::list< UString >
 List of strings.
 
using UStringVector = std::vector< UString >
 Vector of strings.
 
using ViaccessDate = CASDate< 1980 >
 Representation of a Viaccess date.
 

Enumerations

enum  : uint16_t {
  ETHERTYPE_IPv4 = 0x0800 ,
  ETHERTYPE_ARP = 0x0806 ,
  ETHERTYPE_WOL = 0x0842 ,
  ETHERTYPE_RARP = 0x8035 ,
  ETHERTYPE_802_1Q = 0x8100 ,
  ETHERTYPE_IPv6 = 0x86DD ,
  ETHERTYPE_802_1AD = 0x88A8 ,
  ETHERTYPE_802_1AH = 0x88E7 ,
  ETHERTYPE_NULL = 0xFFFF
}
 Selected Ethernet II protocol type identifiers. More...
 
enum  {
  HEVC_AUT_TRAIL_N = 0 ,
  HEVC_AUT_TRAIL_R = 1 ,
  HEVC_AUT_TSA_N = 2 ,
  HEVC_AUT_TSA_R = 3 ,
  HEVC_AUT_STSA_N = 4 ,
  HEVC_AUT_STSA_R = 5 ,
  HEVC_AUT_RADL_N = 6 ,
  HEVC_AUT_RADL_R = 7 ,
  HEVC_AUT_RASL_N = 8 ,
  HEVC_AUT_RASL_R = 9 ,
  HEVC_AUT_RSV_VCL_N10 = 10 ,
  HEVC_AUT_RSV_VCL_R11 = 11 ,
  HEVC_AUT_RSV_VCL_N12 = 12 ,
  HEVC_AUT_RSV_VCL_R13 = 13 ,
  HEVC_AUT_RSV_VCL_N14 = 14 ,
  HEVC_AUT_RSV_VCL_R15 = 15 ,
  HEVC_AUT_BLA_W_LP = 16 ,
  HEVC_AUT_BLA_W_RADL = 17 ,
  HEVC_AUT_BLA_N_LP = 18 ,
  HEVC_AUT_IDR_W_RADL = 19 ,
  HEVC_AUT_IDR_N_LP = 20 ,
  HEVC_AUT_CRA_NUT = 21 ,
  HEVC_AUT_RSV_IRAP_VCL22 = 22 ,
  HEVC_AUT_RSV_IRAP_VCL23 = 23 ,
  HEVC_AUT_RSV_VCL24 = 24 ,
  HEVC_AUT_RSV_VCL25 = 25 ,
  HEVC_AUT_RSV_VCL26 = 26 ,
  HEVC_AUT_RSV_VCL27 = 27 ,
  HEVC_AUT_RSV_VCL28 = 28 ,
  HEVC_AUT_RSV_VCL29 = 29 ,
  HEVC_AUT_RSV_VCL30 = 30 ,
  HEVC_AUT_RSV_VCL31 = 31 ,
  HEVC_AUT_VPS_NUT = 32 ,
  HEVC_AUT_SPS_NUT = 33 ,
  HEVC_AUT_PPS_NUT = 34 ,
  HEVC_AUT_AUD_NUT = 35 ,
  HEVC_AUT_EOS_NUT = 36 ,
  HEVC_AUT_EOB_NUT = 37 ,
  HEVC_AUT_FD_NUT = 38 ,
  HEVC_AUT_PREFIX_SEI_NUT = 39 ,
  HEVC_AUT_SUFFIX_SEI_NUT = 40 ,
  HEVC_AUT_RSV_NVCL41 = 41 ,
  HEVC_AUT_RSV_NVCL42 = 42 ,
  HEVC_AUT_RSV_NVCL43 = 43 ,
  HEVC_AUT_RSV_NVCL44 = 44 ,
  HEVC_AUT_RSV_NVCL45 = 45 ,
  HEVC_AUT_RSV_NVCL46 = 46 ,
  HEVC_AUT_RSV_NVCL47 = 47 ,
  HEVC_AUT_UNSPEC48 = 48 ,
  HEVC_AUT_UNSPEC63 = 63 ,
  HEVC_AUT_INVALID = 0xFF
}
 HEVC access unit types. More...
 
enum  {
  HEVC_PIC_TYPE_I = 0 ,
  HEVC_PIC_TYPE_IP = 1 ,
  HEVC_PIC_TYPE_IPB = 2
}
 HEVC picture types. More...
 
enum  : uint8_t {
  PST_PICTURE = 0x00 ,
  PST_SLICE_MIN = 0x01 ,
  PST_SLICE_MAX = 0xAF ,
  PST_RESERVED_B0 = 0xB0 ,
  PST_RESERVED_B1 = 0xB1 ,
  PST_USER_DATA = 0xB2 ,
  PST_SEQUENCE_HEADER = 0xB3 ,
  PST_SEQUENCE_ERROR = 0xB4 ,
  PST_EXTENSION = 0xB5 ,
  PST_RESERVED_B6 = 0xB6 ,
  PST_SEQUENCE_END = 0xB7 ,
  PST_GROUP = 0xB8 ,
  PST_SYSTEM_MIN = 0xB9 ,
  PST_SYSTEM_MAX = 0xFF
}
 PES start code values (after start code prefix 00 00 01) More...
 
enum  {
  FPS_23_976 = 0x01 ,
  FPS_24 = 0x02 ,
  FPS_25 = 0x03 ,
  FPS_29_97 = 0x04 ,
  FPS_30 = 0x05 ,
  FPS_50 = 0x06 ,
  FPS_59_94 = 0x07 ,
  FPS_60 = 0x08
}
 Frame rate values (in MPEG-1/2 video sequence). More...
 
enum  {
  AR_SQUARE = 1 ,
  AR_4_3 = 2 ,
  AR_16_9 = 3 ,
  AR_221 = 4
}
 Aspect ratio values (in MPEG-1/2 video sequence header). More...
 
enum  {
  CHROMA_MONO = 0 ,
  CHROMA_420 = 1 ,
  CHROMA_422 = 2 ,
  CHROMA_444 = 3
}
 Chroma format values (in MPEG-1/2 video sequence header). More...
 
enum  {
  VVC_AUT_TRAIL_NUT = 0 ,
  VVC_AUT_STSA_NUT = 1 ,
  VVC_AUT_RADL_NUT = 2 ,
  VVC_AUT_RASL_NUT = 3 ,
  VVC_AUT_RSV_VCL_4 = 4 ,
  VVC_AUT_RSV_VCL_5 = 5 ,
  VVC_AUT_RSV_VCL_6 = 6 ,
  VVC_AUT_IDR_W_RADL = 7 ,
  VVC_AUT_IDR_N_LP = 8 ,
  VVC_AUT_CRA_NUT = 9 ,
  VVC_AUT_GDR_NUT = 10 ,
  VVC_AUT_RSV_IRAP_11 = 11 ,
  VVC_AUT_OPI_NUT = 12 ,
  VVC_AUT_DCI_NUT = 13 ,
  VVC_AUT_VPS_NUT = 14 ,
  VVC_AUT_SPS_NUT = 15 ,
  VVC_AUT_PPS_NUT = 16 ,
  VVC_AUT_PREFIX_APS_NUT = 17 ,
  VVC_AUT_SUFFIX_APS_NUT = 18 ,
  VVC_AUT_PH_NUT = 19 ,
  VVC_AUT_AUD_NUT = 20 ,
  VVC_AUT_EOS_NUT = 21 ,
  VVC_AUT_EOB_NUT = 22 ,
  VVC_AUT_PREFIX_SEI_NUT = 23 ,
  VVC_AUT_SUFFIX_SEI_NUT = 24 ,
  VVC_AUT_FD_NUT = 25 ,
  VVC_AUT_RSV_NVCL_26 = 26 ,
  VVC_AUT_RSV_NVCL_27 = 27 ,
  VVC_AUT_UNSPEC_28 = 28 ,
  VVC_AUT_UNSPEC_31 = 31 ,
  VVC_AUT_INVALID = 0xFF
}
 VVC access unit types. More...
 
enum  {
  VVC_PIC_TYPE_I = 0 ,
  VVC_PIC_TYPE_IP = 1 ,
  VVC_PIC_TYPE_IPB = 2
}
 VVC picture types. More...
 
enum  : uint8_t {
  LINKAGE_INFO = 0x01 ,
  LINKAGE_EPG = 0x02 ,
  LINKAGE_CA_REPLACE = 0x03 ,
  LINKAGE_TS_NIT_BAT = 0x04 ,
  LINKAGE_SERVICE_REPLACE = 0x05 ,
  LINKAGE_DATA_BROADCAST = 0x06 ,
  LINKAGE_RCS_MAP = 0x07 ,
  LINKAGE_HAND_OVER = 0x08 ,
  LINKAGE_SSU = 0x09 ,
  LINKAGE_SSU_TABLE = 0x0A ,
  LINKAGE_IP_NOTIFY = 0x0B ,
  LINKAGE_INT_BAT_NIT = 0x0C ,
  LINKAGE_EVENT = 0x0D ,
  LINKAGE_EXT_EVENT_MIN = 0x0E ,
  LINKAGE_EXT_EVENT_MAX = 0x1F
}
 Linkage type values (in linkage_descriptor) More...
 
enum  : uint8_t {
  IP_SUBPROTO_HOPxHOP = 0 ,
  IP_SUBPROTO_ICMP = 1 ,
  IP_SUBPROTO_IGMP = 2 ,
  IP_SUBPROTO_TCP = 6 ,
  IP_SUBPROTO_UDP = 17 ,
  IP_SUBPROTO_V6_ENCAP = 41 ,
  IP_SUBPROTO_ROUTING = 43 ,
  IP_SUBPROTO_FRAGMENT = 44 ,
  IP_SUBPROTO_OSPF = 89 ,
  IP_SUBPROTO_SCTP = 132
}
 Selected IP protocol identifiers. More...
 
enum  {
  URI_LINKAGE_ONLINE_SDT = 0x00 ,
  URI_LINKAGE_IPTV_SDnS = 0x01 ,
  URI_LINKAGE_MRS = 0x02 ,
  URI_LINKAGE_DVB_I = 0x03
}
 uri_linkage_type in URI_linkage_descriptor More...
 
enum  {
  END_POINT_SERVICE_LIST = 0x01 ,
  END_POINT_SERVICE_LIST_REGISTRY = 0x02 ,
  END_POINT_SERVICE_LIST_EXTENDED = 0x03 ,
  END_POINT_MIN = END_POINT_SERVICE_LIST ,
  END_POINT_MAX = END_POINT_SERVICE_LIST_EXTENDED
}
 end_point_type in DVB-I_Info() in URI_linkage_descriptor More...
 
enum  : uint8_t {
  SID_PSMAP = 0xBC ,
  SID_PRIV1 = 0xBD ,
  SID_PAD = 0xBE ,
  SID_PRIV2 = 0xBF ,
  SID_AUDIO = 0xC0 ,
  SID_AUDIO_MASK = 0x1F ,
  SID_VIDEO = 0xE0 ,
  SID_VIDEO_MASK = 0x0F ,
  SID_ECM = 0xF0 ,
  SID_EMM = 0xF1 ,
  SID_DSMCC = 0xF2 ,
  SID_ISO13522 = 0xF3 ,
  SID_H222_1_A = 0xF4 ,
  SID_H222_1_B = 0xF5 ,
  SID_H222_1_C = 0xF6 ,
  SID_H222_1_D = 0xF7 ,
  SID_H222_1_E = 0xF8 ,
  SID_ANCILLARY = 0xF9 ,
  SID_MP4_SLPACK = 0xFA ,
  SID_MP4_M4MUX = 0xFB ,
  SID_METADATA = 0xFC ,
  SID_EXTENDED = 0xFD ,
  SID_RESERVED = 0xFE ,
  SID_PSDIR = 0xFF
}
 Stream id values, as used in PES header. More...
 
enum  : uint16_t {
  ATSC_TTYPE_TVCT_CURRENT = 0x0000 ,
  ATSC_TTYPE_TVCT_NEXT = 0x0001 ,
  ATSC_TTYPE_CVCT_CURRENT = 0x0002 ,
  ATSC_TTYPE_CVCT_NEXT = 0x0003 ,
  ATSC_TTYPE_CETT = 0x0004 ,
  ATSC_TTYPE_DCCSCT = 0x0005 ,
  ATSC_TTYPE_EIT_FIRST = 0x0100 ,
  ATSC_TTYPE_EIT_LAST = 0x017F ,
  ATSC_TTYPE_EETT_FIRST = 0x0200 ,
  ATSC_TTYPE_EETT_LAST = 0x027F ,
  ATSC_TTYPE_RRT_FIRST = 0x0301 ,
  ATSC_TTYPE_RRT_LAST = 0x03FF ,
  ATSC_TTYPE_DCCT_FIRST = 0x1400 ,
  ATSC_TTYPE_DCCT_LAST = 0x14FF
}
 Table type in ATSC Master Guide Table (MGT) More...
 
enum  : uint8_t {
  ATSC_STYPE_ANALOG_TV = 0x01 ,
  ATSC_STYPE_DTV = 0x02 ,
  ATSC_STYPE_AUDIO = 0x03 ,
  ATSC_STYPE_DATA = 0x04 ,
  ATSC_STYPE_SOFTWARE = 0x05
}
 Service type in ATSC Virtual Channel Table (VCT) More...
 
enum  : DID {
  DID_NULL = 0xFF ,
  DID_MPEG_VIDEO = 0x02 ,
  DID_MPEG_AUDIO = 0x03 ,
  DID_MPEG_HIERARCHY = 0x04 ,
  DID_MPEG_REGISTRATION = 0x05 ,
  DID_MPEG_DATA_ALIGN = 0x06 ,
  DID_MPEG_TGT_BG_GRID = 0x07 ,
  DID_MPEG_VIDEO_WIN = 0x08 ,
  DID_MPEG_CA = 0x09 ,
  DID_MPEG_LANGUAGE = 0x0A ,
  DID_MPEG_SYS_CLOCK = 0x0B ,
  DID_MPEG_MUX_BUF_USE = 0x0C ,
  DID_MPEG_COPYRIGHT = 0x0D ,
  DID_MPEG_MAX_BITRATE = 0x0E ,
  DID_MPEG_PRIV_DATA_IND = 0x0F ,
  DID_MPEG_SMOOTH_BUF = 0x10 ,
  DID_MPEG_STD = 0x11 ,
  DID_MPEG_IBP = 0x12 ,
  DID_MPEG_CAROUSEL_IDENTIFIER = 0x13 ,
  DID_MPEG_ASSOCIATION_TAG = 0x14 ,
  DID_MPEG_DEFERRED_ASSOC_TAGS = 0x15 ,
  DID_MPEG_NPT_REFERENCE = 0x17 ,
  DID_MPEG_NPT_ENDPOINT = 0x18 ,
  DID_MPEG_STREAM_MODE = 0x19 ,
  DID_MPEG_STREAM_EVENT = 0x1A ,
  DID_MPEG_MPEG4_VIDEO = 0x1B ,
  DID_MPEG_MPEG4_AUDIO = 0x1C ,
  DID_MPEG_IOD = 0x1D ,
  DID_MPEG_SL = 0x1E ,
  DID_MPEG_FMC = 0x1F ,
  DID_MPEG_EXT_ES_ID = 0x20 ,
  DID_MPEG_MUXCODE = 0x21 ,
  DID_MPEG_M4MUX_BUFFER_SIZE = 0x22 ,
  DID_MPEG_MUX_BUFFER = 0x23 ,
  DID_MPEG_CONTENT_LABELLING = 0x24 ,
  DID_MPEG_METADATA_POINTER = 0x25 ,
  DID_MPEG_METADATA = 0x26 ,
  DID_MPEG_METADATA_STD = 0x27 ,
  DID_MPEG_AVC_VIDEO = 0x28 ,
  DID_MPEG_MPEG2_IPMP = 0x29 ,
  DID_MPEG_AVC_TIMING_HRD = 0x2A ,
  DID_MPEG_MPEG2_AAC_AUDIO = 0x2B ,
  DID_MPEG_M4_MUX_TIMING = 0x2C ,
  DID_MPEG_MPEG4_TEXT = 0x2D ,
  DID_MPEG_MPEG4_AUDIO_EXT = 0x2E ,
  DID_MPEG_AUX_VIDEO = 0x2F ,
  DID_MPEG_SVC_EXT = 0x30 ,
  DID_MPEG_MVC_EXT = 0x31 ,
  DID_MPEG_J2K_VIDEO = 0x32 ,
  DID_MPEG_MVC_OPER_POINT = 0x33 ,
  DID_MPEG_STEREO_VIDEO_FORMAT = 0x34 ,
  DID_MPEG_STEREO_PROG_INFO = 0x35 ,
  DID_MPEG_STEREO_VIDEO_INFO = 0x36 ,
  DID_MPEG_TRANSPORT_PROFILE = 0x37 ,
  DID_MPEG_HEVC_VIDEO = 0x38 ,
  DID_MPEG_VVC_VIDEO = 0x39 ,
  DID_MPEG_EVC_VIDEO = 0x3A ,
  DID_MPEG_EXTENSION = 0x3F ,
  DID_DVB_NETWORK_NAME = 0x40 ,
  DID_DVB_SERVICE_LIST = 0x41 ,
  DID_DVB_STUFFING = 0x42 ,
  DID_DVB_SAT_DELIVERY = 0x43 ,
  DID_DVB_CABLE_DELIVERY = 0x44 ,
  DID_DVB_VBI_DATA = 0x45 ,
  DID_DVB_VBI_TELETEXT = 0x46 ,
  DID_DVB_BOUQUET_NAME = 0x47 ,
  DID_DVB_SERVICE = 0x48 ,
  DID_DVB_COUNTRY_AVAIL = 0x49 ,
  DID_DVB_LINKAGE = 0x4A ,
  DID_DVB_NVOD_REFERENCE = 0x4B ,
  DID_DVB_TIME_SHIFT_SERVICE = 0x4C ,
  DID_DVB_SHORT_EVENT = 0x4D ,
  DID_DVB_EXTENDED_EVENT = 0x4E ,
  DID_DVB_TIME_SHIFT_EVENT = 0x4F ,
  DID_DVB_COMPONENT = 0x50 ,
  DID_DVB_MOSAIC = 0x51 ,
  DID_DVB_STREAM_ID = 0x52 ,
  DID_DVB_CA_ID = 0x53 ,
  DID_DVB_CONTENT = 0x54 ,
  DID_DVB_PARENTAL_RATING = 0x55 ,
  DID_DVB_TELETEXT = 0x56 ,
  DID_DVB_TELEPHONE = 0x57 ,
  DID_DVB_LOCAL_TIME_OFFSET = 0x58 ,
  DID_DVB_SUBTITLING = 0x59 ,
  DID_DVB_TERREST_DELIVERY = 0x5A ,
  DID_DVB_MLINGUAL_NETWORK = 0x5B ,
  DID_DVB_MLINGUAL_BOUQUET = 0x5C ,
  DID_DVB_MLINGUAL_SERVICE = 0x5D ,
  DID_DVB_MLINGUAL_COMPONENT = 0x5E ,
  DID_DVB_PRIV_DATA_SPECIF = 0x5F ,
  DID_DVB_SERVICE_MOVE = 0x60 ,
  DID_DVB_SHORT_SMOOTH_BUF = 0x61 ,
  DID_DVB_FREQUENCY_LIST = 0x62 ,
  DID_DVB_PARTIAL_TS = 0x63 ,
  DID_DVB_DATA_BROADCAST = 0x64 ,
  DID_DVB_SCRAMBLING = 0x65 ,
  DID_DVB_DATA_BROADCAST_ID = 0x66 ,
  DID_DVB_TRANSPORT_STREAM = 0x67 ,
  DID_DVB_DSNG = 0x68 ,
  DID_DVB_PDC = 0x69 ,
  DID_DVB_AC3 = 0x6A ,
  DID_DVB_ANCILLARY_DATA = 0x6B ,
  DID_DVB_CELL_LIST = 0x6C ,
  DID_DVB_CELL_FREQ_LINK = 0x6D ,
  DID_DVB_ANNOUNCE_SUPPORT = 0x6E ,
  DID_DVB_APPLI_SIGNALLING = 0x6F ,
  DID_DVB_ADAPTFIELD_DATA = 0x70 ,
  DID_DVB_SERVICE_ID = 0x71 ,
  DID_DVB_SERVICE_AVAIL = 0x72 ,
  DID_DVB_DEFAULT_AUTHORITY = 0x73 ,
  DID_DVB_RELATED_CONTENT = 0x74 ,
  DID_DVB_TVA_ID = 0x75 ,
  DID_DVB_CONTENT_ID = 0x76 ,
  DID_DVB_TIME_SLICE_FEC_ID = 0x77 ,
  DID_DVB_ECM_REPETITION_RATE = 0x78 ,
  DID_DVB_S2_SAT_DELIVERY = 0x79 ,
  DID_DVB_ENHANCED_AC3 = 0x7A ,
  DID_DVB_DTS = 0x7B ,
  DID_DVB_AAC = 0x7C ,
  DID_DVB_XAIT_LOCATION = 0x7D ,
  DID_DVB_FTA_CONTENT_MGMT = 0x7E ,
  DID_DVB_EXTENSION = 0x7F ,
  DID_AIT_APPLICATION = 0x00 ,
  DID_AIT_APP_NAME = 0x01 ,
  DID_AIT_TRANSPORT_PROTO = 0x02 ,
  DID_AIT_DVBJ_APP = 0x03 ,
  DID_AIT_DVBJ_APP_LOC = 0x04 ,
  DID_AIT_EXT_APP_AUTH = 0x05 ,
  DID_AIT_APP_RECORDING = 0x06 ,
  DID_AIT_HTML_APP = 0x08 ,
  DID_AIT_HTML_APP_LOC = 0x09 ,
  DID_AIT_HTML_APP_BOUND = 0x0A ,
  DID_AIT_APP_ICONS = 0x0B ,
  DID_AIT_PREFETCH = 0x0C ,
  DID_AIT_DII_LOCATION = 0x0D ,
  DID_AIT_APP_STORAGE = 0x10 ,
  DID_AIT_IP_SIGNALLING = 0x11 ,
  DID_AIT_GRAPHICS_CONST = 0x14 ,
  DID_AIT_APP_LOCATION = 0x15 ,
  DID_AIT_APP_USAGE = 0x16 ,
  DID_AIT_APP_BOUNDARY = 0x17 ,
  DID_INT_SMARTCARD = 0x06 ,
  DID_INT_MAC_ADDR = 0x07 ,
  DID_INT_SERIAL_NUM = 0x08 ,
  DID_INT_IP_ADDR = 0x09 ,
  DID_INT_IPV6_ADDR = 0x0A ,
  DID_INT_PF_NAME = 0x0C ,
  DID_INT_PF_PROVIDER = 0x0D ,
  DID_INT_MAC_ADDR_RANGE = 0x0E ,
  DID_INT_IP_SLASH = 0x0F ,
  DID_INT_IP_SRC_SLASH = 0x10 ,
  DID_INT_IPV6_SLASH = 0x11 ,
  DID_INT_IPV6_SRC_SLASH = 0x12 ,
  DID_INT_STREAM_LOC = 0x13 ,
  DID_INT_ISP_ACCESS = 0x14 ,
  DID_INT_GEN_STREAM_LOC = 0x15 ,
  DID_UNT_SCHEDULING = 0x01 ,
  DID_UNT_UPDATE = 0x02 ,
  DID_UNT_SSU_LOCATION = 0x03 ,
  DID_UNT_MESSAGE = 0x04 ,
  DID_UNT_SSU_EVENT_NAME = 0x05 ,
  DID_UNT_SMARTCARD = 0x06 ,
  DID_UNT_MAC_ADDR = 0x07 ,
  DID_UNT_SERIAL_NUM = 0x08 ,
  DID_UNT_IP_ADDR = 0x09 ,
  DID_UNT_IPV6_ADDR = 0x0A ,
  DID_UNT_SUBGROUP_ASSOC = 0x0B ,
  DID_UNT_ENHANCED_MSG = 0x0C ,
  DID_UNT_SSU_URI = 0x0D ,
  DID_RNT_RAR_OVER_DVB = 0x40 ,
  DID_RNT_RAR_OVER_IP = 0x41 ,
  DID_RNT_SCAN = 0x42 ,
  DID_LW_SUBSCRIPTION = 0x81 ,
  DID_LW_SCHEDULE = 0xB0 ,
  DID_LW_PRIV_COMPONENT = 0xB1 ,
  DID_LW_PRIV_LINKAGE = 0xB2 ,
  DID_LW_CHAPTER = 0xB3 ,
  DID_LW_DRM = 0xB4 ,
  DID_LW_VIDEO_SIZE = 0xB5 ,
  DID_LW_EPISODE = 0xB6 ,
  DID_LW_PRICE = 0xB7 ,
  DID_LW_ASSET_REFERENCE = 0xB8 ,
  DID_LW_CONTENT_CODING = 0xB9 ,
  DID_LW_VOD_COMMAND = 0xBA ,
  DID_LW_DELETION_DATE = 0xBB ,
  DID_LW_PLAY_LIST = 0xBC ,
  DID_LW_PLAY_LIST_ENTRY = 0xBD ,
  DID_LW_ORDER_CODE = 0xBE ,
  DID_LW_BOUQUET_REFERENCE = 0xBF ,
  DID_EUTELSAT_CHAN_NUM = 0x83 ,
  DID_NORDIG_CHAN_NUM_V1 = 0x83 ,
  DID_NORDIG_CHAN_NUM_V2 = 0x87 ,
  DID_EACEM_LCN = 0x83 ,
  DID_EACEM_PREF_NAME_LIST = 0x84 ,
  DID_EACEM_PREF_NAME_ID = 0x85 ,
  DID_EACEM_STREAM_ID = 0x86 ,
  DID_EACEM_HD_SIMULCAST_LCN = 0x88 ,
  DID_OFCOM_LOGICAL_CHAN = 0x83 ,
  DID_OFCOM_PREF_NAME_LST = 0x84 ,
  DID_OFCOM_PREF_NAME_ID = 0x85 ,
  DID_OFCOM_SERVICE_ATTR = 0x86 ,
  DID_OFCOM_SHORT_SRV_NAM = 0x87 ,
  DID_OFCOM_HD_SIMULCAST = 0x88 ,
  DID_OFCOM_GUIDANCE = 0x89 ,
  DID_AUSTRALIA_LOGICAL_CHAN = 0x83 ,
  DID_CPLUS_DTG_STREAM_IND = 0x80 ,
  DID_CPLUS_PIO_OFFSET_TIME = 0X80 ,
  DID_CPLUS_LOGICAL_CHANNEL_81 = 0x81 ,
  DID_CPLUS_PRIVATE2 = 0x82 ,
  DID_CPLUS_LOGICAL_CHANNEL = 0x83 ,
  DID_CPLUS_PIO_CONTENT = 0x83 ,
  DID_CPLUS_PIO_LOGO = 0x84 ,
  DID_CPLUS_ADSL_DELIVERY = 0x85 ,
  DID_CPLUS_PIO_FEE = 0x86 ,
  DID_CPLUS_PIO_EVENT_RANGE = 0x88 ,
  DID_CPLUS_PIO_COPY_MANAGEMENT = 0x8B ,
  DID_CPLUS_PIO_COPY_CONTROL = 0x8C ,
  DID_CPLUS_PIO_PPV = 0x8E ,
  DID_CPLUS_PIO_STB_SERVICE_ID = 0x90 ,
  DID_CPLUS_PIO_MASKING_SERV_ID = 0x91 ,
  DID_CPLUS_PIO_STB_SERVMAP_UPD = 0x92 ,
  DID_CPLUS_NEW_SERVICE_LIST = 0x93 ,
  DID_CPLUS_MESSAGE_NAGRA = 0x94 ,
  DID_CPLUS_ITEM_EVENT = 0xA1 ,
  DID_CPLUS_ITEM_ZAPPING = 0xA2 ,
  DID_CPLUS_APPLI_MESSAGE = 0xA3 ,
  DID_CPLUS_LIST = 0xA4 ,
  DID_CPLUS_KEY_LIST = 0xB0 ,
  DID_CPLUS_PICTURE_SIGNALLING = 0xB1 ,
  DID_CPLUS_COUNTER_BB = 0xBB ,
  DID_CPLUS_DATA_COMPONENT_BD = 0xBD ,
  DID_CPLUS_SYSTEM_MGMT_BE = 0xBE ,
  DID_CPLUS_VO_LANGUAGE = 0xC0 ,
  DID_CPLUS_DATA_LIST = 0xC1 ,
  DID_CPLUS_APPLI_LIST = 0xC2 ,
  DID_CPLUS_MESSAGE = 0xC3 ,
  DID_CPLUS_FILE = 0xC4 ,
  DID_CPLUS_RADIO_FORMAT = 0xC5 ,
  DID_CPLUS_APPLI_STARTUP = 0xC6 ,
  DID_CPLUS_PATCH = 0xC7 ,
  DID_CPLUS_LOADER = 0xC8 ,
  DID_CPLUS_CHANNEL_MAP_UPDATE = 0xC9 ,
  DID_CPLUS_PPV = 0xCA ,
  DID_CPLUS_COUNTER_CB = 0xCB ,
  DID_CPLUS_OPERATOR_INFO = 0xCC ,
  DID_CPLUS_SERVICE_DEF_PARAMS = 0xCD ,
  DID_CPLUS_FINGER_PRINTING = 0xCE ,
  DID_CPLUS_FINGER_PRINTING_V2 = 0xCF ,
  DID_CPLUS_CONCEALED_GEO_ZONES = 0xD0 ,
  DID_CPLUS_COPY_PROTECTION = 0xD1 ,
  DID_CPLUS_MG_SUBSCRIPTION = 0xD3 ,
  DID_CPLUS_CABLE_BACKCH_DELIV = 0xD4 ,
  DID_CPLUS_INTERACT_SNAPSHOT = 0xD5 ,
  DID_CPLUS_ICON_POSITION = 0xDC ,
  DID_CPLUS_ICON_PIXMAP = 0xDD ,
  DID_CPLUS_ZONE_COORDINATE = 0xDE ,
  DID_CPLUS_HD_APP_CONTROL_CODE = 0xDF ,
  DID_CPLUS_EVENT_REPEAT = 0xE0 ,
  DID_CPLUS_PPV_V2 = 0xE1 ,
  DID_CPLUS_HYPERLINK_REF = 0xE2 ,
  DID_CPLUS_SHORT_SERVICE = 0xE4 ,
  DID_CPLUS_OPERATOR_TELEPHONE = 0xE5 ,
  DID_CPLUS_ITEM_REFERENCE = 0xE6 ,
  DID_CPLUS_MH_PARAMETERS = 0xE9 ,
  DID_CPLUS_LOGICAL_REFERENCE = 0xED ,
  DID_CPLUS_DATA_VERSION = 0xEE ,
  DID_CPLUS_SERVICE_GROUP = 0xEF ,
  DID_CPLUS_STREAM_LOC_TRANSP = 0xF0 ,
  DID_CPLUS_DATA_LOCATOR = 0xF1 ,
  DID_CPLUS_RESIDENT_APP = 0xF2 ,
  DID_CPLUS_RESIDENT_APP_SIGNAL = 0xF3 ,
  DID_CPLUS_MH_LOGICAL_REF = 0xF8 ,
  DID_CPLUS_RECORD_CONTROL = 0xF9 ,
  DID_CPLUS_CMPS_RECORD_CONTROL = 0xFA ,
  DID_CPLUS_EPISODE = 0xFB ,
  DID_CPLUS_CMP_SELECTION = 0xFC ,
  DID_CPLUS_DATA_COMPONENT_FD = 0xFD ,
  DID_CPLUS_SYSTEM_MGMT_FE = 0xFE ,
  DID_SKY_LCN = 0xB1 ,
  DID_SKY_SERVICE = 0xB2 ,
  DID_AVS3_VIDEO = 0xD1 ,
  DID_AVS3_AUDIO = 0xD2 ,
  DID_AVS2_AUDIO = 0xD3 ,
  DID_CUVV_HDR = 0xF3 ,
  DID_AOM_AV1_VIDEO = 0x80 ,
  DID_ATSC_STUFFING = 0x80 ,
  DID_ATSC_AC3 = 0x81 ,
  DID_ATSC_PID = 0x85 ,
  DID_ATSC_CAPTION = 0x86 ,
  DID_ATSC_CONTENT_ADVIS = 0x87 ,
  DID_CUE_IDENTIFIER = 0x8A ,
  DID_ATSC_EXT_CHAN_NAME = 0xA0 ,
  DID_ATSC_SERVICE_LOC = 0xA1 ,
  DID_ATSC_TIME_SHIFT = 0xA2 ,
  DID_ATSC_COMPONENT_NAME = 0xA3 ,
  DID_ATSC_DATA_BRDCST = 0xA4 ,
  DID_ATSC_PID_COUNT = 0xA5 ,
  DID_ATSC_DOWNLOAD = 0xA6 ,
  DID_ATSC_MPROTO_ENCAPS = 0xA7 ,
  DID_ATSC_DCC_DEPARTING = 0xA8 ,
  DID_ATSC_DCC_ARRIVING = 0xA9 ,
  DID_ATSC_REDIST_CONTROL = 0xAA ,
  DID_ATSC_GENRE = 0xAB ,
  DID_ATSC_PRIVATE_INFO = 0xAD ,
  DID_ATSC_ENHANCED_AC3 = 0xCC ,
  DID_EAS_INBAND_DETAILS = 0x00 ,
  DID_EAS_INBAND_EXCEPTS = 0x01 ,
  DID_EAS_AUDIO_FILE = 0x02 ,
  DID_EAS_METADATA = 0x03 ,
  DID_SPLICE_AVAIL = 0x00 ,
  DID_SPLICE_DTMF = 0x01 ,
  DID_SPLICE_SEGMENT = 0x02 ,
  DID_SPLICE_TIME = 0x03 ,
  DID_ISDB_MATERIAL_INFO = 0x67 ,
  DID_ISDB_HYBRID_INFO = 0x68 ,
  DID_ISDB_HIERARCH_TRANS = 0xC0 ,
  DID_ISDB_COPY_CONTROL = 0xC1 ,
  DID_ISDB_NETWORK_ID = 0xC2 ,
  DID_ISDB_PART_TS_TIME = 0xC3 ,
  DID_ISDB_AUDIO_COMP = 0xC4 ,
  DID_ISDB_HYPERLINK = 0xC5 ,
  DID_ISDB_TARGET_REGION = 0xC6 ,
  DID_ISDB_DATA_CONTENT = 0xC7 ,
  DID_ISDB_VIDEO_CONTROL = 0xC8 ,
  DID_ISDB_DOWNLOAD_CONT = 0xC9 ,
  DID_ISDB_CA_EMM_TS = 0xCA ,
  DID_ISDB_CA_CONTRACT = 0xCB ,
  DID_ISDB_CA_SERVICE = 0xCC ,
  DID_ISDB_TS_INFO = 0xCD ,
  DID_ISDB_EXT_BROADCAST = 0xCE ,
  DID_ISDB_LOGO_TRANSM = 0xCF ,
  DID_ISDB_BASIC_LOCAL_EV = 0xD0 ,
  DID_ISDB_REFERENCE = 0xD1 ,
  DID_ISDB_NODE_RELATION = 0xD2 ,
  DID_ISDB_SHORT_NODE_INF = 0xD3 ,
  DID_ISDB_STC_REF = 0xD4 ,
  DID_ISDB_SERIES = 0xD5 ,
  DID_ISDB_EVENT_GROUP = 0xD6 ,
  DID_ISDB_SI_PARAMETER = 0xD7 ,
  DID_ISDB_BROADCAST_NAME = 0xD8 ,
  DID_ISDB_COMP_GROUP = 0xD9 ,
  DID_ISDB_SI_PRIME_TS = 0xDA ,
  DID_ISDB_BOARD_INFO = 0xDB ,
  DID_ISDB_LDT_LINKAGE = 0xDC ,
  DID_ISDB_CONNECT_TRANSM = 0xDD ,
  DID_ISDB_CONTENT_AVAIL = 0xDE ,
  DID_ISDB_EXTENSION = 0xDF ,
  DID_ISDB_SERVICE_GROUP = 0xE0 ,
  DID_ISDB_AREA_BCAST_INF = 0xE1 ,
  DID_ISDB_NETW_DOWNLOAD = 0xE2 ,
  DID_ISDB_DOWNLOAD_PROT = 0xE3 ,
  DID_ISDB_CA_ACTIVATION = 0xE4 ,
  DID_ISDB_WMCTDS = 0xF3 ,
  DID_ISDB_ADV_WDS = 0xF4 ,
  DID_ISDB_SCRAMBLE_METH = 0xF5 ,
  DID_ISDB_CA = 0xF6 ,
  DID_ISDB_CAROUSEL_COMP = 0xF7 ,
  DID_ISDB_COND_PLAYBACK = 0xF8 ,
  DID_ISDB_CABLE_TS_DIV = 0xF9 ,
  DID_ISDB_TERRES_DELIV = 0xFA ,
  DID_ISDB_PARTIAL_RECP = 0xFB ,
  DID_ISDB_EMERGENCY_INFO = 0xFC ,
  DID_ISDB_DATA_COMP = 0xFD ,
  DID_ISDB_SYSTEM_MGMT = 0xFE
}
 Descriptor tag values (descriptor identification, DID) More...
 
enum  : DID {
  XDID_NULL = 0xFF ,
  XDID_MPEG_OBJ_DESC_UPD = 0x02 ,
  XDID_MPEG_HEVC_TIM_HRD = 0x03 ,
  XDID_MPEG_AF_EXT = 0x04 ,
  XDID_MPEG_HEVC_OP_POINT = 0x05 ,
  XDID_MPEG_HEVC_HIER_EXT = 0x06 ,
  XDID_MPEG_GREEN_EXT = 0x07 ,
  XDID_MPEG_MPH3D_AUDIO = 0x08 ,
  XDID_MPEG_MPH3D_CONFIG = 0x09 ,
  XDID_MPEG_MPH3D_SCENE = 0x0A ,
  XDID_MPEG_MPH3D_TEXT = 0x0B ,
  XDID_MPEG_MPH3D_MULTI = 0x0C ,
  XDID_MPEG_MPH3D_DRCLOUD = 0x0D ,
  XDID_MPEG_MPH3D_COMMAND = 0x0E ,
  XDID_MPEG_QUALITY_EXT = 0x0F ,
  XDID_MPEG_VIRT_SEGMENT = 0x10 ,
  XDID_MPEG_TIMED_METADATA_EXT = 0x11 ,
  XDID_MPEG_HEVC_TILE_SSTRM = 0x12 ,
  XDID_MPEG_HEVC_SUBREGION = 0x13 ,
  XDID_MPEG_JXS_VIDEO = 0x14 ,
  XDID_MPEG_VVC_TIM_HRD = 0x15 ,
  XDID_MPEG_EVC_TIM_HRD = 0x16 ,
  XDID_MPEG_LCEVC_VIDEO = 0x17 ,
  XDID_MPEG_LCEVC_LINKAGE = 0x18 ,
  XDID_MPEG_MEDIA_SVC_KIND = 0x19 ,
  XDID_DVB_IMAGE_ICON = 0x00 ,
  XDID_DVB_CPCM_DELIVERY_SIG = 0x01 ,
  XDID_DVB_CP = 0x02 ,
  XDID_DVB_CP_IDENTIFIER = 0x03 ,
  XDID_DVB_T2_DELIVERY = 0x04 ,
  XDID_DVB_SH_DELIVERY = 0x05 ,
  XDID_DVB_SUPPL_AUDIO = 0x06 ,
  XDID_DVB_NETW_CHANGE_NOTIFY = 0x07 ,
  XDID_DVB_MESSAGE = 0x08 ,
  XDID_DVB_TARGET_REGION = 0x09 ,
  XDID_DVB_TARGET_REGION_NAME = 0x0A ,
  XDID_DVB_SERVICE_RELOCATED = 0x0B ,
  XDID_DVB_XAIT_PID = 0x0C ,
  XDID_DVB_C2_DELIVERY = 0x0D ,
  XDID_DVB_DTS_HD_AUDIO = 0x0E ,
  XDID_DVB_DTS_NEURAL = 0x0F ,
  XDID_DVB_VIDEO_DEPTH_RANGE = 0x10 ,
  XDID_DVB_T2MI = 0x11 ,
  XDID_DVB_URI_LINKAGE = 0x13 ,
  XDID_DVB_CI_ANCILLARY_DATA = 0x14 ,
  XDID_DVB_AC4 = 0x15 ,
  XDID_DVB_C2_BUNDLE_DELIVERY = 0x16 ,
  XDID_DVB_S2X_DELIVERY = 0x17 ,
  XDID_DVB_PROTECTION_MSG = 0x18 ,
  XDID_DVB_AUDIO_PRESELECT = 0x19 ,
  XDID_DVB_TTML_SUBTITLING = 0x20 ,
  XDID_DVB_DTS_UHD = 0x21 ,
  XDID_DVB_SERVICE_PROMINENCE = 0x22 ,
  XDID_DVB_VVC_SUBPICTURES = 0x23 ,
  XDID_DVB_S2XV2_DELIVERY = 0x24
}
 Extension descriptor tag values (MPEG or DVB extension_descriptor) More...
 
enum  : uint8_t {
  RS_UNDEFINED = 0x00 ,
  RS_NOT_RUNNING = 0x01 ,
  RS_STARTING = 0x02 ,
  RS_PAUSING = 0x03 ,
  RS_RUNNING = 0x04 ,
  RS_OFF_AIR = 0x05
}
 Running status values (in RST, EIT, etc.) More...
 
enum  : uint8_t {
  SCRAMBLING_DVB_CSA1 = 0x01 ,
  SCRAMBLING_DVB_CSA2 = 0x02 ,
  SCRAMBLING_DVB_CSA3 = 0x03 ,
  SCRAMBLING_DVB_CSA3_MIN = 0x04 ,
  SCRAMBLING_DVB_CSA3_FULL = 0x05 ,
  SCRAMBLING_DVB_CISSA1 = 0x10 ,
  SCRAMBLING_ATIS_IIF_IDSA = 0x70 ,
  SCRAMBLING_USER_MIN = 0x80 ,
  SCRAMBLING_DUCK_AES_CBC = 0xF0 ,
  SCRAMBLING_DUCK_AES_CTR = 0xF1 ,
  SCRAMBLING_USER_MAX = 0xFE ,
  SCRAMBLING_RESERVED = 0xFF
}
 Scrambling mode values (in scrambling_descriptor) More...
 
enum  : uint16_t {
  DBID_DATA_PIPE = 0x0001 ,
  DBID_ASYNC_DATA_STREAM = 0x0002 ,
  DBID_SYNC_DATA_STREAM = 0x0003 ,
  DBID_SYNCED_DATA_STREAM = 0x0004 ,
  DBID_MPE = 0x0005 ,
  DBID_DATA_CSL = 0x0006 ,
  DBID_OBJECT_CSL = 0x0007 ,
  DBID_ATM = 0x0008 ,
  DBID_HP_ASYNC_DATA_STREAM = 0x0009 ,
  DBID_SSU = 0x000A ,
  DBID_IPMAC_NOTIFICATION = 0x000B ,
  DBID_MHP_OBJECT_CSL = 0x00F0 ,
  DBID_MHP_MPE = 0x00F1 ,
  DBID_EUTELSAT_DATA_PIPE = 0x0100 ,
  DBID_EUTELSAT_DATA_STREAM = 0x0101 ,
  DBID_SAGEM_IP = 0x0102 ,
  DBID_BARCO_DATA_BRD = 0x0103 ,
  DBID_CIBERCITY_MPE = 0x0104 ,
  DBID_CYBERSAT_MPE = 0x0105 ,
  DBID_TDN = 0x0106 ,
  DBID_OPENTV_DATA_CSL = 0x0107 ,
  DBID_PANASONIC = 0x0108 ,
  DBID_KABEL_DEUTSCHLAND = 0x0109 ,
  DBID_TECHNOTREND = 0x010A ,
  DBID_MEDIAHIGHWAY_SSU = 0x010B ,
  DBID_GUIDE_PLUS = 0x010C ,
  DBID_ACAP_OBJECT_CSL = 0x010D ,
  DBID_MICRONAS = 0x010E ,
  DBID_POLSAT = 0x0110 ,
  DBID_DTG = 0x0111 ,
  DBID_SKYMEDIA = 0x0112 ,
  DBID_INTELLIBYTE = 0x0113 ,
  DBID_TELEWEB_DATA_CSL = 0x0114 ,
  DBID_TELEWEB_OBJECT_CSL = 0x0115 ,
  DBID_TELEWEB = 0x0116 ,
  DBID_BBC = 0x0117 ,
  DBID_ELECTRA = 0x0118 ,
  DBID_BBC_2_3 = 0x011A ,
  DBID_TELETEXT = 0x011B ,
  DBID_SKY_DOWNLOAD_1_5 = 0x0120 ,
  DBID_ICO = 0x0121 ,
  DBID_CIPLUS_DATA_CSL = 0x0122 ,
  DBID_HBBTV = 0x0123 ,
  DBID_ROVI_PREMIUM = 0x0124 ,
  DBID_MEDIA_GUIDE = 0x0125 ,
  DBID_INVIEW = 0x0126 ,
  DBID_BOTECH = 0x0130 ,
  DBID_SCILLA_PUSHVOD_CSL = 0x0131 ,
  DBID_CANAL_PLUS = 0x0140 ,
  DBID_OIPF_OBJECT_CSL = 0x0150 ,
  DBID_4TV = 0x4444 ,
  DBID_NOKIA_IP_SSU = 0x4E4F ,
  DBID_BBG_DATA_CSL = 0xBBB1 ,
  DBID_BBG_OBJECT_CSL = 0xBBB2 ,
  DBID_BBG = 0xBBBB
}
 Data broadcast id values (in data_broadcast[_id]_descriptor) More...
 
enum  : uint16_t {
  MHP_PROTO_CAROUSEL = 0x0001 ,
  MHP_PROTO_MPE = 0x0002 ,
  MHP_PROTO_HTTP = 0x0003
}
 DVB-MHP transport protocol ids. More...
 
enum  : PDS {
  PDS_BSKYB = 0x00000002 ,
  PDS_BSKYB_2 = 0x00000003 ,
  PDS_BSKYB_3 = 0x00000004 ,
  PDS_NAGRA = 0x00000009 ,
  PDS_NAGRA_2 = 0x0000000A ,
  PDS_NAGRA_3 = 0x0000000B ,
  PDS_NAGRA_4 = 0x0000000C ,
  PDS_NAGRA_5 = 0x0000000D ,
  PDS_TPS = 0x00000010 ,
  PDS_EACEM = 0x00000028 ,
  PDS_EICTA = PDS_EACEM ,
  PDS_NORDIG = 0x00000029 ,
  PDS_LOGIWAYS = 0x000000A2 ,
  PDS_CANALPLUS = 0x000000C0 ,
  PDS_EUTELSAT = 0x0000055F ,
  PDS_OFCOM = 0x0000233A ,
  PDS_AUSTRALIA = 0x00003200 ,
  PDS_AOM = 0x414F4D53 ,
  PDS_AVSAudio = 0x41565341 ,
  PDS_AVSVideo = 0x41565356 ,
  PDS_NULL = 0xFFFFFFFF
}
 Selected DVB-registered private data specifier (PDS) values. More...
 
enum  : REGID {
  REGID_AC3 = MakeREGID("AC-3") ,
  REGID_AOM = MakeREGID("AV01") ,
  REGID_AVSAudio = MakeREGID("AVSA") ,
  REGID_AVSVideo = MakeREGID("AVSV") ,
  REGID_CUEI = MakeREGID("CUEI") ,
  REGID_DTG1 = MakeREGID("DTG1") ,
  REGID_EAC3 = MakeREGID("EAC3") ,
  REGID_GA94 = MakeREGID("GA94") ,
  REGID_HDMV = MakeREGID("HDMV") ,
  REGID_HEVC = MakeREGID("HEVC") ,
  REGID_KLVA = MakeREGID("KLVA") ,
  REGID_SCTE = MakeREGID("SCTE") ,
  REGID_CUVV = MakeREGID("cuvv") ,
  REGID_NULL = 0xFFFFFFFF
}
 Registration id (a.k.a "format identifier") values in MPEG-defined registration_descriptor. More...
 
enum  : uint8_t {
  CUE_INSERT_NULL_SCHEDULE = 0x00 ,
  CUE_ALL_COMMANDS = 0x01 ,
  CUE_SEGMENTATION = 0x02 ,
  CUE_TIERED_SPLICING = 0x03 ,
  CUE_TIERED_SEGMENTATION = 0x04
}
 Cue stream type values in cue_identifier_descriptor. More...
 
enum  : uint8_t {
  SPLICE_NULL = 0x00 ,
  SPLICE_SCHEDULE = 0x04 ,
  SPLICE_INSERT = 0x05 ,
  SPLICE_TIME_SIGNAL = 0x06 ,
  SPLICE_BANDWIDTH_RESERVATION = 0x07 ,
  SPLICE_PRIVATE_COMMAND = 0xFF
}
 Splice commands in Splice Information Table. More...
 
enum  : uint8_t {
  ST_NULL = 0x00 ,
  ST_MPEG1_VIDEO = 0x01 ,
  ST_MPEG2_VIDEO = 0x02 ,
  ST_MPEG1_AUDIO = 0x03 ,
  ST_MPEG2_AUDIO = 0x04 ,
  ST_PRIV_SECT = 0x05 ,
  ST_PES_PRIV = 0x06 ,
  ST_MHEG = 0x07 ,
  ST_DSMCC = 0x08 ,
  ST_MPEG2_ATM = 0x09 ,
  ST_DSMCC_MPE = 0x0A ,
  ST_DSMCC_UN = 0x0B ,
  ST_DSMCC_SD = 0x0C ,
  ST_DSMCC_SECT = 0x0D ,
  ST_MPEG2_AUX = 0x0E ,
  ST_AAC_AUDIO = 0x0F ,
  ST_MPEG4_VIDEO = 0x10 ,
  ST_MPEG4_AUDIO = 0x11 ,
  ST_MPEG4_PES = 0x12 ,
  ST_MPEG4_SECT = 0x13 ,
  ST_DSMCC_DLOAD = 0x14 ,
  ST_MDATA_PES = 0x15 ,
  ST_MDATA_SECT = 0x16 ,
  ST_MDATA_DC = 0x17 ,
  ST_MDATA_OC = 0x18 ,
  ST_MDATA_DLOAD = 0x19 ,
  ST_MPEG2_IPMP = 0x1A ,
  ST_AVC_VIDEO = 0x1B ,
  ST_MPEG4_AUDIO_RAW = 0x1C ,
  ST_MPEG4_TEXT = 0x1D ,
  ST_AUX_VIDEO = 0x1E ,
  ST_AVC_SUBVIDEO_G = 0x1F ,
  ST_AVC_SUBVIDEO_H = 0x20 ,
  ST_J2K_VIDEO = 0x21 ,
  ST_MPEG2_3D_VIEW = 0x22 ,
  ST_AVC_3D_VIEW = 0x23 ,
  ST_HEVC_VIDEO = 0x24 ,
  ST_HEVC_SUBVIDEO = 0x25 ,
  ST_AVC_SUBVIDEO_I = 0x26 ,
  ST_EXT_MEDIA = 0x27 ,
  ST_HEVC_SUBVIDEO_G = 0x28 ,
  ST_HEVC_SUBVIDEO_TG = 0x29 ,
  ST_HEVC_SUBVIDEO_H = 0x2A ,
  ST_HEVC_SUBVIDEO_TH = 0x2B ,
  ST_GREEN = 0x2C ,
  ST_MPH3D_MAIN = 0x2D ,
  ST_MPH3D_AUX = 0x2E ,
  ST_QUALITY = 0x2F ,
  ST_MEDIA_ORCHESTR = 0x30 ,
  ST_HEVC_TILESET = 0x31 ,
  ST_JPEG_XS_VIDEO = 0x32 ,
  ST_VVC_VIDEO = 0x33 ,
  ST_VVC_VIDEO_SUBSET = 0x34 ,
  ST_EVC_VIDEO = 0x35 ,
  ST_LCEVC_VIDEO = 0x36 ,
  ST_CHINESE_VIDEO = 0x42 ,
  ST_IPMP = 0x7F ,
  ST_DGC_II_VIDEO = 0x80 ,
  ST_AC3_AUDIO = 0x81 ,
  ST_AC3_TRUEHD_AUDIO = 0x83 ,
  ST_AC3_PLUS_AUDIO = 0x84 ,
  ST_SCTE35_SPLICE = 0x86 ,
  ST_EAC3_AUDIO = 0x87 ,
  ST_A52B_AC3_AUDIO = 0x91 ,
  ST_MS_VIDEO = 0xA0 ,
  ST_VC1 = 0xEA ,
  ST_LPCM_AUDIO = 0x80 ,
  ST_HDMV_AC3 = 0x81 ,
  ST_DTS_AUDIO = 0x82 ,
  ST_HDMV_AC3_TRUEHD = 0x83 ,
  ST_HDMV_AC3_PLUS = 0x84 ,
  ST_DTS_HS_AUDIO = 0x85 ,
  ST_DTS_HD_MA_AUDIO = 0x86 ,
  ST_HDMV_EAC3 = 0x87 ,
  ST_DTS_AUDIO_8A = 0x8A ,
  ST_SUBPIC_PGS = 0x90 ,
  ST_IGS = 0x91 ,
  ST_DVD_SUBTITLES = 0x92 ,
  ST_SDDS_AUDIO = 0x94 ,
  ST_HDMV_AC3_PLS_SEC = 0xA1 ,
  ST_DTS_HD_SEC = 0xA2 ,
  ST_AVS2_AUDIO = 0xD3 ,
  ST_AVS3_VIDEO = 0xD4 ,
  ST_AVS3_AUDIO = 0xD5
}
 Stream type values, as used in the PMT. More...
 
enum  : TID {
  TID_PAT = 0x00 ,
  TID_CAT = 0x01 ,
  TID_PMT = 0x02 ,
  TID_TSDT = 0x03 ,
  TID_MP4SDT = 0x04 ,
  TID_MP4ODT = 0x05 ,
  TID_MDT = 0x06 ,
  TID_IPMP_CT = 0x07 ,
  TID_ISO_14496 = 0x08 ,
  TID_ISO_23001_11 = 0x09 ,
  TID_ISO_23001_10 = 0x0A ,
  TID_DSMCC_MPE = 0x3A ,
  TID_DSMCC_UNM = 0x3B ,
  TID_DSMCC_DDM = 0x3C ,
  TID_DSMCC_SD = 0x3D ,
  TID_DSMCC_PD = 0x3E ,
  TID_MPEG_LAST = 0x3F ,
  TID_NULL = 0xFF ,
  TID_NIT_ACT = 0x40 ,
  TID_NIT_OTH = 0x41 ,
  TID_SDT_ACT = 0x42 ,
  TID_SDT_OTH = 0x46 ,
  TID_BAT = 0x4A ,
  TID_UNT = 0x4B ,
  TID_INT = 0x4C ,
  TID_SAT = 0x4D ,
  TID_EIT_PF_ACT = 0x4E ,
  TID_EIT_PF_OTH = 0x4F ,
  TID_EIT_S_ACT_MIN = 0x50 ,
  TID_EIT_S_ACT_MAX = 0x5F ,
  TID_EIT_S_OTH_MIN = 0x60 ,
  TID_EIT_S_OTH_MAX = 0x6F ,
  TID_TDT = 0x70 ,
  TID_RST = 0x71 ,
  TID_ST = 0x72 ,
  TID_TOT = 0x73 ,
  TID_AIT = 0x74 ,
  TID_CT = 0x75 ,
  TID_RCT = 0x76 ,
  TID_CIT = 0x77 ,
  TID_MPE_FEC = 0x78 ,
  TID_RNT = 0x79 ,
  TID_MPE_IFEC = 0x7A ,
  TID_DIT = 0x7E ,
  TID_SIT = 0x7F ,
  TID_ECM_80 = 0x80 ,
  TID_ECM_81 = 0x81 ,
  TID_EMM_FIRST = 0x82 ,
  TID_EMM_82 = 0x82 ,
  TID_EMM_83 = 0x83 ,
  TID_EMM_84 = 0x84 ,
  TID_EMM_85 = 0x85 ,
  TID_EMM_86 = 0x86 ,
  TID_EMM_87 = 0x87 ,
  TID_EMM_88 = 0x88 ,
  TID_EMM_89 = 0x89 ,
  TID_EMM_8A = 0x8A ,
  TID_EMM_8B = 0x8B ,
  TID_EMM_8C = 0x8C ,
  TID_EMM_8D = 0x8D ,
  TID_EMM_8E = 0x8E ,
  TID_EMM_8F = 0x8F ,
  TID_EMM_LAST = 0x8F ,
  TID_EIT_MIN = 0x4E ,
  TID_EIT_MAX = 0x6F ,
  TID_CAS_FIRST = 0x80 ,
  TID_CAS_LAST = 0x8F ,
  TID_SA_CECM_82 = 0x82 ,
  TID_SA_CECM_83 = 0x83 ,
  TID_SA_EMM_STB_U = 0x84 ,
  TID_SA_EMM_STB_G = 0x85 ,
  TID_SA_EMM_A = 0x86 ,
  TID_SA_EMM_U = 0x87 ,
  TID_SA_EMM_S = 0x88 ,
  TID_SA_EMM_CAM_G = 0x89 ,
  TID_SA_RECM_8A = 0x8A ,
  TID_SA_RECM_8B = 0x8B ,
  TID_SA_EMM_T = 0x8F ,
  TID_LW_DMT = 0x90 ,
  TID_LW_BDT = 0x91 ,
  TID_LW_VIT = 0x92 ,
  TID_LW_VCT = 0x93 ,
  TID_VIA_EMM_FT_E = 0x86 ,
  TID_VIA_EMM_FT_O = 0x87 ,
  TID_VIA_EMM_U = 0x88 ,
  TID_VIA_EMM_GA_E = 0x8A ,
  TID_VIA_EMM_GA_O = 0x8B ,
  TID_VIA_EMM_GH_E = 0x8C ,
  TID_VIA_EMM_GH_O = 0x8D ,
  TID_VIA_EMM_S = 0x8E ,
  TID_MG_EMM_U = 0x82 ,
  TID_MG_EMM_A = 0x83 ,
  TID_MG_EMM_G = 0x84 ,
  TID_MG_EMM_I = 0x85 ,
  TID_MG_EMM_C = 0x86 ,
  TID_MG_EMM_CG = 0x89 ,
  TID_MGT = 0xC7 ,
  TID_TVCT = 0xC8 ,
  TID_CVCT = 0xC9 ,
  TID_RRT = 0xCA ,
  TID_ATSC_EIT = 0xCB ,
  TID_ETT = 0xCC ,
  TID_STT = 0xCD ,
  TID_DCCT = 0xD3 ,
  TID_DCCSCT = 0xD4 ,
  TID_SCTE18_EAS = 0xD8 ,
  TID_SCTE35_SIT = 0xFC ,
  TID_DCT = 0xC0 ,
  TID_DLT = 0xC1 ,
  TID_PCAT = 0xC2 ,
  TID_SDTT = 0xC3 ,
  TID_BIT = 0xC4 ,
  TID_NBIT_BODY = 0xC5 ,
  TID_NBIT_REF = 0xC6 ,
  TID_LDT = 0xC7 ,
  TID_CDT = 0xC8 ,
  TID_LIT = 0xD0 ,
  TID_ERT = 0xD1 ,
  TID_ITT = 0xD2 ,
  TID_AMT = 0xFE
}
 Table identification (TID) values. More...
 
enum  : uint8_t {
  SC_CLEAR = 0 ,
  SC_DVB_RESERVED = 1 ,
  SC_EVEN_KEY = 2 ,
  SC_ODD_KEY = 3
}
 Scrambling_control values (used in TS and PES packets headers) More...
 
enum  : PID {
  PID_PAT = 0x0000 ,
  PID_CAT = 0x0001 ,
  PID_TSDT = 0x0002 ,
  PID_MPEG_LAST = 0x000F ,
  PID_DVB_FIRST = 0x0010 ,
  PID_NIT = 0x0010 ,
  PID_SDT = 0x0011 ,
  PID_BAT = 0x0011 ,
  PID_EIT = 0x0012 ,
  PID_CIT = 0x0012 ,
  PID_RST = 0x0013 ,
  PID_TDT = 0x0014 ,
  PID_TOT = 0x0014 ,
  PID_NETSYNC = 0x0015 ,
  PID_RNT = 0x0016 ,
  PID_SAT = 0x001B ,
  PID_INBSIGN = 0x001C ,
  PID_MEASURE = 0x001D ,
  PID_DIT = 0x001E ,
  PID_SIT = 0x001F ,
  PID_DVB_LAST = 0x001F ,
  PID_DCT = 0x0017 ,
  PID_ISDB_FIRST = 0x0020 ,
  PID_LIT = 0x0020 ,
  PID_ERT = 0x0021 ,
  PID_PCAT = 0x0022 ,
  PID_SDTT = 0x0023 ,
  PID_BIT = 0x0024 ,
  PID_NBIT = 0x0025 ,
  PID_LDT = 0x0025 ,
  PID_ISDB_EIT_2 = 0x0026 ,
  PID_ISDB_EIT_3 = 0x0027 ,
  PID_SDTT_TER = 0x0028 ,
  PID_CDT = 0x0029 ,
  PID_AMT = 0x002E ,
  PID_ISDB_LAST = 0x002F ,
  PID_IIP = 0x1FF0 ,
  PID_ATSC_FIRST = 0x1FF0 ,
  PID_ATSC_PAT_E = 0x1FF7 ,
  PID_PSIP_TS_E = 0x1FF9 ,
  PID_PSIP = 0x1FFB ,
  PID_ATSC_LAST = 0x1FFE ,
  PID_NULL = 0x1FFF
}
 Predefined PID values. More...
 
enum  : uint32_t {
  CCHAR_LETTER = 0x0001 ,
  CCHAR_DIGIT = 0x0002 ,
  CCHAR_HEXA = 0x0004 ,
  CCHAR_LATIN = 0x0008 ,
  CCHAR_GREEK = 0x0010 ,
  CCHAR_HEBREW = 0x0020 ,
  CCHAR_ARABIC = 0x0040 ,
  CCHAR_THAI = 0x0080 ,
  CCHAR_CYRILLIC = 0x0100 ,
  CCHAR_CDIACRIT = 0x0200 ,
  CCHAR_SPACE = 0x0400 ,
  CCHAR_PRINT = 0x0800
}
 Characteristics of a character. More...
 
enum  : uint8_t {
  AFDID_TIMELINE = 0x04 ,
  AFDID_LOCATION = 0x05 ,
  AFDID_BASEURL = 0x06 ,
  AFDID_CETS_BRANGE = 0x07 ,
  AFDID_3DA_EXTSTREAM = 0x08 ,
  AFDID_3DA_MULTISTREAM = 0x09 ,
  AFDID_3DA_COMMAND = 0x0A ,
  AFDID_BOUNDARY = 0x0B ,
  AFDID_LABELING = 0x0C ,
  AFDID_HEVC_TILE = 0x0D
}
 Adaptation field descriptor tags. More...
 
enum  : CASID {
  CASID_NULL = 0x0000 ,
  CASID_MEDIAGUARD_MIN = 0x0100 ,
  CASID_MEDIAGUARD_MAX = 0x01FF ,
  CASID_VIACCESS_MIN = 0x0500 ,
  CASID_VIACCESS_MAX = 0x05FF ,
  CASID_IRDETO_MIN = 0x0600 ,
  CASID_IRDETO_MAX = 0x06FF ,
  CASID_NDS_MIN = 0x0900 ,
  CASID_NDS_MAX = 0x09FF ,
  CASID_CONAX_MIN = 0x0B00 ,
  CASID_CONAX_MAX = 0x0BFF ,
  CASID_CRYPTOWORKS_MIN = 0x0D00 ,
  CASID_CRYPTOWORKS_MAX = 0x0DFF ,
  CASID_NAGRA_MIN = 0x1800 ,
  CASID_NAGRA_MAX = 0x18FF ,
  CASID_THALESCRYPT_MIN = 0x4A80 ,
  CASID_THALESCRYPT_MAX = 0x4A8F ,
  CASID_WIDEVINE_MIN = 0x4AD4 ,
  CASID_WIDEVINE_MAX = 0x4AD5 ,
  CASID_SAFEACCESS = 0x4ADC
}
 Selected DVB-assigned CA System Identifier values. More...
 
enum  {
  AVC_AUT_UNSPECIFIED = 0 ,
  AVC_AUT_NON_IDR = 1 ,
  AVC_AUT_SLICE_A = 2 ,
  AVC_AUT_SLICE_B = 3 ,
  AVC_AUT_SLICE_C = 4 ,
  AVC_AUT_IDR = 5 ,
  AVC_AUT_SEI = 6 ,
  AVC_AUT_SEQPARAMS = 7 ,
  AVC_AUT_PICPARAMS = 8 ,
  AVC_AUT_DELIMITER = 9 ,
  AVC_AUT_END_SEQUENCE = 10 ,
  AVC_AUT_END_STREAM = 11 ,
  AVC_AUT_FILLER = 12 ,
  AVC_AUT_SEQPARAMSEXT = 13 ,
  AVC_AUT_PREFIX = 14 ,
  AVC_AUT_SUBSETPARAMS = 15 ,
  AVC_AUT_DEPTHPARAMS = 16 ,
  AVC_AUT_SLICE_NOPART = 19 ,
  AVC_AUT_SLICE_SCALE = 20 ,
  AVC_AUT_SLICE_EXTEND = 21 ,
  AVC_AUT_INVALID = 0xFF
}
 AVC access unit types. More...
 
enum  {
  AVC_SEI_BUF_PERIOD = 0 ,
  AVC_SEI_PIC_TIMING = 1 ,
  AVC_SEI_PAN_SCAN_RECT = 2 ,
  AVC_SEI_FILLER_PAYLOAD = 3 ,
  AVC_SEI_USER_DATA_REG = 4 ,
  AVC_SEI_USER_DATA_UNREG = 5 ,
  AVC_SEI_RECOVERY_POINT = 6 ,
  AVC_SEI_DEC_REF_PIC_MAR_REP = 7 ,
  AVC_SEI_SPARE_PIC = 8 ,
  AVC_SEI_SCENE_INFO = 9 ,
  AVC_SEI_SUB_SEQ_INFO = 10 ,
  AVC_SEI_SUB_SEQ_LAYER_CHARS = 11 ,
  AVC_SEI_SUB_SEQ_CHARS = 12 ,
  AVC_SEI_FFRAME_FREEZE = 13 ,
  AVC_SEI_FFRAME_FREEZE_RELEASE = 14 ,
  AVC_SEI_FFRAME_SNAPSHOT = 15 ,
  AVC_SEI_PROG_REF_SEG_START = 16 ,
  AVC_SEI_PROG_REF_SEG_END = 17 ,
  AVC_SEI_MOTION_CSLICE_GROUP_SET = 18 ,
  AVC_SEI_FILM_GRAIN_CHARS = 19 ,
  AVC_SEI_DEBLOCK_FILTER_DISP_PREF = 20 ,
  AVC_SEI_STEREO_VIDEO_INFO = 21 ,
  AVC_SEI_POST_FILTER_HINT = 22 ,
  AVC_SEI_TONE_MAPPING_INFO = 23 ,
  AVC_SEI_SCALABILITY_INFO = 24 ,
  AVC_SEI_SUB_PIC_SCALABLE_LAYER = 25 ,
  AVC_SEI_NON_REQUIRED_LAYER_REP = 26 ,
  AVC_SEI_PRIORITY_LAYER_INFO = 27 ,
  AVC_SEI_LAYERS_NOT_PRESENT = 28 ,
  AVC_SEI_LAYER_DEP_CHANGE = 29 ,
  AVC_SEI_SCALABLE_NESTING = 30 ,
  AVC_SEI_BASE_LAYER_TEMPORAL_HRD = 31 ,
  AVC_SEI_QUALITY_LAYER_INTEG_CHECK = 32 ,
  AVC_SEI_REDUNDANT_PIC_PROPERTY = 33 ,
  AVC_SEI_TL0_PICTURE_INDEX = 34 ,
  AVC_SEI_TL_SWITCHING_POINT = 35 ,
  AVC_SEI_PARALLEL_DECODING_INFO = 36 ,
  AVC_SEI_MVC_SCALABLE_NESTING = 37 ,
  AVC_SEI_VIEW_SCALABILITY_INFO = 38 ,
  AVC_SEI_MULTIVIEW_SCENE_INFO = 39 ,
  AVC_SEI_MULTIVIEW_ACQUISITION = 40 ,
  AVC_SEI_NON_REQUIRED_VIEW_COMP = 41 ,
  AVC_SEI_VIEW_DEPENDENCY_CHANGE = 42 ,
  AVC_SEI_OP_POINTS_NOT_PRESENT = 43 ,
  AVC_SEI_BASE_VIEW_TEMPORAL_HRD = 44 ,
  AVC_SEI_FRAME_PACKING_ARRANG = 45 ,
  AVC_SEI_MULTIVIEW_VIEW_POSITION = 46 ,
  AVC_SEI_DISPLAY_ORIENTATION = 47 ,
  AVC_SEI_MVCD_SCALABLE_NESTING = 48 ,
  AVC_SEI_MVCD_VIEW_SCALABILITY = 49 ,
  AVC_SEI_DEPTH_REPRESENTATION = 50 ,
  AVC_SEI_3D_REF_DISPLAYS_INFO = 51 ,
  AVC_SEI_DEPTH_TIMING = 52 ,
  AVC_SEI_DEPTH_SAMPLING_INFO = 53 ,
  AVC_SEI_CONSTR_DEPTH_PARAMSET_ID = 54 ,
  AVC_SEI_GREEN_METADATA = 56 ,
  AVC_SEI_MASTER_DISP_COLOUR_VOLUME = 137 ,
  AVC_SEI_COLOUR_REMAPPING_INFO = 142 ,
  AVC_SEI_CONTENT_LIGHT_LEVEL_INFO = 144 ,
  AVC_SEI_ALT_TRANSFER_CHARS = 147 ,
  AVC_SEI_AMBIENT_VIEWING_ENV = 148 ,
  AVC_SEI_CONTENT_COLOUR_VOLUME = 149 ,
  AVC_SEI_EQUIRECTANGULAR_PROJECT = 150 ,
  AVC_SEI_CUBEMAP_PROJECTION = 151 ,
  AVC_SEI_SPHERE_ROTATION = 154 ,
  AVC_SEI_REGIONWISE_PACKING = 155 ,
  AVC_SEI_OMNI_VIEWPORT = 156 ,
  AVC_SEI_ALTERNATIVE_DEPTH_INFO = 181 ,
  AVC_SEI_MANIFEST = 200 ,
  AVC_SEI_PREFIX_INDICATION = 201
}
 AVC SEI types. More...
 
enum  {
  AVC_PIC_TYPE_I = 0 ,
  AVC_PIC_TYPE_IP = 1 ,
  AVC_PIC_TYPE_IPB = 2 ,
  AVC_PIC_TYPE_SI = 3 ,
  AVC_PIC_TYPE_SIP = 4 ,
  AVC_PIC_TYPE_I_SI = 5 ,
  AVC_PIC_TYPE_IP_SIP = 6 ,
  AVC_PIC_TYPE_ANY = 7
}
 AVC primary picture types. More...
 
enum  {
  AVC_SLICE_P = 0 ,
  AVC_SLICE_B = 1 ,
  AVC_SLICE_I = 2 ,
  AVC_SLICE_SP = 3 ,
  AVC_SLICE_SI = 4 ,
  AVC_SLICE_ALL_P = 5 ,
  AVC_SLICE_ALL_B = 6 ,
  AVC_SLICE_ALL_I = 7 ,
  AVC_SLICE_ALL_SP = 8 ,
  AVC_SLICE_ALL_SI = 9
}
 AVC slice types. More...
 
enum class  BitRateConfidence {
  LOW ,
  PCR_CONTINUOUS ,
  PCR_AVERAGE ,
  CLOCK ,
  HARDWARE ,
  OVERRIDE
}
 Confidence in a bitrate value. More...
 
enum  CaseSensitivity {
  CASE_SENSITIVE ,
  CASE_INSENSITIVE
}
 Case sensitivity used on string operations. More...
 
enum  CASFamily : uint8_t {
  CAS_OTHER = 0 ,
  CAS_MEDIAGUARD = 1 ,
  CAS_NAGRA = 2 ,
  CAS_VIACCESS = 3 ,
  CAS_THALESCRYPT = 4 ,
  CAS_SAFEACCESS = 5 ,
  CAS_WIDEVINE = 6 ,
  CAS_NDS = 7 ,
  CAS_IRDETO = 8 ,
  CAS_CONAX = 9
}
 Known Conditional Access Systems families. More...
 
enum class  CodecType {
  UNDEFINED ,
  MPEG1_VIDEO ,
  MPEG1_AUDIO ,
  MPEG2_VIDEO ,
  MPEG2_AUDIO ,
  MP3 ,
  AAC ,
  AC3 ,
  EAC3 ,
  AC4 ,
  MPEG4_VIDEO ,
  HEAAC ,
  J2K ,
  AVC ,
  HEVC ,
  VVC ,
  EVC ,
  LCEVC ,
  VP9 ,
  AV1 ,
  DTS ,
  DTSHD ,
  TELETEXT ,
  DVB_SUBTITLES ,
  AVS3_VIDEO ,
  AVS2_AUDIO ,
  AVS3_AUDIO
}
 Known video, audio or data encoding formats. More...
 
enum class  CommandStatus {
  CommandStatus::SUCCESS ,
  CommandStatus::EXIT ,
  CommandStatus::ERROR ,
  CommandStatus::FATAL
}
 Status of a command which is executed by a CommandLine object. More...
 
enum  DeliverySystem {
  DS_UNDEFINED ,
  DS_DVB_S ,
  DS_DVB_S2 ,
  DS_DVB_S_TURBO ,
  DS_DVB_T ,
  DS_DVB_T2 ,
  DS_DVB_C_ANNEX_A ,
  DS_DVB_C_ANNEX_B ,
  DS_DVB_C_ANNEX_C ,
  DS_DVB_C2 ,
  DS_DVB_H ,
  DS_ISDB_S ,
  DS_ISDB_T ,
  DS_ISDB_C ,
  DS_ATSC ,
  DS_ATSC_MH ,
  DS_DTMB ,
  DS_CMMB ,
  DS_DAB ,
  DS_DSS ,
  DS_DVB_C = DS_DVB_C_ANNEX_A
}
 Delivery systems. More...
 
enum class  DescriptorDuplication {
  ADD_ALWAYS ,
  ADD_OTHER ,
  REPLACE ,
  IGNORE ,
  MERGE
}
 What to do when a descriptor of same type is added twice in a list. More...
 
enum class  EITOptions {
  GEN_NONE = 0x0000 ,
  GEN_ACTUAL_PF = 0x0001 ,
  GEN_OTHER_PF = 0x0002 ,
  GEN_ACTUAL_SCHED = 0x0004 ,
  GEN_OTHER_SCHED = 0x0008 ,
  GEN_PF = 0x0003 ,
  GEN_SCHED = 0x000C ,
  GEN_ACTUAL = 0x0005 ,
  GEN_OTHER = 0x000A ,
  GEN_ALL = 0x000F ,
  LOAD_INPUT = 0x0010 ,
  PACKET_STUFFING = 0x0020 ,
  LAZY_SCHED_UPDATE = 0x0040 ,
  SYNC_VERSIONS = 0x0080
}
 EIT generation options. More...
 
enum class  EITProfile {
  EITProfile::PF_ACTUAL = 0 ,
  EITProfile::PF_OTHER = 1 ,
  EITProfile::SCHED_ACTUAL_PRIME = 2 ,
  EITProfile::SCHED_OTHER_PRIME = 3 ,
  EITProfile::SCHED_ACTUAL_LATER = 4 ,
  EITProfile::SCHED_OTHER_LATER = 5
}
 List of EIT sections repetition profiles. More...
 
enum  GuardInterval {
  GUARD_AUTO ,
  GUARD_1_32 ,
  GUARD_1_16 ,
  GUARD_1_8 ,
  GUARD_1_4 ,
  GUARD_1_128 ,
  GUARD_19_128 ,
  GUARD_19_256 ,
  GUARD_PN420 ,
  GUARD_PN595 ,
  GUARD_PN945 ,
  GUARD_1_64
}
 Guard interval (OFDM) More...
 
enum  Hierarchy {
  HIERARCHY_AUTO ,
  HIERARCHY_NONE ,
  HIERARCHY_1 ,
  HIERARCHY_2 ,
  HIERARCHY_4
}
 Hierarchy (OFDM) More...
 
enum  InnerFEC {
  FEC_NONE ,
  FEC_AUTO ,
  FEC_1_2 ,
  FEC_2_3 ,
  FEC_3_4 ,
  FEC_4_5 ,
  FEC_5_6 ,
  FEC_6_7 ,
  FEC_7_8 ,
  FEC_8_9 ,
  FEC_9_10 ,
  FEC_3_5 ,
  FEC_1_3 ,
  FEC_1_4 ,
  FEC_2_5 ,
  FEC_5_11 ,
  FEC_5_9 ,
  FEC_7_9 ,
  FEC_8_15 ,
  FEC_11_15 ,
  FEC_13_18 ,
  FEC_9_20 ,
  FEC_11_20 ,
  FEC_23_36 ,
  FEC_25_36 ,
  FEC_13_45 ,
  FEC_26_45 ,
  FEC_28_45 ,
  FEC_32_45 ,
  FEC_77_90 ,
  FEC_11_45 ,
  FEC_4_15 ,
  FEC_14_45 ,
  FEC_7_15
}
 Inner Forward Error Correction. More...
 
enum class  IP : uint8_t {
  IP::Any = 0 ,
  IP::v4 = 4 ,
  IP::v6 = 6
}
 Generation of IP networks as an enum class. More...
 
enum  MJDFormat {
  MJD_FULL = 5 ,
  MJD_DATE = 2
}
 Storage format of Modified Julian Dates as used by DVB. More...
 
enum  Modulation {
  QPSK ,
  PSK_8 ,
  QAM_AUTO ,
  QAM_16 ,
  QAM_32 ,
  QAM_64 ,
  QAM_128 ,
  QAM_256 ,
  VSB_8 ,
  VSB_16 ,
  APSK_16 ,
  APSK_32 ,
  DQPSK ,
  QAM_4_NR ,
  QAM_1024 ,
  QAM_4096 ,
  APSK_8_L ,
  APSK_16_L ,
  APSK_32_L ,
  APSK_64 ,
  APSK_64_L
}
 Modulation types. More...
 
enum class  NamesFlags : uint16_t {
  NamesFlags::NAME = 0x0000 ,
  NamesFlags::VALUE = 0x0001 ,
  NamesFlags::FIRST = 0x0002 ,
  NamesFlags::HEXA = 0x0004 ,
  NamesFlags::DECIMAL = 0x0008 ,
  NamesFlags::BOTH = HEXA | DECIMAL ,
  NamesFlags::HEXA_FIRST = FIRST | HEXA ,
  NamesFlags::DECIMAL_FIRST = FIRST | DECIMAL ,
  NamesFlags::BOTH_FIRST = FIRST | HEXA | DECIMAL ,
  NamesFlags::ALTERNATE = 0x0010 ,
  NamesFlags::NAME_OR_VALUE = 0x0020 ,
  NamesFlags::NO_UNKNOWN = 0x0040
}
 Flags to be used in the formating of names in NamesFile. More...
 
enum class  OUI {
  DVB = 0x00015A ,
  SKARDIN = 0x001222 ,
  LOGIWAYS = 0x002660
}
 Some IEEE-assigned Organizationally Unique Identifier (OUI) values. More...
 
enum  PcapBsdProtocols : uint32_t {
  PCAPNG_BSD_IPv4 = 2 ,
  PCAPNG_BSD_IPv6_24 = 24 ,
  PCAPNG_BSD_IPv6_28 = 28 ,
  PCAPNG_BSD_IPv6_30 = 30 ,
  PCAPNG_BSD_OSI = 7 ,
  PCAPNG_BSD_IPX = 23 ,
  PCAPNG_BSD_UNKNOWN = 0xFFFF
}
 Protocol types for LINKTYPE_NULL and LINKTYPE_LOOP (BSD loopback encapsulation). More...
 
enum  PcapLinkType : uint16_t {
  LINKTYPE_NULL = 0 ,
  LINKTYPE_ETHERNET = 1 ,
  LINKTYPE_AX25 = 3 ,
  LINKTYPE_IEEE802_5 = 6 ,
  LINKTYPE_ARCNET_BSD = 7 ,
  LINKTYPE_SLIP = 8 ,
  LINKTYPE_PPP = 9 ,
  LINKTYPE_FDDI = 10 ,
  LINKTYPE_PPP_HDLC = 50 ,
  LINKTYPE_PPP_ETHER = 51 ,
  LINKTYPE_ATM_RFC1483 = 100 ,
  LINKTYPE_RAW = 101 ,
  LINKTYPE_C_HDLC = 104 ,
  LINKTYPE_IEEE802_11 = 105 ,
  LINKTYPE_FRELAY = 107 ,
  LINKTYPE_LOOP = 108 ,
  LINKTYPE_LINUX_SLL = 113 ,
  LINKTYPE_LTALK = 114 ,
  LINKTYPE_PFLOG = 117 ,
  LINKTYPE_IEEE802_11_PRISM = 119 ,
  LINKTYPE_IP_OVER_FC = 122 ,
  LINKTYPE_SUNATM = 123 ,
  LINKTYPE_IEEE802_11_RADIOTAP = 127 ,
  LINKTYPE_ARCNET_LINUX = 129 ,
  LINKTYPE_APPLE_IP_OVER_IEEE1394 = 138 ,
  LINKTYPE_MTP2_WITH_PHDR = 139 ,
  LINKTYPE_MTP2 = 140 ,
  LINKTYPE_MTP3 = 141 ,
  LINKTYPE_SCCP = 142 ,
  LINKTYPE_DOCSIS = 143 ,
  LINKTYPE_LINUX_IRDA = 144 ,
  LINKTYPE_USER0 = 147 ,
  LINKTYPE_USER15 = 162 ,
  LINKTYPE_IEEE802_11_AVS = 163 ,
  LINKTYPE_BACNET_MS_TP = 165 ,
  LINKTYPE_PPP_PPPD = 166 ,
  LINKTYPE_GPRS_LLC = 169 ,
  LINKTYPE_GPF_T = 170 ,
  LINKTYPE_GPF_F = 171 ,
  LINKTYPE_LINUX_LAPD = 177 ,
  LINKTYPE_MFR = 182 ,
  LINKTYPE_BLUETOOTH_HCI_H4 = 187 ,
  LINKTYPE_USB_LINUX = 189 ,
  LINKTYPE_PPI = 192 ,
  LINKTYPE_IEEE802_15_4_WITHFCS = 195 ,
  LINKTYPE_SITA = 196 ,
  LINKTYPE_ERF = 197 ,
  LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR = 201 ,
  LINKTYPE_AX25_KISS = 202 ,
  LINKTYPE_LAPD = 203 ,
  LINKTYPE_PPP_WITH_DIR = 204 ,
  LINKTYPE_C_HDLC_WITH_DIR = 205 ,
  LINKTYPE_FRELAY_WITH_DIR = 206 ,
  LINKTYPE_LAPB_WITH_DIR = 207 ,
  LINKTYPE_IPMB_LINUX = 209 ,
  LINKTYPE_FLEXRAY = 210 ,
  LINKTYPE_IEEE802_15_4_NONASK_PHY = 215 ,
  LINKTYPE_USB_LINUX_MMAPPED = 220 ,
  LINKTYPE_FC_2 = 224 ,
  LINKTYPE_FC_2_WITH_FRAME_DELIMS = 225 ,
  LINKTYPE_IPNET = 226 ,
  LINKTYPE_CAN_SOCKETCAN = 227 ,
  LINKTYPE_IPV4 = 228 ,
  LINKTYPE_IPV6 = 229 ,
  LINKTYPE_IEEE802_15_4_NOFCS = 230 ,
  LINKTYPE_DBUS = 231 ,
  LINKTYPE_DVB_CI = 235 ,
  LINKTYPE_MUX27010 = 236 ,
  LINKTYPE_STANAG_5066_D_PDU = 237 ,
  LINKTYPE_NFLOG = 239 ,
  LINKTYPE_NETANALYZER = 240 ,
  LINKTYPE_NETANALYZER_TRANSPARENT = 241 ,
  LINKTYPE_IPOIB = 242 ,
  LINKTYPE_MPEG_2_TS = 243 ,
  LINKTYPE_NG40 = 244 ,
  LINKTYPE_NFC_LLCP = 245 ,
  LINKTYPE_INFINIBAND = 247 ,
  LINKTYPE_SCTP = 248 ,
  LINKTYPE_USBPCAP = 249 ,
  LINKTYPE_RTAC_SERIAL = 250 ,
  LINKTYPE_BLUETOOTH_LE_LL = 251 ,
  LINKTYPE_NETLINK = 253 ,
  LINKTYPE_BLUETOOTH_LINUX_MONITOR = 254 ,
  LINKTYPE_BLUETOOTH_BREDR_BB = 255 ,
  LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR = 256 ,
  LINKTYPE_PROFIBUS_DL = 257 ,
  LINKTYPE_PKTAP = 258 ,
  LINKTYPE_EPON = 259 ,
  LINKTYPE_IPMI_HPM_2 = 260 ,
  LINKTYPE_ZWAVE_R1_R2 = 261 ,
  LINKTYPE_ZWAVE_R3 = 262 ,
  LINKTYPE_WATTSTOPPER_DLM = 263 ,
  LINKTYPE_ISO_14443 = 264 ,
  LINKTYPE_RDS = 265 ,
  LINKTYPE_USB_DARWIN = 266 ,
  LINKTYPE_SDLC = 268 ,
  LINKTYPE_LORATAP = 270 ,
  LINKTYPE_VSOCK = 271 ,
  LINKTYPE_NORDIC_BLE = 272 ,
  LINKTYPE_DOCSIS31_XRA31 = 273 ,
  LINKTYPE_ETHERNET_MPACKET = 274 ,
  LINKTYPE_DISPLAYPORT_AUX = 275 ,
  LINKTYPE_LINUX_SLL2 = 276 ,
  LINKTYPE_OPENVIZSLA = 278 ,
  LINKTYPE_EBHSCR = 279 ,
  LINKTYPE_VPP_DISPATCH = 280 ,
  LINKTYPE_DSA_TAG_BRCM = 281 ,
  LINKTYPE_DSA_TAG_BRCM_PREPEND = 282 ,
  LINKTYPE_IEEE802_15_4_TAP = 283 ,
  LINKTYPE_DSA_TAG_DSA = 284 ,
  LINKTYPE_DSA_TAG_EDSA = 285 ,
  LINKTYPE_ELEE = 286 ,
  LINKTYPE_Z_WAVE_SERIAL = 287 ,
  LINKTYPE_USB_2_0 = 288 ,
  LINKTYPE_ATSC_ALP = 289 ,
  LINKTYPE_ETW = 290 ,
  LINKTYPE_UNKNOWN = 0xFFFF
}
 List of pcap LINKTYPE values. More...
 
enum  PcapNgBlockType : uint32_t {
  PCAPNG_SECTION_HEADER = PCAPNG_MAGIC ,
  PCAPNG_INTERFACE_DESC = 0x00000001 ,
  PCAPNG_OBSOLETE_PACKET = 0x00000002 ,
  PCAPNG_SIMPLE_PACKET = 0x00000003 ,
  PCAPNG_NAME_RES = 0x00000004 ,
  PCAPNG_INTERFACE_STAT = 0x00000005 ,
  PCAPNG_ENHANCED_PACKET = 0x00000006 ,
  PCAPNG_SYSTEMD_JOURNAL = 0x00000009 ,
  PCAPNG_DECRYPT_SECRETS = 0x0000000A ,
  PCAPNG_CUSTOM = 0x00000BAD ,
  PCAPNG_CUSTOM_NOCOPY = 0x40000BAD
}
 List of pcap-ng block types. More...
 
enum  PcapNgOptionCode : uint32_t {
  PCAPNG_OPT_ENDOFOPT = 0 ,
  PCAPNG_OPT_COMMENT = 1 ,
  PCAPNG_SHB_HARDWARE = 2 ,
  PCAPNG_SHB_OS = 3 ,
  PCAPNG_SHB_USERAPPL = 4 ,
  PCAPNG_IF_NAME = 2 ,
  PCAPNG_IF_DESCRIPTION = 3 ,
  PCAPNG_IF_IPV4ADDR = 4 ,
  PCAPNG_IF_IPV6ADDR = 5 ,
  PCAPNG_IF_MACADDR = 6 ,
  PCAPNG_IF_EUIADDR = 7 ,
  PCAPNG_IF_SPEED = 8 ,
  PCAPNG_IF_TSRESOL = 9 ,
  PCAPNG_IF_TZONE = 10 ,
  PCAPNG_IF_FILTER = 11 ,
  PCAPNG_IF_OS = 12 ,
  PCAPNG_IF_FCSLEN = 13 ,
  PCAPNG_IF_TSOFFSET = 14 ,
  PCAPNG_IF_HARDWARE = 15 ,
  PCAPNG_IF_TXSPEED = 16 ,
  PCAPNG_IF_RXSPEED = 17
}
 List of pcap-ng option codes. More...
 
enum class  PIDClass {
  UNDEFINED ,
  PSI ,
  EMM ,
  ECM ,
  VIDEO ,
  AUDIO ,
  SUBTITLES ,
  DATA ,
  PCR_ONLY ,
  STUFFING
}
 Classification of PID's. More...
 
enum  Pilot {
  PILOT_AUTO ,
  PILOT_ON ,
  PILOT_OFF
}
 Pilot (DVB-S2) More...
 
enum  PLSMode {
  PLS_ROOT = 0 ,
  PLS_GOLD = 1
}
 Physical Layer Scrambling (PLS) modes for DVB-S2. More...
 
enum class  PluginType {
  PluginType::INPUT ,
  PluginType::OUTPUT ,
  PluginType::PROCESSOR
}
 Each plugin has one of the following types. More...
 
enum  Polarization {
  POL_NONE ,
  POL_AUTO ,
  POL_HORIZONTAL ,
  POL_VERTICAL ,
  POL_LEFT ,
  POL_RIGHT
}
 Polarization. More...
 
enum class  Replacement : uint8_t {
  NONE = 0x00 ,
  UPDATE = 0x01 ,
  REPLACE = 0x02 ,
  ADD = 0x04 ,
  REMOVE = 0x08
}
 Enumeration type used to indicate the replacement policy in containers of data structures. More...
 
enum  RollOff {
  ROLLOFF_AUTO ,
  ROLLOFF_35 ,
  ROLLOFF_25 ,
  ROLLOFF_20 ,
  ROLLOFF_15 ,
  ROLLOFF_10 ,
  ROLLOFF_5
}
 Roll-off (DVB-S2) More...
 
enum class  SectionFormat {
  UNSPECIFIED ,
  BINARY ,
  XML ,
  JSON
}
 Storage formats for PSI/SI sections and tables. More...
 
enum class  SharedLibraryFlags : uint16_t {
  NONE = 0x00 ,
  PERMANENT = 0x01
}
 Bit masks options to load shared libraries. More...
 
enum class  ShareMode {
  COPY ,
  SHARE
}
 Enumeration type used to indicate if the data referenced by a pointer shall be copied or shared. More...
 
enum  SpectralInversion {
  SPINV_OFF ,
  SPINV_ON ,
  SPINV_AUTO
}
 Spectral inversion. More...
 
enum class  SRTSocketMode : int {
  DEFAULT = -1 ,
  LISTENER = 0 ,
  CALLER = 1 ,
  RENDEZVOUS = 2 ,
  LEN = 3
}
 Secure Reliable Transport (SRT) socket mode. More...
 
enum class  SRTStatMode : uint16_t {
  NONE = 0x0000 ,
  RECEIVE = 0x0001 ,
  SEND = 0x0002 ,
  TOTAL = 0x0004 ,
  INTERVAL = 0x0008 ,
  ALL = 0x000F
}
 Secure Reliable Transport (SRT) statistics mode. More...
 
enum class  Standards : uint16_t {
  Standards::NONE = 0x0000 ,
  Standards::MPEG = 0x0001 ,
  Standards::DVB = 0x0002 ,
  Standards::SCTE = 0x0004 ,
  Standards::ATSC = 0x0008 ,
  Standards::ISDB = 0x0010 ,
  Standards::JAPAN = 0x0020 ,
  Standards::ABNT = 0x0040 ,
  Standards::DVBONLY = 0x8000
}
 Bit masks for standards, used to qualify the signalization. More...
 
enum  StringComparison : uint32_t {
  SCOMP_DEFAULT = 0x0000 ,
  SCOMP_CASE_INSENSITIVE = 0x0001 ,
  SCOMP_IGNORE_BLANKS = 0x0002 ,
  SCOMP_NUMERIC = 0x0004
}
 Options used on string comparisons. More...
 
enum  StringDirection {
  LEFT_TO_RIGHT ,
  RIGHT_TO_LEFT
}
 Direction used on string operations. More...
 
enum class  T2MIPacketType : uint8_t {
  BASEBAND_FRAME = 0x00 ,
  AUX_IQ_DATA = 0x01 ,
  ARBITRARY_CELL = 0x02 ,
  L1_CURRENT = 0x10 ,
  L1_FUTURE = 0x11 ,
  P2_BIAS_BALANCING = 0x12 ,
  DVBT2_TIMESTAMP = 0x20 ,
  INDIVIDUAL_ADDRESSING = 0x21 ,
  FEF_NULL = 0x30 ,
  FEF_IQ_DATA = 0x31 ,
  FEF_COMPOSITE = 0x32 ,
  FEF_SUBPART = 0x33 ,
  INVALID_TYPE = 0xFF
}
 T2-MI packet types. More...
 
enum class  TableScope {
  NONE ,
  ACTUAL ,
  ALL
}
 Define the scope of tables which can apply to actual or other TS. More...
 
enum class  TeletextDataUnitId : uint8_t {
  NON_SUBTITLE = 0x02 ,
  SUBTITLE = 0x03 ,
  INVERTED = 0x0C ,
  VPS = 0xC3 ,
  CLOSED_CAPTIONS = 0xC5 ,
  STUFFING = 0xFF
}
 Teletext data unit ids. More...
 
enum class  ThreadSafety {
  Full ,
  None
}
 Thread safety property of a class. More...
 
enum class  TimeSource : uint8_t {
  UNDEFINED = 0 ,
  HARDWARE ,
  KERNEL ,
  TSP ,
  RTP ,
  SRT ,
  M2TS ,
  PCR ,
  DTS ,
  PTS ,
  PCAP ,
  RIST
}
 Sources of time information for transport streams. More...
 
enum  TransmissionMode {
  TM_AUTO ,
  TM_2K ,
  TM_4K ,
  TM_8K ,
  TM_2KI ,
  TM_4KI ,
  TM_1K ,
  TM_16K ,
  TM_32K ,
  TM_C1 ,
  TM_C3780
}
 Transmission mode (OFDM) More...
 
enum class  Tristate {
  Maybe = -1 ,
  False = 0 ,
  True = 1
}
 Tristate boolean. More...
 
enum class  TSDatagramInputOptions {
  NONE = 0x0000 ,
  REAL_TIME = 0x0001 ,
  ALLOW_RS204 = 0x0002
}
 Options which alter the behavior of the input datagrams. More...
 
enum class  TSDatagramOutputOptions {
  NONE = 0x0000 ,
  ALLOW_RTP = 0x0001 ,
  ALWAYS_BURST = 0x0002 ,
  ALLOW_RS204 = 0x0004
}
 Options which alter the behavior of the output datagrams. More...
 
enum class  TSPacketFormat {
  AUTODETECT ,
  TS ,
  M2TS ,
  RS204 ,
  DUCK
}
 Transport stream file formats. More...
 
enum  TunerType {
  TT_UNDEFINED = DS_UNDEFINED ,
  TT_DVB_S = DS_DVB_S ,
  TT_DVB_T = DS_DVB_T ,
  TT_DVB_C = DS_DVB_C ,
  TT_ISDB_S = DS_ISDB_S ,
  TT_ISDB_T = DS_ISDB_T ,
  TT_ISDB_C = DS_ISDB_C ,
  TT_ATSC = DS_ATSC
}
 A subset of ts::DeliverySystem describing types of tuners.
 

Functions

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
INT abs (INT a)
 Absolute value of integer types, also working on unsigned types.
 
uint64_t AbsDiffPCR (uint64_t pcr1, uint64_t pcr2)
 Compute the absolute value of the difference between two PCR's, regardless of their order.
 
UString AbsoluteFilePath (const UString &path, const UString &base=UString())
 Build the absolute form of a file path.
 
UString AccessUnitTypeName (CodecType codec, uint8_t ut, NamesFlags flags=NamesFlags::NAME)
 Name of AVC/HEVC/VVC access unit (aka "NALunit") type.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool add_overflow (INT a, INT b) platform_specific
 Check if an integer addition generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool add_overflow (INT a, INT b, INT res)
 Check if an integer addition generates an overflow.
 
uint64_t AddPCR (uint64_t pcr, int64_t offset)
 Add a signed offset to a PCR.
 
bool And (bool arg1, bool arg2)
 BoolPredicate "and".
 
template<typename ELEMENT , class CONTAINER >
bool AppendUnique (CONTAINER &container, const ELEMENT &e)
 Append an element into a container if not already present in the container.
 
int atexit (void(*func)())
 Register a function to execute when the application exits.
 
void atexit (void(*func)(void *), void *param=nullptr)
 Register a function to execute when the application exits (with a parameter).
 
BandWidth BandWidthCodeFromHz (uint32_t hz)
 Get the bandwidth code from a value in Hz (deprecated).
 
uint32_t BandWidthValueHz (BandWidth bw)
 Get the bandwidth value in Hz (deprecated).
 
UString BaseName (const UString &path, const UString &suffix=UString())
 Return the base file name of a file path ("dir/foo.bar" => "foo.bar").
 
void BCDToString (std::string &str, const uint8_t *bcd, size_t bcd_count, int decimal, bool left_justified=true)
 Decode a string representation of a variable-length Binary Coded Decimal (BCD) encoded integer.
 
template<class Rep , class Period >
int64_t BitDistance (size_t bits, const BitRate &bitrate, const cn::duration< Rep, Period > &duration)
 Compute the number of "data structures" (bytes, packets, etc) transmitted during a given duration.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
size_t BitSize (INT x)
 Get the size in bits of an integer value.
 
uint32_t BitsPerSymbol (Modulation mod)
 Compute the number of bits per symbol for a specified modulation.
 
template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
bool bound_check (INT2 x)
 Integer cross-type bound check.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT bounded_add (INT a, INT b)
 Perform a bounded addition without overflow.
 
template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
INT1 bounded_cast (INT2 x)
 Bounded integer cast.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT bounded_sub (INT a, INT b)
 Perform a bounded subtraction without overflow.
 
fs::path BuildSectionFileName (const fs::path &file_name, SectionFormat type)
 Build a section file name, based on a file type.
 
template<class Rep , class Period >
int64_t ByteDistance (const BitRate &bitrate, const cn::duration< Rep, Period > &duration)
 Compute the number of bytes transmitted during a given duration.
 
template<class DURATION = cn::milliseconds, typename std::enable_if< std::is_integral< typename DURATION::rep >::value, int >::type = 0>
DURATION ByteInterval (const BitRate &bitrate, std::intmax_t distance)
 Compute the interval, in duration, between two bytes in the transport stream.
 
template<class Rep , class Period >
BitRate BytesBitRate (uint64_t bytes, const cn::duration< Rep, Period > &duration)
 Compute the bitrate from a number of bytes transmitted during a given duration.
 
uint16_t ByteSwap16 (uint16_t x)
 Inlined function performing byte swap on 16-bit integer data.
 
uint32_t ByteSwap24 (uint32_t x)
 Inlined function performing byte swap on 24-bit integer data.
 
uint32_t ByteSwap32 (uint32_t x)
 Inlined function performing byte swap on 32-bit integer data.
 
uint64_t ByteSwap64 (uint64_t x)
 Inlined function performing byte swap on 64-bit integer data.
 
fs::path CallerLibraryFile ()
 Get the name of the executable or shared library file containing the caller code.
 
UString CanonicalGUID (const ::GUID &guid)
 Get a "canonical" version of a GUID (Windows-specific).
 
UString CanonicalGUID (const UString &guid)
 Get a "canonical" version of a GUID string (Windows-specific).
 
UString CASFamilyName (CASFamily cas)
 Name of Conditional Access Families.
 
CASFamily CASFamilyOf (CASID ca_system_id)
 Return a CAS family from a CA system id.
 
UString CASIdName (const DuckContext &duck, CASID casid, NamesFlags flags=NamesFlags::NAME)
 Name of a Conditional Access System Id (as in CA Descriptor).
 
bool CheckModEnum (int value, const UString &name, const Enumeration &conv, Report &report)
 Check if an enumeration value is supported by the native implementation.
 
template<typename ENUM , typename std::enable_if< std::is_integral< ENUM >::value||std::is_enum< ENUM >::value >::type * = nullptr>
bool CheckModVar (const std::optional< ENUM > &value, const UString &name, const Enumeration &conv, Report &report)
 Check if an optional enumeration value is supported by the native implementation.
 
void CheckNonNull (const void *ptr)
 Check the value of a pointer and abort the application when zero.
 
UString ClassName (const std::type_index index)
 Get the name of a class from the type_index of a class.
 
UString ClassName (const std::type_info &info)
 Get the name of a class from the type_info of an object.
 
UString CleanupFilePath (const UString &path)
 Cleanup a file path.
 
bool CodecTypeIsAudio (CodecType ct)
 Check if a codec type value indicates an audio stream.
 
bool CodecTypeIsSubtitles (CodecType ct)
 Check if a codec type value indicates a subtitle stream.
 
bool CodecTypeIsVideo (CodecType ct)
 Check if a codec type value indicates a video stream.
 
IOManipulatorProxy< TextFormatter, size_t > column (size_t col)
 I/O manipulator for TextFormatter: move to a given column.
 
bool ComExpose (::IUnknown *object, const ::IID &iid)
 Check if a COM object exposes an interface (Windows-specific).
 
UString ComMessage (::HRESULT status)
 Format the message for a COM status (Windows-specific).
 
bool CompatibleStandards (Standards std)
 Check compatibility between standards.
 
bool ComSuccess (::HRESULT status, const UChar *message, Report &report)
 Check a COM status (Windows-specific).
 
bool ComSuccess (::HRESULT status, const UString &message, Report &report)
 Check a COM status (Windows-specific).
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT CondByteSwap (INT x)
 Template function performing conditional byte swap on integer data to obtain the data in big endian representation.
 
uint16_t CondByteSwap16 (uint16_t x)
 Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in big endian representation.
 
uint16_t CondByteSwap16BE (uint16_t x)
 Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in big endian representation.
 
uint16_t CondByteSwap16LE (uint16_t x)
 Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in little endian representation.
 
uint32_t CondByteSwap24 (uint32_t x)
 Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in big endian representation.
 
uint32_t CondByteSwap24BE (uint32_t x)
 Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in big endian representation.
 
uint32_t CondByteSwap24LE (uint32_t x)
 Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in little endian representation.
 
uint32_t CondByteSwap32 (uint32_t x)
 Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in big endian representation.
 
uint32_t CondByteSwap32BE (uint32_t x)
 Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in big endian representation.
 
uint32_t CondByteSwap32LE (uint32_t x)
 Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in little endian representation.
 
uint64_t CondByteSwap64 (uint64_t x)
 Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in big endian representation.
 
uint64_t CondByteSwap64BE (uint64_t x)
 Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in big endian representation.
 
uint64_t CondByteSwap64LE (uint64_t x)
 Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT CondByteSwapBE (INT x)
 Template function performing conditional byte swap on integer data to obtain the data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT CondByteSwapLE (INT x)
 Template function performing conditional byte swap on integer data to obtain the data in little endian representation.
 
::HRESULT CopyMediaType (::AM_MEDIA_TYPE &dst, const ::AM_MEDIA_TYPE &src)
 Copy a media type to another (Windows-specific).
 
bool CreateLocator (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create a Locator object for tuning parameters.
 
bool CreateLocatorATSC (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create an IDigitalLocator object for ATSC parameters.
 
bool CreateLocatorDVBC (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create an IDigitalLocator object for DVB-C parameters.
 
bool CreateLocatorDVBS (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create an IDigitalLocator object for DVB-S parameters.
 
bool CreateLocatorDVBT (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create an IDigitalLocator object for DVB-T parameters.
 
bool CreateLocatorISDBS (DuckContext &duck, ComPtr<::IDigitalLocator > &locator, const ModulationArgs &params)
 Create an IDigitalLocator object for ISDB-S parameters.
 
bool CreateTuneRequest (DuckContext &duck, ComPtr<::ITuneRequest > &request, ::ITuningSpace *tuning_space, const ModulationArgs &params)
 Create a DirectShow tune request object from tuning parameters.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void debug_thow_neg_overflow (INT a)
 In debug mode, throw an exception if the negation (opposite sign) of an integer generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void debug_throw_add_overflow (INT a, INT b, INT res)
 In debug mode, throw an exception if an integer addition generates an overflow.
 
template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
void debug_throw_bound_check (INT2 x)
 In debug mode, throw an exception if an integer value does not fall into the range of another integer type.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void debug_throw_div_zero (INT den)
 In debug mode, throw an exception if the denominator of an integer division is zero.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void debug_throw_mul_overflow (INT a, INT b, INT res)
 In debug mode, throw an exception if an integer multiplication generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void debug_throw_sub_overflow (INT a, INT b, INT res)
 In debug mode, throw an exception if an integer substraction generates an overflow.
 
uint32_t DecodeBCD (const uint8_t *bcd, size_t bcd_count, bool left_justified=true)
 Return the decimal value of a Binary Coded Decimal (BCD) encoded string.
 
int DecodeBCD (uint8_t b)
 Return the decimal value of a Binary Coded Decimal (BCD) encoded byte.
 
bool DecodeMJD (const uint8_t *mjd, MJDFormat fmt, Time &time)
 Convert a Modified Julian Date (MJD) into a ts::Time.
 
bool DecomposePrecombined (UChar c, UChar &letter, UChar &mark)
 Decompose a precombined character into its base letter and non-spacing diacritical mark.
 
void DefineLegacyBandWidthArg (Args &args, const UChar *name, UChar short_name=0, BandWidth dvbt_default=0, BandWidth isdbt_default=0)
 Add a command line option definition for bandwidth.
 
void DefineTSPacketFormatInputOption (Args &args, UChar short_name=0, const UChar *name=u"format")
 Add the definition of a --format option for TS packet format in input files.
 
void DefineTSPacketFormatOutputOption (Args &args, UChar short_name=0, const UChar *name=u"format")
 Add the definition of a --format option for TS packet format in output files.
 
bool DeleteEnvironment (const UString &name)
 Delete an environment variable.
 
void DeleteMediaType (::AM_MEDIA_TYPE *media_type)
 Delete a heap-allocated AM_MEDIA_TYPE structure (Windows-specific).
 
UString DIDName (DID did, DescriptorContext &context, NamesFlags flags=NamesFlags::NAME)
 Name of a Descriptor ID.
 
uint64_t DiffPCR (uint64_t pcr1, uint64_t pcr2)
 Compute the difference between PCR2 and PCR1.
 
uint64_t DiffPTS (uint64_t pts1, uint64_t pts2)
 Compute the difference between PTS2 and PTS1.
 
UString DirectoryName (const UString &path)
 Return the directory name of a file path ("dir/foo.bar" => "dir").
 
UString DVBSystemTypeName (::DVBSystemType type)
 Get the name for a DirectShow DVBSystemType value (Windows-specific).
 
uint8_t EncodeBCD (int i)
 Return a one-byte Binary Coded Decimal (BCD) representation of an integer.
 
void EncodeBCD (uint8_t *bcd, size_t bcd_count, uint32_t value, bool left_justified=true, uint8_t pad_nibble=0)
 Encode a Binary Coded Decimal (BCD) string.
 
bool EncodeMJD (const Time &time, uint8_t *mjd, MJDFormat fmt)
 Convert a ts::Time into a Modified Julian Date (MJD).
 
std::ostream & endl (std::ostream &os)
 I/O manipulator for TextFormatter: insert an end-of-line, according to the current end-of-line mode.
 
template<typename T , class UnaryPredicate >
bool EnumerateCombinations (const std::set< T > &values, const std::set< T > &fixed, size_t size, UnaryPredicate predicate)
 Enumerate all 'k'-elements combinations of a 'n'-elements set.
 
bool EnumerateDevicesByClass (const ::CLSID &clsid, std::vector< ComPtr<::IMoniker > > &monikers, Report &report, ::DWORD flags=0)
 Enumerate all devices of the specified class.
 
bool EnvironmentExists (const UString &varname)
 Check if an environment variable exists.
 
template<typename T , typename std::enable_if< std::is_floating_point< T >::value, int >::type = 0>
bool equal_float (T a, T b, T epsilon=2 *std::numeric_limits< T >::epsilon())
 This template function compares two floating point values for approximated equality.
 
fs::path ExecutableFile ()
 Get the name of the current application executable file.
 
UString ExpandEnvironment (const UString &path)
 Expand environment variables inside a file path (or any string).
 
template<class CONTAINER >
bool ExpandWildcard (CONTAINER &container, const UString &pattern)
 Get all files matching a specified wildcard pattern.
 
template<class CONTAINER >
bool ExpandWildcardAndAppend (CONTAINER &container, const UString &pattern)
 Get all files matching a specified wildcard pattern and append them into a container.
 
void FatalError (const char *message, size_t length)
 Handle a fatal error.
 
void FatalMemoryAllocation ()
 Handle fatal memory allocation failure.
 
uint32_t FECDivider (InnerFEC fec)
 Compute the divider of a FEC value.
 
uint32_t FECMultiplier (InnerFEC fec)
 Compute the multiplier of a FEC value.
 
CASID FirstCASId (CASFamily cas)
 Get the lowest CA system id in a CAS family.
 
UString FormatGUID (const ::GUID &guid, bool with_braces=true)
 Format a GUID as string (Windows-specific).
 
void FreeMediaType (::AM_MEDIA_TYPE &media_type)
 Free an existing media type, ie free resources it holds (Windows-specific).
 
UChar FromHTML (const UString &entity)
 Convert the body on an HTML entity into a character.
 
char32_t FromSurrogatePair (UChar lead, UChar trail)
 Build a 32-bit Unicode code point from a surrogate pair.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT GCD (INT x, INT y)
 Compute a greatest common denominator (GCD).
 
const std::error_category & getaddrinfo_category ()
 Get the std::error_category for getaddrinfo() error code (Unix only).
 
void GetAllCASFamilies (std::set< CASFamily > &cas)
 Get the set of all defined Conditional Access Families.
 
bool GetCASIdRange (CASFamily cas, CASID &min, CASID &max)
 Get the minimum and maximum CA system id in a CAS family.
 
UString GetCryptographicLibraryVersion ()
 Get the name and version of the underlying cryptographic library.
 
UString GetDektecVersions ()
 Get the versions of Dektec API and drivers in one single string.
 
void GetDektecVersions (std::map< UString, UString > &versions)
 Get the versions of Dektec API and drivers.
 
UString GetEnvironment (const UString &varname, const UString &defvalue=UString())
 Get the value of an environment variable.
 
void GetEnvironment (Environment &env)
 Get the content of the entire environment (all environment variables).
 
template<class CONTAINER >
void GetEnvironmentPath (CONTAINER &container, const UString &name, const UString &def=UString())
 Get the value of an environment variable containing a search path.
 
template<class CONTAINER >
void GetEnvironmentPathAppend (CONTAINER &container, const UString &name, const UString &def=UString())
 Get the value of an environment variable containing a search path.
 
Time GetFileModificationTimeLocal (const UString &path)
 Get the local time of the last modification of a file.
 
Time GetFileModificationTimeUTC (const UString &path)
 Get the UTC time of the last modification of a file.
 
ieee_float32_t GetFloat32 (const void *p)
 Function getting a 32-bit IEEE float from serialized data in big endian representation.
 
ieee_float32_t GetFloat32BE (const void *p)
 Function getting a 32-bit IEEE float from serialized data in big endian representation.
 
ieee_float32_t GetFloat32LE (const void *p)
 Function getting a 32-bit IEEE float from serialized data in little endian representation.
 
ieee_float64_t GetFloat64 (const void *p)
 Function getting a 64-bit IEEE float from serialized data in big endian representation.
 
ieee_float64_t GetFloat64BE (const void *p)
 Function getting a 64-bit IEEE float from serialized data in big endian representation.
 
ieee_float64_t GetFloat64LE (const void *p)
 Function getting a 64-bit IEEE float from serialized data in little endian representation.
 
::HANDLE GetHandleFromObject (::IUnknown *obj, Report &report)
 Get the handle of a COM object (Windows-specific).
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetInt (const void *p)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetInt (const void *p, INT &i)
 Template function getting an integer from serialized data in big endian representation.
 
int16_t GetInt16 (const void *p)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
void GetInt16 (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
int16_t GetInt16BE (const void *p)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
void GetInt16BE (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in big endian representation.
 
int16_t GetInt16LE (const void *p)
 Function getting a 16-bit signed integer from serialized data in little endian representation.
 
void GetInt16LE (const void *p, int16_t &i)
 Function getting a 16-bit signed integer from serialized data in little endian representation.
 
int32_t GetInt24 (const void *p)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
void GetInt24 (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
int32_t GetInt24BE (const void *p)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
void GetInt24BE (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in big endian representation.
 
int32_t GetInt24LE (const void *p)
 Function getting a 24-bit signed integer from serialized data in little endian representation.
 
void GetInt24LE (const void *p, int32_t &i)
 Function getting a 24-bit signed integer from serialized data in little endian representation.
 
int32_t GetInt32 (const void *p)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
void GetInt32 (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
int32_t GetInt32BE (const void *p)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
void GetInt32BE (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in big endian representation.
 
int32_t GetInt32LE (const void *p)
 Function getting a 32-bit signed integer from serialized data in little endian representation.
 
void GetInt32LE (const void *p, int32_t &i)
 Function getting a 32-bit signed integer from serialized data in little endian representation.
 
int64_t GetInt40BE (const void *p)
 Function getting a 40-bit signed integer from serialized data in big endian representation.
 
int64_t GetInt40LE (const void *p)
 Function getting a 40-bit signed integer from serialized data in little endian representation.
 
int64_t GetInt48BE (const void *p)
 Function getting a 48-bit signed integer from serialized data in big endian representation.
 
int64_t GetInt48LE (const void *p)
 Function getting a 48-bit signed integer from serialized data in little endian representation.
 
int64_t GetInt64 (const void *p)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
void GetInt64 (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
int64_t GetInt64BE (const void *p)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
void GetInt64BE (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in big endian representation.
 
int64_t GetInt64LE (const void *p)
 Function getting a 64-bit signed integer from serialized data in little endian representation.
 
void GetInt64LE (const void *p, int64_t &i)
 Function getting a 64-bit signed integer from serialized data in little endian representation.
 
int8_t GetInt8 (const void *p)
 Function getting an 8-bit signed integer from serialized data.
 
void GetInt8 (const void *p, int8_t &i)
 Function getting an 8-bit signed integer from serialized data.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetIntBE (const void *p)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetIntBE (const void *p, INT &i)
 Template function getting an integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetIntLE (const void *p)
 Template function getting an integer from serialized data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetIntLE (const void *p, INT &i)
 Template function getting an integer from serialized data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetIntVar (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetIntVar (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetIntVarBE (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetIntVarBE (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT GetIntVarLE (const void *p, size_t size)
 Template function getting a variable-length integer from serialized data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void GetIntVarLE (const void *p, size_t size, INT &i)
 Template function getting a variable-length integer from serialized data in little endian representation.
 
bool GetLegacyBandWidth (std::optional< BandWidth > &bandwidth, const xml::Element *element, const UString &attribute)
 Get optional bandwidth parameter from an XML element, accepting legacy values.
 
cn::milliseconds GetProcessCpuTime ()
 Get the CPU time of the process in milliseconds.
 
size_t GetProcessVirtualSize ()
 Get the virtual memory size of the process in bytes.
 
UString GetRISTLibraryVersion ()
 Get the version of the RIST library.
 
SectionFormat GetSectionFileFormat (const UString &file_name, SectionFormat type=SectionFormat::UNSPECIFIED)
 Get a section file type, based on a file name.
 
UString GetStringPropertyBag (::IMoniker *moniker, const ::OLECHAR *property_name, Report &report)
 Get a string property from the "property bag" of a COM object (Windows-specific).
 
UString GetTuningSpaceClass (::ITuningSpace *tuning, Report &report)
 Get the class name of a DirectShow tuning space (Windows-specific).
 
UString GetTuningSpaceDescription (::ITuningSpace *tuning, Report &report)
 Get full description of a DirectShow tuning space (Windows-specific).
 
UString GetTuningSpaceFriendlyName (::ITuningSpace *tuning, Report &report)
 Get the user-friendly name of a DirectShow tuning space (Windows-specific).
 
UString GetTuningSpaceNetworkType (::ITuningSpace *tuning, Report &report)
 Get the network type of a DirectShow tuning space (Windows-specific).
 
UString GetTuningSpaceUniqueName (::ITuningSpace *tuning, Report &report)
 Get the unique name of a DirectShow tuning space (Windows-specific).
 
uint16_t GetUInt16 (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt16 (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
uint16_t GetUInt16BE (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt16BE (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in big endian representation.
 
uint16_t GetUInt16LE (const void *p)
 Function getting a 16-bit unsigned integer from serialized data in little endian representation.
 
void GetUInt16LE (const void *p, uint16_t &i)
 Function getting a 16-bit unsigned integer from serialized data in little endian representation.
 
uint32_t GetUInt24 (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt24 (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
uint32_t GetUInt24BE (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt24BE (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in big endian representation.
 
uint32_t GetUInt24LE (const void *p)
 Function getting a 24-bit unsigned integer from serialized data in little endian representation.
 
void GetUInt24LE (const void *p, uint32_t &i)
 Function getting a 24-bit unsigned integer from serialized data in little endian representation.
 
uint32_t GetUInt32 (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt32 (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
uint32_t GetUInt32BE (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt32BE (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in big endian representation.
 
uint32_t GetUInt32LE (const void *p)
 Function getting a 32-bit unsigned integer from serialized data in little endian representation.
 
void GetUInt32LE (const void *p, uint32_t &i)
 Function getting a 32-bit unsigned integer from serialized data in little endian representation.
 
uint64_t GetUInt40 (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt40 (const void *p, uint64_t &i)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt40BE (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt40LE (const void *p)
 Function getting a 40-bit unsigned integer from serialized data in little endian representation.
 
uint64_t GetUInt48 (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt48 (const void *p, uint64_t &i)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt48BE (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt48LE (const void *p)
 Function getting a 48-bit unsigned integer from serialized data in little endian representation.
 
uint64_t GetUInt64 (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt64 (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt64BE (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
void GetUInt64BE (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in big endian representation.
 
uint64_t GetUInt64LE (const void *p)
 Function getting a 64-bit unsigned integer from serialized data in little endian representation.
 
void GetUInt64LE (const void *p, uint64_t &i)
 Function getting a 64-bit unsigned integer from serialized data in little endian representation.
 
uint8_t GetUInt8 (const void *p)
 Function getting an 8-bit unsigned integer from serialized data.
 
void GetUInt8 (const void *p, uint8_t &i)
 Function getting an 8-bit unsigned integer from serialized data.
 
UString GetVatekVersion ()
 Get the version of VATek library.
 
uint32_t GuardIntervalDivider (GuardInterval g)
 Compute the divider of a guard interval value.
 
uint32_t GuardIntervalMultiplier (GuardInterval g)
 Compute the multiplier of a guard interval value.
 
bool HasDektecSupport ()
 Check if this version of TSDuck was built with Dektec support.
 
bool HasVatekSupport ()
 Check if this version of TSDuck was built with VATek support.
 
bool IdenticalBytes (const void *area, size_t area_size)
 Check if a memory area contains all identical byte values.
 
bool Identity (bool arg)
 MonoBoolPredicate identity.
 
void IgnorePipeSignal ()
 Ensure that writing to a broken pipe does not kill the current process.
 
std::ostream & indent (std::ostream &os)
 I/O manipulator for TextFormatter: push one indentation level.
 
void InitMediaType (::AM_MEDIA_TYPE &media_type)
 Initialize a media type with "null" values (Windows-specific).
 
template<class OSTREAM , class TRAITS = std::char_traits<typename OSTREAM::char_type>>
std::basic_ostream< typename OSTREAM::char_type, TRAITS > & IOManipulator (std::basic_ostream< typename OSTREAM::char_type, TRAITS > &strm, OSTREAM &(OSTREAM::*func)())
 I/O manipulator for subclasses of std::basic_ostream.
 
bool IPInitialize (Report &=(ts::CerrReport::Instance()))
 Initialize the IP libraries in the current process.
 
UString IPProtocolName (uint8_t protocol, bool long_format=false)
 Get the name of an IP protocol (UDP, TCP, etc).
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
bool is_negative (INT a)
 Check if an integer value is negative, optimized for signed or unsigned type.
 
bool IsAbsoluteFilePath (const UString &path)
 Check if a file path is absolute (starting at a root of a file system).
 
bool IsAccented (UChar c)
 Check if a character contains an accent.
 
bool IsAlpha (UChar c)
 Check if a character is a letter.
 
bool IsAlphaNum (UChar c)
 Check if a character is alphanumerical.
 
bool IsAudioSID (uint8_t sid)
 Check if a stream id value indicates an audio stream.
 
bool IsCombiningDiacritical (UChar c)
 Check if a character is a combining diacritical character.
 
bool IsDigit (UChar c)
 Check if a character is a decimal digit.
 
bool IsHexa (UChar c)
 Check if a character is an hexadecimal digit.
 
bool IsLeadingSurrogate (UChar c)
 Check if a character is a "leading surrogate" value.
 
bool IsLongHeaderSID (uint8_t sid)
 Check if a stream id value indicates a PES packet with long header.
 
bool IsLower (UChar c)
 Check if a character is a lower case letter.
 
bool IsPrintable (UChar c)
 Check if a character is printable according to the current C locale.
 
bool IsPrivilegedUser ()
 Check if the current user is privileged (root on UNIX, an administrator on Windows).
 
bool IsSatelliteDelivery (DeliverySystem sys)
 Check if a delivery system is a satellite one.
 
bool IsSpace (UChar c)
 Check if a character is a space.
 
bool IsTerrestrialDelivery (DeliverySystem sys)
 Check if a delivery system is a terrestrial one.
 
bool IsTrailingSurrogate (UChar c)
 Check if a character is a "trailing surrogate" value.
 
bool IsUpper (UChar c)
 Check if a character is an upper case letter.
 
bool IsValidBCD (uint8_t b)
 Check if a byte is a valid Binary Coded Decimal (BCD) value.
 
bool IsVideoSID (uint8_t sid)
 Check if a stream id value indicates a video stream.
 
template<class CONTAINER >
size_t LargestSize (const CONTAINER &container)
 Get the size of the largest object in a container of objects having a size() method.
 
CASID LastCASId (CASFamily cas)
 Get the highest CA system id in a CAS family.
 
int LastSysErrorCode ()
 Get the error code of the last operating system call.
 
UChar LeadingSurrogate (char32_t cp)
 Compute the first part of the surrogate pair of a 32-bit Unicode code point (which needs a surrogate pair).
 
bool LegacyBandWidthToHz (BandWidth &bandwidth, const UString &str)
 Convert a string containing a bandwidth value into an integer value in Hz.
 
bool LoadEnvironment (Environment &env, const UString &fileName)
 Load a text file containing environment variables.
 
bool LoadLegacyBandWidthArg (BandWidth &bandwidth, Args &args, const UChar *name, BandWidth def_value=0)
 Load a bandwidth argument from command line.
 
bool LoadLegacyBandWidthArg (std::optional< BandWidth > &bandwidth, Args &args, const UChar *name)
 Load a bandwidth argument from command line.
 
TSPacketFormat LoadTSPacketFormatInputOption (const Args &args, const UChar *name=u"format")
 Get the value of a --format option for TS packet format in input files.
 
TSPacketFormat LoadTSPacketFormatOutputOption (const Args &args, const UChar *name=u"format")
 Get the value of a --format option for TS packet format in output files.
 
const uint8_t * LocatePattern (const void *area, size_t area_size, const void *pattern, size_t pattern_size)
 Locate a pattern into a memory area.
 
const uint8_t * LocateZeroZero (const void *area, size_t area_size, uint8_t third)
 Locate a 3-byte pattern 00 00 XY into a memory area.
 
constexpr REGID MakeREGID (const char id[5])
 Statically build a 32-bit registration id from a 4-character string.
 
template<class MAP >
std::list< typename MAP::key_type > MapKeysList (const MAP &container)
 Get the list of all keys in a map.
 
template<class MAP >
std::set< typename MAP::key_type > MapKeysSet (const MAP &container)
 Get the set of all keys in a map.
 
template<class MAP >
std::list< typename MAP::mapped_type > MapValuesList (const MAP &container)
 Get the list of all values in a map.
 
IOManipulatorProxy< TextFormatter, size_t > margin (size_t size)
 I/O manipulator for TextFormatter: set the margin size for outer-most elements.
 
std::ostream & margin (std::ostream &os)
 I/O manipulator for TextFormatter: move to the current margin.
 
bool Match (UChar c1, UChar c2, CaseSensitivity cs)
 Check two characters match, case sensitive or insensitive.
 
template<typename T , int storage_bits, int exponent_bits, int mantissa_bits, typename std::enable_if< std::is_floating_point< T >::value, int >::type = 0>
constexpr bool match_ieee_float ()
 This template function checks if a floating point type matches a given IEEE represenation.
 
size_t MaxDecimalWidth (size_t typeSize, size_t digitSeparatorSize=0)
 Compute the maximum width of the decimal representation of an integer type.
 
size_t MaxHexaWidth (size_t typeSize, size_t digitSeparatorSize=0)
 Compute the maximum width of the hexadecimal representation of an integer type.
 
int MemCompare (const void *addr1, const void *addr2, size_t size)
 Comparing two memory areas.
 
void MemCopy (void *dest, const void *src, size_t size)
 Copying a memory area.
 
bool MemEqual (const void *addr1, const void *addr2, size_t size)
 Check if two memory areas are identical.
 
void MemSet (void *addr, uint8_t value, size_t size)
 Setting a memory area.
 
void MemXor (void *dest, const void *src1, const void *src2, size_t size)
 Compute an exclusive or over memory areas.
 
void MemZero (void *addr, size_t size)
 Zeroing a memory area.
 
size_t MJDSize (MJDFormat fmt)
 Get the size in bytes of a MJD value, depending on its format.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool mul_overflow (INT a, INT b) platform_specific
 Check if an integer multiplication generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool mul_overflow (INT a, INT b, INT res)
 Check if an integer multiplication generates an overflow.
 
bool MultiAnd (std::initializer_list< bool > args)
 MultiBoolPredicate "and".
 
bool MultiNand (std::initializer_list< bool > args)
 MultiBoolPredicate "nand".
 
bool MultiNor (std::initializer_list< bool > args)
 MultiBoolPredicate "nor".
 
bool MultiOr (std::initializer_list< bool > args)
 MultiBoolPredicate "or".
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value||std::is_enum< INT >::value, int >::type = 0>
UString NameFromDTV (const UString &section_name, INT value, NamesFlags flags=NamesFlags::NAME, INT alternate_value=static_cast< INT >(0))
 Get a name from a specified section in the DTV names file.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value||std::is_enum< INT >::value, int >::type = 0>
UString NameFromDTVWithFallback (const UString &section_name, INT value1, INT value2, NamesFlags flags=NamesFlags::NAME, INT alternate_value=static_cast< INT >(0))
 Get a name from a specified section in the DTV names file, with alternate fallback value.
 
UString NameFromOUI (uint32_t oui, NamesFlags flags=NamesFlags::NAME)
 Get the name of an OUI (IEEE-assigned Organizationally Unique Identifier), 24 bits.
 
UString NameGUID (const ::GUID &guid)
 Format a GUID as string and resolve a few known names (Windows-specific).
 
bool Nand (bool arg1, bool arg2)
 BoolPredicate "nand".
 
bool NeedSurrogate (char32_t cp)
 Check if a 32-bit Unicode code point needs a surrogate pair in UTF-16 representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool neg_overflow (INT a)
 Check if the negation (opposite sign) of an integer generates an overflow.
 
uint64_t NextPCR (uint64_t last_pcr, PacketCounter distance, const BitRate &bitrate)
 Compute the PCR of a packet, based on the PCR of a previous packet.
 
bool Nor (bool arg1, bool arg2)
 BoolPredicate "nor".
 
bool Not (bool arg)
 MonoBoolPredicate "not".
 
bool Or (bool arg1, bool arg2)
 BoolPredicate "or".
 
template<class Rep , class Period >
BitRate PacketBitRate (PacketCounter packets, const cn::duration< Rep, Period > &duration)
 Compute the bitrate from a number of packets transmitted during a given duration.
 
template<class Rep , class Period >
PacketCounter PacketDistance (const BitRate &bitrate, const cn::duration< Rep, Period > &duration)
 Compute the number of packets transmitted during a given duration.
 
template<class DURATION = cn::milliseconds, typename std::enable_if< std::is_integral< typename DURATION::rep >::value, int >::type = 0>
DURATION PacketInterval (const BitRate &bitrate, PacketCounter distance)
 Compute the interval, in duration, between two packets.
 
UString PCRToString (uint64_t pcr, bool hexa=true, bool decimal=true, bool ms=true)
 Convert a PCR value to a string.
 
UString PDSName (PDS pds, NamesFlags flags=NamesFlags::NAME)
 Name of a Private Data Specifier.
 
UString PinDirectionName (::PIN_DIRECTION dir)
 Get the name for a DirectShow pin direction value (Windows-specific).
 
uint32_t PLSCodeGoldToRoot (uint32_t mode)
 Convert a PLS code from GOLD to ROOT mode.
 
uint32_t PLSCodeRootToGold (uint32_t mode)
 Convert a PLS code from ROOT to GOLD mode.
 
uint64_t Power10 (size_t pow)
 Get a power of 10 using a fast lookup table.
 
UChar Precombined (UChar letter, UChar mark)
 Build a precombined character from its base letter and non-spacing diacritical mark.
 
UString PTSToString (uint64_t pts, bool hexa=true, bool decimal=true, bool ms=true)
 Convert a PTS or DTS value to a string.
 
void PutFloat32 (void *p, ieee_float32_t f)
 Function serializing a 32-bit IEEE float data in big endian representation.
 
void PutFloat32BE (void *p, ieee_float32_t f)
 Function serializing a 32-bit IEEE float data in big endian representation.
 
void PutFloat32LE (void *p, ieee_float32_t f)
 Function serializing a 32-bit IEEE float data in little endian representation.
 
void PutFloat64 (void *p, ieee_float64_t f)
 Function serializing a 64-bit IEEE float data in big endian representation.
 
void PutFloat64BE (void *p, ieee_float64_t f)
 Function serializing a 64-bit IEEE float data in big endian representation.
 
void PutFloat64LE (void *p, ieee_float64_t f)
 Function serializing a 64-bit IEEE float data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutInt (void *p, INT i)
 Template function serializing an integer data in big endian representation.
 
void PutInt16 (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in big endian representation.
 
void PutInt16BE (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in big endian representation.
 
void PutInt16LE (void *p, int16_t i)
 Function serializing a 16-bit signed integer data in little endian representation.
 
void PutInt24 (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in big endian representation.
 
void PutInt24BE (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in big endian representation.
 
void PutInt24LE (void *p, int32_t i)
 Function serializing a 24-bit signed integer data in little endian representation.
 
void PutInt32 (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in big endian representation.
 
void PutInt32BE (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in big endian representation.
 
void PutInt32LE (void *p, int32_t i)
 Function serializing a 32-bit signed integer data in little endian representation.
 
void PutInt40BE (void *p, int64_t i)
 Function serializing a 40-bit signed integer data in big endian representation.
 
void PutInt40LE (void *p, int64_t i)
 Function serializing a 40-bit signed integer data in little endian representation.
 
void PutInt48BE (void *p, int64_t i)
 Function serializing a 48-bit signed integer data in big endian representation.
 
void PutInt48LE (void *p, int64_t i)
 Function serializing a 48-bit signed integer data in little endian representation.
 
void PutInt64 (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in big endian representation.
 
void PutInt64BE (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in big endian representation.
 
void PutInt64LE (void *p, int64_t i)
 Function serializing a 64-bit signed integer data in little endian representation.
 
void PutInt8 (void *p, int8_t i)
 Function serializing an 8-bit signed integer data.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutIntBE (void *p, INT i)
 Template function serializing an integer data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutIntLE (void *p, INT i)
 Template function serializing an integer data in little endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutIntVar (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutIntVarBE (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in big endian representation.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void PutIntVarLE (void *p, size_t size, INT i)
 Template function serializing a variable-length integer data in little endian representation.
 
void PutUInt16 (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in big endian representation.
 
void PutUInt16BE (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in big endian representation.
 
void PutUInt16LE (void *p, uint16_t i)
 Function serializing a 16-bit unsigned integer data in little endian representation.
 
void PutUInt24 (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in big endian representation.
 
void PutUInt24BE (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in big endian representation.
 
void PutUInt24LE (void *p, uint32_t i)
 Function serializing a 24-bit unsigned integer data in little endian representation.
 
void PutUInt32 (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in big endian representation.
 
void PutUInt32BE (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in big endian representation.
 
void PutUInt32LE (void *p, uint32_t i)
 Function serializing a 32-bit unsigned integer data in little endian representation.
 
void PutUInt40 (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in big endian representation.
 
void PutUInt40BE (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in big endian representation.
 
void PutUInt40LE (void *p, uint64_t i)
 Function serializing a 40-bit unsigned integer data in little endian representation.
 
void PutUInt48 (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in big endian representation.
 
void PutUInt48BE (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in big endian representation.
 
void PutUInt48LE (void *p, uint64_t i)
 Function serializing a 48-bit unsigned integer data in little endian representation.
 
void PutUInt64 (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in big endian representation.
 
void PutUInt64BE (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in big endian representation.
 
void PutUInt64LE (void *p, uint64_t i)
 Function serializing a 64-bit unsigned integer data in little endian representation.
 
void PutUInt8 (void *p, uint8_t i)
 Function serializing an 8-bit unsigned integer data.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
std::vector< INTRange (INT first, INT last)
 Build a vector of integers containing all values in a range.
 
UString REGIDName (REGID regid, NamesFlags flags=NamesFlags::NAME)
 Name of a Registration id from an MPEG registration_descriptor.
 
UString RelativeFilePath (const UString &path, const UString &base=UString(), CaseSensitivity caseSensitivity=FILE_SYSTEM_CASE_SENSITVITY, bool portableSlashes=false)
 Build a relative form of a file path, relative to a base directory.
 
UString RemoveAccent (UChar c)
 Remove all forms of accent or composition from a character.
 
template<class CONTAINER >
void RemoveDuplicates (CONTAINER &container)
 Remove duplicated elements in a container.
 
uint32_t ROL (uint32_t word, int i)
 Inlined function performing 32-bit left-rotate.
 
uint64_t ROL64 (uint64_t word, int i)
 Inlined function performing 64-bit left-rotate.
 
uint64_t ROL64c (uint64_t word, const int i)
 Inlined function performing 64-bit left-rotate with a constant value in the range 0..63 for index.
 
uint32_t ROLc (uint32_t word, const int i)
 Inlined function performing 32-bit left-rotate with a constant value in the range 0..31 for index.
 
uint32_t ROR (uint32_t word, int i)
 Inlined function performing 32-bit right-rotate.
 
uint64_t ROR64 (uint64_t word, int i)
 Inlined function performing 64-bit right-rotate.
 
uint64_t ROR64c (uint64_t word, const int i)
 Inlined function performing 64-bit right-rotate with a constant value in the range 0..63 for index.
 
uint32_t RORc (uint32_t word, const int i)
 Inlined function performing 32-bit right-rotate with a constant value in the range 0..31 for index.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT round_down (INT x, INT f)
 Round x down to previous multiple of a factor f.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT round_up (INT x, INT f)
 Round x up to next multiple of a factor f.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT rounded_div (INT a, INT b)
 Integer division with rounding to closest value (instead of truncating).
 
UString SearchConfigurationFile (const UString &fileName)
 Search a configuration file.
 
UString SearchExecutableFile (const UString &fileName, const UString &pathName=PATH_ENVIRONMENT_VARIABLE)
 Search an executable file.
 
template<class CONTAINER >
bool SearchWildcard (CONTAINER &container, const UString &root, const UString &pattern, size_t max_levels=64, bool skip_symlinks=true)
 Search all files matching a specified wildcard pattern in a directory tree.
 
template<class CONTAINER >
bool SearchWildcardAndAppend (CONTAINER &container, const UString &root, const UString &pattern, size_t max_levels=64, bool skip_symlinks=true)
 Search all files matching a specified wildcard pattern in a directory tree and append them into a container.
 
PacketCounter SectionPacketCount (size_t section_size)
 Compute the minimum number of TS packets required to transport a section.
 
BitRate SelectBitrate (const BitRate &bitrate1, BitRateConfidence brc1, const BitRate &bitrate2, BitRateConfidence brc2)
 Select a bitrate from two input values with potentially different levels of confidence.
 
bool SequencedPTS (uint64_t pts1, uint64_t pts2)
 Check if two Presentation Time Stamps are in sequence.
 
template<class T , class U >
void set_default (std::optional< T > &opt, const U &value)
 Set a default value in a std::optional object, if there is none.
 
bool SetBinaryModeStdin (Report &report=(ts::CerrReport::Instance()))
 Put the standard input stream in binary mode.
 
bool SetBinaryModeStdout (Report &report=(ts::CerrReport::Instance()))
 Put the standard output stream in binary mode.
 
bool SetEnvironment (const UString &name, const UString &value)
 Set the value of an environment variable.
 
template<class CONTAINER >
void SetEnvironmentPath (const UString &name, const CONTAINER &container)
 Set the value of an environment variable containing a search path.
 
template<class Rep , class Period >
void SetTimersPrecision (cn::duration< Rep, Period > &precision)
 Request a minimum resolution for the system timers.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
void sign_reduce (INT &num, INT &den)
 Reduce the sign of an integer fraction.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
const UCharSignedDescription ()
 Get the signed/unsigned qualifier of an integer type as a string.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_signed< INT >::value >::type * = nullptr>
INT SignExtend (INT x, size_t bits)
 Perform a sign extension on any subset of a signed integer.
 
int32_t SignExtend24 (int32_t x)
 Perform a sign extension on 24 bit integers.
 
int64_t SignExtend40 (int64_t x)
 Perform a sign extension on 40 bit integers.
 
int64_t SignExtend48 (int64_t x)
 Perform a sign extension on 48 bit integers.
 
template<class CONTAINER >
size_t SmallestSize (const CONTAINER &container)
 Get the size of the smallest object in a container of objects having a size() method.
 
IOManipulatorProxy< TextFormatter, size_t > spaces (size_t count)
 I/O manipulator for TextFormatter: output spaces on the stream.
 
UString StandardsNames (Standards standards)
 Return a string representing a list of standards.
 
Standards StandardsOf (DeliverySystem system)
 Get the list of standards for a delivery system.
 
bool StartsWith (const void *area, size_t area_size, const void *prefix, size_t prefix_size)
 Check if a memory area starts with the specified prefix.
 
bool StdErrIsTerminal ()
 Check if the standard error is a terminal.
 
bool StdInIsTerminal ()
 Check if the standard input is a terminal.
 
bool StdOutIsTerminal ()
 Check if the standard output is a terminal.
 
bool StreamTypeIsAudio (uint8_t st)
 Check if a stream type value indicates an audio stream.
 
bool StreamTypeIsAudio (uint8_t st, const DescriptorList &dlist)
 Check if a stream type value indicates an audio stream.
 
bool StreamTypeIsAudio (uint8_t st, const std::set< REGID > &regids)
 Check if a stream type value indicates an audio stream.
 
bool StreamTypeIsAVC (uint8_t st)
 Check if a stream type value indicates a video stream using AVC / H.264 encoding.
 
bool StreamTypeIsHEVC (uint8_t st)
 Check if a stream type value indicates a video stream using HEVC / H.265 encoding.
 
bool StreamTypeIsPES (uint8_t st)
 Check if a stream type value indicates a PES stream.
 
bool StreamTypeIsSection (uint8_t st)
 Check if a stream type value indicates a stream carrying sections.
 
bool StreamTypeIsVideo (uint8_t st)
 Check if a stream type value indicates a video stream.
 
bool StreamTypeIsVVC (uint8_t st)
 Check if a stream type value indicates a video stream using VVC / H.266 encoding.
 
UString StreamTypeName (uint8_t st, const DuckContext &duck, const DescriptorList &dlist, NamesFlags flags=NamesFlags::NAME)
 Name of a Stream type value.
 
UString StreamTypeName (uint8_t st, const REGIDVector &regids, NamesFlags flags=NamesFlags::NAME)
 Name of a Stream type value.
 
UString StreamTypeName (uint8_t st, NamesFlags flags=NamesFlags::NAME)
 Name of a Stream type value.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool sub_overflow (INT a, INT b) platform_specific
 Check if an integer substraction generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool sub_overflow (INT a, INT b, INT res)
 Check if an integer substraction generates an overflow.
 
int SysCloseSocket (SysSocketType sock)
 The close() system call which applies to socket devices.
 
bool SysCtrlBool (const std::string &name)
 Get a Unix sysctl(2) boolean value by name.
 
ByteBlock SysCtrlBytes (std::initializer_list< int > oid)
 Get a Unix sysctl(2) binary value.
 
UString SysCtrlString (std::initializer_list< int > oid)
 Get a Unix sysctl(2) string value.
 
std::string SysErrorCodeMessage (int code=LastSysErrorCode(), const std::error_category &category=std::system_category())
 Format a system error code into a string.
 
bool TCPOrderedSequence (uint32_t seq1, uint32_t seq2)
 Check if two TCP sequence numbers are ordered, including wrapping back at 0xFFFFFFFF.
 
uint32_t TCPSequenceDiff (uint32_t seq1, uint32_t seq2)
 Compute the difference between two TCP sequence numbers, including wrapping back at 0xFFFFFFFF.
 
fs::path TempFile (const UString &suffix=u".tmp")
 Return the name of a unique temporary file.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void thow_neg_overflow (INT a)
 Throw an exception if the negation (opposite sign) of an integer generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void throw_add_overflow (INT a, INT b, INT res)
 Throw an exception if an integer addition generates an overflow.
 
template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
void throw_bound_check (INT2 x)
 Throw an exception if an integer value does not fall into the range of another integer type.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void throw_div_zero (INT den)
 Throw an exception if the denominator of an integer division is zero.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void throw_mul_overflow (INT a, INT b, INT res)
 Throw an exception if an integer multiplication generates an overflow.
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void throw_sub_overflow (INT a, INT b, INT res)
 Throw an exception if an integer substraction generates an overflow.
 
UString TIDName (const DuckContext &duck, TID tid, CASID cas=CASID_NULL, NamesFlags flags=NamesFlags::NAME)
 Get the name of a Table ID.
 
BitRate ToBitrate188 (const BitRate &bitrate204)
 Convert 204-byte packet bitrate into 188-byte packet bitrate.
 
BitRate ToBitrate204 (const BitRate &bitrate188)
 Convert 188-byte packet bitrate into 204-byte packet bitrate.
 
int ToDigit (UChar c, int base=10, int defaultValue=-1)
 Convert a character representing a multi-base integer digit into the corresponding integer value.
 
UString ToHTML (UChar c)
 Convert a character into its corresponding HTML sequence.
 
UChar ToLower (UChar c)
 Convert a character to lowercase.
 
UString ToString (const ::BSTR s)
 Convert a Windows string to Unicode string (Windows-specific).
 
UString ToString (const ::VARIANT &s)
 Convert a COM string to Unicode string (Windows-specific).
 
UString ToString (const ::WCHAR *s)
 Convert a Windows string to Unicode string (Windows-specific).
 
template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
Tristate ToTristate (INT i)
 Normalize any integer value in the range of a Tristate value.
 
UChar ToUpper (UChar c)
 Convert a character to uppercase.
 
UChar TrailingSurrogate (char32_t cp)
 Compute the second part of the surrogate pair of a 32-bit Unicode code point (which needs a surrogate pair).
 
TunerType TunerTypeOf (DeliverySystem system)
 Get the tuner type of a delivery system.
 
uint32_t UCharacteristics (UChar c)
 Get the characteristics of a character.
 
std::ostream & unindent (std::ostream &os)
 I/O manipulator for TextFormatter: pop one indentation level.
 
UString UserConfigurationFileName (const UString &fileName, const UString &winFileName=UString())
 Build the name of a user-specific configuration file.
 
fs::path UserHomeDirectory ()
 Get the current user's home directory.
 
UString VernacularFilePath (const UString &path)
 Return a "vernacular" version of a file path.
 
bool WinCreateElevatedProcess (const UString &exeName, bool synchronous, Report &report)
 Start an application with elevated privileges (Windows-specific).
 
UString WinDeviceName (::HANDLE handle)
 Get the device or file name from a Windows handle (Windows-specific).
 
UString WinErrorMessage (::DWORD code, const UString &moduleName=UString(), ::DWORD minModuleCode=std::numeric_limits<::DWORD >::min(), ::DWORD maxModuleCode=std::numeric_limits<::DWORD >::max())
 Format a Windows error message (Windows-specific).
 
bool WrapUpPCR (uint64_t pcr1, uint64_t pcr2)
 Check if PCR2 follows PCR1 after wrap up.
 
bool WrapUpPTS (uint64_t pts1, uint64_t pts2)
 Check if PTS2 follows PTS1 after wrap up.
 
UString XDIDNameDVB (DID xdid, NamesFlags flags=NamesFlags::NAME)
 Name of a DVB extension descriptor ID.
 
UString XDIDNameMPEG (DID xdid, NamesFlags flags=NamesFlags::NAME)
 Name of an MPEG extension descriptor ID.
 
bool Xor (bool arg1, bool arg2)
 BoolPredicate "exclusive or".
 

Variables

static constexpr UChar ACKNOWLEDGE = UChar(0x0006)
 ISO-8859 Unicode character.
 
static constexpr UChar ACUTE_ACCENT = UChar(0x00B4)
 ISO-8859 Unicode character.
 
static constexpr UChar ALEF_SYMBOL = UChar(0x2135)
 Non-ISO-8859 Unicode character.
 
const PIDSet AllPIDs
 PIDSet constant with all PID's set.
 
static constexpr UChar ALMOST_EQUAL_TO = UChar(0x2248)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar AMPERSAND = UChar(0x0026)
 ISO-8859 Unicode character.
 
static constexpr UChar ANGLE = UChar(0x2220)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar APOSTROPHE = UChar(0x0027)
 ISO-8859 Unicode character.
 
static constexpr UChar APPROXIMATELY_EQUAL_TO = UChar(0x2245)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_COMMA = UChar(0x060C)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_DAMMA = UChar(0x064F)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_DAMMATAN = UChar(0x064C)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_FATHA = UChar(0x064E)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_FATHATAN = UChar(0x064B)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_KASRA = UChar(0x0650)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_KASRATAN = UChar(0x064D)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_AIN = UChar(0x0639)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ALEF = UChar(0x0627)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ALEF_MAKSURA = UChar(0x0649)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ALEF_WITH_HAMZA_ABOVE = UChar(0x0623)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ALEF_WITH_HAMZA_BELOW = UChar(0x0625)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ALEF_WITH_MADDA_ABOVE = UChar(0x0622)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_BEH = UChar(0x0628)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_DAD = UChar(0x0636)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_DAL = UChar(0x062F)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_FEH = UChar(0x0641)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_GHAIN = UChar(0x063A)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_HAH = UChar(0x062D)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_HAMZA = UChar(0x0621)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_HEH = UChar(0x0647)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_JEEM = UChar(0x062C)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_KAF = UChar(0x0643)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_KHAH = UChar(0x062E)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_LAM = UChar(0x0644)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_MEEM = UChar(0x0645)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_NOON = UChar(0x0646)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_QAF = UChar(0x0642)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_REH = UChar(0x0631)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_SAD = UChar(0x0635)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_SEEN = UChar(0x0633)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_SHEEN = UChar(0x0634)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_TAH = UChar(0x0637)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_TEH = UChar(0x062A)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_TEH_MARBUTA = UChar(0x0629)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_THAL = UChar(0x0630)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_THEH = UChar(0x062B)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_WAW = UChar(0x0648)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_WAW_WITH_HAMZA_ABOVE = UChar(0x0624)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_YEH = UChar(0x064A)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_YEH_WITH_HAMZA_ABOVE = UChar(0x0626)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ZAH = UChar(0x0638)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_LETTER_ZAIN = UChar(0x0632)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_QUESTION_MARK = UChar(0x061F)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_SEMICOLON = UChar(0x061B)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_SHADDA = UChar(0x0651)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_SUKUN = UChar(0x0652)
 ISO-8859 Unicode character.
 
static constexpr UChar ARABIC_TATWEEL = UChar(0x0640)
 ISO-8859 Unicode character.
 
static constexpr UChar ASTERISK = UChar(0x002A)
 ISO-8859 Unicode character.
 
static constexpr UChar ASTERISK_OPERATOR = UChar(0x2217)
 Non-ISO-8859 Unicode character.
 
constexpr size_t AVC_SEI_UUID_SIZE = 16
 Size in bytes of a UUID in AVC SEI's.
 
static constexpr UChar BACKSPACE = UChar(0x0008)
 ISO-8859 Unicode character.
 
static constexpr UChar BELL = UChar(0x0007)
 ISO-8859 Unicode character.
 
static constexpr UChar BLACK_CLUB_SUIT = UChar(0x2663)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BLACK_DIAMOND_SUIT = UChar(0x2666)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BLACK_HEART_SUIT = UChar(0x2665)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BLACK_SPADE_SUIT = UChar(0x2660)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BLACKLETTER_CAPITAL_I = UChar(0x2111)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BLACKLETTER_CAPITAL_R = UChar(0x211C)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar BREVE = UChar(0x02D8)
 ISO-8859 Unicode character.
 
static constexpr UChar BROKEN_BAR = UChar(0x00A6)
 ISO-8859 Unicode character.
 
static constexpr UChar BULLET = UChar(0x2022)
 Non-ISO-8859 Unicode character.
 
constexpr BandWidth BW_10_MHZ = 10'000'000
 10 MHz bandwidth (DVB-T2 only, legacy symbol).
 
constexpr BandWidth BW_1_712_MHZ = 1'712'000
 1.712 MHz bandwidth (DVB-T2 only, legacy symbol).
 
constexpr BandWidth BW_5_MHZ = 5'000'000
 5 MHz bandwidth (DVB-T2 only, legacy symbol).
 
constexpr BandWidth BW_6_MHZ = 6'000'000
 6 MHz bandwidth (legacy symbol).
 
constexpr BandWidth BW_7_MHZ = 7'000'000
 7 MHz bandwidth (legacy symbol).
 
constexpr BandWidth BW_8_MHZ = 8'000'000
 8 MHz bandwidth (legacy symbol).
 
constexpr BandWidth BW_AUTO = 0
 Bandwidth automatically set (legacy symbol).
 
static constexpr UChar BYTE_ORDER_MARK = UChar(0xFEFF)
 UTF-16 BOM, aka "ZERO WIDTH NO-BREAK SPACE".
 
static constexpr UChar CANCEL = UChar(0x0018)
 ISO-8859 Unicode character.
 
static constexpr UChar CARON = UChar(0x02C7)
 ISO-8859 Unicode character.
 
static constexpr UChar CARRIAGE_RETURN = UChar(0x000D)
 ISO-8859 Unicode character.
 
constexpr size_t CASID_MAX = 0x10000
 Maximum number of CASID values.
 
constexpr size_t CC_BITS = 4
 Size (in bits) of a Continuity Counter (CC) field.
 
constexpr uint8_t CC_MASK = 0x0F
 Mask to wrap a Continuity Counter (CC) value.
 
constexpr uint8_t CC_MAX = 1 << CC_BITS
 Maximum value of a Continuity Counter (CC).
 
static constexpr UChar CEDILLA = UChar(0x00B8)
 ISO-8859 Unicode character.
 
static constexpr UChar CENT_SIGN = UChar(0x00A2)
 ISO-8859 Unicode character.
 
static constexpr UChar CHAR_DELETE = UChar(0x007F)
 ISO-8859 Unicode character.
 
static constexpr UChar CHAR_INFINITY = UChar(0x221E)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar CHAR_NULL = UChar(0x0000)
 ISO-8859 Unicode character.
 
static constexpr UChar CIRCLED_PLUS = UChar(0x2295)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar CIRCLED_TIMES = UChar(0x2297)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar CIRCUMFLEX_ACCENT = UChar(0x005E)
 ISO-8859 Unicode character.
 
const CodecTypeArgEnumWrapper CodecTypeArgEnum
 Enumeration description of ts::CodecType (command line argument).
 
const CodecTypeEnumWrapper CodecTypeEnum
 Enumeration description of ts::CodecType (display).
 
static constexpr UChar COLON = UChar(0x003A)
 ISO-8859 Unicode character.
 
static constexpr UChar COMBINING_ACUTE_ACCENT = UChar(0x0301)
 Combining diacritical character.
 
static constexpr UChar COMBINING_ACUTE_ACCENT_BELOW = UChar(0x0317)
 Combining diacritical character.
 
static constexpr UChar COMBINING_ACUTE_TONE_MARK = UChar(0x0341)
 Combining diacritical character.
 
static constexpr UChar COMBINING_ALMOST_EQUAL_TO_ABOVE = UChar(0x034C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_ASTERISK_BELOW = UChar(0x0359)
 Combining diacritical character.
 
static constexpr UChar COMBINING_BREVE = UChar(0x0306)
 Combining diacritical character.
 
static constexpr UChar COMBINING_BREVE_BELOW = UChar(0x032E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_BRIDGE_ABOVE = UChar(0x0346)
 Combining diacritical character.
 
static constexpr UChar COMBINING_BRIDGE_BELOW = UChar(0x032A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CANDRABINDU = UChar(0x0310)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CARON = UChar(0x030C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CARON_BELOW = UChar(0x032C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CEDILLA = UChar(0x0327)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CIRCUMFLEX_ACCENT = UChar(0x0302)
 Combining diacritical character.
 
static constexpr UChar COMBINING_CIRCUMFLEX_ACCENT_BELOW = UChar(0x032D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_COMMA_ABOVE = UChar(0x0313)
 Combining diacritical character.
 
static constexpr UChar COMBINING_COMMA_ABOVE_RIGHT = UChar(0x0315)
 Combining diacritical character.
 
static constexpr UChar COMBINING_COMMA_BELOW = UChar(0x0326)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DIAERESIS = UChar(0x0308)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DIAERESIS_BELOW = UChar(0x0324)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOT_ABOVE = UChar(0x0307)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOT_ABOVE_RIGHT = UChar(0x0358)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOT_BELOW = UChar(0x0323)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_ACUTE_ACCENT = UChar(0x030B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_BREVE = UChar(0x035D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_BREVE_BELOW = UChar(0x035C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_GRAVE_ACCENT = UChar(0x030F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_INVERTED_BREVE = UChar(0x0361)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_LOW_LINE = UChar(0x0333)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_MACRON = UChar(0x035E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_MACRON_BELOW = UChar(0x035F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_OVERLINE = UChar(0x033F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_RIGHTWARDS_ARROW_BELOW = UChar(0x0362)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_RING_BELOW = UChar(0x035A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_TILDE = UChar(0x0360)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_VERTICAL_LINE_ABOVE = UChar(0x030E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOUBLE_VERTICAL_LINE_BELOW = UChar(0x0348)
 Combining diacritical character.
 
static constexpr UChar COMBINING_DOWN_TACK_BELOW = UChar(0x031E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_EQUALS_SIGN_BELOW = UChar(0x0347)
 Combining diacritical character.
 
static constexpr UChar COMBINING_FERMATA = UChar(0x0352)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GRAPHEME_JOINER = UChar(0x034F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GRAVE_ACCENT = UChar(0x0300)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GRAVE_ACCENT_BELOW = UChar(0x0316)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GRAVE_TONE_MARK = UChar(0x0340)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GREEK_DIALYTIKA_TONOS = UChar(0x0344)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GREEK_KORONIS = UChar(0x0343)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GREEK_PERISPOMENI = UChar(0x0342)
 Combining diacritical character.
 
static constexpr UChar COMBINING_GREEK_YPOGEGRAMMENI = UChar(0x0345)
 Combining diacritical character.
 
static constexpr UChar COMBINING_HOMOTHETIC_ABOVE = UChar(0x034B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_HOOK_ABOVE = UChar(0x0309)
 Combining diacritical character.
 
static constexpr UChar COMBINING_HORN = UChar(0x031B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_INVERTED_BREVE = UChar(0x0311)
 Combining diacritical character.
 
static constexpr UChar COMBINING_INVERTED_BREVE_BELOW = UChar(0x032F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_INVERTED_BRIDGE_BELOW = UChar(0x033A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_INVERTED_DOUBLE_ARCH_BELOW = UChar(0x032B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_A = UChar(0x0363)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_C = UChar(0x0368)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_D = UChar(0x0369)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_E = UChar(0x0364)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_H = UChar(0x036A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_I = UChar(0x0365)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_M = UChar(0x036B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_O = UChar(0x0366)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_R = UChar(0x036C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_T = UChar(0x036D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_U = UChar(0x0367)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_V = UChar(0x036E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LATIN_SMALL_LETTER_X = UChar(0x036F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_ANGLE_ABOVE = UChar(0x031A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_ANGLE_BELOW = UChar(0x0349)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_ARROWHEAD_BELOW = UChar(0x0354)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_HALF_RING_ABOVE = UChar(0x0351)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_HALF_RING_BELOW = UChar(0x031C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_RIGHT_ARROW_BELOW = UChar(0x034D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LEFT_TACK_BELOW = UChar(0x0318)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LONG_SOLIDUS_OVERLAY = UChar(0x0338)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LONG_STROKE_OVERLAY = UChar(0x0336)
 Combining diacritical character.
 
static constexpr UChar COMBINING_LOW_LINE = UChar(0x0332)
 Combining diacritical character.
 
static constexpr UChar COMBINING_MACRON = UChar(0x0304)
 Combining diacritical character.
 
static constexpr UChar COMBINING_MACRON_BELOW = UChar(0x0331)
 Combining diacritical character.
 
static constexpr UChar COMBINING_MINUS_SIGN_BELOW = UChar(0x0320)
 Combining diacritical character.
 
static constexpr UChar COMBINING_NOT_TILDE_ABOVE = UChar(0x034A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_OGONEK = UChar(0x0328)
 Combining diacritical character.
 
static constexpr UChar COMBINING_OVERLINE = UChar(0x0305)
 Combining diacritical character.
 
static constexpr UChar COMBINING_PALATALIZED_HOOK_BELOW = UChar(0x0321)
 Combining diacritical character.
 
static constexpr UChar COMBINING_PLUS_SIGN_BELOW = UChar(0x031F)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RETROFLEX_HOOK_BELOW = UChar(0x0322)
 Combining diacritical character.
 
static constexpr UChar COMBINING_REVERSED_COMMA_ABOVE = UChar(0x0314)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_ARROWHEAD_ABOVE = UChar(0x0350)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_ARROWHEAD_AND_UP_ARROWHEAD_BELOW = UChar(0x0356)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_ARROWHEAD_BELOW = UChar(0x0355)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_HALF_RING_ABOVE = UChar(0x0357)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_HALF_RING_BELOW = UChar(0x0339)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RIGHT_TACK_BELOW = UChar(0x0319)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RING_ABOVE = UChar(0x030A)
 Combining diacritical character.
 
static constexpr UChar COMBINING_RING_BELOW = UChar(0x0325)
 Combining diacritical character.
 
static constexpr UChar COMBINING_SEAGULL_BELOW = UChar(0x033C)
 Combining diacritical character.
 
static constexpr UChar COMBINING_SHORT_SOLIDUS_OVERLAY = UChar(0x0337)
 Combining diacritical character.
 
static constexpr UChar COMBINING_SHORT_STROKE_OVERLAY = UChar(0x0335)
 Combining diacritical character.
 
static constexpr UChar COMBINING_SQUARE_BELOW = UChar(0x033B)
 Combining diacritical character.
 
static constexpr UChar COMBINING_TILDE = UChar(0x0303)
 Combining diacritical character.
 
static constexpr UChar COMBINING_TILDE_BELOW = UChar(0x0330)
 Combining diacritical character.
 
static constexpr UChar COMBINING_TILDE_OVERLAY = UChar(0x0334)
 Combining diacritical character.
 
static constexpr UChar COMBINING_TURNED_COMMA_ABOVE = UChar(0x0312)
 Combining diacritical character.
 
static constexpr UChar COMBINING_UP_TACK_BELOW = UChar(0x031D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_UPWARDS_ARROW_BELOW = UChar(0x034E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_VERTICAL_LINE_ABOVE = UChar(0x030D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_VERTICAL_LINE_BELOW = UChar(0x0329)
 Combining diacritical character.
 
static constexpr UChar COMBINING_VERTICAL_TILDE = UChar(0x033E)
 Combining diacritical character.
 
static constexpr UChar COMBINING_X_ABOVE = UChar(0x033D)
 Combining diacritical character.
 
static constexpr UChar COMBINING_X_BELOW = UChar(0x0353)
 Combining diacritical character.
 
static constexpr UChar COMBINING_ZIGZAG_ABOVE = UChar(0x035B)
 Combining diacritical character.
 
static constexpr UChar COMMA = UChar(0x002C)
 ISO-8859 Unicode character.
 
static constexpr UChar COMMERCIAL_AT = UChar(0x0040)
 ISO-8859 Unicode character.
 
static constexpr UChar CONTAINS_AS_MEMBER = UChar(0x220B)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar COPYRIGHT_SIGN = UChar(0x00A9)
 ISO-8859 Unicode character.
 
static constexpr UChar CURRENCY_SIGN = UChar(0x00A4)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_A = UChar(0x0410)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_BE = UChar(0x0411)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_BYELORUSSIAN_UKRAINIAN_I = UChar(0x0406)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_CHE = UChar(0x0427)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_DE = UChar(0x0414)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_DJE = UChar(0x0402)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_DZE = UChar(0x0405)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_DZHE = UChar(0x040F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_E = UChar(0x042D)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_EF = UChar(0x0424)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_EL = UChar(0x041B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_EM = UChar(0x041C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_EN = UChar(0x041D)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_ER = UChar(0x0420)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_ES = UChar(0x0421)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_GHE = UChar(0x0413)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_GJE = UChar(0x0403)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_HA = UChar(0x0425)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_HARD_SIGN = UChar(0x042A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_I = UChar(0x0418)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_IE = UChar(0x0415)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_IO = UChar(0x0401)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_JE = UChar(0x0408)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_KA = UChar(0x041A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_KJE = UChar(0x040C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_LJE = UChar(0x0409)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_NJE = UChar(0x040A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_O = UChar(0x041E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_PE = UChar(0x041F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_SHA = UChar(0x0428)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_SHCHA = UChar(0x0429)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_SHORT_I = UChar(0x0419)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_SHORT_U = UChar(0x040E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_SOFT_SIGN = UChar(0x042C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_TE = UChar(0x0422)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_TSE = UChar(0x0426)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_TSHE = UChar(0x040B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_U = UChar(0x0423)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_UKRAINIAN_IE = UChar(0x0404)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_VE = UChar(0x0412)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_YA = UChar(0x042F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_YERU = UChar(0x042B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_YI = UChar(0x0407)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_YU = UChar(0x042E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_ZE = UChar(0x0417)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_CAPITAL_LETTER_ZHE = UChar(0x0416)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_A = UChar(0x0430)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_BE = UChar(0x0431)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_BYELORUSSIAN_UKRAINIAN_I = UChar(0x0456)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_CHE = UChar(0x0447)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_DE = UChar(0x0434)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_DJE = UChar(0x0452)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_DZE = UChar(0x0455)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_DZHE = UChar(0x045F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_E = UChar(0x044D)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_EF = UChar(0x0444)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_EL = UChar(0x043B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_EM = UChar(0x043C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_EN = UChar(0x043D)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_ER = UChar(0x0440)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_ES = UChar(0x0441)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_GHE = UChar(0x0433)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_GJE = UChar(0x0453)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_HA = UChar(0x0445)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_HARD_SIGN = UChar(0x044A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_I = UChar(0x0438)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_IE = UChar(0x0435)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_IO = UChar(0x0451)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_JE = UChar(0x0458)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_KA = UChar(0x043A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_KJE = UChar(0x045C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_LJE = UChar(0x0459)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_NJE = UChar(0x045A)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_O = UChar(0x043E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_PE = UChar(0x043F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_SHA = UChar(0x0448)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_SHCHA = UChar(0x0449)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_SHORT_I = UChar(0x0439)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_SHORT_U = UChar(0x045E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_SOFT_SIGN = UChar(0x044C)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_TE = UChar(0x0442)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_TSE = UChar(0x0446)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_TSHE = UChar(0x045B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_U = UChar(0x0443)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_UKRAINIAN_IE = UChar(0x0454)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_VE = UChar(0x0432)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_YA = UChar(0x044F)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_YERU = UChar(0x044B)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_YI = UChar(0x0457)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_YU = UChar(0x044E)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_ZE = UChar(0x0437)
 ISO-8859 Unicode character.
 
static constexpr UChar CYRILLIC_SMALL_LETTER_ZHE = UChar(0x0436)
 ISO-8859 Unicode character.
 
static constexpr UChar DAGGER = UChar(0x2020)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DATA_LINK_ESCAPE = UChar(0x0010)
 ISO-8859 Unicode character.
 
constexpr const UCharDEFAULT_BINARY_FILE_SUFFIX = u".bin"
 Default file name suffix for binary section files.
 
constexpr const UCharDEFAULT_CSV_SEPARATOR = u","
 Default separator in CSV (comma-separated values) format.
 
constexpr const UCharDEFAULT_JSON_FILE_SUFFIX = u".json"
 Default file name suffix for JSON section files.
 
constexpr const UCharDEFAULT_XML_FILE_SUFFIX = u".xml"
 Default file name suffix for XML section files.
 
static constexpr UChar DEGREE_SIGN = UChar(0x00B0)
 ISO-8859 Unicode character.
 
const DektecDVBTPropertyWrapper DektecDVBTProperty
 Enumeration (names/values) for Dektec DVB-T properties constants (DTAPI_MOD_DVBT_*, etc).
 
const DektecFECWrapper DektecFEC
 Enumeration (names/values) for Dektec FEC constants (DTAPI_MOD_1_2, etc).
 
const DektecInversionWrapper DektecInversion
 Enumeration (names/values) for Dektec spectral inversion constants (DTAPI_MOD_SPECNONINV, etc).
 
const DektecModulationTypesWrapper DektecModulationTypes
 Enumeration (names/values) for Dektec modulation constants (DTAPI_MOD_DVBS_QPSK, etc).
 
const DektecPowerModeWrapper DektecPowerMode
 Enumeration (names/values) for Dektec DTU-315 modulator power modes.
 
const DektecVSBWrapper DektecVSB
 Enumeration (names/values) for Dektec VSB constants (DTAPI_MOD_ATSC_VSB8, etc).
 
const DeliverySystemEnumWrapper DeliverySystemEnum
 Enumeration description of ts::DeliverySystem.
 
static constexpr UChar DEVICE_CONTROL_FOUR = UChar(0x0014)
 ISO-8859 Unicode character.
 
static constexpr UChar DEVICE_CONTROL_ONE = UChar(0x0011)
 ISO-8859 Unicode character.
 
static constexpr UChar DEVICE_CONTROL_THREE = UChar(0x0013)
 ISO-8859 Unicode character.
 
static constexpr UChar DEVICE_CONTROL_TWO = UChar(0x0012)
 ISO-8859 Unicode character.
 
static constexpr UChar DIAERESIS = UChar(0x00A8)
 ISO-8859 Unicode character.
 
constexpr size_t DID_MAX = 0x100
 Maximum number of DID values.
 
static constexpr UChar DIGIT_EIGHT = UChar(0x0038)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_FIVE = UChar(0x0035)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_FOUR = UChar(0x0034)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_NINE = UChar(0x0039)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_ONE = UChar(0x0031)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_SEVEN = UChar(0x0037)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_SIX = UChar(0x0036)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_THREE = UChar(0x0033)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_TWO = UChar(0x0032)
 ISO-8859 Unicode character.
 
static constexpr UChar DIGIT_ZERO = UChar(0x0030)
 ISO-8859 Unicode character.
 
static constexpr UChar DIVISION_SIGN = UChar(0x00F7)
 ISO-8859 Unicode character.
 
static constexpr UChar DOLLAR_SIGN = UChar(0x0024)
 ISO-8859 Unicode character.
 
static constexpr UChar DOT_ABOVE = UChar(0x02D9)
 ISO-8859 Unicode character.
 
static constexpr UChar DOT_OPERATOR = UChar(0x22C5)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DOUBLE_ACUTE_ACCENT = UChar(0x02DD)
 ISO-8859 Unicode character.
 
static constexpr UChar DOUBLE_DAGGER = UChar(0x2021)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DOUBLE_LOW_9_QUOTATION_MARK = UChar(0x201E)
 ISO-8859 Unicode character.
 
static constexpr UChar DOUBLE_LOW_LINE = UChar(0x2017)
 ISO-8859 Unicode character.
 
static constexpr UChar DOUBLE_PRIME = UChar(0x2033)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DOWNWARDS_ARROW = UChar(0x2193)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DOWNWARDS_ARROW_WITH_CORNER_LEFTWARDS = UChar(0x21B5)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DOWNWARDS_DOUBLE_ARROW = UChar(0x21D3)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar DRACHMA_SIGN = UChar(0x20AF)
 ISO-8859 Unicode character.
 
const size_t DTA_FIFO_SIZE = 8 * 1024 * 1024
 Safe size in bytes of the FIFO of DTA devices.
 
const size_t DTA_MAX_HW_FUNC = 75
 Maximum number of "hardware functions" per Dektec device.
 
const size_t DTA_MAX_IO_SIZE = 6 * 1024 * 1024
 Maximum I/O size in bytes of DTA devices.
 
static constexpr UChar ELEMENT_OF = UChar(0x2208)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar EM_DASH = UChar(0x2014)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar EM_SPACE = UChar(0x2003)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar EMPTY_SET = UChar(0x2205)
 Non-ISO-8859 Unicode character.
 
const EMPTY_STRINGWrapper EMPTY_STRING
 A static empty string.
 
const TSPacket EmptyPacket
 This constant is an empty packet (no payload).
 
static constexpr UChar EN_DASH = UChar(0x2013)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar EN_SPACE = UChar(0x2002)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar END_OF_MEDIUM = UChar(0x0019)
 ISO-8859 Unicode character.
 
static constexpr UChar END_OF_TEXT = UChar(0x0003)
 ISO-8859 Unicode character.
 
static constexpr UChar END_OF_TRANSMISSION = UChar(0x0004)
 ISO-8859 Unicode character.
 
static constexpr UChar END_OF_TRANSMISSION_BLOCK = UChar(0x0017)
 ISO-8859 Unicode character.
 
static constexpr UChar ENQUIRY = UChar(0x0005)
 ISO-8859 Unicode character.
 
static constexpr UChar EQUALS_SIGN = UChar(0x003D)
 ISO-8859 Unicode character.
 
static constexpr UChar ESCAPE = UChar(0x001B)
 ISO-8859 Unicode character.
 
constexpr size_t ETHER_ADDR_SIZE = 6
 Size in bytes of a MAC address in an Ethernet II header.
 
constexpr size_t ETHER_CRC_SIZE = 4
 Size in bytes of the trailing CRC in an Ethernet II frame.
 
constexpr size_t ETHER_DEST_ADDR_OFFSET = 0
 Offset of destination MAC address in an Ethernet II header.
 
constexpr size_t ETHER_HEADER_SIZE = 14
 Size of an Ethernet II header.
 
constexpr size_t ETHER_SRC_ADDR_OFFSET = 6
 Offset of destination MAC address in an Ethernet II header.
 
constexpr size_t ETHER_TYPE_OFFSET = 12
 Offset of destination MAC address in an Ethernet II header.
 
static constexpr UChar EURO_SIGN = UChar(0x20AC)
 ISO-8859 Unicode character.
 
static constexpr UChar EXCLAMATION_MARK = UChar(0x0021)
 ISO-8859 Unicode character.
 
constexpr const UCharEXECUTABLE_FILE_SUFFIX = platform - specific(".exe", "")
 Executable file suffix.
 
static constexpr UChar FEMININE_ORDINAL_INDICATOR = UChar(0x00AA)
 ISO-8859 Unicode character.
 
static constexpr UChar FILE_SEPARATOR = UChar(0x001C)
 ISO-8859 Unicode character.
 
constexpr CaseSensitivity FILE_SYSTEM_CASE_SENSITVITY = platform-specific
 Case-sensitivity of the names in the file system.
 
static constexpr UChar FOR_ALL = UChar(0x2200)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar FORM_FEED = UChar(0x000C)
 ISO-8859 Unicode character.
 
static constexpr UChar FRACTION_SLASH = UChar(0x2044)
 Non-ISO-8859 Unicode character.
 
constexpr std::uintmax_t FS_ERROR = static_cast<std::uintmax_t>(-1)
 This error code is returned by some functions in std::filesystem.
 
static constexpr UChar FULL_STOP = UChar(0x002E)
 ISO-8859 Unicode character.
 
static constexpr UChar GRAVE_ACCENT = UChar(0x0060)
 ISO-8859 Unicode character.
 
static constexpr UChar GREATER_THAN_OR_EQUAL_TO = UChar(0x2265)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar GREATER_THAN_SIGN = UChar(0x003E)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_ALPHA = UChar(0x0391)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_ALPHA_WITH_TONOS = UChar(0x0386)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_BETA = UChar(0x0392)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_CHI = UChar(0x03A7)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_DELTA = UChar(0x0394)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_EPSILON = UChar(0x0395)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_EPSILON_WITH_TONOS = UChar(0x0388)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_ETA = UChar(0x0397)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_ETA_WITH_TONOS = UChar(0x0389)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_GAMMA = UChar(0x0393)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_IOTA = UChar(0x0399)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_IOTA_WITH_DIALYTIKA = UChar(0x03AA)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_IOTA_WITH_TONOS = UChar(0x038A)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_KAPPA = UChar(0x039A)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_LAMDA = UChar(0x039B)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_MU = UChar(0x039C)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_NU = UChar(0x039D)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_OMEGA = UChar(0x03A9)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_OMEGA_WITH_TONOS = UChar(0x038F)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_OMICRON = UChar(0x039F)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_OMICRON_WITH_TONOS = UChar(0x038C)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_PHI = UChar(0x03A6)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_PI = UChar(0x03A0)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_PSI = UChar(0x03A8)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_RHO = UChar(0x03A1)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_SIGMA = UChar(0x03A3)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_TAU = UChar(0x03A4)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_THETA = UChar(0x0398)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_UPSILON = UChar(0x03A5)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_UPSILON_WITH_DIALYTIKA = UChar(0x03AB)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_UPSILON_WITH_TONOS = UChar(0x038E)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_XI = UChar(0x039E)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_CAPITAL_LETTER_ZETA = UChar(0x0396)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_DIALYTIKA_TONOS = UChar(0x0385)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_PI_SYMBOL = UChar(0x03D6)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_ALPHA = UChar(0x03B1)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_ALPHA_WITH_TONOS = UChar(0x03AC)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_BETA = UChar(0x03B2)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_CHI = UChar(0x03C7)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_DELTA = UChar(0x03B4)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_EPSILON = UChar(0x03B5)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_EPSILON_WITH_TONOS = UChar(0x03AD)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_ETA = UChar(0x03B7)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_ETA_WITH_TONOS = UChar(0x03AE)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_FINAL_SIGMA = UChar(0x03C2)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_GAMMA = UChar(0x03B3)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_IOTA = UChar(0x03B9)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA = UChar(0x03CA)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS = UChar(0x0390)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_IOTA_WITH_TONOS = UChar(0x03AF)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_KAPPA = UChar(0x03BA)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_LAMDA = UChar(0x03BB)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_MU = UChar(0x03BC)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_NU = UChar(0x03BD)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_OMEGA = UChar(0x03C9)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_OMEGA_WITH_TONOS = UChar(0x03CE)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_OMICRON = UChar(0x03BF)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_OMICRON_WITH_TONOS = UChar(0x03CC)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_PHI = UChar(0x03C6)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_PI = UChar(0x03C0)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_PSI = UChar(0x03C8)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_RHO = UChar(0x03C1)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_SIGMA = UChar(0x03C3)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_TAU = UChar(0x03C4)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_THETA = UChar(0x03B8)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_THETA_SYMBOL = UChar(0x03D1)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_UPSILON = UChar(0x03C5)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA = UChar(0x03CB)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS = UChar(0x03B0)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_UPSILON_WITH_TONOS = UChar(0x03CD)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_XI = UChar(0x03BE)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_SMALL_LETTER_ZETA = UChar(0x03B6)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_TONOS = UChar(0x0384)
 ISO-8859 Unicode character.
 
static constexpr UChar GREEK_UPSILON_WITH_HOOK_SYMBOL = UChar(0x03D2)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar GREEK_YPOGEGRAMMENI = UChar(0x037A)
 ISO-8859 Unicode character.
 
static constexpr UChar GROUP_SEPARATOR = UChar(0x001D)
 ISO-8859 Unicode character.
 
const GuardIntervalEnumWrapper GuardIntervalEnum
 Enumeration description of ts::GuardInterval.
 
static constexpr UChar HEBREW_LETTER_ALEF = UChar(0x05D0)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_AYIN = UChar(0x05E2)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_BET = UChar(0x05D1)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_DALET = UChar(0x05D3)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_FINAL_KAF = UChar(0x05DA)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_FINAL_MEM = UChar(0x05DD)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_FINAL_NUN = UChar(0x05DF)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_FINAL_PE = UChar(0x05E3)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_FINAL_TSADI = UChar(0x05E5)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_GIMEL = UChar(0x05D2)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_HE = UChar(0x05D4)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_HET = UChar(0x05D7)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_KAF = UChar(0x05DB)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_LAMED = UChar(0x05DC)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_MEM = UChar(0x05DE)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_NUN = UChar(0x05E0)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_PE = UChar(0x05E4)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_QOF = UChar(0x05E7)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_RESH = UChar(0x05E8)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_SAMEKH = UChar(0x05E1)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_SHIN = UChar(0x05E9)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_TAV = UChar(0x05EA)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_TET = UChar(0x05D8)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_TSADI = UChar(0x05E6)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_VAV = UChar(0x05D5)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_YOD = UChar(0x05D9)
 ISO-8859 Unicode character.
 
static constexpr UChar HEBREW_LETTER_ZAYIN = UChar(0x05D6)
 ISO-8859 Unicode character.
 
constexpr size_t HEVC_MAX_CPB_CNT_MINUS1 = 31
 Maximimum value for HEVC cpb_cnt_minus1.
 
constexpr size_t HEVC_MAX_MAXDPBSIZE = 16
 Maximimum value for HEVC MaxDpbSize.
 
constexpr size_t HEVC_MAX_MAXNUMSUBLAYERSMINUS1 = 64
 Maximimum value for HEVC maxNumSubLayersMinus1.
 
constexpr size_t HEVC_MAX_NUM_PICS = HEVC_MAX_SPS_MAX_DEC_PIC_BUFFERING_MINUS1
 Maximimum value for HEVC num_negative_pics and num_positive_pics.
 
constexpr size_t HEVC_MAX_NUM_SHORT_TERM_REF_PIC_SETS = 64
 Maximimum value for HEVC num_short_term_ref_pic_sets.
 
constexpr size_t HEVC_MAX_NUMDELTAPOCS = 2 * HEVC_MAX_NUM_PICS
 Maximimum value for HEVC NumDeltaPocs and num_positive_pics.
 
constexpr size_t HEVC_MAX_SPS_MAX_DEC_PIC_BUFFERING_MINUS1 = HEVC_MAX_MAXDPBSIZE - 1
 Maximimum value for HEVC sps_max_dec_pic_buffering_minus1.
 
const HierarchyEnumWrapper HierarchyEnum
 Enumeration description of ts::Hierarchy.
 
static constexpr UChar HORIZONTAL_BAR = UChar(0x2015)
 ISO-8859 Unicode character.
 
static constexpr UChar HORIZONTAL_ELLIPSIS = UChar(0x2026)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar HORIZONTAL_TABULATION = UChar(0x0009)
 ISO-8859 Unicode character.
 
static constexpr UChar HYPHEN_MINUS = UChar(0x002D)
 ISO-8859 Unicode character.
 
static constexpr UChar IDENTICAL_TO = UChar(0x2261)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar IDEOGRAPHIC_SPACE = UChar(0x3000)
 CJK character for space.
 
const InnerFECEnumWrapper InnerFECEnum
 Enumeration description of ts::InnerFEC.
 
static constexpr UChar INTEGRAL = UChar(0x222B)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar INTERSECTION = UChar(0x2229)
 Non-ISO-8859 Unicode character.
 
constexpr uint8_t INVALID_CC = 0xFF
 An invalid Continuity Counter (CC) value, typically meaning "undefined".
 
constexpr uint64_t INVALID_DTS = 0xFFFFFFFFFFFFFFFF
 An invalid DTS value, can be used as a marker.
 
constexpr uint16_t INVALID_NETWORK_ID = 0xFFFF
 A placeholder for "invalid network id" value.
 
constexpr PacketCounter INVALID_PACKET_COUNTER = std::numeric_limits<PacketCounter>::max()
 A impossible value for PacketCounter, meaning "undefined".
 
constexpr uint64_t INVALID_PCR = 0xFFFFFFFFFFFFFFFF
 An invalid PCR (Program Clock Reference) value, can be used as a marker.
 
constexpr uint64_t INVALID_PTS = 0xFFFFFFFFFFFFFFFF
 An invalid PTS value, can be used as a marker.
 
constexpr uint16_t INVALID_SERVICE_ID = 0xFFFF
 A placeholder for "invalid service id" value.
 
constexpr uint16_t INVALID_TS_ID = 0xFFFF
 A placeholder for "invalid transport stream id" value.
 
static constexpr UChar INVERTED_EXCLAMATION_MARK = UChar(0x00A1)
 ISO-8859 Unicode character.
 
static constexpr UChar INVERTED_QUESTION_MARK = UChar(0x00BF)
 ISO-8859 Unicode character.
 
constexpr size_t IP_MAX_PACKET_SIZE = 65536
 Maximum size of an IP packet.
 
constexpr size_t IPv4_CHECKSUM_OFFSET = 10
 Offset of the checksum in an IPv4 header.
 
constexpr size_t IPv4_DEST_ADDR_OFFSET = 16
 Offset of destination IP address in an IPv4 header.
 
constexpr size_t IPv4_FRAGMENT_OFFSET = 6
 Offset of the flags and fragments in an IPv4 header.
 
constexpr size_t IPv4_LENGTH_OFFSET = 2
 Offset of the total packet length in an IPv4 header.
 
constexpr size_t IPv4_MIN_HEADER_SIZE = 20
 Minimum size of an IPv4 header.
 
constexpr size_t IPv4_PROTOCOL_OFFSET = 9
 Offset of the protocol identifier in an IPv4 header.
 
constexpr size_t IPv4_SRC_ADDR_OFFSET = 12
 Offset of source IP address in an IPv4 header.
 
constexpr uint8_t IPv4_VERSION = 4
 Protocol version of IPv4 is ... 4 !
 
constexpr size_t IPv6_DEST_ADDR_OFFSET = 24
 Offset of destination IP address in an IPv6 header.
 
constexpr size_t IPv6_EXT_HEADER_SIZE = 8
 Minimum size of an extended IPv6 header.
 
constexpr size_t IPv6_LENGTH_OFFSET = 4
 Offset of the 16-bit payload length in an IPv6 header.
 
constexpr size_t IPv6_MIN_HEADER_SIZE = 40
 Minimum size of an IPv6 header.
 
constexpr size_t IPv6_NEXTHEAD_OFFSET = 6
 Offset of the 8-bit "next header" field in an IPv6 header.
 
constexpr size_t IPv6_SRC_ADDR_OFFSET = 8
 Offset of source IP address in an IPv6 header.
 
constexpr uint8_t IPv6_VERSION = 6
 Protocol version of IPv6 is ... 6 !
 
constexpr uint32_t ISI_DISABLE = 0xFFFFFFFF
 Special ISI value meaning "disable multistream selection".
 
constexpr uint32_t ISI_MAX = 0xFF
 Maximum Input Stream Id (ISI) value for DVB-S2.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A = UChar(0x0041)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_ACUTE = UChar(0x00C1)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_BREVE = UChar(0x0102)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_CIRCUMFLEX = UChar(0x00C2)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_DIAERESIS = UChar(0x00C4)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_GRAVE = UChar(0x00C0)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_MACRON = UChar(0x0100)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_OGONEK = UChar(0x0104)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE = UChar(0x00C5)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_A_WITH_TILDE = UChar(0x00C3)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_AE = UChar(0x00C6)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_B = UChar(0x0042)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_B_WITH_DOT_ABOVE = UChar(0x1E02)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C = UChar(0x0043)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C_WITH_ACUTE = UChar(0x0106)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C_WITH_CARON = UChar(0x010C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C_WITH_CEDILLA = UChar(0x00C7)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C_WITH_CIRCUMFLEX = UChar(0x0108)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_C_WITH_DOT_ABOVE = UChar(0x010A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_D = UChar(0x0044)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_D_WITH_CARON = UChar(0x010E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_D_WITH_DOT_ABOVE = UChar(0x1E0A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_D_WITH_STROKE = UChar(0x0110)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E = UChar(0x0045)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_ACUTE = UChar(0x00C9)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_CARON = UChar(0x011A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_CIRCUMFLEX = UChar(0x00CA)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_DIAERESIS = UChar(0x00CB)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_DOT_ABOVE = UChar(0x0116)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_GRAVE = UChar(0x00C8)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_MACRON = UChar(0x0112)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_E_WITH_OGONEK = UChar(0x0118)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_ENG = UChar(0x014A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_ETH = UChar(0x00D0)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_F = UChar(0x0046)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_F_WITH_DOT_ABOVE = UChar(0x1E1E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_G = UChar(0x0047)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_G_WITH_BREVE = UChar(0x011E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_G_WITH_CEDILLA = UChar(0x0122)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_G_WITH_CIRCUMFLEX = UChar(0x011C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_G_WITH_DOT_ABOVE = UChar(0x0120)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_H = UChar(0x0048)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_H_WITH_CIRCUMFLEX = UChar(0x0124)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_H_WITH_STROKE = UChar(0x0126)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I = UChar(0x0049)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_ACUTE = UChar(0x00CD)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_CIRCUMFLEX = UChar(0x00CE)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_DIAERESIS = UChar(0x00CF)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE = UChar(0x0130)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_GRAVE = UChar(0x00CC)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_MACRON = UChar(0x012A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_OGONEK = UChar(0x012E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_I_WITH_TILDE = UChar(0x0128)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_J = UChar(0x004A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_J_WITH_CIRCUMFLEX = UChar(0x0134)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_K = UChar(0x004B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_K_WITH_CEDILLA = UChar(0x0136)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_L = UChar(0x004C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_L_WITH_ACUTE = UChar(0x0139)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_L_WITH_CARON = UChar(0x013D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_L_WITH_CEDILLA = UChar(0x013B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_L_WITH_STROKE = UChar(0x0141)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_M = UChar(0x004D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_M_WITH_DOT_ABOVE = UChar(0x1E40)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_N = UChar(0x004E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_N_WITH_ACUTE = UChar(0x0143)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_N_WITH_CARON = UChar(0x0147)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_N_WITH_CEDILLA = UChar(0x0145)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_N_WITH_TILDE = UChar(0x00D1)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O = UChar(0x004F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_ACUTE = UChar(0x00D3)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_CIRCUMFLEX = UChar(0x00D4)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_DIAERESIS = UChar(0x00D6)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_DOUBLE_ACUTE = UChar(0x0150)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_GRAVE = UChar(0x00D2)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_MACRON = UChar(0x014C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_STROKE = UChar(0x00D8)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_O_WITH_TILDE = UChar(0x00D5)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_P = UChar(0x0050)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_P_WITH_DOT_ABOVE = UChar(0x1E56)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Q = UChar(0x0051)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_R = UChar(0x0052)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_R_WITH_ACUTE = UChar(0x0154)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_R_WITH_CARON = UChar(0x0158)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_R_WITH_CEDILLA = UChar(0x0156)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S = UChar(0x0053)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_ACUTE = UChar(0x015A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_CARON = UChar(0x0160)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_CEDILLA = UChar(0x015E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_CIRCUMFLEX = UChar(0x015C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_COMMA_BELOW = UChar(0x0218)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_S_WITH_DOT_ABOVE = UChar(0x1E60)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T = UChar(0x0054)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T_WITH_CARON = UChar(0x0164)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T_WITH_CEDILLA = UChar(0x0162)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T_WITH_COMMA_BELOW = UChar(0x021A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T_WITH_DOT_ABOVE = UChar(0x1E6A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_T_WITH_STROKE = UChar(0x0166)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_THORN = UChar(0x00DE)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U = UChar(0x0055)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_ACUTE = UChar(0x00DA)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_BREVE = UChar(0x016C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_CIRCUMFLEX = UChar(0x00DB)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_DIAERESIS = UChar(0x00DC)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_DOUBLE_ACUTE = UChar(0x0170)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_GRAVE = UChar(0x00D9)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_MACRON = UChar(0x016A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_OGONEK = UChar(0x0172)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_RING_ABOVE = UChar(0x016E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_U_WITH_TILDE = UChar(0x0168)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_V = UChar(0x0056)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_W = UChar(0x0057)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_W_WITH_ACUTE = UChar(0x1E82)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_W_WITH_CIRCUMFLEX = UChar(0x0174)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_W_WITH_DIAERESIS = UChar(0x1E84)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_W_WITH_GRAVE = UChar(0x1E80)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_X = UChar(0x0058)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Y = UChar(0x0059)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Y_WITH_ACUTE = UChar(0x00DD)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Y_WITH_CIRCUMFLEX = UChar(0x0176)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS = UChar(0x0178)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Y_WITH_GRAVE = UChar(0x1EF2)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Z = UChar(0x005A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Z_WITH_ACUTE = UChar(0x0179)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Z_WITH_CARON = UChar(0x017D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LETTER_Z_WITH_DOT_ABOVE = UChar(0x017B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_CAPITAL_LIGATURE_OE = UChar(0x0152)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_F_WITH_HOOK = UChar(0x0192)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A = UChar(0x0061)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_ACUTE = UChar(0x00E1)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_BREVE = UChar(0x0103)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX = UChar(0x00E2)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_DIAERESIS = UChar(0x00E4)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_GRAVE = UChar(0x00E0)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_MACRON = UChar(0x0101)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_OGONEK = UChar(0x0105)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_RING_ABOVE = UChar(0x00E5)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_A_WITH_TILDE = UChar(0x00E3)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_AE = UChar(0x00E6)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_B = UChar(0x0062)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_B_WITH_DOT_ABOVE = UChar(0x1E03)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C = UChar(0x0063)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C_WITH_ACUTE = UChar(0x0107)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C_WITH_CARON = UChar(0x010D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C_WITH_CEDILLA = UChar(0x00E7)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C_WITH_CIRCUMFLEX = UChar(0x0109)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_C_WITH_DOT_ABOVE = UChar(0x010B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_D = UChar(0x0064)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_D_WITH_CARON = UChar(0x010F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_D_WITH_DOT_ABOVE = UChar(0x1E0B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_D_WITH_STROKE = UChar(0x0111)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_DOTLESS_I = UChar(0x0131)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E = UChar(0x0065)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_ACUTE = UChar(0x00E9)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_CARON = UChar(0x011B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_CIRCUMFLEX = UChar(0x00EA)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_DIAERESIS = UChar(0x00EB)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_DOT_ABOVE = UChar(0x0117)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_GRAVE = UChar(0x00E8)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_MACRON = UChar(0x0113)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_E_WITH_OGONEK = UChar(0x0119)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_ENG = UChar(0x014B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_ETH = UChar(0x00F0)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_F = UChar(0x0066)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_F_WITH_DOT_ABOVE = UChar(0x1E1F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_G = UChar(0x0067)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_G_WITH_BREVE = UChar(0x011F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_G_WITH_CEDILLA = UChar(0x0123)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_G_WITH_CIRCUMFLEX = UChar(0x011D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_G_WITH_DOT_ABOVE = UChar(0x0121)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_H = UChar(0x0068)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_H_WITH_CIRCUMFLEX = UChar(0x0125)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_H_WITH_STROKE = UChar(0x0127)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I = UChar(0x0069)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_ACUTE = UChar(0x00ED)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_CIRCUMFLEX = UChar(0x00EE)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_DIAERESIS = UChar(0x00EF)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_GRAVE = UChar(0x00EC)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_MACRON = UChar(0x012B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_OGONEK = UChar(0x012F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_I_WITH_TILDE = UChar(0x0129)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_J = UChar(0x006A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_J_WITH_CIRCUMFLEX = UChar(0x0135)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_K = UChar(0x006B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_K_WITH_CEDILLA = UChar(0x0137)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_KRA = UChar(0x0138)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_L = UChar(0x006C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_L_WITH_ACUTE = UChar(0x013A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_L_WITH_CARON = UChar(0x013E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_L_WITH_CEDILLA = UChar(0x013C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_L_WITH_STROKE = UChar(0x0142)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_M = UChar(0x006D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_M_WITH_DOT_ABOVE = UChar(0x1E41)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_N = UChar(0x006E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_N_WITH_ACUTE = UChar(0x0144)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_N_WITH_CARON = UChar(0x0148)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_N_WITH_CEDILLA = UChar(0x0146)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_N_WITH_TILDE = UChar(0x00F1)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O = UChar(0x006F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_ACUTE = UChar(0x00F3)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_CIRCUMFLEX = UChar(0x00F4)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_DIAERESIS = UChar(0x00F6)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_DOUBLE_ACUTE = UChar(0x0151)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_GRAVE = UChar(0x00F2)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_MACRON = UChar(0x014D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_STROKE = UChar(0x00F8)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_O_WITH_TILDE = UChar(0x00F5)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_P = UChar(0x0070)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_P_WITH_DOT_ABOVE = UChar(0x1E57)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Q = UChar(0x0071)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_R = UChar(0x0072)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_R_WITH_ACUTE = UChar(0x0155)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_R_WITH_CARON = UChar(0x0159)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_R_WITH_CEDILLA = UChar(0x0157)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S = UChar(0x0073)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_ACUTE = UChar(0x015B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_CARON = UChar(0x0161)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_CEDILLA = UChar(0x015F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_CIRCUMFLEX = UChar(0x015D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_COMMA_BELOW = UChar(0x0219)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_S_WITH_DOT_ABOVE = UChar(0x1E61)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_SHARP_S = UChar(0x00DF)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T = UChar(0x0074)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T_WITH_CARON = UChar(0x0165)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T_WITH_CEDILLA = UChar(0x0163)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T_WITH_COMMA_BELOW = UChar(0x021B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T_WITH_DOT_ABOVE = UChar(0x1E6B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_T_WITH_STROKE = UChar(0x0167)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_THORN = UChar(0x00FE)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U = UChar(0x0075)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_ACUTE = UChar(0x00FA)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_BREVE = UChar(0x016D)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_CIRCUMFLEX = UChar(0x00FB)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_DIAERESIS = UChar(0x00FC)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_DOUBLE_ACUTE = UChar(0x0171)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_GRAVE = UChar(0x00F9)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_MACRON = UChar(0x016B)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_OGONEK = UChar(0x0173)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_RING_ABOVE = UChar(0x016F)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_U_WITH_TILDE = UChar(0x0169)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_V = UChar(0x0076)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_W = UChar(0x0077)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_W_WITH_ACUTE = UChar(0x1E83)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_W_WITH_CIRCUMFLEX = UChar(0x0175)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_W_WITH_DIAERESIS = UChar(0x1E85)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_W_WITH_GRAVE = UChar(0x1E81)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_X = UChar(0x0078)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Y = UChar(0x0079)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Y_WITH_ACUTE = UChar(0x00FD)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Y_WITH_CIRCUMFLEX = UChar(0x0177)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Y_WITH_DIAERESIS = UChar(0x00FF)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Y_WITH_GRAVE = UChar(0x1EF3)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Z = UChar(0x007A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Z_WITH_ACUTE = UChar(0x017A)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Z_WITH_CARON = UChar(0x017E)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LETTER_Z_WITH_DOT_ABOVE = UChar(0x017C)
 ISO-8859 Unicode character.
 
static constexpr UChar LATIN_SMALL_LIGATURE_OE = UChar(0x0153)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_CEILING = UChar(0x2308)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFT_CURLY_BRACKET = UChar(0x007B)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_DOUBLE_QUOTATION_MARK = UChar(0x201C)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_FLOOR = UChar(0x230A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFT_PARENTHESIS = UChar(0x0028)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_POINTING_ANGLE_BRACKET = UChar(0x2329)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = UChar(0x00AB)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_RIGHT_ARROW = UChar(0x2194)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFT_RIGHT_DOUBLE_ARROW = UChar(0x21D4)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFT_SINGLE_QUOTATION_MARK = UChar(0x2018)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_SQUARE_BRACKET = UChar(0x005B)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFT_TO_RIGHT_MARK = UChar(0x200E)
 ISO-8859 Unicode character.
 
static constexpr UChar LEFTWARDS_ARROW = UChar(0x2190)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LEFTWARDS_DOUBLE_ARROW = UChar(0x21D0)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LESS_THAN_OR_EQUAL_TO = UChar(0x2264)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LESS_THAN_SIGN = UChar(0x003C)
 ISO-8859 Unicode character.
 
static constexpr UChar LINE_FEED = UChar(0x000A)
 ISO-8859 Unicode character.
 
static constexpr UChar LOGICAL_AND = UChar(0x2227)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar LOGICAL_OR = UChar(0x2228)
 Non-ISO-8859 Unicode character.
 
constexpr size_t LONG_SECTION_HEADER_SIZE = 8
 Header size of a long section.
 
static constexpr UChar LOW_LINE = UChar(0x005F)
 ISO-8859 Unicode character.
 
static constexpr UChar LOZENGE = UChar(0x25CA)
 Non-ISO-8859 Unicode character.
 
constexpr size_t M2TS_HEADER_SIZE = 4
 Size in bytes of a timestamp preceeding a TS packet in M2TS files (Blu-ray disc).
 
constexpr size_t MACROBLOCK_HEIGHT = 16
 Video macroblock height in pixels.
 
constexpr size_t MACROBLOCK_WIDTH = 16
 Video macroblock width in pixels.
 
static constexpr UChar MACRON = UChar(0x00AF)
 ISO-8859 Unicode character.
 
static constexpr UChar MASCULINE_ORDINAL_INDICATOR = UChar(0x00BA)
 ISO-8859 Unicode character.
 
constexpr size_t MAX_DESCRIPTOR_SIZE = 257
 Maximum size of a descriptor (255 + 2-byte header).
 
constexpr uint64_t MAX_PCR = PCR_SCALE - 1
 The maximum value possible for a PCR (Program Clock Reference) value.
 
constexpr size_t MAX_POWER_10 = 19
 Largest representable power of 10 in integer types.
 
constexpr size_t MAX_PRIVATE_LONG_SECTION_PAYLOAD_SIZE = MAX_PRIVATE_SECTION_SIZE - LONG_SECTION_HEADER_SIZE - SECTION_CRC32_SIZE
 Maximum size of the payload of a private long section.
 
constexpr size_t MAX_PRIVATE_SECTION_SIZE = 4096
 Maximum size of a private section (including DVB-defined sections).
 
constexpr size_t MAX_PRIVATE_SHORT_SECTION_PAYLOAD_SIZE = MAX_PRIVATE_SECTION_SIZE - SHORT_SECTION_HEADER_SIZE
 Maximum size of the payload of a private short section.
 
constexpr size_t MAX_PSI_LONG_SECTION_PAYLOAD_SIZE = MAX_PSI_SECTION_SIZE - LONG_SECTION_HEADER_SIZE - SECTION_CRC32_SIZE
 Maximum size of the payload of a PSI long section.
 
constexpr size_t MAX_PSI_SECTION_SIZE = 1024
 Maximum size of a PSI section (MPEG-defined).
 
constexpr size_t MAX_PSI_SHORT_SECTION_PAYLOAD_SIZE = MAX_PSI_SECTION_SIZE - SHORT_SECTION_HEADER_SIZE
 Maximum size of the payload of a short section.
 
constexpr uint64_t MAX_PTS_DTS = PTS_DTS_SCALE - 1
 The maximum value possible for a PTS/DTS value.
 
static constexpr UChar MICRO_SIGN = UChar(0x00B5)
 ISO-8859 Unicode character.
 
static constexpr UChar MIDDLE_DOT = UChar(0x00B7)
 ISO-8859 Unicode character.
 
constexpr size_t MIN_LONG_SECTION_SIZE = LONG_SECTION_HEADER_SIZE + SECTION_CRC32_SIZE
 Minimum size of a long section.
 
constexpr size_t MIN_SHORT_SECTION_SIZE = SHORT_SECTION_HEADER_SIZE
 Minimum size of a short section.
 
static constexpr UChar MINUS_SIGN = UChar(0x2212)
 Non-ISO-8859 Unicode character.
 
constexpr uint32_t MJD_EPOCH = 40587
 Origin of Modified Julian Dates (MJD).
 
static constexpr UChar MODIFIER_LETTER_CIRCUMFLEX_ACCENT = UChar(0x02C6)
 Non-ISO-8859 Unicode character.
 
const ModulationEnumWrapper ModulationEnum
 Enumeration description of ts::Modulation.
 
static constexpr UChar MULTIPLICATION_SIGN = UChar(0x00D7)
 ISO-8859 Unicode character.
 
static constexpr UChar N_ARY_PRODUCT = UChar(0x220F)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar N_ARY_SUMATION = UChar(0x2211)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar NABLA = UChar(0x2207)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar NEGATIVE_ACKNOWLEDGE = UChar(0x0015)
 ISO-8859 Unicode character.
 
static constexpr UChar NO_BREAK_SPACE = UChar(0x00A0)
 ISO-8859 Unicode character.
 
const PIDSet NoPID
 PIDSet constant with no PID set.
 
static constexpr UChar NOT_A_SUBSET_OF = UChar(0x2284)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar NOT_AN_ELEMENT_OF = UChar(0x2209)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar NOT_EQUAL_TO = UChar(0x2260)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar NOT_SIGN = UChar(0x00AC)
 ISO-8859 Unicode character.
 
constexpr size_t NPOS = size_t(-1)
 Constant meaning "no size", "not found" or "do not resize".
 
const TSPacket NullPacket
 This constant is a null (or stuffing) packet.
 
static constexpr UChar NUMBER_SIGN = UChar(0x0023)
 ISO-8859 Unicode character.
 
static constexpr UChar NUMERO_SIGN = UChar(0x2116)
 ISO-8859 Unicode character.
 
static constexpr UChar OGONEK = UChar(0x02DB)
 ISO-8859 Unicode character.
 
static constexpr UChar OVERLINE = UChar(0x203E)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar PARTIAL_DIFFERENTIAL = UChar(0x2202)
 Non-ISO-8859 Unicode character.
 
constexpr const UCharPATH_ENVIRONMENT_VARIABLE = platform - specific("PATH", "Path")
 Environment variable containing the command search path.
 
constexpr uint32_t PCAP_MAGIC_BE = 0xA1B2C3D4
 Magic number of pcap files, big endian.
 
constexpr uint32_t PCAP_MAGIC_LE = 0xD4C3B2A1
 Magic number of pcap files, little endian.
 
constexpr uint32_t PCAPNG_MAGIC = 0x0A0D0D0A
 Magic number of pcapng files, not endian dependent.
 
constexpr uint32_t PCAPNG_ORDER_BE = 0x1A2B3C4D
 "Byte-order magic" in pcapng files, big endian.
 
constexpr uint32_t PCAPNG_ORDER_LE = 0x4D3C2B1A
 "Byte-order magic" in pcapng files, little endian.
 
constexpr uint32_t PCAPNS_MAGIC_BE = 0xA1B23C4D
 Magic number of pcap files with nanosecond timestamps, big endian.
 
constexpr uint32_t PCAPNS_MAGIC_LE = 0x4D3CB2A1
 Magic number of pcap files with nanosecond timestamps, little endian.
 
constexpr size_t PCR_BIT_SIZE = 42
 Size in bits of a PCR (Program Clock Reference).
 
constexpr uint64_t PCR_SCALE = PTS_DTS_SCALE * SYSTEM_CLOCK_SUBFACTOR
 Scale factor for PCR values.
 
static constexpr UChar PER_MILLE_SIGN = UChar(0x2030)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar PERCENT_SIGN = UChar(0x0025)
 ISO-8859 Unicode character.
 
constexpr uint32_t PES_START = 0x000001
 PES packet start code prefix (24 bits).
 
constexpr size_t PID_BITS = 13
 Size (in bits) of a PID field.
 
constexpr PID PID_MAX = 1 << PID_BITS
 Maximum number of PID's (8192).
 
const PIDClassEnumWrapper PIDClassEnum
 Enumeration description of ts::PIDClass.
 
static constexpr UChar PILCROW_SIGN = UChar(0x00B6)
 ISO-8859 Unicode character.
 
const PilotEnumWrapper PilotEnum
 Enumeration description of ts::Pilot.
 
constexpr size_t PKT_HEADER_SIZE = 4
 MPEG TS packet header size in bytes.
 
constexpr size_t PKT_M2TS_SIZE = M2TS_HEADER_SIZE + PKT_SIZE
 Size in bytes of an TS packet in M2TS files (Blu-ray disc).
 
constexpr size_t PKT_MAX_PAYLOAD_SIZE = PKT_SIZE - PKT_HEADER_SIZE
 MPEG TS packet maximum payload size in bytes.
 
constexpr size_t PKT_RS_SIZE = PKT_SIZE + RS_SIZE
 Size in bytes of a TS packet with trailing Reed-Solomon outer FEC.
 
constexpr size_t PKT_RS_SIZE_BITS = 8 * PKT_RS_SIZE
 Size in bits of a TS packet with trailing Reed-Solomon outer FEC.
 
constexpr size_t PKT_SIZE = 188
 MPEG TS packet size in bytes.
 
constexpr size_t PKT_SIZE_BITS = 8 * PKT_SIZE
 MPEG TS packet size in bits.
 
constexpr uint32_t PLP_DISABLE = 0xFFFFFFFF
 Special PLP value meaning "disable PLP selection".
 
constexpr uint32_t PLP_MAX = 0xFF
 Maximum Physical Layer Pipe (PLP) value for DVB-T2.
 
constexpr uint32_t PLS_CODE_MAX = 0x3FFFF
 Maximum Physical Layer Scrambling (PLS) code value for DVB-S2.
 
const PLSModeEnumWrapper PLSModeEnum
 Enumeration description of ts::PLSMode.
 
constexpr const UCharPLUGINS_PATH_ENVIRONMENT_VARIABLE = u"TSPLUGINS_PATH"
 Name of the environment variable which contains a list of paths for plugins.
 
const PluginTypeNamesWrapper PluginTypeNames
 Displayable names of plugin types.
 
static constexpr UChar PLUS_MINUS_SIGN = UChar(0x00B1)
 ISO-8859 Unicode character.
 
static constexpr UChar PLUS_SIGN = UChar(0x002B)
 ISO-8859 Unicode character.
 
const PolarizationEnumWrapper PolarizationEnum
 Enumeration description of ts::Polarization.
 
static constexpr UChar POUND_SIGN = UChar(0x00A3)
 ISO-8859 Unicode character.
 
static constexpr UChar PRIME = UChar(0x2032)
 Non-ISO-8859 Unicode character.
 
const PrivateDataSpecifierEnumWrapper PrivateDataSpecifierEnum
 Enumeration description of PDS values.
 
static constexpr UChar PROPORTIONAL_TO = UChar(0x221D)
 Non-ISO-8859 Unicode character.
 
constexpr size_t PTS_DTS_BIT_SIZE = 33
 Size in bits of a PTS (Presentation Time Stamp) or DTS (Decoding Time Stamp).
 
constexpr uint64_t PTS_DTS_MASK = PTS_DTS_SCALE - 1
 Mask for PTS and DTS values (wrap up at 2^33).
 
constexpr uint64_t PTS_DTS_SCALE = 1LL << PTS_DTS_BIT_SIZE
 Scale factor for PTS and DTS values (wrap up at 2^33).
 
static constexpr UChar QUESTION_MARK = UChar(0x003F)
 ISO-8859 Unicode character.
 
static constexpr UChar QUOTATION_MARK = UChar(0x0022)
 ISO-8859 Unicode character.
 
static constexpr UChar RECORD_SEPARATOR = UChar(0x001E)
 ISO-8859 Unicode character.
 
static constexpr UChar REGISTERED_SIGN = UChar(0x00AE)
 ISO-8859 Unicode character.
 
static constexpr UChar REVERSE_SOLIDUS = UChar(0x005C)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_CEILING = UChar(0x2309)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_CURLY_BRACKET = UChar(0x007D)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_DOUBLE_QUOTATION_MARK = UChar(0x201D)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_FLOOR = UChar(0x230B)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_PARENTHESIS = UChar(0x0029)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_POINTING_ANGLE_BRACKET = UChar(0x232A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_POINTING_DOUBLE_ANGLE_QUOTATION_MARK = UChar(0x00BB)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_SINGLE_QUOTATION_MARK = UChar(0x2019)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_SQUARE_BRACKET = UChar(0x005D)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHT_TO_LEFT_MARK = UChar(0x200F)
 ISO-8859 Unicode character.
 
static constexpr UChar RIGHTWARDS_ARROW = UChar(0x2192)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar RIGHTWARDS_DOUBLE_ARROW = UChar(0x21D2)
 Non-ISO-8859 Unicode character.
 
const RollOffEnumWrapper RollOffEnum
 Enumeration description of ts::RollOff.
 
constexpr size_t RS_SIZE = 16
 Size in bytes of a Reed-Solomon outer FEC.
 
constexpr size_t RTP_HEADER_SIZE = 12
 Size in bytes of the fixed part of the RTP header.
 
constexpr uint8_t RTP_PT_MP2T = 33
 RTP payload type for MPEG2-TS.
 
constexpr uint64_t RTP_RATE_MP2T = 90000
 RTP clock rate for MPEG2-TS.
 
const RunningStatusEnumWrapper RunningStatusEnum
 Enumeration description of running status values.
 
static constexpr UChar SCRIPT_CAPITAL_P = UChar(0x2118)
 Non-ISO-8859 Unicode character.
 
constexpr UChar SEARCH_PATH_SEPARATOR = platform-specific (':', ';')
 Separator character in search paths.
 
constexpr size_t SECTION_CRC32_SIZE = 4
 Size of the CRC32 field in a long section.
 
static constexpr UChar SECTION_SIGN = UChar(0x00A7)
 ISO-8859 Unicode character.
 
const SectionFormatEnumWrapper SectionFormatEnum
 Enumeration description of ts::SectionFormat.
 
static constexpr UChar SEMICOLON = UChar(0x003B)
 ISO-8859 Unicode character.
 
constexpr const UCharSHARED_LIBRARY_SUFFIX = platform - specific(".dll", ".so", ".dylib")
 File name extension of shared library file names (".so" on Linux, '.dylib" on macOS, ".dll" on Windows).
 
static constexpr UChar SHIFT_IN = UChar(0x000F)
 ISO-8859 Unicode character.
 
static constexpr UChar SHIFT_OUT = UChar(0x000E)
 ISO-8859 Unicode character.
 
constexpr size_t SHORT_SECTION_HEADER_SIZE = 3
 Header size of a short section.
 
static constexpr UChar SINGLE_LEFT_POINTING_ANGLE_QUOTATION_MARK = UChar(0x2039)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SINGLE_LOW_9_QUOTATION_MARK = UChar(0x201A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SINGLE_RIGHT_POINTING_ANGLE_QUOTATION_MARK = UChar(0x203A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SMALL_TILDE = UChar(0x02DC)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SOFT_HYPHEN = UChar(0x00AD)
 ISO-8859 Unicode character.
 
static constexpr UChar SOLIDUS = UChar(0x002F)
 ISO-8859 Unicode character.
 
static constexpr UChar SPACE = UChar(0x0020)
 ISO-8859 Unicode character.
 
const SpecifiedSectionFormatEnumWrapper SpecifiedSectionFormatEnum
 Enumeration description of ts::SectionFormat, excluding ts::SectionFormat::UNSPECIFIED.
 
const SpectralInversionEnumWrapper SpectralInversionEnum
 Enumeration description of ts::SpectralInversion.
 
const uint32_t SPLICE_ID_CUEI = 0x43554549
 Registered splice identifier for SCTE 35 (ASCII "CUEI")
 
static constexpr UChar SQUARE_ROOT = UChar(0x221A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar START_OF_HEADING = UChar(0x0001)
 ISO-8859 Unicode character.
 
static constexpr UChar START_OF_TEXT = UChar(0x0002)
 ISO-8859 Unicode character.
 
constexpr uint32_t STREAM_ID_DISABLE = 0xFFFFFFFF
 Special Stream Id value meaning "disable multistream selection".
 
constexpr uint32_t STREAM_ID_MAX = 0xFFFF
 Maximum Stream Id value (same as inner TS id) for ISDB-S.
 
static constexpr UChar SUBSET_OF = UChar(0x2282)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SUBSET_OF_OR_EQUAL_TO = UChar(0x2286)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SUBSTITUTE = UChar(0x001A)
 ISO-8859 Unicode character.
 
static constexpr UChar SUPERSCRIPT_ONE = UChar(0x00B9)
 ISO-8859 Unicode character.
 
static constexpr UChar SUPERSCRIPT_THREE = UChar(0x00B3)
 ISO-8859 Unicode character.
 
static constexpr UChar SUPERSCRIPT_TWO = UChar(0x00B2)
 ISO-8859 Unicode character.
 
static constexpr UChar SUPERSET_OF = UChar(0x2283)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar SUPERSET_OF_OR_EQUAL_TO = UChar(0x2287)
 Non-ISO-8859 Unicode character.
 
constexpr size_t SVERSION_BITS = 5
 Size (in bits) of a section version field.
 
constexpr uint8_t SVERSION_MASK = 0x1F
 Mask to wrap a section version value.
 
constexpr uint8_t SVERSION_MAX = 1 << SVERSION_BITS
 Maximum value of a section version.
 
static constexpr UChar SWAPPED_BYTE_ORDER_MARK = UChar(0xFFFE)
 UTF-16 BOM in wrong byte order, not a character.
 
constexpr uint8_t SYNC_BYTE = 0x47
 Value of a sync byte (first byte in a TS packet).
 
static constexpr UChar SYNCHRONOUS_IDLE = UChar(0x0016)
 ISO-8859 Unicode character.
 
constexpr int SYS_SOCKET_ERR_NOTCONN = platform_specific
 System error code value meaning "peer socket not connected".
 
constexpr int SYS_SOCKET_ERR_RESET = platform_specific
 System error code value meaning "connection reset by peer".
 
constexpr SysSocketType SYS_SOCKET_INVALID = platform_specific
 Value of type SysSocketType which is returned by the socket() system call in case of failure.
 
constexpr int SYS_SOCKET_SHUT_RD = platform_specific
 Name of the option for the shutdown() system call which means "close on receive side".
 
constexpr int SYS_SOCKET_SHUT_RDWR = platform_specific
 Name of the option for the shutdown() system call which means "close on both directions".
 
constexpr int SYS_SOCKET_SHUT_WR = platform_specific
 Name of the option for the shutdown() system call which means "close on send side".
 
constexpr uint32_t SYSTEM_CLOCK_FREQ = 27000000
 MPEG-2 System Clock frequency in Hz, used by PCR (27 Mb/s).
 
constexpr uint32_t SYSTEM_CLOCK_SUBFACTOR = 300
 Subfactor of MPEG-2 System Clock subfrequency, used by PTS and DTS.
 
constexpr uint32_t SYSTEM_CLOCK_SUBFREQ = SYSTEM_CLOCK_FREQ / SYSTEM_CLOCK_SUBFACTOR
 MPEG-2 System Clock subfrequency in Hz, used by PTS and DTS (90 Kb/s).
 
constexpr size_t T2_BBHEADER_SIZE = 10
 Size in bytes of a DVB-T2 Base Band Header.
 
constexpr size_t T2MI_HEADER_SIZE = 6
 Size in bytes of a T2-MI packet header.
 
const TableScopeEnumWrapper TableScopeEnum
 Enumeration description of TableScope values.
 
constexpr size_t TCP_DEST_PORT_OFFSET = 2
 Offset of destination port in a TCP header.
 
constexpr size_t TCP_FLAGS_OFFSET = 13
 Offset of flags byte in a TCP header.
 
constexpr size_t TCP_HEADER_LENGTH_OFFSET = 12
 Offset of TCP header length in a TCP header (number of 32-bit words).
 
constexpr size_t TCP_MAX_PAYLOAD_SIZE = IP_MAX_PACKET_SIZE - IPv4_MIN_HEADER_SIZE - TCP_MIN_HEADER_SIZE
 Maximum size in bytes of a TCP payload.
 
constexpr size_t TCP_MIN_HEADER_SIZE = 20
 Minimum size in bytes of a TCP header.
 
constexpr size_t TCP_SEQUENCE_OFFSET = 4
 Offset of sequence number in a TCP header.
 
constexpr size_t TCP_SRC_PORT_OFFSET = 0
 Offset of source port in a TCP header.
 
constexpr size_t TCP_WSIZE_OFFSET = 14
 Offset of window size in a TCP header.
 
constexpr size_t TELETEXT_PACKET_SIZE = 44
 Size in bytes of a Teletext packet.
 
constexpr uint8_t TELETEXT_PES_FIRST_EBU_DATA_ID = 0x10
 First EBU data_identifier value in PES packets conveying Teletext.
 
constexpr uint8_t TELETEXT_PES_LAST_EBU_DATA_ID = 0x1F
 Last EBU data_identifier value in PES packets conveying Teletext.
 
static constexpr UChar THAI_CHARACTER_ANGKHANKHU = UChar(0x0E5A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_BO_BAIMAI = UChar(0x0E1A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_CHO_CHAN = UChar(0x0E08)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_CHO_CHANG = UChar(0x0E0A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_CHO_CHING = UChar(0x0E09)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_CHO_CHOE = UChar(0x0E0C)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_DO_CHADA = UChar(0x0E0E)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_DO_DEK = UChar(0x0E14)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_FO_FA = UChar(0x0E1D)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_FO_FAN = UChar(0x0E1F)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_FONGMAN = UChar(0x0E4F)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_HO_HIP = UChar(0x0E2B)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_HO_NOKHUK = UChar(0x0E2E)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHO_KHAI = UChar(0x0E02)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHO_KHON = UChar(0x0E05)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHO_KHUAT = UChar(0x0E03)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHO_KHWAI = UChar(0x0E04)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHO_RAKHANG = UChar(0x0E06)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KHOMUT = UChar(0x0E5B)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_KO_KAI = UChar(0x0E01)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_LAKKHANGYAO = UChar(0x0E45)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_LO_CHULA = UChar(0x0E2C)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_LO_LING = UChar(0x0E25)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_LU = UChar(0x0E26)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAI_CHATTAWA = UChar(0x0E4B)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAI_EK = UChar(0x0E48)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAI_HAN_AKAT = UChar(0x0E31)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAI_THO = UChar(0x0E49)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAI_TRI = UChar(0x0E4A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAITAIKHU = UChar(0x0E47)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MAIYAMOK = UChar(0x0E46)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_MO_MA = UChar(0x0E21)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_NGO_NGU = UChar(0x0E07)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_NIKHAHIT = UChar(0x0E4D)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_NO_NEN = UChar(0x0E13)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_NO_NU = UChar(0x0E19)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_O_ANG = UChar(0x0E2D)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PAIYANNOI = UChar(0x0E2F)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PHINTHU = UChar(0x0E3A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PHO_PHAN = UChar(0x0E1E)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PHO_PHUNG = UChar(0x0E1C)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PHO_SAMPHAO = UChar(0x0E20)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_PO_PLA = UChar(0x0E1B)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_RO_RUA = UChar(0x0E23)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_RU = UChar(0x0E24)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_A = UChar(0x0E30)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_AA = UChar(0x0E32)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_AE = UChar(0x0E41)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_AI_MAIMALAI = UChar(0x0E44)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_AI_MAIMUAN = UChar(0x0E43)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_AM = UChar(0x0E33)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_E = UChar(0x0E40)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_I = UChar(0x0E34)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_II = UChar(0x0E35)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_O = UChar(0x0E42)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_U = UChar(0x0E38)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_UE = UChar(0x0E36)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_UEE = UChar(0x0E37)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SARA_UU = UChar(0x0E39)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SO_RUSI = UChar(0x0E29)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SO_SALA = UChar(0x0E28)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SO_SO = UChar(0x0E0B)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_SO_SUA = UChar(0x0E2A)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THANTHAKHAT = UChar(0x0E4C)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_NANGMONTHO = UChar(0x0E11)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_PHUTHAO = UChar(0x0E12)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_THAHAN = UChar(0x0E17)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_THAN = UChar(0x0E10)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_THONG = UChar(0x0E18)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_THO_THUNG = UChar(0x0E16)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_TO_PATAK = UChar(0x0E0F)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_TO_TAO = UChar(0x0E15)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_WO_WAEN = UChar(0x0E27)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_YAMAKKAN = UChar(0x0E4E)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_YO_YAK = UChar(0x0E22)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CHARACTER_YO_YING = UChar(0x0E0D)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_CURRENCY_SYMBOL_BAHT = UChar(0x0E3F)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_EIGHT = UChar(0x0E58)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_FIVE = UChar(0x0E55)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_FOUR = UChar(0x0E54)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_NINE = UChar(0x0E59)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_ONE = UChar(0x0E51)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_SEVEN = UChar(0x0E57)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_SIX = UChar(0x0E56)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_THREE = UChar(0x0E53)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_TWO = UChar(0x0E52)
 ISO-8859 Unicode character.
 
static constexpr UChar THAI_DIGIT_ZERO = UChar(0x0E50)
 ISO-8859 Unicode character.
 
static constexpr UChar THERE_EXISTS = UChar(0x2203)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar THEREFORE = UChar(0x2234)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar THIN_SPACE = UChar(0x2009)
 Non-ISO-8859 Unicode character.
 
constexpr size_t TID_MAX = 0x100
 Maximum number of TID values.
 
static constexpr UChar TILDE = UChar(0x007E)
 ISO-8859 Unicode character.
 
static constexpr UChar TILDE_OPERATOR = UChar(0x223C)
 Non-ISO-8859 Unicode character.
 
const TimeSourceEnumWrapper TimeSourceEnum
 Enumeration description of ts::TimeSource.
 
static constexpr UChar TRADE_MARK_SIGN = UChar(0x2122)
 Non-ISO-8859 Unicode character.
 
const TransmissionModeEnumWrapper TransmissionModeEnum
 Enumeration description of ts::TransmissionMode.
 
const TSPacketFormatEnumWrapper TSPacketFormatEnum
 Enumeration description of ts::TSPacketFormat.
 
const TSPacketFormatInputEnumWrapper TSPacketFormatInputEnum
 Enumeration description of ts::TSPacketFormat as input file option.
 
const TSPacketFormatOutputEnumWrapper TSPacketFormatOutputEnum
 Enumeration description of ts::TSPacketFormat as output file option.
 
const TunerTypeEnumWrapper TunerTypeEnum
 Enumeration description for the subset of ts::DeliverySystem describing types of tuners.
 
constexpr size_t UDP_CHECKSUM_OFFSET = 6
 Offset of checksum in a UDP header.
 
constexpr size_t UDP_DEST_PORT_OFFSET = 2
 Offset of destination port in a UDP header.
 
constexpr size_t UDP_HEADER_SIZE = 8
 Size of a UDP header.
 
constexpr size_t UDP_LENGTH_OFFSET = 4
 Offset of packet length (UDP header + UDP payload) in a UDP header.
 
constexpr size_t UDP_SRC_PORT_OFFSET = 0
 Offset of source port in a UDP header.
 
static constexpr UChar UNION = UChar(0x222A)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar UNIT_SEPARATOR = UChar(0x001F)
 ISO-8859 Unicode character.
 
static constexpr UChar UP_TACK = UChar(0x22A5)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar UPWARDS_ARROW = UChar(0x2191)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar UPWARDS_DOUBLE_ARROW = UChar(0x21D1)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar VERTICAL_LINE = UChar(0x007C)
 ISO-8859 Unicode character.
 
static constexpr UChar VERTICAL_TABULATION = UChar(0x000B)
 ISO-8859 Unicode character.
 
constexpr uint32_t VLAN_ID_NULL = 0xFFFFFFFF
 Invalid VLAN identifier, can be used as placeholder.
 
static constexpr UChar VULGAR_FRACTION_ONE_HALF = UChar(0x00BD)
 ISO-8859 Unicode character.
 
static constexpr UChar VULGAR_FRACTION_ONE_QUARTER = UChar(0x00BC)
 ISO-8859 Unicode character.
 
static constexpr UChar VULGAR_FRACTION_THREE_QUARTERS = UChar(0x00BE)
 ISO-8859 Unicode character.
 
static constexpr UChar WORD_JOINER = UChar(0x2060)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar YEN_SIGN = UChar(0x00A5)
 ISO-8859 Unicode character.
 
static constexpr UChar ZERO_WIDTH_JOINER = UChar(0x200D)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar ZERO_WIDTH_NON_JOINER = UChar(0x200C)
 Non-ISO-8859 Unicode character.
 
static constexpr UChar ZERO_WIDTH_SPACE = UChar(0x200B)
 Non-ISO-8859 Unicode character.
 

Detailed Description

TSDuck namespace, containing all TSDuck classes and functions.

Namespace cn is a shortcut for std::chrono.

Namespace fs is a shortcut for std::filesystem.

Typedef Documentation

◆ CommandLineMethod

using ts::CommandLineMethod = typedef CommandStatus (CommandLineHandler::*)(const UString& command, Args& args)

Profile of a CommandLineHandler method which is invoked by a CommandLine instance for one command.

Parameters
[in]commandName of the command, unabbreviated, as defined in CommandLine::command().
[in,out]argsCommand line arguments.
Returns
Status of the execution of the command.

◆ deciseconds

using ts::deciseconds = typedef cn::duration<cn::milliseconds::rep, std::deci>

A derivative of std::chrono::duration for deciseconds (1/10 of a second).

See also
std::chrono::milliseconds
std::chrono::seconds

◆ SysSocketLengthType

using ts::SysSocketLengthType = typedef platform_specific

Integer data type which receives the length of a struct sockaddr.

Example:

struct sockaddr sock_addr;
SysSocketLengthType len = sizeof(sock_addr);
if (getsockname(sock, &sock_addr, &len) != 0) {
... error processing ...
}
platform_specific SysSocketLengthType
Integer data type which receives the length of a struct sockaddr.
Definition tsIPUtils.h:105

◆ SysSocketSignedSizeType

using ts::SysSocketSignedSizeType = typedef platform_specific

Integer data type for a "signed size" returned from send() or recv() system calls.

Example:

SysSocketSignedSizeType got = recv(sock, SysRecvBufferPointer(&data), max_size, 0);
platform_specific SysSocketSignedSizeType
Integer data type for a "signed size" returned from send() or recv() system calls.
Definition tsIPUtils.h:120
platform_specific SysRecvBufferPointer
Pointer type for the address of the data buffer for a recv() system call.
Definition tsIPUtils.h:295

◆ SysSocketTTLType

using ts::SysSocketTTLType = typedef platform_specific

Integer data type for the Time To Live (TTL) socket option.

Example:

if (setsockopt(sock, IPPROTO_IP, IP_TTL, SysSockOptPointer(&ttl), sizeof(ttl)) != 0) {
... error processing ...
}
platform_specific SysSocketTTLType
Integer data type for the Time To Live (TTL) socket option.
Definition tsIPUtils.h:138
platform_specific SysSockOptPointer
Pointer type for the address of a socket option value.
Definition tsIPUtils.h:279

◆ SysSocketMulticastTTLType

using ts::SysSocketMulticastTTLType = typedef platform_specific

Integer data type for the multicast Time To Live (TTL) socket option.

Example:

if (setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL, SysSockOptPointer(&mttl), sizeof(mttl)) != 0) {
... error processing ...
}
platform_specific SysSocketMulticastTTLType
Integer data type for the multicast Time To Live (TTL) socket option.
Definition tsIPUtils.h:156

◆ SysSocketMulticastLoopType

using ts::SysSocketMulticastLoopType = typedef platform_specific

Integer data type for the IPv4 multicast loop socket option.

Example:

if (setsockopt(sock, IPPROTO_IP, IP_MULTICAST_LOOP, SysSockOptPointer(&mloop), sizeof(mloop)) != 0) {
... error processing ...
}
platform_specific SysSocketMulticastLoopType
Integer data type for the IPv4 multicast loop socket option.
Definition tsIPUtils.h:207

◆ SysSocketMulticastLoopType6

using ts::SysSocketMulticastLoopType6 = typedef platform_specific

Integer data type for the IPv6 multicast loop socket option.

Example:

if (setsockopt(sock, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, SysSockOptPointer(&mloop), sizeof(mloop)) != 0) {
... error processing ...
}
platform_specific SysSocketMulticastLoopType6
Integer data type for the IPv6 multicast loop socket option.
Definition tsIPUtils.h:225

◆ SysSocketPktInfoType

using ts::SysSocketPktInfoType = typedef platform_specific

Integer data type for the IP_PKTINFO socket option.

Example:

if (setsockopt(sock, IPPROTO_IP, IP_PKTINFO, SysSockOptPointer(&state), sizeof(state)) != 0) {
... error processing ...
}
platform_specific SysSocketPktInfoType
Integer data type for the IP_PKTINFO socket option.
Definition tsIPUtils.h:243

◆ SysSocketLingerType

using ts::SysSocketLingerType = typedef platform_specific

Integer data type for the field l_linger in the struct linger socket option.

All systems do not use the same type size and this may generate some warnings. Example:

struct linger lin;
lin.l_linger = SysSocketLingerType(seconds);
platform_specific SysSocketLingerType
Integer data type for the field l_linger in the struct linger socket option.
Definition tsIPUtils.h:260

◆ SysSockOptPointer

using ts::SysSockOptPointer = typedef platform_specific

Pointer type for the address of a socket option value.

The "standard" parameter type is void* but some systems use other exotic values. Example:

if (setsockopt(sock, IPPROTO_IP, IP_TTL, SysSockOptPointer(&ttl), sizeof(ttl)) != 0) {
... error processing ...
}

◆ SysRecvBufferPointer

using ts::SysRecvBufferPointer = typedef platform_specific

Pointer type for the address of the data buffer for a recv() system call.

The "standard" parameter type is void* but some systems use other exotic values. Example:

SysSocketSignedSizeType got = recv(sock, SysRecvBufferPointer(&data), max_size, 0);

◆ SysSendBufferPointer

using ts::SysSendBufferPointer = typedef platform_specific

Pointer type for the address of the data buffer for a send() system call.

The "standard" parameter type is void* but some systems use other exotic values. Example:

SysSocketSignedSizeType gone = send(sock, SysSendBufferPointer(&data), SysSendSizeType(size), 0);
platform_specific SysSendSizeType
Integer type for the size of the data buffer for a send() system call.
Definition tsIPUtils.h:322
platform_specific SysSendBufferPointer
Pointer type for the address of the data buffer for a send() system call.
Definition tsIPUtils.h:311

◆ Environment

using ts::Environment = typedef std::map<UString, UString>

Define a container type holding all environment variables.

For each element in the container, the key is the name of an environment variable and the value is the corresponding value of this environment variable.

◆ BitRate

using ts::BitRate = typedef user_defined

Bitrate in bits/second.

To get more precision over long computations or exotic modulations, a bitrate is implemented either as a 64-bit unsigned integer, a fixed-point value with decimal digits, a fraction of integers or a floating point value. This is a compile-time decision which is based on the macros TS_BITRATE_INTEGER, TS_BITRATE_FRACTION, TS_BITRATE_FLOAT and TS_BITRATE_FIXED.

When implemented as a fixed-point value, the number of decimal digits is customizable using the macro TS_BITRATE_DECIMALS.

When using fixed-point values, bitrates are represented with one decimal digit only. Tests with 2 digits were not positive. Intermediate overflows in some computations were encountered in some plugins working on large window sizes. Automatically detecting the overflow and reducing the window size accordingly works fine but the efficiency of the plugins is not as good as previously. Using 1 decimal digit is currently the best balance.

See also
TS_BITRATE_INTEGER
TS_BITRATE_DECIMALS
TS_BITRATE_FRACTION
TS_BITRATE_FLOAT

◆ ieee_float80_t

using ts::ieee_float80_t = typedef typename ieee_float<80, 15, 64>::type

80-bit IEEE floating point type.

Some systems cannot implement this. It is typically only available on Intel platforms. On other platforms, this type is void..

◆ ieee_float128_t

using ts::ieee_float128_t = typedef typename ieee_float<128, 15, 112>::type

128-bit IEEE floating point type.

Some systems cannot implement this. GCC and Clang on Intel use a 80-bit floating type for long double. In that case, this type is void.

◆ BandWidth

using ts::BandWidth = typedef uint32_t

Bandwidth (OFDM, DVB-T/T2)

Legacy issue: The bandwith type for DVB-T/T2 and ISDB-T used to be an enum type with a few values (BW_AUTO, BW_8_MHZ, etc.). This was a legacy from the Linux DVB API version 3. The bandwidth is now a 32-bit unsigned integer containing a value in Hz. The former enum values are redefined as constants in header file tsLegacyBandWidth.h.

◆ TunerDevice

Digital TV tuner physical device.

One version of this class exists for each operating system.

◆ REGID

using ts::REGID = typedef uint32_t

Registration id, as found in an MPEG registration descriptor.

This kind of value is also named "format identifier".

◆ REGIDVector

using ts::REGIDVector = typedef std::vector<REGID>

Vector of registration ids.

Registration ids have ambiguous usage rules. Sometimes, it seems that all registration ids from a descriptor list must be simultaneously used (to identify stream types in a PMT for instance). Some other times, only one registration id must be valid at a time (to identify an MPEG private descriptor for instance).

TSDuck allows the two strategies, on a case by case basis. Inside a descriptor list, all REGID's are collected in their order of appearance in a vector. In use cases where several REGID's are simulatenously used, the application searches for them in the vector. In use cases where two REGID's can be contradictory, the application uses the one which appeared last in the vector.

Duplications are possible if the same REGID is defined several times in a descriptor list.

◆ DescriptorPtrVector

using ts::DescriptorPtrVector = typedef std::vector<DescriptorPtr>

Vector of Descriptor pointers Use class DescriptorList for advanced features.

See also
DescriptorList

◆ DisplaySectionFunction

using ts::DisplaySectionFunction = typedef void (*)(TablesDisplay& display, const Section& section, PSIBuffer& payload, const UString& margin)

Profile of a function to display a section.

Each subclass of AbstractTable should provide a static function named DisplaySection which displays a section of its table-id.

Parameters
[in,out]displayDisplay engine.
[in]sectionThe section to display.
[in,out]payloadA read-only PSIBuffer over the section payload. Everything that was not read from the buffer will be displayed by the caller as "extraneous data". Consequently, the table subclasses do not have to worry about those extraneous data.
[in]marginLeft margin content.

◆ LogSectionFunction

using ts::LogSectionFunction = typedef UString (*)(const Section& section, size_t max_bytes)

Profile of a function to display a brief overview ("log") of a section on one line.

A subclass of AbstractTable may provide a static function for this.

Parameters
[in]sectionThe section to log.
[in]max_bytesMaximum number of bytes to log from the section. 0 means unlimited.
Returns
A one-line brief summary of the table.

◆ DisplayDescriptorFunction

using ts::DisplayDescriptorFunction = typedef void (*)(TablesDisplay& display, const Descriptor& desc, PSIBuffer& payload, const UString& margin, const DescriptorContext& context)

Profile of a function to display a descriptor.

Each subclass of AbstractDescriptor should provide a static function named DisplayDescriptor which displays a descriptor of its type.

Parameters
[in,out]displayDisplay engine.
[in]descThe descriptor to display.
[in,out]payloadA read-only PSIBuffer over the descriptor payload. For "extended descriptors", the buffer starts after the "extension tag". Everything that was not read from the buffer will be displayed by the caller as "extraneous data". Consequently, the descriptor subclasses do not have to worry about those extraneous data.
[in]marginLeft margin content.
[in]contextContext of the table and descriptor list containing the descriptor. Used by some descriptors the interpretation of which may vary depending on the table that they are in.

◆ DisplayCADescriptorFunction

using ts::DisplayCADescriptorFunction = typedef void (*)(TablesDisplay& display, PSIBuffer& private_part, const UString& margin, TID tid)

Profile of a function to display the private part of a CA_descriptor.

Parameters
[in,out]displayDisplay engine.
[in,out]private_partA read-only PSIBuffer over the private part of a CA_descriptor.
[in]marginLeft margin content.
[in]tidTable id of table containing the descriptors (typically CAT or PMT).

◆ PacketCounter

using ts::PacketCounter = typedef uint64_t

Number of Transport Stream packets.

TS packets are counted using 64-bit integers. Thus, PacketCounter will never overflow: at 100 Mb/s, 2^64 188-byte packets will take 8.7 million years to transmit. No process will ever run that long. On the contrary, using 32-bit integer would be insufficient: at 100 Mb/s, 2^32 188-byte packets will take only 17 hours to transmit.

◆ PIDSet

using ts::PIDSet = typedef std::bitset<PID_MAX>

A bit mask for PID values.

Useful to implement PID filtering.

◆ PTS

using ts::PTS = typedef cn::duration<std::intmax_t, std::ratio<1, SYSTEM_CLOCK_SUBFREQ> >

Definition of a number of PTS units as a std::chrono::duration type.

Same as DTS.

◆ DTS

using ts::DTS = typedef cn::duration<std::intmax_t, std::ratio<1, SYSTEM_CLOCK_SUBFREQ> >

Definition of a number of DTS units as a std::chrono::duration type.

Same as PTS.

◆ PacketMetadataBuffer

Metadata for TS packet are accessed in a memory-resident buffer.

A packet and its metadata have the same index in their respective buffer.

Enumeration Type Documentation

◆ ShareMode

enum class ts::ShareMode
strong

Enumeration type used to indicate if the data referenced by a pointer shall be copied or shared.

Enumerator
COPY 

Data shall be copied.

SHARE 

Data shall be shared.

◆ Tristate

enum class ts::Tristate
strong

Tristate boolean.

More generally:

  • Zero means false.
  • Any positive value means true.
  • Any negative value means "maybe" or "dont't know".
Enumerator
False 

Undefined value (and more generally all negative values).

True 

Built-in false.

◆ ThreadSafety

enum class ts::ThreadSafety
strong

Thread safety property of a class.

Enumerator
Full 

Thread safe, can be used from multiple threads.

None 

No thread safety, use in one single thread or use explicit synchronization.

◆ anonymous enum

anonymous enum : uint16_t

Selected Ethernet II protocol type identifiers.

See also
https://en.wikipedia.org/wiki/EtherType
Enumerator
ETHERTYPE_IPv4 

Ethernet protocol: IPv4.

ETHERTYPE_ARP 

Ethernet protocol: ARP.

ETHERTYPE_WOL 

Ethernet protocol: Wake-on-LAN.

ETHERTYPE_RARP 

Ethernet protocol: RARP.

ETHERTYPE_802_1Q 

Ethernet protocol: a 2-byte IEEE 802.1Q tag (VLAN) after EtherType, then real EtherType.

ETHERTYPE_IPv6 

Ethernet protocol: IPv6.

ETHERTYPE_802_1AD 

Ethernet protocol: IEEE 802.1ad nested VLAN.

ETHERTYPE_802_1AH 

Ethernet protocol: IEEE 802.1ah, Provider Backbone Bridges (PBB), aka MAC-in-MAC (MIM).

ETHERTYPE_NULL 

Invalid Ethernet protocol identifier, can be used as placeholder.

◆ anonymous enum

anonymous enum : uint8_t

Selected IP protocol identifiers.

Enumerator
IP_SUBPROTO_HOPxHOP 

IP protocol: IPv6 extension header, Hop-by-Hop.

IP_SUBPROTO_ICMP 

IP protocol: Internet Control Message Protocol (ICMP).

IP_SUBPROTO_IGMP 

IP protocol: Internet Group Management Protocol (IGMP).

IP_SUBPROTO_TCP 

IP protocol: Transmission Control Protocol (TCP).

IP_SUBPROTO_UDP 

IP protocol: User Datagram Protocol (UDP).

IP_SUBPROTO_V6_ENCAP 

IP protocol: IPv6 encapsulation.

IP_SUBPROTO_ROUTING 

IP protocol: IPv6 extension header, routing.

IP_SUBPROTO_FRAGMENT 

IP protocol: IPv6 extension header, fragmentation of datagrams.

IP_SUBPROTO_OSPF 

IP protocol: Open Shortest Path First (OSPF).

IP_SUBPROTO_SCTP 

IP protocol: Stream Control Transmission Protocol (SCTP).

◆ PcapNgBlockType

enum ts::PcapNgBlockType : uint32_t

List of pcap-ng block types.

Enumerator
PCAPNG_SECTION_HEADER 

Section header block.

PCAPNG_INTERFACE_DESC 

Interface description block.

PCAPNG_OBSOLETE_PACKET 

Obsolete packet block.

PCAPNG_SIMPLE_PACKET 

Enhanced packet block.

PCAPNG_NAME_RES 

Name resolution block.

PCAPNG_INTERFACE_STAT 

Interface statistics block.

PCAPNG_ENHANCED_PACKET 

Simple packet block.

PCAPNG_SYSTEMD_JOURNAL 

Systemd journal block.

PCAPNG_DECRYPT_SECRETS 

Decryption secrets block.

PCAPNG_CUSTOM 

Custom block, can be copied.

PCAPNG_CUSTOM_NOCOPY 

Custom block, cannot be copied.

◆ PcapLinkType

enum ts::PcapLinkType : uint16_t

List of pcap LINKTYPE values.

See also
http://www.tcpdump.org/linktypes.html
Enumerator
LINKTYPE_NULL 

BSD loopback encapsulation.

LINKTYPE_ETHERNET 

IEEE 802.3 Ethernet (10Mb, 100Mb, 1000Mb, and up).

LINKTYPE_AX25 

AX.25 packet, with nothing preceding it.

LINKTYPE_IEEE802_5 

IEEE 802.5 Token Ring.

LINKTYPE_ARCNET_BSD 

ARCNET Data Packets, as described by 878.1-1999.

LINKTYPE_SLIP 

SLIP, encapsulated with a LINKTYPE_SLIP header.

LINKTYPE_PPP 

PPP, as per RFC 1661 and RFC 1662.

LINKTYPE_FDDI 

FDDI, as specified by ANSI INCITS 239-1994.

LINKTYPE_PPP_HDLC 

PPP in HDLC-like framing, as per RFC 1662, or Cisco PPP with HDLC framing.

LINKTYPE_PPP_ETHER 

PPPoE; the packet begins with a PPPoE header, as per RFC 2516.

LINKTYPE_ATM_RFC1483 

RFC 1483 LLC/SNAP-encapsulated ATM.

LINKTYPE_RAW 

Raw IP; the packet begins with an IPv4 or IPv6 header.

LINKTYPE_C_HDLC 

Cisco PPP with HDLC framing, as per section 4.3.1 of RFC 1547.

LINKTYPE_IEEE802_11 

IEEE 802.11 wireless LAN.

LINKTYPE_FRELAY 

Frame Relay LAPF frames.

LINKTYPE_LOOP 

OpenBSD loopback encapsulation.

LINKTYPE_LINUX_SLL 

Linux "cooked" capture encapsulation.

LINKTYPE_LTALK 

Apple LocalTalk.

LINKTYPE_PFLOG 

OpenBSD pflog.

LINKTYPE_IEEE802_11_PRISM 

Prism monitor mode information followed by an 802.11 header.

LINKTYPE_IP_OVER_FC 

RFC 2625 IP-over-Fibre Channel.

LINKTYPE_SUNATM 

ATM traffic, encapsulated as per the scheme used by SunATM devices.

LINKTYPE_IEEE802_11_RADIOTAP 

Radiotap link-layer information followed by an 802.11 header.

LINKTYPE_ARCNET_LINUX 

ARCNET Data Packets.

LINKTYPE_APPLE_IP_OVER_IEEE1394 

Apple IP-over-IEEE 1394 cooked header.

LINKTYPE_MTP2_WITH_PHDR 

Signaling System 7 Message Transfer Part Level 2, ITU-T Q.703, preceded by a pseudo-header.

LINKTYPE_MTP2 

Signaling System 7 Message Transfer Part Level 2, ITU-T Q.703.

LINKTYPE_MTP3 

Signaling System 7 Message Transfer Part Level 3, ITU-T Q.704.

LINKTYPE_SCCP 

Signaling System 7 Signalling Connection Control Part, ITU-T Q.711.

LINKTYPE_DOCSIS 

DOCSIS MAC frames.

LINKTYPE_LINUX_IRDA 

Linux-IrDA packets.

LINKTYPE_USER0 

Reserved for private use.

LINKTYPE_USER15 

Reserved for private use.

LINKTYPE_IEEE802_11_AVS 

AVS monitor mode information followed by an 802.11 header.

LINKTYPE_BACNET_MS_TP 

BACnet MS/TP frames.

LINKTYPE_PPP_PPPD 

PPP in HDLC-like encapsulation.

LINKTYPE_GPRS_LLC 

General Packet Radio Service Logical Link Control.

LINKTYPE_GPF_T 

Transparent-mapped generic framing procedure, ITU-T G.7041/Y.1303.

LINKTYPE_GPF_F 

Frame-mapped generic framing procedure, ITU-T G.7041/Y.1303.

LINKTYPE_LINUX_LAPD 

Link Access Procedures on the D Channel (LAPD) frames.

LINKTYPE_MFR 

FRF.16.1 Multi-Link Frame Relay frames.

LINKTYPE_BLUETOOTH_HCI_H4 

Bluetooth HCI UART transport layer.

LINKTYPE_USB_LINUX 

USB packets, beginning with a Linux USB header.

LINKTYPE_PPI 

Per-Packet Information information.

LINKTYPE_IEEE802_15_4_WITHFCS 

IEEE 802.15.4 Low-Rate Wireless Networks.

LINKTYPE_SITA 

Various link-layer types, with a pseudo-header, for SITA.

LINKTYPE_ERF 

Various link-layer types, with a pseudo-header, for Endace DAG cards.

LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR 

Bluetooth HCI UART transport layer.

LINKTYPE_AX25_KISS 

AX.25 packet, with a 1-byte KISS header containing a type indicator.

LINKTYPE_LAPD 

Link Access Procedures on the D Channel (LAPD) frames, ITU-T Q.920 and Q.921.

LINKTYPE_PPP_WITH_DIR 

PPP, as per RFC 1661 and RFC 1662.

LINKTYPE_C_HDLC_WITH_DIR 

Cisco PPP with HDLC framing.

LINKTYPE_FRELAY_WITH_DIR 

Frame Relay LAPF frames.

LINKTYPE_LAPB_WITH_DIR 

Link Access Procedure, Balanced (LAPB).

LINKTYPE_IPMB_LINUX 

IPMB over an I2C circuit.

LINKTYPE_FLEXRAY 

FlexRay automotive bus frames.

LINKTYPE_IEEE802_15_4_NONASK_PHY 

IEEE 802.15.4 Low-Rate Wireless Networks.

LINKTYPE_USB_LINUX_MMAPPED 

USB packets, beginning with a Linux USB header.

LINKTYPE_FC_2 

Fibre Channel FC-2 frames, beginning with a Frame_Header.

LINKTYPE_FC_2_WITH_FRAME_DELIMS 

Fibre Channel FC-2 frames.

LINKTYPE_IPNET 

Solaris ipnet pseudo-header.

LINKTYPE_CAN_SOCKETCAN 

CAN (Controller Area Network) frames, with a pseudo-header followed by the frame payload.

LINKTYPE_IPV4 

Raw IPv4; the packet begins with an IPv4 header.

LINKTYPE_IPV6 

Raw IPv6; the packet begins with an IPv6 header.

LINKTYPE_IEEE802_15_4_NOFCS 

IEEE 802.15.4 Low-Rate Wireless Network.

LINKTYPE_DBUS 

Raw D-Bus messages.

LINKTYPE_DVB_CI 

DVB-CI.

LINKTYPE_MUX27010 

Variant of 3GPP TS 27.010 multiplexing protocol (similar to, but not the same as, 27.010).

LINKTYPE_STANAG_5066_D_PDU 

D_PDUs as described by NATO standard STANAG 5066.

LINKTYPE_NFLOG 

Linux netlink NETLINK NFLOG socket log messages.

LINKTYPE_NETANALYZER 

Pseudo-header for Hilscher Gesellschaft für Systemautomation mbH netANALYZER devices.

LINKTYPE_NETANALYZER_TRANSPARENT 

Pseudo-header for Hilscher Gesellschaft für Systemautomation mbH netANALYZER devices.

LINKTYPE_IPOIB 

IP-over-InfiniBand.

LINKTYPE_MPEG_2_TS 

MPEG-2 Transport Stream transport packets, ISO 13818-1.

LINKTYPE_NG40 

Pseudo-header for ng4T GmbH's UMTS Iub/Iur-over-ATM and Iub/Iur-over-IP format.

LINKTYPE_NFC_LLCP 

Pseudo-header for NFC LLCP packet captures.

LINKTYPE_INFINIBAND 

Raw InfiniBand frames.

LINKTYPE_SCTP 

SCTP packets, RFC 4960.

LINKTYPE_USBPCAP 

USB packets, beginning with a USBPcap header.

LINKTYPE_RTAC_SERIAL 

Serial-line packet header for the Schweitzer Engineering Laboratories "RTAC" product.

LINKTYPE_BLUETOOTH_LE_LL 

Bluetooth Low Energy air interface Link Layer packets.

LINKTYPE_NETLINK 

Linux Netlink capture encapsulation.

LINKTYPE_BLUETOOTH_LINUX_MONITOR 

Bluetooth Linux Monitor encapsulation of traffic for the BlueZ stack.

LINKTYPE_BLUETOOTH_BREDR_BB 

Bluetooth Basic Rate and Enhanced Data Rate baseband packets.

LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR 

Bluetooth Low Energy link-layer packets.

LINKTYPE_PROFIBUS_DL 

PROFIBUS data link layer packets.

LINKTYPE_PKTAP 

Apple PKTAP capture encapsulation.

LINKTYPE_EPON 

Ethernet-over-passive-optical-network packets.

LINKTYPE_IPMI_HPM_2 

IPMI trace packets.

LINKTYPE_ZWAVE_R1_R2 

Z-Wave RF profile R1 and R2 packets.

LINKTYPE_ZWAVE_R3 

Z-Wave RF profile R3 packets.

LINKTYPE_WATTSTOPPER_DLM 

Formats for WattStopper Digital Lighting Management (DLM).

LINKTYPE_ISO_14443 

Messages between ISO 14443 contactless smartcards.

LINKTYPE_RDS 

Radio data system (RDS) groups, IEC 62106.

LINKTYPE_USB_DARWIN 

USB packets, beginning with a Darwin (macOS, etc.) USB header.

LINKTYPE_SDLC 

SDLC packets.

LINKTYPE_LORATAP 

LoRaTap pseudo-header, followed by the payload.

LINKTYPE_VSOCK 

Protocol host/guest in VMware and KVM hypervisors.

LINKTYPE_NORDIC_BLE 

Messages to and from a Nordic Semiconductor nRF Sniffer for Bluetooth LE packets.

LINKTYPE_DOCSIS31_XRA31 

DOCSIS packets and bursts.

LINKTYPE_ETHERNET_MPACKET 

mPackets, as specified by IEEE 802.3br Figure 99-4.

LINKTYPE_DISPLAYPORT_AUX 

DisplayPort AUX channel monitoring.

LINKTYPE_LINUX_SLL2 

Linux "cooked" capture encapsulation v2.

LINKTYPE_OPENVIZSLA 

Openvizsla FPGA-based USB sniffer.

LINKTYPE_EBHSCR 

Elektrobit High Speed Capture and Replay (EBHSCR) format.

LINKTYPE_VPP_DISPATCH 

Records in traces from the http://!<fd.io VPP graph dispatch tracer.

LINKTYPE_DSA_TAG_BRCM 

Ethernet frames, with a switch tag.

LINKTYPE_DSA_TAG_BRCM_PREPEND 

Ethernet frames, with a switch tag.

LINKTYPE_IEEE802_15_4_TAP 

IEEE 802.15.4 Low-Rate Wireless Networks.

LINKTYPE_DSA_TAG_DSA 

Ethernet frames, with a switch tag.

LINKTYPE_DSA_TAG_EDSA 

Ethernet frames, with a programmable Ethernet type switch tag.

LINKTYPE_ELEE 

Payload of lawful intercept packets using the ELEE protocol.

LINKTYPE_Z_WAVE_SERIAL 

Serial between host and Z-Wave chip over an RS-232 or USB serial connection.

LINKTYPE_USB_2_0 

USB 2.0, 1.1, or 1.0 packet.

LINKTYPE_ATSC_ALP 

ATSC Link-Layer Protocol frames.

LINKTYPE_ETW 

Event Tracing for Windows messages.

LINKTYPE_UNKNOWN 

Placeholder for unknown link type.

◆ PcapBsdProtocols

enum ts::PcapBsdProtocols : uint32_t

Protocol types for LINKTYPE_NULL and LINKTYPE_LOOP (BSD loopback encapsulation).

See also
https://www.tcpdump.org/linktypes/LINKTYPE_NULL.html
https://www.tcpdump.org/linktypes/LINKTYPE_LOOP.html
Enumerator
PCAPNG_BSD_IPv4 

Payload is an IPv4 packet.

PCAPNG_BSD_IPv6_24 

Payload is an IPv6 packet.

PCAPNG_BSD_IPv6_28 

Payload is an IPv6 packet.

PCAPNG_BSD_IPv6_30 

Payload is an IPv6 packet.

PCAPNG_BSD_OSI 

Payload is an OSI packet.

PCAPNG_BSD_IPX 

Payload is an IPX packet.

PCAPNG_BSD_UNKNOWN 

Placeholder for unknown payload type.

◆ PcapNgOptionCode

enum ts::PcapNgOptionCode : uint32_t

List of pcap-ng option codes.

Enumerator
PCAPNG_OPT_ENDOFOPT 

End of option list.

PCAPNG_OPT_COMMENT 

Comment.

PCAPNG_SHB_HARDWARE 

System hardware.

PCAPNG_SHB_OS 

System operating system.

PCAPNG_SHB_USERAPPL 

User application.

PCAPNG_IF_NAME 

Interface name.

PCAPNG_IF_DESCRIPTION 

Interface description.

PCAPNG_IF_IPV4ADDR 

Interface IPv4 address.

PCAPNG_IF_IPV6ADDR 

Interface IPv6 address.

PCAPNG_IF_MACADDR 

Interface MAC address.

PCAPNG_IF_EUIADDR 

Interface EUI address.

PCAPNG_IF_SPEED 

Interface speed in b/s.

PCAPNG_IF_TSRESOL 

Time resolution.

PCAPNG_IF_TZONE 

Time zone.

PCAPNG_IF_FILTER 

Canpture filter.

PCAPNG_IF_OS 

Interface operating system.

PCAPNG_IF_FCSLEN 

Frame Check Sequence length.

PCAPNG_IF_TSOFFSET 

Timestamps offset.

PCAPNG_IF_HARDWARE 

Interface hardware.

PCAPNG_IF_TXSPEED 

Interface transmission speed.

PCAPNG_IF_RXSPEED 

Interface reception speed.

◆ SRTSocketMode

enum class ts::SRTSocketMode : int
strong

Secure Reliable Transport (SRT) socket mode.

Enumerator
DEFAULT 

Unspecified, use command line mode.

LISTENER 

Listener mode.

CALLER 

Caller mode.

RENDEZVOUS 

Rendez-vous mode (unsupported).

LEN 

Unknown.

◆ SRTStatMode

enum class ts::SRTStatMode : uint16_t
strong

Secure Reliable Transport (SRT) statistics mode.

Can be used as bitmask.

Enumerator
NONE 

Reports nothing.

RECEIVE 

Receive statistics (ignored if nothing was received).

SEND 

Sender statistics (ignored if nothing was sent).

TOTAL 

Statistics since the socket was opened.

INTERVAL 

Statistics in the last interval (restarted each time it is used).

ALL 

Report all statistics.

◆ SharedLibraryFlags

enum class ts::SharedLibraryFlags : uint16_t
strong

Bit masks options to load shared libraries.

Enumerator
NONE 

No option.

PERMANENT 

The shared library remains active when the SharedLibrary object is destroyed (unloaded otherwise).

◆ Replacement

enum class ts::Replacement : uint8_t
strong

Enumeration type used to indicate the replacement policy in containers of data structures.

Each data structure is supposed to have a unique "identifier" inside the container. The exact interpretation of each policy may depend on the service which uses it. Can be used as a bit mask.

Enumerator
NONE 

No known standard.

UPDATE 

Update data structures with similar "identifier".

REPLACE 

Replace data structures with similar "identifier".

ADD 

Add new data structures with "identifier" not present in the container.

REMOVE 

Remove from the container any data structure with unknown "identifier" for the service.

◆ CaseSensitivity

Case sensitivity used on string operations.

Enumerator
CASE_SENSITIVE 

The operation is case-sensitive.

CASE_INSENSITIVE 

The operation is not case-sensitive.

◆ anonymous enum

anonymous enum : uint32_t

Characteristics of a character.

Bitwise combinations are allowed.

Enumerator
CCHAR_LETTER 

The character is a letter.

CCHAR_DIGIT 

The character is a digit.

CCHAR_HEXA 

The character is an hexadecimal digit.

CCHAR_LATIN 

The character is latin.

CCHAR_GREEK 

The character is greek.

CCHAR_HEBREW 

The character is hebrew.

CCHAR_ARABIC 

The character is arabic.

CCHAR_THAI 

The character is thai.

CCHAR_CYRILLIC 

The character is cyrillic.

CCHAR_CDIACRIT 

The character is combining diacritical.

CCHAR_SPACE 

The character is space.

CCHAR_PRINT 

The character is printable.

◆ StringDirection

Direction used on string operations.

Enumerator
LEFT_TO_RIGHT 

From beginning of string.

RIGHT_TO_LEFT 

From end of string.

◆ StringComparison

enum ts::StringComparison : uint32_t

Options used on string comparisons.

Can be combined with or.

Enumerator
SCOMP_DEFAULT 

Default, strict comparison.

SCOMP_CASE_INSENSITIVE 

Case insensitive comparison.

SCOMP_IGNORE_BLANKS 

Skip blank characters in comparison.

SCOMP_NUMERIC 

Sort numeric fields according to numeric values.

◆ DeliverySystem

Delivery systems.

Not all delivery systems are supported by TSDuck. Linux and Windows may also support different systems.

Enumerator
DS_UNDEFINED 

Undefined.

DS_DVB_S 

DVB-S.

DS_DVB_S2 

DVB-S2.

DS_DVB_S_TURBO 

DVB-S Turbo.

DS_DVB_T 

DVB-T.

DS_DVB_T2 

DVB-T2.

DS_DVB_C_ANNEX_A 

DVB-C ITU-T J.83 Annex A.

DS_DVB_C_ANNEX_B 

DVB-C ITU-T J.83 Annex B.

DS_DVB_C_ANNEX_C 

DVB-C ITU-T J.83 Annex C.

DS_DVB_C2 

DVB-C2.

DS_DVB_H 

DVB-H (deprecated).

DS_ISDB_S 

ISDB-S.

DS_ISDB_T 

ISDB-T.

DS_ISDB_C 

ISDB-C.

DS_ATSC 

ATSC.

DS_ATSC_MH 

ATSC-M/H (mobile handheld).

DS_DTMB 

DTMB Terrestrial.

DS_CMMB 

CMMB Terrestrial.

DS_DAB 

DAB (digital audio).

DS_DSS 

DSS Satellite.

DS_DVB_C 

DVB-C, synonym for DVB-C Annex A.

◆ Modulation

Modulation types.

Support depends on tuner types.

Enumerator
QPSK 

QPSK (4-PSK, DVB-S).

PSK_8 

8-PSK (DVB-S2).

QAM_AUTO 

Unspecified QAM.

QAM_16 

16-QAM.

QAM_32 

32-QAM.

QAM_64 

64-QAM.

QAM_128 

128-QAM.

QAM_256 

256-QAM.

VSB_8 

8-VSB.

VSB_16 

16-VSB.

APSK_16 

16-APSK (DVB-S2).

APSK_32 

32-APSK (DVB-S2).

DQPSK 

DQPSK,.

QAM_4_NR 

4-QAM-NR,

QAM_1024 

1024-QAM

QAM_4096 

4096-QAM

APSK_8_L 

8-APSK-L

APSK_16_L 

16-APSK-L

APSK_32_L 

32-APSK-L

APSK_64 

64-APSK

APSK_64_L 

64-APSK-L

◆ SpectralInversion

Spectral inversion.

Enumerator
SPINV_OFF 

Inversion off.

SPINV_ON 

Inversion on.

SPINV_AUTO 

Automatic spectral inversion.

◆ InnerFEC

Inner Forward Error Correction.

Enumerator
FEC_NONE 

No FEC.

FEC_AUTO 

Automatic FEC, unspecified.

FEC_1_2 

FEC 1/2.

FEC_2_3 

FEC 2/3.

FEC_3_4 

FEC 3/4.

FEC_4_5 

FEC 4/5.

FEC_5_6 

FEC 5/6.

FEC_6_7 

FEC 6/7.

FEC_7_8 

FEC 7/8.

FEC_8_9 

FEC 8/9.

FEC_9_10 

FEC 9/10.

FEC_3_5 

FEC 3/5.

FEC_1_3 

FEC 1/3.

FEC_1_4 

FEC 1/4.

FEC_2_5 

FEC 2/5.

FEC_5_11 

FEC 5/11.

FEC_5_9 

FEC 5/9.

FEC_7_9 

FEC 7/9.

FEC_8_15 

FEC 8/15.

FEC_11_15 

FEC 11/15.

FEC_13_18 

FEC 13/18.

FEC_9_20 

FEC 9/20.

FEC_11_20 

FEC 11/20.

FEC_23_36 

FEC 23/36.

FEC_25_36 

FEC 25/36.

FEC_13_45 

FEC 13/45.

FEC_26_45 

FEC 26/45.

FEC_28_45 

FEC 28/45.

FEC_32_45 

FEC 32/45.

FEC_77_90 

FEC 77/90.

FEC_11_45 

FEC 11/45.

FEC_4_15 

FEC 4/15.

FEC_14_45 

FEC 14/45.

FEC_7_15 

FEC 7/15.

◆ Polarization

Polarization.

Enumerator
POL_NONE 

Polarization not set.

POL_AUTO 

Polarization automatically set.

POL_HORIZONTAL 

Horizontal linear polarization.

POL_VERTICAL 

Vertical linear polarization.

POL_LEFT 

Left circular polarization.

POL_RIGHT 

Right circular polarization.

◆ Pilot

enum ts::Pilot

Pilot (DVB-S2)

Enumerator
PILOT_AUTO 

Pilot automatically set.

PILOT_ON 

Pilot on.

PILOT_OFF 

Pilot off.

◆ RollOff

Roll-off (DVB-S2)

Enumerator
ROLLOFF_AUTO 

Automatic rolloff.

ROLLOFF_35 

Rolloff 0.35, implied in DVB-S, default in DVB-S2.

ROLLOFF_25 

Rolloff 0.25.

ROLLOFF_20 

Rolloff 0.20.

ROLLOFF_15 

Rolloff 0.15.

ROLLOFF_10 

Rolloff 0.10.

ROLLOFF_5 

Rolloff 0.05.

◆ TransmissionMode

Transmission mode (OFDM)

Enumerator
TM_AUTO 

Transmission mode automatically set.

TM_2K 

2K transmission mode, aka ISDB-T "mode 1".

TM_4K 

4K transmission mode, aka ISDB-T "mode 2".

TM_8K 

8K transmission mode, aka ISDB-T "mode 3".

TM_2KI 

2K-interleaved transmission mode.

TM_4KI 

4K-interleaved transmission mode.

TM_1K 

1K transmission mode, DVB-T2 (use 1K FFT).

TM_16K 

16K transmission mode, DVB-T2 (use 16K FFT).

TM_32K 

32K transmission mode, DVB-T2 (use 32K FFT).

TM_C1 

Single Carrier (C=1) transmission mode (DTMB only).

TM_C3780 

Multi Carrier (C=3780) transmission mode (DTMB only).

◆ GuardInterval

Guard interval (OFDM)

Enumerator
GUARD_AUTO 

Guard interval automatically set.

GUARD_1_32 

Guard interval 1/32.

GUARD_1_16 

Guard interval 1/16.

GUARD_1_8 

Guard interval 1/8.

GUARD_1_4 

Guard interval 1/4.

GUARD_1_128 

Guard interval 1/128 (DVB-T2).

GUARD_19_128 

Guard interval 19/128 (DVB-T2).

GUARD_19_256 

Guard interval 19/256 (DVB-T2).

GUARD_PN420 

PN length 420 (1/4).

GUARD_PN595 

PN length 595 (1/6).

GUARD_PN945 

PN length 945 (1/9).

GUARD_1_64 

Guard interval 1/64.

◆ Hierarchy

Hierarchy (OFDM)

Enumerator
HIERARCHY_AUTO 

Hierarchy automatically set.

HIERARCHY_NONE 

No hierarchy.

HIERARCHY_1 

Hierarchy 1.

HIERARCHY_2 

Hierarchy 2.

HIERARCHY_4 

Hierarchy 4.

◆ PLSMode

Physical Layer Scrambling (PLS) modes for DVB-S2.

Enumerator
PLS_ROOT 

DVB-S2 PLS "ROOT" mode.

PLS_GOLD 

DVB-S2 PLS "GOLD" mode.

◆ anonymous enum

anonymous enum : CASID

Selected DVB-assigned CA System Identifier values.

Enumerator
CASID_NULL 

Null/reserved/invalid CAS Id. Can be used to indicated "unspecified".

CASID_MEDIAGUARD_MIN 

Minimum CAS Id value for MediaGuard.

CASID_MEDIAGUARD_MAX 

Maximum CAS Id value for MediaGuard.

CASID_VIACCESS_MIN 

Minimum CAS Id value for Viaccess.

CASID_VIACCESS_MAX 

Maximum CAS Id value for Viaccess.

CASID_IRDETO_MIN 

Minimum CAS Id value for Irdeto.

CASID_IRDETO_MAX 

Maximum CAS Id value for Irdeto.

CASID_NDS_MIN 

Minimum CAS Id value for NDS.

CASID_NDS_MAX 

Maximum CAS Id value for NDS.

CASID_CONAX_MIN 

Minimum CAS Id value for Conax.

CASID_CONAX_MAX 

Maximum CAS Id value for Conax.

CASID_CRYPTOWORKS_MIN 

Minimum CAS Id value for CryptoWorks (Irdeto).

CASID_CRYPTOWORKS_MAX 

Maximum CAS Id value for CryptoWorks (Irdeto).

CASID_NAGRA_MIN 

Minimum CAS Id value for Nagravision.

CASID_NAGRA_MAX 

Maximum CAS Id value for Nagravision.

CASID_THALESCRYPT_MIN 

Minimum CAS Id value for ThalesCrypt.

CASID_THALESCRYPT_MAX 

Maximum CAS Id value for ThalesCrypt.

CASID_WIDEVINE_MIN 

Minimum CAS Id value for Widevine CAS (Google).

CASID_WIDEVINE_MAX 

Maximum CAS Id value for Widevine CAS (Google).

CASID_SAFEACCESS 

CAS Id value for SafeAccess.

◆ anonymous enum

anonymous enum

AVC access unit types.

See also
ISO/IEC 14496-10, H.264, 7.4.1
Enumerator
AVC_AUT_UNSPECIFIED 

Unspecified NALunit type.

AVC_AUT_NON_IDR 

Coded slice of a non-IDR picture (NALunit type).

AVC_AUT_SLICE_A 

Coded slice data partition A (NALunit type).

AVC_AUT_SLICE_B 

Coded slice data partition B (NALunit type).

AVC_AUT_SLICE_C 

Coded slice data partition C (NALunit type).

AVC_AUT_IDR 

Coded slice of an IDR picture (NALunit type).

AVC_AUT_SEI 

Supplemental enhancement information (SEI) (NALunit type).

AVC_AUT_SEQPARAMS 

Sequence parameter set (NALunit type).

AVC_AUT_PICPARAMS 

Picture parameter set (NALunit type).

AVC_AUT_DELIMITER 

Access unit delimiter (NALunit type).

AVC_AUT_END_SEQUENCE 

End of sequence (NALunit type).

AVC_AUT_END_STREAM 

End of stream (NALunit type).

AVC_AUT_FILLER 

Filler data (NALunit type).

AVC_AUT_SEQPARAMSEXT 

Sequence parameter set extension (NALunit type).

AVC_AUT_PREFIX 

Prefix NAL unit in scalable extension (NALunit type).

AVC_AUT_SUBSETPARAMS 

Subset sequence parameter set (NALunit type).

AVC_AUT_DEPTHPARAMS 

Depth parameter set (NALunit type).

AVC_AUT_SLICE_NOPART 

Coded slice without partitioning (NALunit type).

AVC_AUT_SLICE_SCALE 

Coded slice in scalable extension (NALunit type).

AVC_AUT_SLICE_EXTEND 

Coded slice extension or 3D-AVC texture view (NALunit type).

AVC_AUT_INVALID 

Invalid value, can be used as error indicator.

◆ anonymous enum

anonymous enum

AVC SEI types.

See also
ISO/IEC 14496-10, H.264, D.1.1
Enumerator
AVC_SEI_BUF_PERIOD 

SEI type: buffering_period.

AVC_SEI_PIC_TIMING 

SEI type: pic_timing.

AVC_SEI_PAN_SCAN_RECT 

SEI type: pan_scan_rect.

AVC_SEI_FILLER_PAYLOAD 

SEI type: filler_payload.

AVC_SEI_USER_DATA_REG 

SEI type: user_data_registered_itu_t_t35.

AVC_SEI_USER_DATA_UNREG 

SEI type: user_data_unregistered.

AVC_SEI_RECOVERY_POINT 

SEI type: recovery_point.

AVC_SEI_DEC_REF_PIC_MAR_REP 

SEI type: dec_ref_pic_marking_repetition.

AVC_SEI_SPARE_PIC 

SEI type: spare_pic.

AVC_SEI_SCENE_INFO 

SEI type: scene_info.

AVC_SEI_SUB_SEQ_INFO 

SEI type: sub_seq_info.

AVC_SEI_SUB_SEQ_LAYER_CHARS 

SEI type: sub_seq_layer_characteristics.

AVC_SEI_SUB_SEQ_CHARS 

SEI type: sub_seq_characteristics.

AVC_SEI_FFRAME_FREEZE 

SEI type: full_frame_freeze.

AVC_SEI_FFRAME_FREEZE_RELEASE 

SEI type: full_frame_freeze_release.

AVC_SEI_FFRAME_SNAPSHOT 

SEI type: full_frame_snapshot.

AVC_SEI_PROG_REF_SEG_START 

SEI type: progressive_refinement_segment_start.

AVC_SEI_PROG_REF_SEG_END 

SEI type: progressive_refinement_segment_end.

AVC_SEI_MOTION_CSLICE_GROUP_SET 

SEI type: motion_constrained_slice_group_set.

AVC_SEI_FILM_GRAIN_CHARS 

SEI type: film_grain_characteristics.

AVC_SEI_DEBLOCK_FILTER_DISP_PREF 

SEI type: deblocking_filter_display_preference.

AVC_SEI_STEREO_VIDEO_INFO 

SEI type: stereo_video_info.

AVC_SEI_POST_FILTER_HINT 

SEI type: post_filter_hint.

AVC_SEI_TONE_MAPPING_INFO 

SEI type: tone_mapping_info.

AVC_SEI_SCALABILITY_INFO 

SEI type: scalability_info.

AVC_SEI_SUB_PIC_SCALABLE_LAYER 

SEI type: sub_pic_scalable_layer.

AVC_SEI_NON_REQUIRED_LAYER_REP 

SEI type: non_required_layer_rep.

AVC_SEI_PRIORITY_LAYER_INFO 

SEI type: priority_layer_info.

AVC_SEI_LAYERS_NOT_PRESENT 

SEI type: layers_not_present.

AVC_SEI_LAYER_DEP_CHANGE 

SEI type: layer_dependency_change.

AVC_SEI_SCALABLE_NESTING 

SEI type: scalable_nesting.

AVC_SEI_BASE_LAYER_TEMPORAL_HRD 

SEI type: base_layer_temporal_hrd.

AVC_SEI_QUALITY_LAYER_INTEG_CHECK 

SEI type: quality_layer_integrity_check.

AVC_SEI_REDUNDANT_PIC_PROPERTY 

SEI type: redundant_pic_property.

AVC_SEI_TL0_PICTURE_INDEX 

SEI type: tl0_picture_index.

AVC_SEI_TL_SWITCHING_POINT 

SEI type: tl_switching_point.

AVC_SEI_PARALLEL_DECODING_INFO 

SEI type: parallel_decoding_info.

AVC_SEI_MVC_SCALABLE_NESTING 

SEI type: mvc_scalable_nesting.

AVC_SEI_VIEW_SCALABILITY_INFO 

SEI type: view_scalability_info.

AVC_SEI_MULTIVIEW_SCENE_INFO 

SEI type: multiview_scene_info.

AVC_SEI_MULTIVIEW_ACQUISITION 

SEI type: multiview_acquisition_info.

AVC_SEI_NON_REQUIRED_VIEW_COMP 

SEI type: non_required_view_component.

AVC_SEI_VIEW_DEPENDENCY_CHANGE 

SEI type: view_dependency_change.

AVC_SEI_OP_POINTS_NOT_PRESENT 

SEI type: operation_points_not_present.

AVC_SEI_BASE_VIEW_TEMPORAL_HRD 

SEI type: base_view_temporal_hrd.

AVC_SEI_FRAME_PACKING_ARRANG 

SEI type: frame_packing_arrangement.

AVC_SEI_MULTIVIEW_VIEW_POSITION 

SEI type: multiview_view_position.

AVC_SEI_DISPLAY_ORIENTATION 

SEI type: display_orientation.

AVC_SEI_MVCD_SCALABLE_NESTING 

SEI type: mvcd_scalable_nesting.

AVC_SEI_MVCD_VIEW_SCALABILITY 

SEI type: mvcd_view_scalability_info.

AVC_SEI_DEPTH_REPRESENTATION 

SEI type: depth_representation_info.

AVC_SEI_3D_REF_DISPLAYS_INFO 

SEI type: three_dimensional_reference_displays_info.

AVC_SEI_DEPTH_TIMING 

SEI type: depth_timing.

AVC_SEI_DEPTH_SAMPLING_INFO 

SEI type: depth_sampling_info.

AVC_SEI_CONSTR_DEPTH_PARAMSET_ID 

SEI type: constrained_depth_parameter_set_identifier.

AVC_SEI_GREEN_METADATA 

SEI type: green_metadata.

AVC_SEI_MASTER_DISP_COLOUR_VOLUME 

SEI type: mastering_display_colour_volume.

AVC_SEI_COLOUR_REMAPPING_INFO 

SEI type: colour_remapping_info.

AVC_SEI_CONTENT_LIGHT_LEVEL_INFO 

SEI type: content_light_level_info.

AVC_SEI_ALT_TRANSFER_CHARS 

SEI type: alternative_transfer_characteristics.

AVC_SEI_AMBIENT_VIEWING_ENV 

SEI type: ambient_viewing_environment.

AVC_SEI_CONTENT_COLOUR_VOLUME 

SEI type: content_colour_volume.

AVC_SEI_EQUIRECTANGULAR_PROJECT 

SEI type: equirectangular_projection.

AVC_SEI_CUBEMAP_PROJECTION 

SEI type: cubemap_projection.

AVC_SEI_SPHERE_ROTATION 

SEI type: sphere_rotation.

AVC_SEI_REGIONWISE_PACKING 

SEI type: regionwise_packing.

AVC_SEI_OMNI_VIEWPORT 

SEI type: omni_viewport.

AVC_SEI_ALTERNATIVE_DEPTH_INFO 

SEI type: alternative_depth_info.

AVC_SEI_MANIFEST 

SEI type: manifest.

AVC_SEI_PREFIX_INDICATION 

SEI type: prefix_indication.

◆ anonymous enum

anonymous enum

AVC primary picture types.

See also
ISO/IEC 14496-10, H.264, 7.4.2.4
Enumerator
AVC_PIC_TYPE_I 

AVC picture with slice types 2, 7.

AVC_PIC_TYPE_IP 

AVC picture with slice types 0, 2, 5, 7.

AVC_PIC_TYPE_IPB 

AVC picture with slice types 0, 1, 2, 5, 6, 7.

AVC_PIC_TYPE_SI 

AVC picture with slice types 4, 9.

AVC_PIC_TYPE_SIP 

AVC picture with slice types 3, 4, 8, 9.

AVC_PIC_TYPE_I_SI 

AVC picture with slice types 2, 4, 7, 9.

AVC_PIC_TYPE_IP_SIP 

AVC picture with slice types 0, 2, 3, 4, 5, 7, 8, 9.

AVC_PIC_TYPE_ANY 

AVC picture with slice types 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

◆ anonymous enum

anonymous enum

AVC slice types.

See also
ISO/IEC 14496-10, H.264, 7.4.3
Enumerator
AVC_SLICE_P 

AVC P slice.

AVC_SLICE_B 

AVC B slice.

AVC_SLICE_I 

AVC I slice.

AVC_SLICE_SP 

AVC SP slice.

AVC_SLICE_SI 

AVC SI slice.

AVC_SLICE_ALL_P 

AVC all P slices.

AVC_SLICE_ALL_B 

AVC all B slices.

AVC_SLICE_ALL_I 

AVC all I slices.

AVC_SLICE_ALL_SP 

AVC all SP slices.

AVC_SLICE_ALL_SI 

AVC all SI slices.

◆ CodecType

enum class ts::CodecType
strong

Known video, audio or data encoding formats.

Commonly found in PES packets.

Enumerator
UNDEFINED 

Undefined format.

MPEG1_VIDEO 

MPEG-1 video, ISO 11172-2, ITU-T Rec H.261.

MPEG1_AUDIO 

MPEG-1 audio, ISO 11172-3.

MPEG2_VIDEO 

MPEG-2 video, ISO 13818-2, ITU-T Rec H.262.

MPEG2_AUDIO 

MPEG-2 audio layer 1 or 2, ISO 13818-3.

MP3 

MPEG-2 audio layer 3.

AAC 

Advanced Audio Coding, ISO 13818-7.

AC3 

Audio Coding 3, Dolby Digital.

EAC3 

Enhanced Audio Coding 3, Dolby Digital.

AC4 

Audio Coding 4, Dolby Digital.

MPEG4_VIDEO 

MPEG-4 video, ISO 14496-2, ITU-T Rec H.263, aka DivX.

HEAAC 

High Efficiency AAC, ISO 14496-3.

J2K 

JPEG 2000 video.

AVC 

Advanced Video Coding, ISO 14496-10, ITU-T Rec. H.264.

HEVC 

High Efficiency Video Coding, ITU-T Rec. H.265.

VVC 

Versatile Video Coding, ITU-T Rec. H.266.

EVC 

Essential Video Coding.

LCEVC 

Low Complexity Enhancement Video Coding.

VP9 

Google VP9 video.

AV1 

Alliance for Open Media Video 1.

DTS 

Digital Theater Systems audio.

DTSHD 

HD Digital Theater Systems audio, aka DTS++.

TELETEXT 

Teletext pages or subtitles, ETSI EN 300 706.

DVB_SUBTITLES 

DVB subtitles, ETSI EN 300 743.

AVS3_VIDEO 

AVS3 video (AVS is Audio Video Standards workgroup of China).

AVS2_AUDIO 

AVS2 audio (AVS is Audio Video Standards workgroup of China).

AVS3_AUDIO 

AVS3 audio (AVS is Audio Video Standards workgroup of China).

◆ anonymous enum

anonymous enum

HEVC access unit types.

See also
H.265, 7.4.2.2
Enumerator
HEVC_AUT_TRAIL_N 

Coded slice segment of a non-TSA, non-STSA trailing picture.

HEVC_AUT_TRAIL_R 

Coded slice segment of a non-TSA, non-STSA trailing picture.

HEVC_AUT_TSA_N 

Coded slice segment of a TSA picture.

HEVC_AUT_TSA_R 

Coded slice segment of a TSA picture.

HEVC_AUT_STSA_N 

Coded slice segment of an STSA picture.

HEVC_AUT_STSA_R 

Coded slice segment of an STSA picture.

HEVC_AUT_RADL_N 

Coded slice segment of a RADL picture.

HEVC_AUT_RADL_R 

Coded slice segment of a RADL picture.

HEVC_AUT_RASL_N 

Coded slice segment of a RASL picture.

HEVC_AUT_RASL_R 

Coded slice segment of a RASL picture.

HEVC_AUT_RSV_VCL_N10 

Reserved non-IRAP SLNR VCL NAL unit types.

HEVC_AUT_RSV_VCL_R11 

Reserved non-IRAP sub-layer reference VCL NAL unit types.

HEVC_AUT_RSV_VCL_N12 

Reserved non-IRAP SLNR VCL NAL unit types.

HEVC_AUT_RSV_VCL_R13 

Reserved non-IRAP sub-layer reference VCL NAL unit types.

HEVC_AUT_RSV_VCL_N14 

Reserved non-IRAP SLNR VCL NAL unit types.

HEVC_AUT_RSV_VCL_R15 

Reserved non-IRAP sub-layer reference VCL NAL unit types.

HEVC_AUT_BLA_W_LP 

Coded slice segment of a BLA picture.

HEVC_AUT_BLA_W_RADL 

Coded slice segment of a BLA picture.

HEVC_AUT_BLA_N_LP 

Coded slice segment of a BLA picture.

HEVC_AUT_IDR_W_RADL 

Coded slice segment of an IDR picture.

HEVC_AUT_IDR_N_LP 

Coded slice segment of an IDR picture.

HEVC_AUT_CRA_NUT 

Coded slice segment of a CRA picture.

HEVC_AUT_RSV_IRAP_VCL22 

Reserved IRAP VCL NAL unit types.

HEVC_AUT_RSV_IRAP_VCL23 

Reserved IRAP VCL NAL unit types.

HEVC_AUT_RSV_VCL24 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL25 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL26 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL27 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL28 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL29 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL30 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_RSV_VCL31 

Reserved non-IRAP VCL NAL unit types VCL.

HEVC_AUT_VPS_NUT 

Video parameter set.

HEVC_AUT_SPS_NUT 

Sequence parameter set.

HEVC_AUT_PPS_NUT 

Picture parameter set.

HEVC_AUT_AUD_NUT 

Access unit delimiter.

HEVC_AUT_EOS_NUT 

End of sequence.

HEVC_AUT_EOB_NUT 

End of bitstream.

HEVC_AUT_FD_NUT 

Filler data.

HEVC_AUT_PREFIX_SEI_NUT 

Supplemental enhancement information.

HEVC_AUT_SUFFIX_SEI_NUT 

Supplemental enhancement information.

HEVC_AUT_RSV_NVCL41 

Reserved.

HEVC_AUT_RSV_NVCL42 

Reserved.

HEVC_AUT_RSV_NVCL43 

Reserved.

HEVC_AUT_RSV_NVCL44 

Reserved.

HEVC_AUT_RSV_NVCL45 

Reserved.

HEVC_AUT_RSV_NVCL46 

Reserved.

HEVC_AUT_RSV_NVCL47 

Reserved.

HEVC_AUT_UNSPEC48 

Unspecified.

HEVC_AUT_UNSPEC63 

Unspecified.

HEVC_AUT_INVALID 

Invalid value, can be used as error indicator.

◆ anonymous enum

anonymous enum

HEVC picture types.

See also
H.265, 7.4.3.5
Enumerator
HEVC_PIC_TYPE_I 

HEVC picture with slice types I.

HEVC_PIC_TYPE_IP 

HEVC picture with slice types I or P.

HEVC_PIC_TYPE_IPB 

HEVC picture with slice types I, P or B.

◆ anonymous enum

anonymous enum : uint8_t

PES start code values (after start code prefix 00 00 01)

Enumerator
PST_PICTURE 

Picture PES start code.

PST_SLICE_MIN 

First slice PES start code.

PST_SLICE_MAX 

Last slice PES start code.

PST_RESERVED_B0 

Reserved PES start code.

PST_RESERVED_B1 

Reserved PES start code.

PST_USER_DATA 

User data PES start code.

PST_SEQUENCE_HEADER 

Sequence header PES start code.

PST_SEQUENCE_ERROR 

Sequence error PES start code.

PST_EXTENSION 

Extension PES start code.

PST_RESERVED_B6 

Reserved PES start code.

PST_SEQUENCE_END 

End of sequence PES start code.

PST_GROUP 

Group PES start code.

PST_SYSTEM_MIN 

First stream id value (SID_* in tsPES.h).

PST_SYSTEM_MAX 

Last stream id value (SID_* in tsPES.h).

◆ anonymous enum

anonymous enum

Frame rate values (in MPEG-1/2 video sequence).

Enumerator
FPS_23_976 

23.976 fps (24000/1001)

FPS_24 

24 fps

FPS_25 

25 fps

FPS_29_97 

29.97 fps (30000/1001)

FPS_30 

30 fps

FPS_50 

50 fps

FPS_59_94 

59.94 fps (60000/1001)

FPS_60 

60 fps

◆ anonymous enum

anonymous enum

Aspect ratio values (in MPEG-1/2 video sequence header).

Enumerator
AR_SQUARE 

1/1 MPEG video aspect ratio.

AR_4_3 

4/3 MPEG video aspect ratio.

AR_16_9 

16/9 MPEG video aspect ratio.

AR_221 

2.21/1 MPEG video aspect ratio.

◆ anonymous enum

anonymous enum

Chroma format values (in MPEG-1/2 video sequence header).

Enumerator
CHROMA_MONO 

Monochrome MPEG video.

CHROMA_420 

Chroma 4:2:0 MPEG video.

CHROMA_422 

Chroma 4:2:2 MPEG video.

CHROMA_444 

Chroma 4:4:4 MPEG video.

◆ anonymous enum

anonymous enum

VVC access unit types.

See also
H.266, 7.4.2.2
Enumerator
VVC_AUT_TRAIL_NUT 

Coded slice of a trailing picture or subpicture.

VVC_AUT_STSA_NUT 

Coded slice of an STSA picture or subpicture.

VVC_AUT_RADL_NUT 

Coded slice of a RADL picture or subpicture.

VVC_AUT_RASL_NUT 

Coded slice of a RASL picture or subpicture.

VVC_AUT_RSV_VCL_4 

Reserved non-IRAP VCL NAL unit types VCL.

VVC_AUT_RSV_VCL_5 

Reserved non-IRAP VCL NAL unit types VCL.

VVC_AUT_RSV_VCL_6 

Reserved non-IRAP VCL NAL unit types VCL.

VVC_AUT_IDR_W_RADL 

Coded slice of an IDR picture or subpicture.

VVC_AUT_IDR_N_LP 

Coded slice of an IDR picture or subpicture.

VVC_AUT_CRA_NUT 

Coded slice of a CRA picture or subpicture.

VVC_AUT_GDR_NUT 

Coded slice of a GDR picture or subpicture.

VVC_AUT_RSV_IRAP_11 

Reserved IRAP VCL NAL unit type VCL.

VVC_AUT_OPI_NUT 

Operating point information.

VVC_AUT_DCI_NUT 

Decoding capability information.

VVC_AUT_VPS_NUT 

Video parameter set.

VVC_AUT_SPS_NUT 

Sequence parameter set.

VVC_AUT_PPS_NUT 

Picture parameter set.

VVC_AUT_PREFIX_APS_NUT 

Adaptation parameter set.

VVC_AUT_SUFFIX_APS_NUT 

Adaptation parameter set.

VVC_AUT_PH_NUT 

Picture header.

VVC_AUT_AUD_NUT 

Access Unit delimiter.

VVC_AUT_EOS_NUT 

End of sequence.

VVC_AUT_EOB_NUT 

End of bitstream.

VVC_AUT_PREFIX_SEI_NUT 

Supplemental enhancement information.

VVC_AUT_SUFFIX_SEI_NUT 

Supplemental enhancement information.

VVC_AUT_FD_NUT 

Filler data.

VVC_AUT_RSV_NVCL_26 

Reserved non-VCL NAL unit types non-VCL.

VVC_AUT_RSV_NVCL_27 

Reserved non-VCL NAL unit types non-VCL.

VVC_AUT_UNSPEC_28 

Unspecified non-VCL NAL unit types.

VVC_AUT_UNSPEC_31 

Unspecified non-VCL NAL unit types.

VVC_AUT_INVALID 

Invalid value, can be used as error indicator.

◆ anonymous enum

anonymous enum

VVC picture types.

See also
H.266, 7.4.3.10
Enumerator
VVC_PIC_TYPE_I 

VVC picture with slice types I.

VVC_PIC_TYPE_IP 

VVC picture with slice types I or P.

VVC_PIC_TYPE_IPB 

VVC picture with slice types I, P or B.

◆ anonymous enum

anonymous enum : uint8_t

Linkage type values (in linkage_descriptor)

Enumerator
LINKAGE_INFO 

Information service.

LINKAGE_EPG 

EPG service.

LINKAGE_CA_REPLACE 

CA replacement service.

LINKAGE_TS_NIT_BAT 

TS containing complet network/bouquet SI.

LINKAGE_SERVICE_REPLACE 

Service replacement service.

LINKAGE_DATA_BROADCAST 

Data broadcast service.

LINKAGE_RCS_MAP 

RCS map.

LINKAGE_HAND_OVER 

Mobile hand-over.

LINKAGE_SSU 

System software update service.

LINKAGE_SSU_TABLE 

TS containing SSU BAT or NIT.

LINKAGE_IP_NOTIFY 

IP/MAC notification service.

LINKAGE_INT_BAT_NIT 

TS containing INT BAT or NIT.

LINKAGE_EVENT 

Event linkage.

LINKAGE_EXT_EVENT_MIN 

Extented event linkage, first value.

LINKAGE_EXT_EVENT_MAX 

Extented event linkage, last value.

◆ anonymous enum

anonymous enum

uri_linkage_type in URI_linkage_descriptor

See also
ETSI TS 101 162
Enumerator
URI_LINKAGE_ONLINE_SDT 

Online SDT (OSDT) for CI Plus, ETSI TS 102 606-2.

URI_LINKAGE_IPTV_SDnS 

DVB-IPTV SD&S, ETSI TS 102 034.

URI_LINKAGE_MRS 

Material Resolution Server (MRS) for companion screen applications, CENELEC EN 50221.

URI_LINKAGE_DVB_I 

DVB-I, DVB Bluebook A177, ETSI TS 103 770.

◆ anonymous enum

anonymous enum

end_point_type in DVB-I_Info() in URI_linkage_descriptor

Enumerator
END_POINT_SERVICE_LIST 

URI is a service list document.

END_POINT_SERVICE_LIST_REGISTRY 

URI is a servic list registry query.

END_POINT_SERVICE_LIST_EXTENDED 

URI us a service list document with additional information.

END_POINT_MIN 

First assigned value for end_point_type.

END_POINT_MAX 

Last assigned value for end_point_type.

◆ DescriptorDuplication

enum class ts::DescriptorDuplication
strong

What to do when a descriptor of same type is added twice in a list.

Enumerator
ADD_ALWAYS 

Always add new descriptor, multiple occurrences of descriptor of same type is normal. This is the default.

ADD_OTHER 

Add new descriptor of same type if not the exact same content.

REPLACE 

Replace the old descriptor of same type with the new one.

IGNORE 

Ignore the new descriptor of same type.

MERGE 

Merge the new descriptor into the old one using a descriptor-specific method.

◆ EITOptions

enum class ts::EITOptions
strong

EIT generation options.

The options can be specified as a byte mask.

Enumerator
GEN_NONE 

Generate nothing.

GEN_ACTUAL_PF 

Generate EIT actual present/following.

GEN_OTHER_PF 

Generate EIT other present/following.

GEN_ACTUAL_SCHED 

Generate EIT actual schedule.

GEN_OTHER_SCHED 

Generate EIT other schedule.

GEN_PF 

Generate all EIT present/following.

GEN_SCHED 

Generate all EIT schedule.

GEN_ACTUAL 

Generate all EIT actual.

GEN_OTHER 

Generate all EIT other.

GEN_ALL 

Generate all EIT's.

LOAD_INPUT 

Use input EIT's as EPG data.

PACKET_STUFFING 

Insert stuffing inside TS packet at end of EIT section. Do not pack EIT sections.

LAZY_SCHED_UPDATE 

Do not update current EIT schedule section when an event is completed.

SYNC_VERSIONS 

Keep version numbers synchronous on all sections of a subtable.

◆ anonymous enum

anonymous enum : uint8_t

Stream id values, as used in PES header.

Enumerator
SID_PSMAP 

Stream id for Program stream map.

SID_PRIV1 

Stream id for Private stream 1.

SID_PAD 

Stream id for Padding stream.

SID_PRIV2 

Stream id for Private stream 2.

SID_AUDIO 

Stream id for Audio stream, with number.

SID_AUDIO_MASK 

Stream id for Mask to get audio stream number.

SID_VIDEO 

Stream id for Video stream, with number.

SID_VIDEO_MASK 

Stream id for Mask to get video stream number.

SID_ECM 

Stream id for ECM stream.

SID_EMM 

Stream id for EMM stream.

SID_DSMCC 

Stream id for DSM-CC data.

SID_ISO13522 

Stream id for ISO 13522 (hypermedia)

SID_H222_1_A 

Stream id for H.222.1 type A.

SID_H222_1_B 

Stream id for H.222.1 type B.

SID_H222_1_C 

Stream id for H.222.1 type C.

SID_H222_1_D 

Stream id for H.222.1 type D.

SID_H222_1_E 

Stream id for H.222.1 type E.

SID_ANCILLARY 

Stream id for Ancillary stream.

SID_MP4_SLPACK 

Stream id for MPEG-4 SL-packetized stream.

SID_MP4_M4MUX 

Stream id for MPEG-4 M4Mux stream.

SID_METADATA 

Stream id for MPEG-7 metadata stream.

SID_EXTENDED 

Stream id for Extended stream id.

SID_RESERVED 

Stream id for Reserved value.

SID_PSDIR 

Stream id for Program stream directory.

◆ anonymous enum

anonymous enum : uint16_t

Table type in ATSC Master Guide Table (MGT)

Enumerator
ATSC_TTYPE_TVCT_CURRENT 

Terrestrial VCT with current_next_indicator=’1’.

ATSC_TTYPE_TVCT_NEXT 

Terrestrial VCT with current_next_indicator=’0’.

ATSC_TTYPE_CVCT_CURRENT 

Cable VCT with current_next_indicator=’1’.

ATSC_TTYPE_CVCT_NEXT 

Cable VCT with current_next_indicator=’0’.

ATSC_TTYPE_CETT 

Channel ETT.

ATSC_TTYPE_DCCSCT 

DCCSCT.

ATSC_TTYPE_EIT_FIRST 

First EIT (EIT-0).

ATSC_TTYPE_EIT_LAST 

Last EIT (EIT-127).

ATSC_TTYPE_EETT_FIRST 

First Event ETT (EET-0).

ATSC_TTYPE_EETT_LAST 

Last Event ETT (ETT-127).

ATSC_TTYPE_RRT_FIRST 

First RRT (RRT with rating_region 1).

ATSC_TTYPE_RRT_LAST 

Last RRT (RRT with rating_region 255).

ATSC_TTYPE_DCCT_FIRST 

First DCCT (DCCT with dcc_id 0x00).

ATSC_TTYPE_DCCT_LAST 

Last DCCT (DCCT with dcc_id 0xFF).

◆ anonymous enum

anonymous enum : uint8_t

Service type in ATSC Virtual Channel Table (VCT)

Enumerator
ATSC_STYPE_ANALOG_TV 

Analog Television.

ATSC_STYPE_DTV 

ATSC Digital Television.

ATSC_STYPE_AUDIO 

ATSC Audio.

ATSC_STYPE_DATA 

ATSC Data Only Service.

ATSC_STYPE_SOFTWARE 

ATSC Software Download Service.

◆ anonymous enum

anonymous enum : DID

Descriptor tag values (descriptor identification, DID)

See also
ISO/IEC 13818-1, ITU-T Rec. H.222.0, 2.6.1.
ETSI EN 300 468, 6.1.
Enumerator
DID_NULL 

Invalid DID value, can be used as placeholder.

DID_MPEG_VIDEO 

DID for video_stream_descriptor.

DID_MPEG_AUDIO 

DID for audio_stream_descriptor.

DID_MPEG_HIERARCHY 

DID for hierarchy_descriptor.

DID_MPEG_REGISTRATION 

DID for registration_descriptor.

DID_MPEG_DATA_ALIGN 

DID for data_stream_alignment_descriptor.

DID_MPEG_TGT_BG_GRID 

DID for target_background_grid_descriptor.

DID_MPEG_VIDEO_WIN 

DID for video_window_descriptor.

DID_MPEG_CA 

DID for CA_descriptor.

DID_MPEG_LANGUAGE 

DID for ISO_639_language_descriptor.

DID_MPEG_SYS_CLOCK 

DID for system_clock_descriptor.

DID_MPEG_MUX_BUF_USE 

DID for multiplex_buffer_utilization_desc.

DID_MPEG_COPYRIGHT 

DID for copyright_descriptor.

DID_MPEG_MAX_BITRATE 

DID for maximum bitrate descriptor.

DID_MPEG_PRIV_DATA_IND 

DID for private data indicator descriptor.

DID_MPEG_SMOOTH_BUF 

DID for smoothing buffer descriptor.

DID_MPEG_STD 

DID for STD_descriptor.

DID_MPEG_IBP 

DID for IBP_descriptor.

DID_MPEG_CAROUSEL_IDENTIFIER 

DID for DSM-CC carousel identifier descriptor.

DID_MPEG_ASSOCIATION_TAG 

DID for DSM-CC association tag descriptor.

DID_MPEG_DEFERRED_ASSOC_TAGS 

DID for DSM-CC deferred association tags descriptor.

DID_MPEG_NPT_REFERENCE 

DID for DSM-CC NPT reference descriptor.

DID_MPEG_NPT_ENDPOINT 

DID for DSM-CC NPT endpoint descriptor.

DID_MPEG_STREAM_MODE 

DID for DSM-CC stream mode descriptor.

DID_MPEG_STREAM_EVENT 

DID for DSM-CC stream event descriptor.

DID_MPEG_MPEG4_VIDEO 

DID for MPEG-4_video_descriptor.

DID_MPEG_MPEG4_AUDIO 

DID for MPEG-4_audio_descriptor.

DID_MPEG_IOD 

DID for IOD_descriptor.

DID_MPEG_SL 

DID for SL_descriptor.

DID_MPEG_FMC 

DID for FMC_descriptor.

DID_MPEG_EXT_ES_ID 

DID for External_ES_id_descriptor.

DID_MPEG_MUXCODE 

DID for MuxCode_descriptor.

DID_MPEG_M4MUX_BUFFER_SIZE 

DID for M4MuxBufferSize_descriptor.

DID_MPEG_MUX_BUFFER 

DID for MultiplexBuffer_descriptor.

DID_MPEG_CONTENT_LABELLING 

DID for Content_labelling_descriptor.

DID_MPEG_METADATA_POINTER 

DID for metadata_pointer_descriptor.

DID_MPEG_METADATA 

DID for metadata_descriptor.

DID_MPEG_METADATA_STD 

DID for metadata_STD_descriptor.

DID_MPEG_AVC_VIDEO 

DID for AVC_video_descriptor.

DID_MPEG_MPEG2_IPMP 

DID for MPEG-2_IPMP_descriptor.

DID_MPEG_AVC_TIMING_HRD 

DID for AVC_timing_and_HRD_descriptor.

DID_MPEG_MPEG2_AAC_AUDIO 

DID for MPEG-2 AAC Audio descriptor.

DID_MPEG_M4_MUX_TIMING 

DID for M4MuxTiming descriptor.

DID_MPEG_MPEG4_TEXT 

DID for MPEG-4 Text descriptor.

DID_MPEG_MPEG4_AUDIO_EXT 

DID for MPEG-4 Audio Extension descriptor.

DID_MPEG_AUX_VIDEO 

DID for Auxiliary Video Stream descriptor.

DID_MPEG_SVC_EXT 

DID for SVC Extension descriptor.

DID_MPEG_MVC_EXT 

DID for MVC Extension descriptor.

DID_MPEG_J2K_VIDEO 

DID for J2K Video descriptor.

DID_MPEG_MVC_OPER_POINT 

DID for MVC Operation Point descriptor.

DID_MPEG_STEREO_VIDEO_FORMAT 

DID for MPEG-2 Stereoscopic Video Format descriptor.

DID_MPEG_STEREO_PROG_INFO 

DID for Stereoscopic Program Info descriptor.

DID_MPEG_STEREO_VIDEO_INFO 

DID for Stereoscopic Video Info descriptor.

DID_MPEG_TRANSPORT_PROFILE 

DID for Transport Profile descriptor.

DID_MPEG_HEVC_VIDEO 

DID for HEVC Video descriptor.

DID_MPEG_VVC_VIDEO 

DID for VVC Video descriptor.

DID_MPEG_EVC_VIDEO 

DID for EVC Video descriptor.

DID_MPEG_EXTENSION 

DID for MPEG-2 Extension descriptor.

DID_DVB_NETWORK_NAME 

DID for DVB network_name_descriptor.

DID_DVB_SERVICE_LIST 

DID for DVB service_list_descriptor.

DID_DVB_STUFFING 

DID for DVB stuffing_descriptor.

DID_DVB_SAT_DELIVERY 

DID for DVB satellite_delivery_system_desc.

DID_DVB_CABLE_DELIVERY 

DID for DVB cable_delivery_system_descriptor.

DID_DVB_VBI_DATA 

DID for DVB VBI_data_descriptor.

DID_DVB_VBI_TELETEXT 

DID for DVB VBI_teletext_descriptor.

DID_DVB_BOUQUET_NAME 

DID for DVB bouquet_name_descriptor.

DID_DVB_SERVICE 

DID for DVB service_descriptor.

DID_DVB_COUNTRY_AVAIL 

DID for DVB country_availability_descriptor.

DID_DVB_LINKAGE 

DID for DVB linkage_descriptor.

DID_DVB_NVOD_REFERENCE 

DID for DVB NVOD_reference_descriptor.

DID_DVB_TIME_SHIFT_SERVICE 

DID for DVB time_shifted_service_descriptor.

DID_DVB_SHORT_EVENT 

DID for DVB short_event_descriptor.

DID_DVB_EXTENDED_EVENT 

DID for DVB extended_event_descriptor.

DID_DVB_TIME_SHIFT_EVENT 

DID for DVB time_shifted_event_descriptor.

DID_DVB_COMPONENT 

DID for DVB component_descriptor.

DID_DVB_MOSAIC 

DID for DVB mosaic_descriptor.

DID_DVB_STREAM_ID 

DID for DVB stream_identifier_descriptor.

DID_DVB_CA_ID 

DID for DVB CA_identifier_descriptor.

DID_DVB_CONTENT 

DID for DVB content_descriptor.

DID_DVB_PARENTAL_RATING 

DID for DVB parental_rating_descriptor.

DID_DVB_TELETEXT 

DID for DVB teletext_descriptor.

DID_DVB_TELEPHONE 

DID for DVB telephone_descriptor.

DID_DVB_LOCAL_TIME_OFFSET 

DID for DVB local_time_offset_descriptor.

DID_DVB_SUBTITLING 

DID for DVB subtitling_descriptor.

DID_DVB_TERREST_DELIVERY 

DID for DVB terrestrial_delivery_system_desc.

DID_DVB_MLINGUAL_NETWORK 

DID for DVB multilingual_network_name_desc.

DID_DVB_MLINGUAL_BOUQUET 

DID for DVB multilingual_bouquet_name_desc.

DID_DVB_MLINGUAL_SERVICE 

DID for DVB multilingual_service_name_desc.

DID_DVB_MLINGUAL_COMPONENT 

DID for DVB multilingual_component_descriptor.

DID_DVB_PRIV_DATA_SPECIF 

DID for DVB private_data_specifier_descriptor.

DID_DVB_SERVICE_MOVE 

DID for DVB service_move_descriptor.

DID_DVB_SHORT_SMOOTH_BUF 

DID for DVB short_smoothing_buffer_descriptor.

DID_DVB_FREQUENCY_LIST 

DID for DVB frequency_list_descriptor.

DID_DVB_PARTIAL_TS 

DID for DVB partial_transport_stream_desc.

DID_DVB_DATA_BROADCAST 

DID for DVB data_broadcast_descriptor.

DID_DVB_SCRAMBLING 

DID for DVB scrambling_descriptor.

DID_DVB_DATA_BROADCAST_ID 

DID for DVB data_broadcast_id_descriptor.

DID_DVB_TRANSPORT_STREAM 

DID for DVB transport_stream_descriptor.

DID_DVB_DSNG 

DID for DVB DSNG_descriptor.

DID_DVB_PDC 

DID for DVB PDC_descriptor.

DID_DVB_AC3 

DID for DVB AC-3_descriptor.

DID_DVB_ANCILLARY_DATA 

DID for DVB ancillary_data_descriptor.

DID_DVB_CELL_LIST 

DID for DVB cell_list_descriptor.

DID_DVB_CELL_FREQ_LINK 

DID for DVB cell_frequency_link_descriptor.

DID_DVB_ANNOUNCE_SUPPORT 

DID for DVB announcement_support_descriptor.

DID_DVB_APPLI_SIGNALLING 

DID for DVB application_signalling_descriptor.

DID_DVB_ADAPTFIELD_DATA 

DID for DVB adaptation_field_data_descriptor.

DID_DVB_SERVICE_ID 

DID for DVB service_identifier_descriptor.

DID_DVB_SERVICE_AVAIL 

DID for DVB service_availability_descriptor.

DID_DVB_DEFAULT_AUTHORITY 

DID for DVB default_authority_descriptor.

DID_DVB_RELATED_CONTENT 

DID for DVB related_content_descriptor.

DID_DVB_TVA_ID 

DID for DVB TVA_id_descriptor.

DID_DVB_CONTENT_ID 

DID for DVB content_identifier_descriptor.

DID_DVB_TIME_SLICE_FEC_ID 

DID for DVB time_slice_fec_identifier_desc.

DID_DVB_ECM_REPETITION_RATE 

DID for DVB ECM_repetition_rate_descriptor.

DID_DVB_S2_SAT_DELIVERY 

DID for DVB S2_satellite_delivery_system_descriptor.

DID_DVB_ENHANCED_AC3 

DID for DVB enhanced_AC-3_descriptor.

DID_DVB_DTS 

DID for DVB DTS_descriptor.

DID_DVB_AAC 

DID for DVB AAC_descriptor.

DID_DVB_XAIT_LOCATION 

DID for DVB XAIT_location_descriptor (DVB-MHP)

DID_DVB_FTA_CONTENT_MGMT 

DID for DVB FTA_content_management_descriptor.

DID_DVB_EXTENSION 

DID for DVB extension_descriptor.

DID_AIT_APPLICATION 

DID for AIT application_descriptor.

DID_AIT_APP_NAME 

DID for AIT application_name_descriptor.

DID_AIT_TRANSPORT_PROTO 

DID for AIT transport_protocol_descriptor.

DID_AIT_DVBJ_APP 

DID for AIT dvb_j_application_descriptor.

DID_AIT_DVBJ_APP_LOC 

DID for AIT dvb_j_application_location_descriptor.

DID_AIT_EXT_APP_AUTH 

DID for AIT external_application_authorisation_descriptor.

DID_AIT_APP_RECORDING 

DID for AIT application_recording_descriptor.

DID_AIT_HTML_APP 

DID for AIT dvb_html_application_descriptor.

DID_AIT_HTML_APP_LOC 

DID for AIT dvb_html_application_location_descriptor.

DID_AIT_HTML_APP_BOUND 

DID for AIT dvb_html_application_boundary_descriptor.

DID_AIT_APP_ICONS 

DID for AIT application_icons_descriptor.

DID_AIT_PREFETCH 

DID for AIT prefetch_descriptor.

DID_AIT_DII_LOCATION 

DID for AIT DII_location_descriptor.

DID_AIT_APP_STORAGE 

DID for AIT application_storage_descriptor.

DID_AIT_IP_SIGNALLING 

DID for AIT IP_signalling_descriptor.

DID_AIT_GRAPHICS_CONST 

DID for AIT graphics_constraints_descriptor.

DID_AIT_APP_LOCATION 

DID for AIT simple_application_location_descriptor.

DID_AIT_APP_USAGE 

DID for AIT application_usage_descriptor.

DID_AIT_APP_BOUNDARY 

DID for AIT simple_application_boundary_descriptor.

DID_INT_SMARTCARD 

DID for INT target_smartcard_descriptor.

DID_INT_MAC_ADDR 

DID for INT target_MAC_address_descriptor.

DID_INT_SERIAL_NUM 

DID for INT target_serial_number_descriptor.

DID_INT_IP_ADDR 

DID for INT target_IP_address_descriptor.

DID_INT_IPV6_ADDR 

DID for INT target_IPv6_address_descriptor.

DID_INT_PF_NAME 

DID for INT IP/MAC_platform_name_descriptor.

DID_INT_PF_PROVIDER 

DID for INT IP/MAC_platform_provider_name_descriptor.

DID_INT_MAC_ADDR_RANGE 

DID for INT target_MAC_address_range_descriptor.

DID_INT_IP_SLASH 

DID for INT target_IP_slash_descriptor.

DID_INT_IP_SRC_SLASH 

DID for INT target_IP_source_slash_descriptor.

DID_INT_IPV6_SLASH 

DID for INT target_IPv6_slash_descriptor.

DID_INT_IPV6_SRC_SLASH 

DID for INT target_IPv6_source_slash_descriptor.

DID_INT_STREAM_LOC 

DID for INT IP/MAC_stream_location_descriptor.

DID_INT_ISP_ACCESS 

DID for INT ISP_access_mode_descriptor.

DID_INT_GEN_STREAM_LOC 

DID for INT IP/MAC_generic_stream_location_descriptor.

DID_UNT_SCHEDULING 

DID for UNT scheduling_descriptor.

DID_UNT_UPDATE 

DID for UNT update_descriptor.

DID_UNT_SSU_LOCATION 

DID for UNT ssu_location_descriptor.

DID_UNT_MESSAGE 

DID for UNT message_descriptor.

DID_UNT_SSU_EVENT_NAME 

DID for UNT ssu_event_name_descriptor.

DID_UNT_SMARTCARD 

DID for UNT target_smartcard_descriptor.

DID_UNT_MAC_ADDR 

DID for UNT target_MAC_address_descriptor.

DID_UNT_SERIAL_NUM 

DID for UNT target_serial_number_descriptor.

DID_UNT_IP_ADDR 

DID for UNT target_IP_address_descriptor.

DID_UNT_IPV6_ADDR 

DID for UNT target_IPv6_address_descriptor.

DID_UNT_SUBGROUP_ASSOC 

DID for UNT ssu_subgroup_association_descriptor.

DID_UNT_ENHANCED_MSG 

DID for UNT enhanced_message_descriptor.

DID_UNT_SSU_URI 

DID for UNT ssu_uri_descriptor.

DID_RNT_RAR_OVER_DVB 

DID for RNT RAR_over_DVB_stream_descriptor.

DID_RNT_RAR_OVER_IP 

DID for RNT RAR_over_IP_descriptor.

DID_RNT_SCAN 

DID for RNT RNT_scan_dscriptor.

DID_LW_SUBSCRIPTION 

DID for Logiways subscription_descriptor.

DID_LW_SCHEDULE 

DID for Logiways schedule_descriptor.

DID_LW_PRIV_COMPONENT 

DID for Logiways private_component_descriptor.

DID_LW_PRIV_LINKAGE 

DID for Logiways private_linkage_descriptor.

DID_LW_CHAPTER 

DID for Logiways chapter_descriptor.

DID_LW_DRM 

DID for Logiways DRM_descriptor.

DID_LW_VIDEO_SIZE 

DID for Logiways video_size_descriptor.

DID_LW_EPISODE 

DID for Logiways episode_descriptor.

DID_LW_PRICE 

DID for Logiways price_descriptor.

DID_LW_ASSET_REFERENCE 

DID for Logiways asset_reference_descriptor.

DID_LW_CONTENT_CODING 

DID for Logiways content_coding_descriptor.

DID_LW_VOD_COMMAND 

DID for Logiways vod_command_descriptor.

DID_LW_DELETION_DATE 

DID for Logiways deletion_date_descriptor.

DID_LW_PLAY_LIST 

DID for Logiways play_list_descriptor.

DID_LW_PLAY_LIST_ENTRY 

DID for Logiways play_list_entry_descriptor.

DID_LW_ORDER_CODE 

DID for Logiways order_code_descriptor.

DID_LW_BOUQUET_REFERENCE 

DID for Logiways bouquet_reference_descriptor.

DID_EUTELSAT_CHAN_NUM 

DID for eutelsat_channel_number_descriptor.

DID_NORDIG_CHAN_NUM_V1 

DID for nordig_logical_channel_descriptor_v1.

DID_NORDIG_CHAN_NUM_V2 

DID for nordig_logical_channel_descriptor_v2.

DID_EACEM_LCN 

DID for EACEM/EICTA logical_channel_number_descriptor.

DID_EACEM_PREF_NAME_LIST 

DID for EACEM/EICTA preferred_name_list_descriptor.

DID_EACEM_PREF_NAME_ID 

DID for EACEM/EICTA preferred_name_identifier_descriptor.

DID_EACEM_STREAM_ID 

DID for EACEM/EICTA eacem_stream_identifier_descriptor.

DID_EACEM_HD_SIMULCAST_LCN 

DID for EACEM/EICTA HD_simulcast_logical_channel_number_descriptor.

DID_OFCOM_LOGICAL_CHAN 

DID for OFCOM/DTG logical_channel_descriptor.

DID_OFCOM_PREF_NAME_LST 

DID for OFCOM/DTG preferred_name_list_descriptor.

DID_OFCOM_PREF_NAME_ID 

DID for OFCOM/DTG preferred_name_identifier_descriptor.

DID_OFCOM_SERVICE_ATTR 

DID for OFCOM/DTG service_attribute_descriptor.

DID_OFCOM_SHORT_SRV_NAM 

DID for OFCOM/DTG short_service_name_descriptor.

DID_OFCOM_HD_SIMULCAST 

DID for OFCOM/DTG HD_simulcast_logical_channel_descriptor.

DID_OFCOM_GUIDANCE 

DID for OFCOM/DTG guidance_descriptor.

DID_AUSTRALIA_LOGICAL_CHAN 

DID for Free TV Australia logical_channel_descriptor.

DID_CPLUS_DTG_STREAM_IND 

DID for Canal+ DTG_Stream_indicator_descriptor.

DID_CPLUS_PIO_OFFSET_TIME 

DID for Canal+ pio_offset_time_descriptor.

DID_CPLUS_LOGICAL_CHANNEL_81 

DID for Canal+ logical_channel_descriptor.

DID_CPLUS_PRIVATE2 

DID for Canal+ private_descriptor2.

DID_CPLUS_LOGICAL_CHANNEL 

DID for Canal+ logical_channel_descriptor.

DID_CPLUS_PIO_CONTENT 

DID for Canal+ pio_content_descriptor.

DID_CPLUS_PIO_LOGO 

DID for Canal+ pio_logo_descriptor.

DID_CPLUS_ADSL_DELIVERY 

DID for Canal+ adsl_delivery_system_descriptor.

DID_CPLUS_PIO_FEE 

DID for Canal+ pio_fee_descriptor.

DID_CPLUS_PIO_EVENT_RANGE 

DID for Canal+ pio_event_range_descriptor.

DID_CPLUS_PIO_COPY_MANAGEMENT 

DID for Canal+ pio_copy_management_descriptor.

DID_CPLUS_PIO_COPY_CONTROL 

DID for Canal+ pio_copy_control_descriptor.

DID_CPLUS_PIO_PPV 

DID for Canal+ pio_ppv_descriptor.

DID_CPLUS_PIO_STB_SERVICE_ID 

DID for Canal+ pio_stb_service_id_descriptor.

DID_CPLUS_PIO_MASKING_SERV_ID 

DID for Canal+ pio_masking_service_id_descriptor.

DID_CPLUS_PIO_STB_SERVMAP_UPD 

DID for Canal+ pio_stb_service_map_update_desc.

DID_CPLUS_NEW_SERVICE_LIST 

DID for Canal+ new_service_list_descriptor.

DID_CPLUS_MESSAGE_NAGRA 

DID for Canal+ message_descriptor_Nagra.

DID_CPLUS_ITEM_EVENT 

DID for Canal+ item_event_descriptor.

DID_CPLUS_ITEM_ZAPPING 

DID for Canal+ item_zapping_descriptor.

DID_CPLUS_APPLI_MESSAGE 

DID for Canal+ appli_message_descriptor.

DID_CPLUS_LIST 

DID for Canal+ list_descriptor.

DID_CPLUS_KEY_LIST 

DID for Canal+ key_list_descriptor.

DID_CPLUS_PICTURE_SIGNALLING 

DID for Canal+ picture_signalling_descriptor.

DID_CPLUS_COUNTER_BB 

DID for Canal+ counter_descriptor.

DID_CPLUS_DATA_COMPONENT_BD 

DID for Canal+ data_component_descriptor.

DID_CPLUS_SYSTEM_MGMT_BE 

DID for Canal+ system_management_descriptor.

DID_CPLUS_VO_LANGUAGE 

DID for Canal+ vo_language_descriptor.

DID_CPLUS_DATA_LIST 

DID for Canal+ data_list_descriptor.

DID_CPLUS_APPLI_LIST 

DID for Canal+ appli_list_descriptor.

DID_CPLUS_MESSAGE 

DID for Canal+ message_descriptor.

DID_CPLUS_FILE 

DID for Canal+ file_descriptor.

DID_CPLUS_RADIO_FORMAT 

DID for Canal+ radio_format_descriptor.

DID_CPLUS_APPLI_STARTUP 

DID for Canal+ appli_startup_descriptor.

DID_CPLUS_PATCH 

DID for Canal+ patch_descriptor.

DID_CPLUS_LOADER 

DID for Canal+ loader_descriptor.

DID_CPLUS_CHANNEL_MAP_UPDATE 

DID for Canal+ channel_map_update_descriptor.

DID_CPLUS_PPV 

DID for Canal+ ppv_descriptor.

DID_CPLUS_COUNTER_CB 

DID for Canal+ counter_descriptor.

DID_CPLUS_OPERATOR_INFO 

DID for Canal+ operator_info_descriptor.

DID_CPLUS_SERVICE_DEF_PARAMS 

DID for Canal+ service_default_parameters_desc.

DID_CPLUS_FINGER_PRINTING 

DID for Canal+ finger_printing_descriptor.

DID_CPLUS_FINGER_PRINTING_V2 

DID for Canal+ finger_printing_descriptor_v2.

DID_CPLUS_CONCEALED_GEO_ZONES 

DID for Canal+ concealed_geo_zones_descriptor.

DID_CPLUS_COPY_PROTECTION 

DID for Canal+ copy_protection_descriptor.

DID_CPLUS_MG_SUBSCRIPTION 

DID for Canal+ subscription_descriptor.

DID_CPLUS_CABLE_BACKCH_DELIV 

DID for Canal+ cable_backchannel_delivery_system.

DID_CPLUS_INTERACT_SNAPSHOT 

DID for Canal+ Interactivity_snapshot_descriptor.

DID_CPLUS_ICON_POSITION 

DID for Canal+ icon_position_descriptor.

DID_CPLUS_ICON_PIXMAP 

DID for Canal+ icon_pixmap_descriptor.

DID_CPLUS_ZONE_COORDINATE 

DID for Canal+ Zone_coordinate_descriptor.

DID_CPLUS_HD_APP_CONTROL_CODE 

DID for Canal+ HD_application_control_code_desc.

DID_CPLUS_EVENT_REPEAT 

DID for Canal+ Event_Repeat_descriptor.

DID_CPLUS_PPV_V2 

DID for Canal+ PPV_V2_descriptor.

DID_CPLUS_HYPERLINK_REF 

DID for Canal+ Hyperlink_ref_descriptor.

DID_CPLUS_SHORT_SERVICE 

DID for Canal+ Short_service_descriptor.

DID_CPLUS_OPERATOR_TELEPHONE 

DID for Canal+ Operator_telephone_descriptor.

DID_CPLUS_ITEM_REFERENCE 

DID for Canal+ Item_reference_descriptor.

DID_CPLUS_MH_PARAMETERS 

DID for Canal+ MH_Parameters_descriptor.

DID_CPLUS_LOGICAL_REFERENCE 

DID for Canal+ Logical_reference_descriptor.

DID_CPLUS_DATA_VERSION 

DID for Canal+ Data_Version_descriptor.

DID_CPLUS_SERVICE_GROUP 

DID for Canal+ Service_group_descriptor.

DID_CPLUS_STREAM_LOC_TRANSP 

DID for Canal+ Stream_Locator_Transport_desc.

DID_CPLUS_DATA_LOCATOR 

DID for Canal+ Data_Locator_descriptor.

DID_CPLUS_RESIDENT_APP 

DID for Canal+ resident_application_descriptor.

DID_CPLUS_RESIDENT_APP_SIGNAL 

DID for Canal+ Resident_Application_Signalling.

DID_CPLUS_MH_LOGICAL_REF 

DID for Canal+ MH_Logical_Reference_descriptor.

DID_CPLUS_RECORD_CONTROL 

DID for Canal+ record_control_descriptor.

DID_CPLUS_CMPS_RECORD_CONTROL 

DID for Canal+ cmps_record_control_descriptor.

DID_CPLUS_EPISODE 

DID for Canal+ episode_descriptor.

DID_CPLUS_CMP_SELECTION 

DID for Canal+ CMP_Selection_descriptor.

DID_CPLUS_DATA_COMPONENT_FD 

DID for Canal+ data_component_descriptor.

DID_CPLUS_SYSTEM_MGMT_FE 

DID for Canal+ system_management_descriptor.

DID_SKY_LCN 

DID for BskyB logical_channel_number_by_region_descriptor.

DID_SKY_SERVICE 

DID for BskyB service_descriptor.

DID_AVS3_VIDEO 

DID for AVS3 video descriptor, as defined in T/AI 109.6.

DID_AVS3_AUDIO 

DID for AVS3 audio descriptor, as defined in T/AI 109.7.

DID_AVS2_AUDIO 

DID for AVS2 audio descriptor, as defined in T/AI 109.7.

DID_CUVV_HDR 

DID for UWA HDR Vivid video descriptor, as defined in T/UWA 005.2-1.

DID_AOM_AV1_VIDEO 

DID for AV1 video descriptor, as defined in https://aomediacodec.github.io/av1-mpeg2-ts/.

DID_ATSC_STUFFING 

DID for ATSC stuffing_descriptor.

DID_ATSC_AC3 

DID for ATSC ac3_audio_stream_descriptor.

DID_ATSC_PID 

DID for ATSC program_identifier_descriptor.

DID_ATSC_CAPTION 

DID for ATSC caption_service_descriptor.

DID_ATSC_CONTENT_ADVIS 

DID for ATSC content_advisory_descriptor.

DID_CUE_IDENTIFIER 

DID for SCTE 35 cue_identifier_descriptor.

DID_ATSC_EXT_CHAN_NAME 

DID for ATSC extended_channel_name_descriptor.

DID_ATSC_SERVICE_LOC 

DID for ATSC service_location_descriptor.

DID_ATSC_TIME_SHIFT 

DID for ATSC time_shifted_event_descriptor.

DID_ATSC_COMPONENT_NAME 

DID for ATSC component_name_descriptor.

DID_ATSC_DATA_BRDCST 

DID for ATSC data_broadcast_descriptor.

DID_ATSC_PID_COUNT 

DID for ATSC pid_count_descriptor.

DID_ATSC_DOWNLOAD 

DID for ATSC download_descriptor.

DID_ATSC_MPROTO_ENCAPS 

DID for ATSC multiprotocol_encapsulation_descriptor.

DID_ATSC_DCC_DEPARTING 

DID for ATSC DCC_departing_request_descriptor.

DID_ATSC_DCC_ARRIVING 

DID for ATSC DCC_arriving_request_descriptor.

DID_ATSC_REDIST_CONTROL 

DID for ATSC redistribution_control_descriptor.

DID_ATSC_GENRE 

DID for ATSC genre_descriptor.

DID_ATSC_PRIVATE_INFO 

DID for ATSC private_information_descriptor.

DID_ATSC_ENHANCED_AC3 

DID for ATSC E-AC-3_audio_stream_descriptor.

DID_EAS_INBAND_DETAILS 

DID for SCTE 18 In-Band Details Channel Descriptor.

DID_EAS_INBAND_EXCEPTS 

DID for SCTE 18 In-Band Exceptions Channel Descriptor.

DID_EAS_AUDIO_FILE 

DID for SCTE 18 Audio File Descriptor.

DID_EAS_METADATA 

DID for SCTE 18 / SCTE 164 Emergency Alert Metadata Descriptor.

DID_SPLICE_AVAIL 

DID for SCTE 35 SIT avail_descriptor.

DID_SPLICE_DTMF 

DID for SCTE 35 SIT DTMF_descriptor.

DID_SPLICE_SEGMENT 

DID for SCTE 35 SIT segmentation_descriptor.

DID_SPLICE_TIME 

DID for SCTE 35 SIT time_descriptor.

DID_ISDB_MATERIAL_INFO 

DID for ISDB Material information descriptor, in LIT only (WARNING: conflict with DVB)

DID_ISDB_HYBRID_INFO 

DID for ISDB Hybrid information descriptor (WARNING: conflict with DVB)

DID_ISDB_HIERARCH_TRANS 

DID for ISDB Hierarchical transmission descriptor.

DID_ISDB_COPY_CONTROL 

DID for ISDB Digital copy control descriptor.

DID_ISDB_NETWORK_ID 

DID for ISDB Network identifier descriptor.

DID_ISDB_PART_TS_TIME 

DID for ISDB Partial Transport Stream time descriptor.

DID_ISDB_AUDIO_COMP 

DID for ISDB Audio component descriptor.

DID_ISDB_HYPERLINK 

DID for ISDB Hyperlink descriptor.

DID_ISDB_TARGET_REGION 

DID for ISDB Target region descriptor.

DID_ISDB_DATA_CONTENT 

DID for ISDB Data content descriptor.

DID_ISDB_VIDEO_CONTROL 

DID for ISDB Video decode control descriptor.

DID_ISDB_DOWNLOAD_CONT 

DID for ISDB Download content descriptor.

DID_ISDB_CA_EMM_TS 

DID for ISDB CA_EMM_TS descriptor.

DID_ISDB_CA_CONTRACT 

DID for ISDB CA contract information descriptor.

DID_ISDB_CA_SERVICE 

DID for ISDB CA service descriptor.

DID_ISDB_TS_INFO 

DID for ISDB TS information descriptor.

DID_ISDB_EXT_BROADCAST 

DID for ISDB Extended broadcaster descriptor.

DID_ISDB_LOGO_TRANSM 

DID for ISDB Logo transmission descriptor.

DID_ISDB_BASIC_LOCAL_EV 

DID for ISDB Basic local event descriptor.

DID_ISDB_REFERENCE 

DID for ISDB Reference descriptor.

DID_ISDB_NODE_RELATION 

DID for ISDB Node relation descriptor.

DID_ISDB_SHORT_NODE_INF 

DID for ISDB Short node information descriptor.

DID_ISDB_STC_REF 

DID for ISDB STC reference descriptor.

DID_ISDB_SERIES 

DID for ISDB Series descriptor.

DID_ISDB_EVENT_GROUP 

DID for ISDB Event group descriptor.

DID_ISDB_SI_PARAMETER 

DID for ISDB SI parameter descriptor.

DID_ISDB_BROADCAST_NAME 

DID for ISDB Broadcaster name descriptor.

DID_ISDB_COMP_GROUP 

DID for ISDB Component group descriptor.

DID_ISDB_SI_PRIME_TS 

DID for ISDB SI prime TS descriptor.

DID_ISDB_BOARD_INFO 

DID for ISDB Board information descriptor.

DID_ISDB_LDT_LINKAGE 

DID for ISDB LDT linkage descriptor.

DID_ISDB_CONNECT_TRANSM 

DID for ISDB Connected transmission descriptor.

DID_ISDB_CONTENT_AVAIL 

DID for ISDB Content availability descriptor.

DID_ISDB_EXTENSION 

DID for ISDB extension descriptor.

DID_ISDB_SERVICE_GROUP 

DID for ISDB Service group descriptor.

DID_ISDB_AREA_BCAST_INF 

DID for ISDB Area broadcast information descriptor.

DID_ISDB_NETW_DOWNLOAD 

DID for ISDB Network download content descriptor.

DID_ISDB_DOWNLOAD_PROT 

DID for ISDB Download protection descriptor.

DID_ISDB_CA_ACTIVATION 

DID for ISDB CA activation descriptor.

DID_ISDB_WMCTDS 

DID for ISDB Wired multi-carrier transmission distribution system descriptor.

DID_ISDB_ADV_WDS 

DID for ISDB Advanced wired distribution system descriptor.

DID_ISDB_SCRAMBLE_METH 

DID for ISDB Scramble method descriptor.

DID_ISDB_CA 

DID for ISDB Access control descriptor.

DID_ISDB_CAROUSEL_COMP 

DID for ISDB Carousel compatible composite descriptor.

DID_ISDB_COND_PLAYBACK 

DID for ISDB Conditional playback descriptor.

DID_ISDB_CABLE_TS_DIV 

DID for ISDB Cable TS division system descriptor.

DID_ISDB_TERRES_DELIV 

DID for ISDB Terrestrial delivery system descriptor.

DID_ISDB_PARTIAL_RECP 

DID for ISDB Partial reception descriptor.

DID_ISDB_EMERGENCY_INFO 

DID for ISDB Emergency information descriptor.

DID_ISDB_DATA_COMP 

DID for ISDB Data component descriptor.

DID_ISDB_SYSTEM_MGMT 

DID for ISDB System management descriptor.

◆ anonymous enum

anonymous enum : DID

Extension descriptor tag values (MPEG or DVB extension_descriptor)

Enumerator
XDID_NULL 

Invalid EDID value, can be used as placeholder.

XDID_MPEG_OBJ_DESC_UPD 

Ext.DID for ObjectDescriptorUpdate.

XDID_MPEG_HEVC_TIM_HRD 

Ext.DID for HEVC_timing_and_HRD_descriptor.

XDID_MPEG_AF_EXT 

Ext.DID for AF_extensions_descriptor.

XDID_MPEG_HEVC_OP_POINT 

Ext.DID for HEVC_operation_point_descriptor.

XDID_MPEG_HEVC_HIER_EXT 

Ext.DID for HEVC_hierarchy_extension_descriptor.

XDID_MPEG_GREEN_EXT 

Ext.DID for green_extension_descriptor.

XDID_MPEG_MPH3D_AUDIO 

Ext.DID for MPEGH_3D_audio_descriptor.

XDID_MPEG_MPH3D_CONFIG 

Ext.DID for MPEGH_3D_audio_config_descriptor.

XDID_MPEG_MPH3D_SCENE 

Ext.DID for MPEGH_3D_audio_scene_descriptor.

XDID_MPEG_MPH3D_TEXT 

Ext.DID for MPEGH_3D_audio_text_label_descriptor.

XDID_MPEG_MPH3D_MULTI 

Ext.DID for MPEGH_3D_audio_multi_stream_descriptor.

XDID_MPEG_MPH3D_DRCLOUD 

Ext.DID for MPEGH_3D_audio_DRC_loudness_descriptor.

XDID_MPEG_MPH3D_COMMAND 

Ext.DID for MPEGH_3D_audio_command_descriptor.

XDID_MPEG_QUALITY_EXT 

Ext.DID for quality_extension_descriptor.

XDID_MPEG_VIRT_SEGMENT 

Ext.DID for virtual_segmentation_descriptor.

XDID_MPEG_TIMED_METADATA_EXT 

Ext.DID for timed_metadata_extension_descriptor.

XDID_MPEG_HEVC_TILE_SSTRM 

Ext.DID for HEVC_tile_substream_descriptor.

XDID_MPEG_HEVC_SUBREGION 

Ext.DID for HEVC_subregion_descriptor.

XDID_MPEG_JXS_VIDEO 

Ext.DID for JXS_video_descriptor.

XDID_MPEG_VVC_TIM_HRD 

Ext.DID for VVC_timing_and_HRD_descriptor.

XDID_MPEG_EVC_TIM_HRD 

Ext.DID for EVC_timing_and_HRD_descriptor.

XDID_MPEG_LCEVC_VIDEO 

Ext.DID for LCEVC_video_descriptor.

XDID_MPEG_LCEVC_LINKAGE 

Ext.DID for LCEVC_linkage_descriptor.

XDID_MPEG_MEDIA_SVC_KIND 

Ext.DID for Media_service_kind_descriptor.

XDID_DVB_IMAGE_ICON 

Ext.DID for image_icon_descriptor.

XDID_DVB_CPCM_DELIVERY_SIG 

Ext.DID for cpcm_delivery_signalling_descriptor.

XDID_DVB_CP 

Ext.DID for CP_descriptor.

XDID_DVB_CP_IDENTIFIER 

Ext.DID for CP_identifier_descriptor.

XDID_DVB_T2_DELIVERY 

Ext.DID for T2_delivery_system_descriptor.

XDID_DVB_SH_DELIVERY 

Ext.DID for SH_delivery_system_descriptor.

XDID_DVB_SUPPL_AUDIO 

Ext.DID for supplementary_audio_descriptor.

XDID_DVB_NETW_CHANGE_NOTIFY 

Ext.DID for network_change_notify_descriptor.

XDID_DVB_MESSAGE 

Ext.DID for message_descriptor.

XDID_DVB_TARGET_REGION 

Ext.DID for target_region_descriptor.

XDID_DVB_TARGET_REGION_NAME 

Ext.DID for target_region_name_descriptor.

XDID_DVB_SERVICE_RELOCATED 

Ext.DID for service_relocated_descriptor.

XDID_DVB_XAIT_PID 

Ext.DID for XAIT_PID_descriptor.

XDID_DVB_C2_DELIVERY 

Ext.DID for C2_delivery_system_descriptor.

XDID_DVB_DTS_HD_AUDIO 

Ext.DID for DTS_HD_audio_stream_descriptor.

XDID_DVB_DTS_NEURAL 

Ext.DID for DTS_Neural_descriptor.

XDID_DVB_VIDEO_DEPTH_RANGE 

Ext.DID for video_depth_range_descriptor.

XDID_DVB_T2MI 

Ext.DID for T2MI_descriptor.

XDID_DVB_URI_LINKAGE 

Ext.DID for URI_linkage_descriptor.

XDID_DVB_CI_ANCILLARY_DATA 

Ext.DID for CI_ancillary_data_descriptor.

XDID_DVB_AC4 

Ext.DID for AC4_descriptor.

XDID_DVB_C2_BUNDLE_DELIVERY 

Ext.DID for C2_bundle_system_delivery_descriptor.

XDID_DVB_S2X_DELIVERY 

Ext.DID for S2X_satellite_delivery_system_descriptor.

XDID_DVB_PROTECTION_MSG 

Ext.DID for protection_message_descriptor.

XDID_DVB_AUDIO_PRESELECT 

Ext.DID for audio_preselection_descriptor.

XDID_DVB_TTML_SUBTITLING 

Ext.DID for TTML_subtitling_descriptor.

XDID_DVB_DTS_UHD 

Ext.DID for DTS-UHD_descriptor.

XDID_DVB_SERVICE_PROMINENCE 

Ext.DID for service_prominence_descriptor.

XDID_DVB_VVC_SUBPICTURES 

Ext.DID for vvc_subpictures_descriptor.

XDID_DVB_S2XV2_DELIVERY 

Ext.DID for S2Xv2_satellite_delivery_system_descriptor.

◆ anonymous enum

anonymous enum : uint8_t

Running status values (in RST, EIT, etc.)

Enumerator
RS_UNDEFINED 

Undefined.

RS_NOT_RUNNING 

Not running.

RS_STARTING 

Starts in a few seconds (e.g. for video recording)

RS_PAUSING 

Pausing.

RS_RUNNING 

Running.

RS_OFF_AIR 

Service off-air.

◆ anonymous enum

anonymous enum : uint8_t

Scrambling mode values (in scrambling_descriptor)

Enumerator
SCRAMBLING_DVB_CSA1 

DVB-CSA1.

SCRAMBLING_DVB_CSA2 

DVB-CSA2.

SCRAMBLING_DVB_CSA3 

DVB-CSA3.

SCRAMBLING_DVB_CSA3_MIN 

DVB-CSA3, minimally enhanced mode (obsolete)

SCRAMBLING_DVB_CSA3_FULL 

DVB-CSA3, fully enhanced mode (obsolete)

SCRAMBLING_DVB_CISSA1 

DVB-CISSA v1.

SCRAMBLING_ATIS_IIF_IDSA 

ATIS IIF IDSA for MPEG-2 TS.

SCRAMBLING_USER_MIN 

First user-defined value.

SCRAMBLING_DUCK_AES_CBC 

TSDuck-defined value, AES-128-CBC (with externally-defined IV).

SCRAMBLING_DUCK_AES_CTR 

TSDuck-defined value, AES-128-CTR (with externally-defined IV).

SCRAMBLING_USER_MAX 

Last user-defined value.

SCRAMBLING_RESERVED 

Reserved value.

◆ anonymous enum

anonymous enum : uint16_t

Data broadcast id values (in data_broadcast[_id]_descriptor)

Enumerator
DBID_DATA_PIPE 

Data pipe.

DBID_ASYNC_DATA_STREAM 

Asynchronous data stream.

DBID_SYNC_DATA_STREAM 

Synchronous data stream.

DBID_SYNCED_DATA_STREAM 

Synchronised data stream.

DBID_MPE 

Multi protocol encapsulation.

DBID_DATA_CSL 

Data Carousel.

DBID_OBJECT_CSL 

Object Carousel.

DBID_ATM 

DVB ATM streams.

DBID_HP_ASYNC_DATA_STREAM 

Higher Protocols based on asynchronous data streams.

DBID_SSU 

System Software Update service [TS 102 006].

DBID_IPMAC_NOTIFICATION 

IP/MAC Notification service [EN 301 192].

DBID_MHP_OBJECT_CSL 

MHP Object Carousel.

DBID_MHP_MPE 

Reserved for MHP Multi Protocol Encapsulation.

DBID_EUTELSAT_DATA_PIPE 

Eutelsat Data Piping.

DBID_EUTELSAT_DATA_STREAM 

Eutelsat Data Streaming.

DBID_SAGEM_IP 

SAGEM IP encapsulation in MPEG-2 PES packets.

DBID_BARCO_DATA_BRD 

BARCO Data Broadcasting.

DBID_CIBERCITY_MPE 

CyberCity Multiprotocol Encapsulation.

DBID_CYBERSAT_MPE 

CyberSat Multiprotocol Encapsulation.

DBID_TDN 

The Digital Network.

DBID_OPENTV_DATA_CSL 

OpenTV Data Carousel.

DBID_PANASONIC 

Panasonic.

DBID_KABEL_DEUTSCHLAND 

Kabel Deutschland.

DBID_TECHNOTREND 

TechnoTrend Gorler GmbH.

DBID_MEDIAHIGHWAY_SSU 

NDS France Technologies system software download.

DBID_GUIDE_PLUS 

GUIDE Plus+ Rovi Corporation.

DBID_ACAP_OBJECT_CSL 

ACAP Object Carousel.

DBID_MICRONAS 

Micronas Download Stream.

DBID_POLSAT 

Televizja Polsat.

DBID_DTG 

UK DTG.

DBID_SKYMEDIA 

SkyMedia.

DBID_INTELLIBYTE 

Intellibyte DataBroadcasting.

DBID_TELEWEB_DATA_CSL 

TeleWeb Data Carousel.

DBID_TELEWEB_OBJECT_CSL 

TeleWeb Object Carousel.

DBID_TELEWEB 

TeleWeb.

DBID_BBC 

BBC.

DBID_ELECTRA 

Electra Entertainment Ltd.

DBID_BBC_2_3 

BBC 2 - 3.

DBID_TELETEXT 

Teletext.

DBID_SKY_DOWNLOAD_1_5 

Sky Download Streams 1-5.

DBID_ICO 

ICO mim.

DBID_CIPLUS_DATA_CSL 

CI+ Data Carousel.

DBID_HBBTV 

HBBTV Carousel.

DBID_ROVI_PREMIUM 

Premium Content from Rovi Corporation.

DBID_MEDIA_GUIDE 

Media Guide from Rovi Corporation.

DBID_INVIEW 

InView Technology Ltd.

DBID_BOTECH 

Botech Elektronik SAN. ve TIC. LTD.STI.

DBID_SCILLA_PUSHVOD_CSL 

Scilla Push-VOD Carousel.

DBID_CANAL_PLUS 

Canal+.

DBID_OIPF_OBJECT_CSL 

OIPF Object Carousel - Open IPTV Forum.

DBID_4TV 

4TV Data Broadcast

DBID_NOKIA_IP_SSU 

Nokia IP based software delivery.

DBID_BBG_DATA_CSL 

BBG Data Caroussel.

DBID_BBG_OBJECT_CSL 

BBG Object Caroussel.

DBID_BBG 

Bertelsmann Broadband Group.

◆ anonymous enum

anonymous enum : uint16_t

DVB-MHP transport protocol ids.

Enumerator
MHP_PROTO_CAROUSEL 

MHP Object Carousel.

MHP_PROTO_MPE 

IP via DVB-MPE.

MHP_PROTO_HTTP 

HTTP over interaction channel.

◆ MJDFormat

Storage format of Modified Julian Dates as used by DVB.

The original DVB format is a weird one, a mixture of binary format (for the date) and Binary Coded Decimal (BCD) for the time. The full version, date and time, uses 5 bytes. The short version, date only, uses 2 bytes.

Because the original DVB format reaches its upper limit in April 2038, it is expected that future enhanced formats will be defined. Currently, only the original full and short formats are defined.

Implementation guidelines: when new formats are defined, make sure to define values which, modulo 10, are equel to the corresponding storage size. If new formats introduce variable sizes, then reimplement the function MJDSize();

Enumerator
MJD_FULL 

Original DVB format, date and time.

MJD_DATE 

Original DVB format, date only.

◆ anonymous enum

anonymous enum : PDS

Selected DVB-registered private data specifier (PDS) values.

Enumerator
PDS_BSKYB 

Private data specifier for BskyB (1).

PDS_BSKYB_2 

Private data specifier for BskyB (2).

PDS_BSKYB_3 

Private data specifier for BskyB (3).

PDS_NAGRA 

Private data specifier for Nagra (1).

PDS_NAGRA_2 

Private data specifier for Nagra (2).

PDS_NAGRA_3 

Private data specifier for Nagra (3).

PDS_NAGRA_4 

Private data specifier for Nagra (4).

PDS_NAGRA_5 

Private data specifier for Nagra (5).

PDS_TPS 

Private data specifier for TPS.

PDS_EACEM 

Private data specifier for EACEM / EICTA.

PDS_EICTA 

Private data specifier for EACEM / EICTA.

PDS_NORDIG 

Private data specifier for NorDig (Northern Europe and Ireland).

PDS_LOGIWAYS 

Private data specifier for Logiways.

PDS_CANALPLUS 

Private data specifier for Canal+.

PDS_EUTELSAT 

Private data specifier for EutelSat.

PDS_OFCOM 

Private data specifier for DTT UK (OFCOM, formerly ITC).

PDS_AUSTRALIA 

Private data specifier for Free TV Australia.

PDS_AOM 

Private data specifier for the Alliance for Open Media (AOM) (value is "AOMS" in ASCII).

PDS_AVSAudio 

Private data specifier for AVS Working Group of China (value is "AVSA" in ASCII).

PDS_AVSVideo 

Private data specifier for AVS Working Group of China (value is "AVSV" in ASCII).

PDS_NULL 

An invalid private data specifier, can be used as placeholder.

◆ anonymous enum

anonymous enum : REGID

Registration id (a.k.a "format identifier") values in MPEG-defined registration_descriptor.

Should be found in the list maintained by the SMPTE Registration Authority, LLC https://www.smpte-ra.org/registered-mpeg-ts-ids

Enumerator
REGID_AC3 

Advanced Television Systems Committee.

REGID_AOM 

Alliance for Open Media.

REGID_AVSAudio 

Audio Video Coding Standard Working Group of China.

REGID_AVSVideo 

Audio Video Coding Standard Working Group of China.

REGID_CUEI 

Society of Cable Telecommunications Engineers (SCTE-35 splice information).

REGID_DTG1 

Digital TV Group.

REGID_EAC3 

Dolby Laboratories, Inc.

REGID_GA94 

Advanced Television Systems Committee (ATSC).

REGID_HDMV 

Sony Corporation (BluRay disks).

REGID_HEVC 

"HEVC" registration identifier (unofficial, used in legacy streams).

REGID_KLVA 

Society of Motion Picture and Television Engineers.

REGID_SCTE 

Society of Cable Telecommunications Engineers.

REGID_CUVV 

UHD World Association ("cuvv") registration identifier (registration procedure in progress).

REGID_NULL 

Unassigned registration identifier.

◆ anonymous enum

anonymous enum : uint8_t

Cue stream type values in cue_identifier_descriptor.

Enumerator
CUE_INSERT_NULL_SCHEDULE 

Only splice_insert, splice_null, splice_schedule are allowed in this PID.

CUE_ALL_COMMANDS 

All messages can be used in this PID.

CUE_SEGMENTATION 

This PID carries the time_signal command and the segmentation descriptor.

CUE_TIERED_SPLICING 

Tiered Splicing .

CUE_TIERED_SEGMENTATION 

Tiered Segmentation.

◆ anonymous enum

anonymous enum : uint8_t

Splice commands in Splice Information Table.

Enumerator
SPLICE_NULL 

SpliceNull.

SPLICE_SCHEDULE 

SpliceSchedule.

SPLICE_INSERT 

SpliceInsert.

SPLICE_TIME_SIGNAL 

TimeSignal.

SPLICE_BANDWIDTH_RESERVATION 

BandwidthReservation.

SPLICE_PRIVATE_COMMAND 

PrivateCommand.

◆ SectionFormat

enum class ts::SectionFormat
strong

Storage formats for PSI/SI sections and tables.

Enumerator
UNSPECIFIED 

Unspecified, depends on context, such as file name extension.

BINARY 

Binary sections.

XML 

XML tables representation.

JSON 

JSON (translated XML) tables representation.

◆ anonymous enum

anonymous enum : uint8_t

Stream type values, as used in the PMT.

Enumerator
ST_NULL 

Invalid stream type value, used to indicate an absence of value.

ST_MPEG1_VIDEO 

MPEG-1 Video.

ST_MPEG2_VIDEO 

MPEG-2 Video.

ST_MPEG1_AUDIO 

MPEG-1 Audio.

ST_MPEG2_AUDIO 

MPEG-2 Audio.

ST_PRIV_SECT 

MPEG-2 Private sections.

ST_PES_PRIV 

MPEG-2 PES private data.

ST_MHEG 

MHEG.

ST_DSMCC 

DSM-CC.

ST_MPEG2_ATM 

MPEG-2 over ATM.

ST_DSMCC_MPE 

DSM-CC Multi-Protocol Encapsulation.

ST_DSMCC_UN 

DSM-CC User-to-Network messages.

ST_DSMCC_SD 

DSM-CC Stream Descriptors.

ST_DSMCC_SECT 

DSM-CC Sections.

ST_MPEG2_AUX 

MPEG-2 Auxiliary.

ST_AAC_AUDIO 

Advanced Audio Coding (ISO 13818-7)

ST_MPEG4_VIDEO 

MPEG-4 Video.

ST_MPEG4_AUDIO 

MPEG-4 Audio.

ST_MPEG4_PES 

MPEG-4 SL or M4Mux in PES packets.

ST_MPEG4_SECT 

MPEG-4 SL or M4Mux in sections.

ST_DSMCC_DLOAD 

DSM-CC Synchronized Download Protocol.

ST_MDATA_PES 

MPEG-7 MetaData in PES packets.

ST_MDATA_SECT 

MPEG-7 MetaData in sections.

ST_MDATA_DC 

MPEG-7 MetaData in DSM-CC Data Carousel.

ST_MDATA_OC 

MPEG-7 MetaData in DSM-CC Object Carousel.

ST_MDATA_DLOAD 

MPEG-7 MetaData in DSM-CC Sync Downl Proto.

ST_MPEG2_IPMP 

MPEG-2 IPMP stream.

ST_AVC_VIDEO 

AVC video.

ST_MPEG4_AUDIO_RAW 

ISO/IEC 14496-3 Audio, without using any additional transport syntax, such as DST, ALS and SLS.

ST_MPEG4_TEXT 

ISO/IEC 14496-17 Text.

ST_AUX_VIDEO 

Auxiliary video stream as defined in ISO/IEC 23002-3.

ST_AVC_SUBVIDEO_G 

SVC video sub-bitstream of an AVC video stream, Annex G of ISO 14496-10.

ST_AVC_SUBVIDEO_H 

MVC video sub-bitstream of an AVC video stream, Annex H of ISO 14496-10.

ST_J2K_VIDEO 

JPEG 2000 video stream ISO/IEC 15444-1.

ST_MPEG2_3D_VIEW 

Additional view ISO/IEC 13818-2 video stream for stereoscopic 3D services.

ST_AVC_3D_VIEW 

Additional view ISO/IEC 14496-10 video stream for stereoscopic 3D services.

ST_HEVC_VIDEO 

HEVC video.

ST_HEVC_SUBVIDEO 

HEVC temporal video subset of an HEVC video stream.

ST_AVC_SUBVIDEO_I 

MVCD video sub-bitstream of an AVC video stream, Annex I of ISO 14496-10.

ST_EXT_MEDIA 

Timeline and External Media Information Stream.

ST_HEVC_SUBVIDEO_G 

HEVC enhancement sub-partition, Annex G of ISO 23008-2.

ST_HEVC_SUBVIDEO_TG 

HEVC temporal enhancement sub-partition, Annex G of ISO 23008-2.

ST_HEVC_SUBVIDEO_H 

HEVC enhancement sub-partition, Annex H of ISO 23008-2.

ST_HEVC_SUBVIDEO_TH 

HEVC temporal enhancement sub-partition, Annex H of ISO 23008 - 2.

ST_GREEN 

Green access units carried in MPEG-2 sections.

ST_MPH3D_MAIN 

ISO 23008-3 Audio with MHAS transport syntax - main stream.

ST_MPH3D_AUX 

ISO 23008-3 Audio with MHAS transport syntax - auxiliary stream.

ST_QUALITY 

Quality access units carried in sections.

ST_MEDIA_ORCHESTR 

Media Orchestration Access Units carried in sections.

ST_HEVC_TILESET 

HEVC substream containing Motion Constrained Tile Set.

ST_JPEG_XS_VIDEO 

JPEG XS video stream conforming to ISO/IEC 21122-2.

ST_VVC_VIDEO 

VVC/H.266 video or VVC/H.266 temporal subvideo.

ST_VVC_VIDEO_SUBSET 

VVC/H.266 temporal video subset of a VVC video stream.

ST_EVC_VIDEO 

EVC video or EVC temporal sub-video.

ST_LCEVC_VIDEO 

LCEVC video stream according to ISO/IEC 23094-2.

ST_CHINESE_VIDEO 

Chinese Video Standard.

ST_IPMP 

IPMP stream.

ST_DGC_II_VIDEO 

DigiCipher II Video.

ST_AC3_AUDIO 

AC-3 Audio (ATSC only)

ST_AC3_TRUEHD_AUDIO 

ATSC AC-3 True HD Audio.

ST_AC3_PLUS_AUDIO 

ATSC AC-3+ Audio.

ST_SCTE35_SPLICE 

SCTE 35 splice information tables.

ST_EAC3_AUDIO 

Enhanced-AC-3 Audio (ATSC only)

ST_A52B_AC3_AUDIO 

A52b/AC-3 Audio.

ST_MS_VIDEO 

MSCODEC Video.

ST_VC1 

Private ES (VC-1)

ST_LPCM_AUDIO 

LPCM Audio.

ST_HDMV_AC3 

HDMV AC-3 Audio.

ST_DTS_AUDIO 

HDMV DTS Audio.

ST_HDMV_AC3_TRUEHD 

HDMV AC-3 True HD Audio.

ST_HDMV_AC3_PLUS 

HDMV AC-3+ Audio.

ST_DTS_HS_AUDIO 

DTS-HD Audio.

ST_DTS_HD_MA_AUDIO 

DTS-HD Master Audio.

ST_HDMV_EAC3 

HDMV Enhanced-AC-3 Audio.

ST_DTS_AUDIO_8A 

DTS Audio.

ST_SUBPIC_PGS 

Subpicture PGS.

ST_IGS 

IGS.

ST_DVD_SUBTITLES 

DVD_SPU vls Subtitle.

ST_SDDS_AUDIO 

SDDS Audio.

ST_HDMV_AC3_PLS_SEC 

HDMV AC-3+ Secondary Audio.

ST_DTS_HD_SEC 

DTS-HD Secondary Audio.

ST_AVS2_AUDIO 

AVS2 audio.

ST_AVS3_VIDEO 

AVS3 video.

ST_AVS3_AUDIO 

AVS3 audio.

◆ anonymous enum

anonymous enum : TID

Table identification (TID) values.

Enumerator
TID_PAT 

Table id for Program Association Table PAT.

TID_CAT 

Table id for Conditional Access Table.

TID_PMT 

Table id for Program Map Table.

TID_TSDT 

Table id for Transport Stream Description Table.

TID_MP4SDT 

Table id for MPEG-4 Scene Description Table.

TID_MP4ODT 

Table id for MPEG-4 Object Descriptor Table.

TID_MDT 

Table id for MetaData Table.

TID_IPMP_CT 

Table id for IPMP Control Information Table (ISO/IEC 13818-11)

TID_ISO_14496 

Table id for ISO/IEC-14496 Table.

TID_ISO_23001_11 

Table id for ISO/IEC 23001-11 Green Access Unit Table.

TID_ISO_23001_10 

Table id for ISO/IEC 23001-10 Quality Access Unit Table.

TID_DSMCC_MPE 

Table id for DSM-CC Multi-Protocol Encapsulated data.

TID_DSMCC_UNM 

Table id for DSM-CC User-to-Network Messages.

TID_DSMCC_DDM 

Table id for DSM-CC Download Data Messages.

TID_DSMCC_SD 

Table id for DSM-CC Stream Descriptors.

TID_DSMCC_PD 

Table id for DSM-CC Private Data.

TID_MPEG_LAST 

Last MPEG-defined table id.

TID_NULL 

Reserved table id value, end of TS packet PSI payload.

TID_NIT_ACT 

Table id for Network Information Table - Actual network.

TID_NIT_OTH 

Table id for Network Information Table - Other network.

TID_SDT_ACT 

Table id for Service Description Table - Actual TS.

TID_SDT_OTH 

Table id for Service Description Table - Other TS.

TID_BAT 

Table id for Bouquet Association Table.

TID_UNT 

Table id for Update Notification Table (SSU, ETSI TS 102 006)

TID_INT 

Table id for IP/MAC Notification Table (MPE, ETSI EN 301 192)

TID_SAT 

Table id for Satellite Access Table.

TID_EIT_PF_ACT 

Table id for EIT present/following - Actual network.

TID_EIT_PF_OTH 

Table id for EIT present/following - Other network.

TID_EIT_S_ACT_MIN 

Table id for EIT schedule - Actual network.

TID_EIT_S_ACT_MAX 

Table id for EIT schedule - Actual network.

TID_EIT_S_OTH_MIN 

Table id for EIT schedule - Other network.

TID_EIT_S_OTH_MAX 

Table id for EIT schedule - Other network.

TID_TDT 

Table id for Time & Date Table.

TID_RST 

Table id for Running Status Table.

TID_ST 

Table id for Stuffing Table.

TID_TOT 

Table id for Time Offset Table.

TID_AIT 

Table id for Application Information Table (HbbTV, ETSI TS 102 809)

TID_CT 

Table id for Container Table (TV-Anytime)

TID_RCT 

Table id for Related Content Table (TV-Anytime)

TID_CIT 

Table id for Content Identifier Table (TV-Anytime)

TID_MPE_FEC 

Table id for MPE-FEC Table (Data Broadcasting)

TID_RNT 

Table id for Resolution Notification Table (TV-Anytime)

TID_MPE_IFEC 

Table id for MPE-IFEC Table.

TID_DIT 

Table id for Discontinuity Information Table.

TID_SIT 

Table id for Selection Information Table.

TID_ECM_80 

Table id for ECM 80.

TID_ECM_81 

Table id for ECM 81.

TID_EMM_FIRST 

Start of Table id range for EMM's.

TID_EMM_82 

Table id for EMM 82.

TID_EMM_83 

Table id for EMM 83.

TID_EMM_84 

Table id for EMM 84.

TID_EMM_85 

Table id for EMM 85.

TID_EMM_86 

Table id for EMM 86.

TID_EMM_87 

Table id for EMM 87.

TID_EMM_88 

Table id for EMM 88.

TID_EMM_89 

Table id for EMM 89.

TID_EMM_8A 

Table id for EMM 8A.

TID_EMM_8B 

Table id for EMM 8B.

TID_EMM_8C 

Table id for EMM 8C.

TID_EMM_8D 

Table id for EMM 8D.

TID_EMM_8E 

Table id for EMM 8E.

TID_EMM_8F 

Table id for EMM 8F.

TID_EMM_LAST 

End of Table id range for EMM's.

TID_EIT_MIN 

Table id for EIT, first TID.

TID_EIT_MAX 

Table id for EIT, last TID.

TID_CAS_FIRST 

Start of Table id range for CAS.

TID_CAS_LAST 

End of Table id range for CAS.

TID_SA_CECM_82 

Table id for SafeAccess Complementary ECM.

TID_SA_CECM_83 

Table id for SafeAccess Complementary ECM.

TID_SA_EMM_STB_U 

Table id for SafeAccess STB or CI-CAM unique EMM.

TID_SA_EMM_STB_G 

Table id for SafeAccess STB global EMM.

TID_SA_EMM_A 

Table id for SafeAccess Global EMM ("all")

TID_SA_EMM_U 

Table id for SafeAccess Unique EMM.

TID_SA_EMM_S 

Table id for SafeAccess Group EMM ("shared")

TID_SA_EMM_CAM_G 

Table id for SafeAccess CI-CAM global EMM.

TID_SA_RECM_8A 

Table id for SafeAccess Record ECM.

TID_SA_RECM_8B 

Table id for SafeAccess Record ECM.

TID_SA_EMM_T 

Table id for SafeAccess Technical EMM.

TID_LW_DMT 

Table id for Logiways Download Marker Table.

TID_LW_BDT 

Table id for Logiways Binary Data Table.

TID_LW_VIT 

Table id for Logiways VoD Information Table.

TID_LW_VCT 

Table id for Logiways VoD Command Table.

TID_VIA_EMM_FT_E 

Table id for Viaccess EMM-FT (even)

TID_VIA_EMM_FT_O 

Table id for Viaccess EMM-FT (odd)

TID_VIA_EMM_U 

Table id for Viaccess EMM-U and EMM-D-U.

TID_VIA_EMM_GA_E 

Table id for Viaccess EMM-GA and EMM-D-GA (even)

TID_VIA_EMM_GA_O 

Table id for Viaccess EMM-GA and EMM-D-GA (odd)

TID_VIA_EMM_GH_E 

Table id for Viaccess EMM-GH (even)

TID_VIA_EMM_GH_O 

Table id for Viaccess EMM-GH (odd)

TID_VIA_EMM_S 

Table id for Viaccess EMM-S.

TID_MG_EMM_U 

Table id for MediaGuard EMM-U.

TID_MG_EMM_A 

Table id for MediaGuard EMM-A.

TID_MG_EMM_G 

Table id for MediaGuard EMM-G.

TID_MG_EMM_I 

Table id for MediaGuard EMM-I.

TID_MG_EMM_C 

Table id for MediaGuard EMM-C.

TID_MG_EMM_CG 

Table id for MediaGuard EMM-CG.

TID_MGT 

Table id for Master Guide Table.

TID_TVCT 

Table id for Terrestrial Virtual Channel Table.

TID_CVCT 

Table id for Cable Virtual Channel Table.

TID_RRT 

Table id for Rating Region Table.

TID_ATSC_EIT 

Table id for Event Information Table (ATSC version)

TID_ETT 

Table id for Extended Text Table.

TID_STT 

Table id for System Time Table.

TID_DCCT 

Table id for Directed Channel Change Table.

TID_DCCSCT 

Table id for Directed Channel Change Selection Code Table.

TID_SCTE18_EAS 

Table id for SCTE 18 Emergency Alert System.

TID_SCTE35_SIT 

Table id for SCTE 35 Splice Information Table.

TID_DCT 

Table id for Download Control Table (ISDB)

TID_DLT 

Table id for DownLoad Table (ISDB)

TID_PCAT 

Table id for Partial Content Announcement Table (ISDB)

TID_SDTT 

Table id for Software Download Trigger Table (ISDB)

TID_BIT 

Table id for Broadcaster Information Table (ISDB)

TID_NBIT_BODY 

Table id for Network Board Information Table (information body) (ISDB)

TID_NBIT_REF 

Table id for Network Board Information Table (reference to information) (ISDB)

TID_LDT 

Table id for Linked Description Table (ISDB)

TID_CDT 

Table id for Common Data Table (ISDB)

TID_LIT 

Table id for Local Event Information Table (ISDB)

TID_ERT 

Table id for Event Relation Table (ISDB)

TID_ITT 

Table id for Index Transmission Table (ISDB)

TID_AMT 

Table id for Address Map Table (ISDB)

◆ OUI

enum class ts::OUI
strong

Some IEEE-assigned Organizationally Unique Identifier (OUI) values.

Enumerator
DVB 

OUI for Digital Video Broadcasting.

SKARDIN 

OUI for Skardin (UK)

LOGIWAYS 

OUI for Logiways.

◆ T2MIPacketType

enum class ts::T2MIPacketType : uint8_t
strong

T2-MI packet types.

See also
ETSI EN 102 773, section 5.1.
Enumerator
BASEBAND_FRAME 

Baseband Frame.

AUX_IQ_DATA 

Auxiliary stream I/Q data.

ARBITRARY_CELL 

Arbitrary cell insertion.

L1_CURRENT 

L1-current.

L1_FUTURE 

L1-future.

P2_BIAS_BALANCING 

P2 bias balancing cells.

DVBT2_TIMESTAMP 

DVB-T2 timestamp.

INDIVIDUAL_ADDRESSING 

Individual addressing.

FEF_NULL 

FEF part: Null.

FEF_IQ_DATA 

FEF part: I/Q data.

FEF_COMPOSITE 

FEF part: composite.

FEF_SUBPART 

FEF sub-part.

INVALID_TYPE 

Invalid T2MI packet (non standard value).

◆ TableScope

enum class ts::TableScope
strong

Define the scope of tables which can apply to actual or other TS.

Those tables are typically NIT, SDT and EIT. This enum type can be used to select a subset of such tables.

Enumerator
NONE 

Select no table at all.

ACTUAL 

Select "actual" tables only, ignore "other" tables.

ALL 

Select all tables, "actual" and "other".

◆ TeletextDataUnitId

enum class ts::TeletextDataUnitId : uint8_t
strong

Teletext data unit ids.

See also
ETSI EN 300 472
Enumerator
NON_SUBTITLE 

Data_unit_id for EBU Teletext non-subtitle data.

SUBTITLE 

Data_unit_id for EBU Teletext subtitle data.

INVERTED 

Data_unit_id for EBU EBU Teletext Inverted (extension ?).

VPS 

Data_unit_id for VPS (extension ?).

CLOSED_CAPTIONS 

Data_unit_id for Closed Caption (extension ?).

STUFFING 

Data_unit_id for stuffing data.

◆ TimeSource

enum class ts::TimeSource : uint8_t
strong

Sources of time information for transport streams.

Enumerator
UNDEFINED 

Undefined source of time information.

HARDWARE 

Hardware-generated time, any local hardware (NIC for instance).

KERNEL 

OS kernel time stamp.

TSP 

Application time stamp, generated by tsp when the chunk of TS packets is received.

RTP 

RTP (Real Time Protocol) time stamp.

SRT 

SRT (Secure Reliable Transport) source time.

M2TS 

M2TS Bluray-style time stamp.

PCR 

PCR (Program Clock Reference), the transport stream system clock.

DTS 

DTS (Decoding Time Stamp), in a video or audio stream.

PTS 

PTS (Presentation Time Stamp), in a video or audio stream.

PCAP 

Timestamp from a pcap or pcap-ng file.

RIST 

RIST (Reliable Internet Stream Transport) source time.

◆ anonymous enum

anonymous enum : uint8_t

Scrambling_control values (used in TS and PES packets headers)

Enumerator
SC_CLEAR 

Not scrambled (MPEG-defined).

SC_DVB_RESERVED 

Reserved for future use by DVB.

SC_EVEN_KEY 

Scrambled with even key (DVB-defined).

SC_ODD_KEY 

Scrambled with odd key (DVB-defined).

◆ BitRateConfidence

enum class ts::BitRateConfidence
strong

Confidence in a bitrate value.

Bitrates can be provided by various sources, some being more reliable than others. Each bitrate value or computation is associated with a "level of confidence". This enumeration type lists various levels of confidence in increasing order. When evaluating a bitrate from several values, the one with highest confidence is used.

Enumerator
LOW 

Low confidence, used as last resort.

PCR_CONTINUOUS 

Evaluated from PCR's, continuously adjusted.

PCR_AVERAGE 

Evaluated from PCR's, average all over the stream.

CLOCK 

Evaluated using the system clock on a real-time stream.

HARDWARE 

Reported by hardware input device (demodulator, ASI).

OVERRIDE 

Highest level, overrides any other value (user-defined for instance).

◆ anonymous enum

anonymous enum : PID

Predefined PID values.

Enumerator
PID_PAT 

PID for Program Association Table PAT.

PID_CAT 

PID for Conditional Access Table.

PID_TSDT 

PID for Transport Stream Description Table.

PID_MPEG_LAST 

Last reserved PID for MPEG.

PID_DVB_FIRST 

First reserved PID for DVB.

PID_NIT 

PID for Network Information Table.

PID_SDT 

PID for Service Description Table.

PID_BAT 

PID for Bouquet Association Table.

PID_EIT 

PID for Event Information Table.

PID_CIT 

PID for Content Identifier Table (TV-Anytime)

PID_RST 

PID for Running Status Table.

PID_TDT 

PID for Time & Date Table.

PID_TOT 

PID for Time Offset Table.

PID_NETSYNC 

PID for Network synchronization.

PID_RNT 

PID for Resolution Notification Table (TV-Anytime)

PID_SAT 

PID for Satellite Access Table.

PID_INBSIGN 

PID for Inband Signalling.

PID_MEASURE 

PID for Measurement.

PID_DIT 

PID for Discontinuity Information Table.

PID_SIT 

PID for Selection Information Table.

PID_DVB_LAST 

Last reserved PID for DVB.

PID_DCT 

PID for ISDB Download Control Table.

PID_ISDB_FIRST 

First reserved PID for ISDB.

PID_LIT 

PID for ISDB Local Event Information Table.

PID_ERT 

PID for ISDB Event Relation Table.

PID_PCAT 

PID for ISDB Partial Content Announcement Table.

PID_SDTT 

PID for ISDB Software Download Trigger Table.

PID_BIT 

PID for ISDB Broadcaster Information Table.

PID_NBIT 

PID for ISDB Network Board Information Table.

PID_LDT 

PID for ISDB Linked Description Table.

PID_ISDB_EIT_2 

Additional PID for ISDB Event Information Table.

PID_ISDB_EIT_3 

Additional PID for ISDB Event Information Table.

PID_SDTT_TER 

PID for ISDB Software Download Trigger Table (terrestrial)

PID_CDT 

PID for ISDB Common Data Table.

PID_AMT 

PID for ISDB Address Map Table.

PID_ISDB_LAST 

Last reserved PID for ISDB.

PID_IIP 

PID for ISDB-T Information Packet (IIP)

PID_ATSC_FIRST 

First reserved PID for ATSC.

PID_ATSC_PAT_E 

PID for ATSC PAT-E.

PID_PSIP_TS_E 

PID for ATSC Program and System Information Protocol in TS-E.

PID_PSIP 

PID for ATSC Program and System Information Protocol (contains most ATSC tables)

PID_ATSC_LAST 

Last reserved PID for ATSC.

PID_NULL 

PID for Null packets (stuffing)

◆ PIDClass

enum class ts::PIDClass
strong

Classification of PID's.

Enumerator
UNDEFINED 

Undefined PID class.

PSI 

Signalization (PAT, CAT, PMT, etc).

EMM 

PID carrying EMM's.

ECM 

PID carrying ECM's.

VIDEO 

Video component of a service.

AUDIO 

Audio component of a service.

SUBTITLES 

Subtitles component of a service.

DATA 

Data component of a service.

PCR_ONLY 

PCR of a service, not otherwise used as video or audio.

STUFFING 

Null packets.

◆ anonymous enum

anonymous enum : uint8_t

Adaptation field descriptor tags.

See also
ISO 13818-1 / ITU-T Rec. H.262.0, section U.3
Enumerator
AFDID_TIMELINE 

Timeline descriptor.

AFDID_LOCATION 

Location descriptor.

AFDID_BASEURL 

BaseURL descriptor.

AFDID_CETS_BRANGE 

Cets_byte_range_descriptor.

AFDID_3DA_EXTSTREAM 

AF_MPEG-H_3dAudio_extStreamID_descriptor.

AFDID_3DA_MULTISTREAM 

AF_MPEG-H_3dAudio_multi-stream_descriptor.

AFDID_3DA_COMMAND 

AF_MPEG-H_3dAudio_command_descriptor.

AFDID_BOUNDARY 

Boundary Descriptor.

AFDID_LABELING 

Labeling Descriptor.

AFDID_HEVC_TILE 

HEVC_tile_substream_af_descriptor.

◆ TSDatagramOutputOptions

enum class ts::TSDatagramOutputOptions
strong

Options which alter the behavior of the output datagrams.

Can be used as bitmasks.

Enumerator
NONE 

No option.

ALLOW_RTP 

Allow RTP options to build an RTP datagram.

ALWAYS_BURST 

Do not define option –enforce-burst, always enforce burst.

ALLOW_RS204 

Allow option –rs204 to send 204-byte packets.

◆ TSPacketFormat

enum class ts::TSPacketFormat
strong

Transport stream file formats.

Enumerator
AUTODETECT 

Try to detect format (read), default to TS.

TS 

Raw transport stream format.

M2TS 

Bluray compatible, 4-byte timestamp header before each TS packet (30-bit time stamp in PCR units).

RS204 

204-byte packet with 16-byte trailing Reed-Solomon (ignored on input, zero place-holder on output).

DUCK 

Proprietary, 14-byte header before each TS packet (packet metadata).

◆ TSDatagramInputOptions

enum class ts::TSDatagramInputOptions
strong

Options which alter the behavior of the input datagrams.

Can be used as bitmasks.

Enumerator
NONE 

No option.

REAL_TIME 

Reception occurs in real-time, typically from the network..

ALLOW_RS204 

Allow RS204 204-byte packets, autodetected, enforced with –rs204.

Function Documentation

◆ EnumerateCombinations()

template<typename T , class UnaryPredicate >
bool ts::EnumerateCombinations ( const std::set< T > &  values,
const std::set< T > &  fixed,
size_t  size,
UnaryPredicate  predicate 
)

Enumerate all 'k'-elements combinations of a 'n'-elements set.

This function enumerates all possible sets of 'k' elements within a set of 'n' elements. For each combination, a user-supplied predicate is invoked. The signature of the predicate function should be equivalent to the following:

bool p (const std::set<T>& combination);

The signature does not need to have const, but the function must not modify the set which is passed to it. The function returns true when the search for more combinations shall continue and false when the search shall prematurely stops.

Template Parameters
TThe type of elements in the sets.
UnaryPredicateThe type of unary predicate returning true or false from one set of elements of type T.
Parameters
valuesThe set of all values from which the combinations are built. The size of values is the 'n' in the sentence "enumerate all 'k'-elements combinations of a 'n'-elements set".
fixedThe set of fixed values which must be present in all combinations. To enumerate all possible combinations in values, use an empty set for fixed. If fixed is not empty, the predicate will be invoked only with combinations of values which contains all elements in fixed.
sizeThe size (number of elements) of the combinations to enumerate. This is the 'k' in the sentence "enumerate all 'k'-elements combinations of a 'n'-elements set".
predicateThe unary predicate to invoke for each possible combination of size elements in values. If predicate returns true, the search for more combination continues. When predicate returns false, the search is interrupted immediately and no more combination is proposed. Example: When the application searches for a combination which matches specific properties, the application's predicate returns false when a matching combination is found to avoid looking for additional combinations.
Returns
True if all combinations were searched and false if the search was interrupted because predicate returned false at some point.

◆ AppendUnique()

template<typename ELEMENT , class CONTAINER >
bool ts::AppendUnique ( CONTAINER &  container,
const ELEMENT &  e 
)

Append an element into a container if not already present in the container.

If the element e is not already present in the container, e is appended at the end of the container. Otherwise, the container is left unmodified.

Template Parameters
ELEMENTAny type.
CONTAINERA container class of ELEMENT as defined by the C++ Standard Template Library (STL).
Parameters
[in,out]containerA container of ELEMENT.
[in]eAn element to conditionally append to container.
Returns
True if e was appended in the container, false if it was already present.

◆ RemoveDuplicates()

template<class CONTAINER >
void ts::RemoveDuplicates ( CONTAINER &  container)

Remove duplicated elements in a container.

When duplicates are found, this first occurence is kept, aothers are removed.

The predefined function std::unique() removes duplicated elements when they are consecutive only. This function removes all duplicates.

Template Parameters
CONTAINERA container class as defined by the C++ Standard Template Library (STL).
Parameters
[in,out]containerA container into which duplicates are removed.

◆ SmallestSize()

template<class CONTAINER >
size_t ts::SmallestSize ( const CONTAINER &  container)

Get the size of the smallest object in a container of objects having a size() method.

Template Parameters
CONTAINERA container class as defined by the C++ Standard Template Library (STL).
Parameters
[in]containerA container of objects.
Returns
The size of the smallest object in container.

◆ LargestSize()

template<class CONTAINER >
size_t ts::LargestSize ( const CONTAINER &  container)

Get the size of the largest object in a container of objects having a size() method.

Template Parameters
CONTAINERA container class as defined by the C++ Standard Template Library (STL).
Parameters
[in]containerA container of objects.
Returns
The size of the largest object in container.

◆ MapKeysList()

template<class MAP >
std::list< typename MAP::key_type > ts::MapKeysList ( const MAP &  container)

Get the list of all keys in a map.

Template Parameters
MAPA map container class as defined by the C++ Standard Template Library (STL).
Parameters
[in]containerA container of objects.
Returns
The list of all keys in container.

◆ MapKeysSet()

template<class MAP >
std::set< typename MAP::key_type > ts::MapKeysSet ( const MAP &  container)

Get the set of all keys in a map.

Template Parameters
MAPA map container class as defined by the C++ Standard Template Library (STL).
Parameters
[in]containerA container of objects.
Returns
The set of all keys in container.

◆ MapValuesList()

template<class MAP >
std::list< typename MAP::mapped_type > ts::MapValuesList ( const MAP &  container)

Get the list of all values in a map.

Template Parameters
MAPA map container class as defined by the C++ Standard Template Library (STL).
Parameters
[in]containerA container of objects.
Returns
The list of all values in container.

◆ Range()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
std::vector< INT > ts::Range ( INT  first,
INT  last 
)

Build a vector of integers containing all values in a range.

Template Parameters
INTAn integral type.
Parameters
[in]firstFirst value of the range.
[in]lastLast value of the range.
Returns
A vector of INT containing all values from min to max, inclusive.

◆ IOManipulator()

template<class OSTREAM , class TRAITS = std::char_traits<typename OSTREAM::char_type>>
std::basic_ostream< typename OSTREAM::char_type, TRAITS > & ts::IOManipulator ( std::basic_ostream< typename OSTREAM::char_type, TRAITS > &  strm,
OSTREAM &(OSTREAM::*)()  func 
)

I/O manipulator for subclasses of std::basic_ostream.

The standard C++ library contains support for I/O manipulators on std::basic_ios, std::basic_istream and std::basic_ostream but not for their subclasses. This template function is a support routine for I/O manipulators on subclasses.

Sample usage:

namespace ts {
// The class:
class TextFormatter : public std::basic_ostream<char>
{
public:
....
};
// The I/O manipulator:
std::ostream& margin(std::ostream& os)
{
}
}
// Usage:
out << ts::margin << "<foo>" << std::endl;
Format and print a text document using various output types and indentation.
Definition tsTextFormatter.h:29
TextFormatter & margin()
Insert all necessary new-lines and spaces to move to the current margin.
TSDuck namespace, containing all TSDuck classes and functions.
Definition tsAbstractOutputStream.h:17
std::basic_ostream< typename OSTREAM::char_type, TRAITS > & IOManipulator(std::basic_ostream< typename OSTREAM::char_type, TRAITS > &strm, OSTREAM &(OSTREAM::*func)())
I/O manipulator for subclasses of std::basic_ostream.
Definition tsAlgorithm.h:204
std::ostream & margin(std::ostream &os)
I/O manipulator for TextFormatter: move to the current margin.
Definition tsTextFormatter.h:252
Template Parameters
OSTREAMA subclass of std::basic_ostream.
Parameters
[in,out]strmThe stream of class OSTREAM to manipulate.
[in]funcA pointer to member function in OSTREAM. This method shall take no parameter and return a reference to the OSTREAM object.
Returns
A reference to the strm object.

◆ atexit() [1/2]

int ts::atexit ( void(*)()  func)

Register a function to execute when the application exits.

This is a re-implementation of std::atexit() with unlimited number of registered functions (std::atexit() can only guarantee 32 entries) The functions will be called in reverse order: if A was registered before B, then the call to B is made before the call to A.

Parameters
[in]funcThe function to call when the program terminates.
Returns
Always 0. This returned value makes ts::atexit() compatible with std::atexit(). With std::atexit(), 0 is a success value. For OpenSSL users, note that OPENSSL_atexit() return 1 on success and 0 on error, despite an identical profile. So, if you need a flexible call, you'd better ignore the result.

◆ atexit() [2/2]

void ts::atexit ( void(*)(void *)  func,
void *  param = nullptr 
)

Register a function to execute when the application exits (with a parameter).

This is a re-implementation of std::atexit() with:

  • Unlimited number of registered functions (std::atexit() can only guarantee 32 entries)
  • Pass a parameter to the function.

The functions will be called in reverse order: if A was registered before B, then the call to B is made before the call to A.

Parameters
[in]funcThe function to call when the program terminates.
[in]paramThe parameter to pass to func.

◆ NameFromDTV()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value||std::is_enum< INT >::value, int >::type = 0>
UString ts::NameFromDTV ( const UString section_name,
INT  value,
NamesFlags  flags = NamesFlags::NAME,
INT  alternate_value = static_cast<INT>(0) 
)

Get a name from a specified section in the DTV names file.

Template Parameters
INTAn integer or enum type.
Parameters
[in]section_nameName of section to search. Not case-sensitive.
[in]valueValue to get the name for.
[in]flagsPresentation flags.
[in]alternate_valueDisplay this integer value if flags ALTERNATE is set.
Returns
The corresponding name.

◆ NameFromDTVWithFallback()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value||std::is_enum< INT >::value, int >::type = 0>
UString ts::NameFromDTVWithFallback ( const UString section_name,
INT  value1,
INT  value2,
NamesFlags  flags = NamesFlags::NAME,
INT  alternate_value = static_cast<INT>(0) 
)

Get a name from a specified section in the DTV names file, with alternate fallback value.

Template Parameters
INTAn integer or enum type.
Parameters
[in]section_nameName of section to search. Not case-sensitive.
[in]value1Value to get the name for.
[in]value2Alternate value if no name is found for value1.
[in]flagsPresentation flags.
[in]alternate_valueDisplay this integer value if flags ALTERNATE is set.
Returns
The corresponding name.

◆ NameFromOUI()

UString ts::NameFromOUI ( uint32_t  oui,
NamesFlags  flags = NamesFlags::NAME 
)
inline

Get the name of an OUI (IEEE-assigned Organizationally Unique Identifier), 24 bits.

Parameters
[in]ouiOrganizationally Unique Identifier), 24 bits.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ ToTristate()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
Tristate ts::ToTristate ( INT  i)

Normalize any integer value in the range of a Tristate value.

Template Parameters
INTAn integer type.
Parameters
[in]iThe integer value.
Returns
The corresponding Tristate value.

◆ set_default()

template<class T , class U >
void ts::set_default ( std::optional< T > &  opt,
const U &  value 
)
inline

Set a default value in a std::optional object, if there is none.

Template Parameters
TThe type of the optional object.
UThe type of the default value to set.
Parameters
[in,out]optThe optinal object to set.
[in]valueThe value to set in obj if it is not initialized.

◆ IPProtocolName()

UString ts::IPProtocolName ( uint8_t  protocol,
bool  long_format = false 
)

Get the name of an IP protocol (UDP, TCP, etc).

Parameters
[in]protocolProtocol identifier, as set in IP header.
[in]long_formatIf false (the default), return a simple acronym. When true, return a full description string.
Returns
The protocol name with optional description.

◆ TCPOrderedSequence()

bool ts::TCPOrderedSequence ( uint32_t  seq1,
uint32_t  seq2 
)

Check if two TCP sequence numbers are ordered, including wrapping back at 0xFFFFFFFF.

Parameters
[in]seq1First TCP sequence number.
[in]seq2Second TCP sequence number.
Returns
True if seq1 strictly logically preceeds seq2.

◆ TCPSequenceDiff()

uint32_t ts::TCPSequenceDiff ( uint32_t  seq1,
uint32_t  seq2 
)

Compute the difference between two TCP sequence numbers, including wrapping back at 0xFFFFFFFF.

Parameters
[in]seq1First TCP sequence number.
[in]seq2Second TCP sequence number which must logically follow seq1.
Returns
The difference between seq1 and seq2.

◆ IPInitialize()

bool ts::IPInitialize ( Report = (ts::CerrReport::Instance()))

Initialize the IP libraries in the current process.

On some systems (UNIX), there is no need to initialize IP. On other systems (Windows), using IP and socket without initialization fails. This method is a portable way to ensure that IP is properly initialized. It shall be called at least once before using IP in the application.

Returns
True on success, false on error.

◆ getaddrinfo_category()

const std::error_category & ts::getaddrinfo_category ( )

Get the std::error_category for getaddrinfo() error code (Unix only).

Returns
A constant reference to a std::error_category instance.

◆ SysCloseSocket()

int ts::SysCloseSocket ( SysSocketType  sock)
inline

The close() system call which applies to socket devices.

The "standard" name is close but some systems use other exotic names.

Parameters
[in]sockSystem socket descriptor.
Returns
Error code.

◆ GetRISTLibraryVersion()

UString ts::GetRISTLibraryVersion ( )

Get the version of the RIST library.

Returns
A string describing the RIST library version (or the lack of RIST support).

◆ EnvironmentExists()

bool ts::EnvironmentExists ( const UString varname)

Check if an environment variable exists.

Parameters
[in]varnameEnvironment variable name.
Returns
True if the specified environment variable exists, false otherwise.

◆ GetEnvironment() [1/2]

UString ts::GetEnvironment ( const UString varname,
const UString defvalue = UString() 
)

Get the value of an environment variable.

Parameters
[in]varnameEnvironment variable name.
[in]defvalueDefault value if the specified environment variable does not exist.
Returns
The value of the specified environment variable it it exists, defvalue otherwise.

◆ GetEnvironmentPath()

template<class CONTAINER >
void ts::GetEnvironmentPath ( CONTAINER &  container,
const UString name,
const UString def = UString() 
)
inline

Get the value of an environment variable containing a search path.

The search path is analyzed and split into individual directory names.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[out]containerA container of UString receiving the directory names.
[in]nameEnvironment variable name.
[in]defDefault value if the specified environment variable does not exist.

◆ GetEnvironmentPathAppend()

template<class CONTAINER >
void ts::GetEnvironmentPathAppend ( CONTAINER &  container,
const UString name,
const UString def = UString() 
)
inline

Get the value of an environment variable containing a search path.

The search path is analyzed and split into individual directory names.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[in,out]containerA container of UString receiving the directory names. The directory names are appended to the container without erasing previous content.
[in]nameEnvironment variable name.
[in]defDefault value if the specified environment variable does not exist.

◆ SetEnvironment()

bool ts::SetEnvironment ( const UString name,
const UString value 
)

Set the value of an environment variable.

If the variable previously existed, its value is overwritten. If it did not exist, it is created.

Parameters
[in]nameEnvironment variable name.
[in]valueEnvironment variable value.
Returns
True on success, false on error.

◆ SetEnvironmentPath()

template<class CONTAINER >
void ts::SetEnvironmentPath ( const UString name,
const CONTAINER &  container 
)
inline

Set the value of an environment variable containing a search path.

If the variable previously existed, its value is overwritten. If it did not exist, it is created.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[in]nameEnvironment variable name.
[in]containerA container of UString containing directory names.

◆ DeleteEnvironment()

bool ts::DeleteEnvironment ( const UString name)

Delete an environment variable.

If the variable did not exist, do nothing, do not generate an error.

Parameters
[in]nameEnvironment variable name.
Returns
True on success, false on error.

◆ ExpandEnvironment()

UString ts::ExpandEnvironment ( const UString path)

Expand environment variables inside a file path (or any string).

Environment variable references '$name' or '${name}' are replaced by the corresponding values from the environment. In the first form, 'name' is the longest combination of letters, digits and underscore. A combination \$ is interpreted as a literal $, not an environment variable reference.

Parameters
[in]pathA path string containing references to environment variables.
Returns
The expanded string.

◆ GetEnvironment() [2/2]

void ts::GetEnvironment ( Environment env)

Get the content of the entire environment (all environment variables).

Parameters
[out]envAn associative container which receives the content of the environment. Each key is the name of an environment variable and the corresponding value is the value of this environment variable.

◆ LoadEnvironment()

bool ts::LoadEnvironment ( Environment env,
const UString fileName 
)

Load a text file containing environment variables.

Each line shall be in the form "name = value". Empty line and line starting with '#' are ignored. Spaces are trimmed.

Parameters
[out]envAn associative container which receives the content of the environment. Each key is the name of an environment variable and the corresponding value is the value of this environment variable.
[in]fileNameName of the file to load.
Returns
True on success, false on error.

◆ FatalError()

void ts::FatalError ( const char *  message,
size_t  length 
)

Handle a fatal error.

An emergency message is output and the application is terminated.

Parameters
[in]messageAddress of an emergency error message to output.
[in]lengthLength of message. The caller must specify length in a static way. In that kind of fatal error, we can't even dare to call strlen().

◆ FatalMemoryAllocation()

void ts::FatalMemoryAllocation ( )

Handle fatal memory allocation failure.

Out of virtual memory, very dangerous situation, really can't recover from that, need to abort immediately. An emergency error message is output and the application is terminated.

◆ CheckNonNull()

void ts::CheckNonNull ( const void *  ptr)
inline

Check the value of a pointer and abort the application when zero.

This function is typically after a new.

Parameters
[in]ptrThe pointer to check.
See also
FatalMemoryAllocation()

◆ VernacularFilePath()

UString ts::VernacularFilePath ( const UString path)

Return a "vernacular" version of a file path.

Parameters
[in]pathA file path.
Returns
A copy of path where all '/' and '\' have been translated into the local directory separator.

◆ IsAbsoluteFilePath()

bool ts::IsAbsoluteFilePath ( const UString path)

Check if a file path is absolute (starting at a root of a file system).

Parameters
[in]pathA file path.
Returns
True if path is an absolute file path.

◆ AbsoluteFilePath()

UString ts::AbsoluteFilePath ( const UString path,
const UString base = UString() 
)

Build the absolute form of a file path.

Parameters
[in]pathA file path.
[in]baseThe base directory to use if path is a relative file path. By default, when base is empty, the current working directory is used.
Returns
The absolute form of path after cleanup.

◆ RelativeFilePath()

UString ts::RelativeFilePath ( const UString path,
const UString base = UString(),
CaseSensitivity  caseSensitivity = FILE_SYSTEM_CASE_SENSITVITY,
bool  portableSlashes = false 
)

Build a relative form of a file path, relative to a base directory.

Parameters
[in]pathA file path.
[in]baseThe base directory to use. By default, when base is empty, the current working directory is used.
[in]caseSensitivityCase sensitivity of file names comparison. By default, use the local file system case sensitivity.
[in]portableSlashesIf true, the relative path contains forward slashes ('/'), even on Windows. The resulting path can be used in relative URL's for instance.
Returns
The absolute form of path after cleanup.

◆ CleanupFilePath()

UString ts::CleanupFilePath ( const UString path)

Cleanup a file path.

Parameters
[in]pathA file path.
Returns
The clean form of path. Double slashes are removed. Forms such as "." or ".." are reduced.

◆ DirectoryName()

UString ts::DirectoryName ( const UString path)

Return the directory name of a file path ("dir/foo.bar" => "dir").

Parameters
[in]pathA file path.
Returns
The directory name of path ("dir/foo.bar" => "dir").

◆ BaseName()

UString ts::BaseName ( const UString path,
const UString suffix = UString() 
)

Return the base file name of a file path ("dir/foo.bar" => "foo.bar").

Parameters
[in]pathA file path.
[in]suffixAn optional file suffix. If path ends in suffix, the suffix is removed.
Returns
The base file name of path ("dir/foo.bar" => "foo.bar").

◆ UserHomeDirectory()

fs::path ts::UserHomeDirectory ( )

Get the current user's home directory.

Returns
The full path of the current user's home directory.
Exceptions
ts::ExceptionIn case of operating system error.

◆ TempFile()

fs::path ts::TempFile ( const UString suffix = u".tmp")

Return the name of a unique temporary file.

Parameters
[in]suffixAn optional suffix to add to the file name.
Returns
A unique temporary file name.

◆ GetFileModificationTimeLocal()

Time ts::GetFileModificationTimeLocal ( const UString path)

Get the local time of the last modification of a file.

Parameters
[in]pathA file path.
Returns
Last modification time or Time::Epoch in case of error.

◆ GetFileModificationTimeUTC()

Time ts::GetFileModificationTimeUTC ( const UString path)

Get the UTC time of the last modification of a file.

Parameters
[in]pathA file path.
Returns
Last modification time or Time::Epoch in case of error.

◆ ExpandWildcardAndAppend()

template<class CONTAINER >
bool ts::ExpandWildcardAndAppend ( CONTAINER &  container,
const UString pattern 
)

Get all files matching a specified wildcard pattern and append them into a container.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[in,out]containerA container of UString receiving the the names of all files matching the wildcard. The names are appended at the end of the existing content of the container.
[in]patternA file path pattern with wildcards. The syntax of the wildcards is system-dependent.
Returns
True on success, false on error. Note that finding no file matching the pattern is not an error, it simply return no file name.

◆ ExpandWildcard()

template<class CONTAINER >
bool ts::ExpandWildcard ( CONTAINER &  container,
const UString pattern 
)
inline

Get all files matching a specified wildcard pattern.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[out]containerA container of UString receiving the the names of all files matching the wildcard.
[in]patternA file path pattern with wildcards. The syntax of the wildcards is system-dependent.
Returns
True on success, false on error. Note that finding no file matching the pattern is not an error, it simply return no file name.

◆ SearchWildcardAndAppend()

template<class CONTAINER >
bool ts::SearchWildcardAndAppend ( CONTAINER &  container,
const UString root,
const UString pattern,
size_t  max_levels = 64,
bool  skip_symlinks = true 
)

Search all files matching a specified wildcard pattern in a directory tree and append them into a container.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[in,out]containerA container of UString receiving the the names of all files matching the wildcard. The names are appended at the end of the existing content of the container.
[in]rootRoot directory into which the files are searched.
[in]patternA file path pattern with wildcards. The syntax of the wildcards is system-dependent.
[in]max_levelsMaximum number of directory recursions. Since some operating systems allow loops in the file system, it is a good idea to set some limit to avoid infinite recursion.
[in]skip_symlinksIf true, do not recurse through symbolic links to directories.
Returns
True on success, false on error. Note that finding no file matching the pattern is not an error, it simply return no file name.

◆ SearchWildcard()

template<class CONTAINER >
bool ts::SearchWildcard ( CONTAINER &  container,
const UString root,
const UString pattern,
size_t  max_levels = 64,
bool  skip_symlinks = true 
)
inline

Search all files matching a specified wildcard pattern in a directory tree.

Template Parameters
CONTAINERA container class of UString as defined by the C++ Standard Template Library (STL).
Parameters
[out]containerA container of UString receiving the the names of all files matching the wildcard.
[in]rootRoot directory into which the files are searched.
[in]patternA file path pattern with wildcards. The syntax of the wildcards is system-dependent.
[in]max_levelsMaximum number of directory recursions. Since some operating systems allow loops in the file system, it is a good idea to set some limit to avoid infinite recursion.
[in]skip_symlinksIf true, do not recurse through symbolic links to directories.
Returns
True on success, false on error. Note that finding no file matching the pattern is not an error, it simply return no file name.

◆ SearchExecutableFile()

UString ts::SearchExecutableFile ( const UString fileName,
const UString pathName = PATH_ENVIRONMENT_VARIABLE 
)

Search an executable file.

Parameters
[in]fileNameName of the file to search.
[in]pathNameName of the seach path environment variable.
Returns
The path to an existing file or an empty path if not found.

◆ SearchConfigurationFile()

UString ts::SearchConfigurationFile ( const UString fileName)

Search a configuration file.

Parameters
[in]fileNameName of the file to search. If fileName is not found and does not contain any directory part, search this file in the following places:
  • All directories in TSPLUGINS_PATH environment variable.
  • Directory of the current executable.
  • Directory ../etc/tsduck from current executable (UNIX only).
  • Directory ../../etc/tsduck from current executable (UNIX only).
  • Directory ../lib64/tsduck from current executable (64-bit UNIX only).
  • Directory ../lib/tsduck from current executable (UNIX only).
  • Directory ../share/tsduck from current executable (UNIX only).
  • All directories in LD_LIBRARY_PATH environment variable (UNIX only).
  • All directories in PATH (UNIX) or Path (Windows) environment variable.
Returns
The path to an existing file or an empty string if not found.

◆ UserConfigurationFileName()

UString ts::UserConfigurationFileName ( const UString fileName,
const UString winFileName = UString() 
)

Build the name of a user-specific configuration file.

Parameters
[in]fileNameBase name of the configuration file.
[in]winFileNameAlternative base name on Windows. If empty, fileName is used.
Returns
The path to the user-specific configuration file. The file may exist or not. The default file location depends on the operating system:
  • Windows: %APPDATA%\tsduck
  • Unix: $HOME

◆ LastSysErrorCode()

int ts::LastSysErrorCode ( )
inline

Get the error code of the last operating system call.

The validity of the returned value may depends on specific conditions.

Portability of error code representation: On UNIX, error codes are just int. On Windows, error codes are DWORD, which is compatible with int. In C++11, std::error_core uses int for error codes. Therefore, because of this new C++11 feature, we just use int.

Windows note: According to Windows documentation, socket functions should call WSAGetLastError() instead of GetLastError() to retrieve the error code. This is an oddity from the old 16-bit Windows API. On Win32, various sources confirm that WSAGetLastError() just call GetLastError(). Thus, in this application, we do not make the difference.

Returns
The error code of the last operating system call.

◆ SysErrorCodeMessage()

std::string ts::SysErrorCodeMessage ( int  code = LastSysErrorCode(),
const std::error_category &  category = std::system_category() 
)
inline

Format a system error code into a string.

Parameters
[in]codeAn error code from the operating system. Typically a result from errno (Unix) or GetLastError() (Windows).
[in]categoryError category, system by default.
Returns
A string describing the error.

◆ ExecutableFile()

fs::path ts::ExecutableFile ( )

Get the name of the current application executable file.

Returns
The full path of the executable file which is run in the current process.

◆ CallerLibraryFile()

fs::path ts::CallerLibraryFile ( )

Get the name of the executable or shared library file containing the caller code.

Returns
The full path of the file or empty in case of error or if not supported.

◆ IsPrivilegedUser()

bool ts::IsPrivilegedUser ( )

Check if the current user is privileged (root on UNIX, an administrator on Windows).

Returns
True if the current user is privileged.

◆ GetProcessCpuTime()

cn::milliseconds ts::GetProcessCpuTime ( )

Get the CPU time of the process in milliseconds.

Returns
The CPU time of the process in milliseconds.
Exceptions
ts::Exceptionon error.

◆ GetProcessVirtualSize()

size_t ts::GetProcessVirtualSize ( )

Get the virtual memory size of the process in bytes.

Returns
The virtual memory size of the process in bytes.
Exceptions
ts::Exceptionon error.

◆ IgnorePipeSignal()

void ts::IgnorePipeSignal ( )

Ensure that writing to a broken pipe does not kill the current process.

On UNIX systems, writing to a broken pipe, i.e. a pipe with no process reading from it, kills the current process. This may not be what you want. This functions prevents this.

UNIX Systems: This function ignores SIGPIPE. Writing to a broken pipe will now return an error instead of killing the process.

Windows systems: This function does nothing (because there is no need to do anything).

◆ SetTimersPrecision()

template<class Rep , class Period >
void ts::SetTimersPrecision ( cn::duration< Rep, Period > &  precision)

Request a minimum resolution for the system timers.

Parameters
[in,out]precisionOn input, specify the requested minimum resolution in any std::chrono::duration units. On output, return the obtained guaranteed minimum resolution. The guaranteed precision value can be equal to or greater than the requested value. The default system resolution is 20 ms on Win32, which can be too long for applications.

◆ StdInIsTerminal()

bool ts::StdInIsTerminal ( )

Check if the standard input is a terminal.

Returns
True if the standard input is a terminal.

◆ StdOutIsTerminal()

bool ts::StdOutIsTerminal ( )

Check if the standard output is a terminal.

Returns
True if the standard output is a terminal.

◆ StdErrIsTerminal()

bool ts::StdErrIsTerminal ( )

Check if the standard error is a terminal.

Returns
True if the standard error is a terminal.

◆ SetBinaryModeStdin()

bool ts::SetBinaryModeStdin ( Report report = (ts::CerrReport::Instance()))

Put the standard input stream in binary mode.

On UNIX systems, this does not make any difference. On Windows systems, however, in a stream which is not open in binary mode, there is automatic translation between LF and CR-LF. The standard input is open in text mode (non-binary). This function forces it into binary mode.

Parameters
[in,out]reportWhere to report errors.
Returns
True on success, false on error. If report is a subclass of ts::Args, terminate the application on error.
See also
SetBinaryModeStdout()

◆ SetBinaryModeStdout()

bool ts::SetBinaryModeStdout ( Report report = (ts::CerrReport::Instance()))

Put the standard output stream in binary mode.

On UNIX systems, this does not make any difference. On Windows systems, however, in a stream which is not open in binary mode, there is automatic translation between LF and CR-LF. The standard output is open in text mode (non-binary). This function forces it into binary mode.

Parameters
[in,out]reportWhere to report errors.
Returns
True on success, false on error. If report is a subclass of ts::Args, terminate the application on error.
See also
SetBinaryModeStdout()

◆ ClassName() [1/2]

UString ts::ClassName ( const std::type_index  index)

Get the name of a class from the type_index of a class.

The result may be not portable.

Parameters
[in]indexThe type_index of a class.
Returns
An implementation-specific name of the class.

◆ ClassName() [2/2]

UString ts::ClassName ( const std::type_info &  info)
inline

Get the name of a class from the type_info of an object.

The result may be not portable.

Parameters
[in]infoThe type_info of an object.
Returns
An implementation-specific name of the object class.

◆ endl()

std::ostream & ts::endl ( std::ostream &  os)
inline

I/O manipulator for TextFormatter: insert an end-of-line, according to the current end-of-line mode.

Parameters
[in,out]osOutput stream.
Returns
A reference to os.
See also
TextFormatter::margin()

◆ margin() [1/2]

std::ostream & ts::margin ( std::ostream &  os)
inline

I/O manipulator for TextFormatter: move to the current margin.

Parameters
[in,out]osOutput stream.
Returns
A reference to os.
See also
TextFormatter::margin()

◆ indent()

std::ostream & ts::indent ( std::ostream &  os)
inline

I/O manipulator for TextFormatter: push one indentation level.

Parameters
[in,out]osOutput stream.
Returns
A reference to os.
See also
TextFormatter::indent()

◆ unindent()

std::ostream & ts::unindent ( std::ostream &  os)
inline

I/O manipulator for TextFormatter: pop one indentation level.

Parameters
[in,out]osOutput stream.
Returns
A reference to os.
See also
TextFormatter::unindent()

◆ margin() [2/2]

IOManipulatorProxy< TextFormatter, size_t > ts::margin ( size_t  size)

I/O manipulator for TextFormatter: set the margin size for outer-most elements.

Parameters
[in]sizeThe margin size for outer-most elements.
Returns
An I/O manipulator proxy.
See also
TextFormatter::setMarginSize(size_t)

◆ spaces()

IOManipulatorProxy< TextFormatter, size_t > ts::spaces ( size_t  count)

I/O manipulator for TextFormatter: output spaces on the stream.

Parameters
[in]countNumber of spaces to print.
Returns
An I/O manipulator proxy.
See also
TextFormatter::setMarginSize(size_t)

◆ column()

IOManipulatorProxy< TextFormatter, size_t > ts::column ( size_t  col)

I/O manipulator for TextFormatter: move to a given column.

Parameters
[in]colThe column position to move to. The first character of a line is at column 0.
Returns
An I/O manipulator proxy.
See also
TextFormatter::column(size_t)

◆ IsValidBCD()

bool ts::IsValidBCD ( uint8_t  b)
inline

Check if a byte is a valid Binary Coded Decimal (BCD) value.

Parameters
[in]bA byte containing a BCD-encoded value.
Returns
True if the value is valid BCDn false otherwise.

◆ DecodeBCD() [1/2]

int ts::DecodeBCD ( uint8_t  b)
inline

Return the decimal value of a Binary Coded Decimal (BCD) encoded byte.

Parameters
[in]bA byte containing a BCD-encoded value.
Returns
The decoded value in the range 0 to 99.

◆ EncodeBCD() [1/2]

uint8_t ts::EncodeBCD ( int  i)
inline

Return a one-byte Binary Coded Decimal (BCD) representation of an integer.

Parameters
[in]iThe integer to encode (must be in 0..99).
Returns
One byte containing the BCD-encoded value of i.

◆ DecodeBCD() [2/2]

uint32_t ts::DecodeBCD ( const uint8_t *  bcd,
size_t  bcd_count,
bool  left_justified = true 
)

Return the decimal value of a Binary Coded Decimal (BCD) encoded string.

Parameters
[in]bcdAddress of an array of bytes.
[in]bcd_countNumber of BCD digits (bcd_count / 2 bytes). Note that bcd_count can be even.
[in]left_justifiedWhen true (the default), the first BCD digit starts in the first half of the first byte. When false and bcd_count is odd, the first BCD digit starts in the second half of the first byte. Ignored when bcd_count is even.
Returns
The decoded integer value.

◆ EncodeBCD() [2/2]

void ts::EncodeBCD ( uint8_t *  bcd,
size_t  bcd_count,
uint32_t  value,
bool  left_justified = true,
uint8_t  pad_nibble = 0 
)

Encode a Binary Coded Decimal (BCD) string.

Parameters
[out]bcdAddress of an array of bytes. Its size must be at least (bcd_count + 1) / 2 bytes.
[in]bcd_countNumber of BCD digits. Note that bcd_count can be even.
[in]valueThe value to encode.
[in]left_justifiedWhen true (the default), the first BCD digit starts in the first half of the first byte. When false and bcd_count is odd, the first BCD digit starts in the second half of the first byte. This parameter is ignored when bcd_count is even.
[in]pad_nibbleA value in the range 0..15 to set in the unused nibble when bcd_count is odd. This is the first half of the first byte when left_justified is false. This is the second half of the last byte when left_justified is true. This parameter is ignored when bcd_count is even.

◆ BCDToString()

void ts::BCDToString ( std::string &  str,
const uint8_t *  bcd,
size_t  bcd_count,
int  decimal,
bool  left_justified = true 
)

Decode a string representation of a variable-length Binary Coded Decimal (BCD) encoded integer.

Parameters
[out]strReturned string representation.
[in]bcdAddress of an array of bytes.
[in]bcd_countNumber of BCD digits (bcd_count / 2 bytes). Note that bcd_count can be even.
[in]decimalIndicates the position of the virtual decimal point (-1: none, 0: before first digit, 1: after first digit, etc.)
[in]left_justifiedWhen true (the default), the first BCD digit starts in the first half of the first byte. When false and bcd_count is odd, the first BCD digit starts in the second half of the first byte. Ignored when bcd_count is even.

◆ SignExtend24()

int32_t ts::SignExtend24 ( int32_t  x)
inline

Perform a sign extension on 24 bit integers.

Parameters
[in]xA 32-bit integer containing a signed 24-bit value to extend.
Returns
A 32-bit signed integer containing the signed 24-bit value with proper sign extension on 32-bits.

◆ SignExtend40()

int64_t ts::SignExtend40 ( int64_t  x)
inline

Perform a sign extension on 40 bit integers.

Parameters
[in]xA 64-bit integer containing a signed 40-bit value to extend.
Returns
A 64-bit signed integer containing the signed 40-bit value with proper sign extension on 64-bits.

◆ SignExtend48()

int64_t ts::SignExtend48 ( int64_t  x)
inline

Perform a sign extension on 48 bit integers.

Parameters
[in]xA 64-bit integer containing a signed 48-bit value to extend.
Returns
A 64-bit signed integer containing the signed 48-bit value with proper sign extension on 64-bits.

◆ ByteSwap16()

uint16_t ts::ByteSwap16 ( uint16_t  x)
inline

Inlined function performing byte swap on 16-bit integer data.

This function unconditionally swaps bytes within an unsigned integer, regardless of the native endianness.

Parameters
[in]xA 16-bit unsigned integer to swap.
Returns
The value of x where bytes were swapped.

◆ ByteSwap24()

uint32_t ts::ByteSwap24 ( uint32_t  x)
inline

Inlined function performing byte swap on 24-bit integer data.

This function unconditionally swaps bytes within an unsigned integer, regardless of the native endianness.

Parameters
[in]xA 32-bit unsigned integer containing a 24-bit value to swap.
Returns
The value of x where the three least significant bytes were swapped.

◆ ByteSwap32()

uint32_t ts::ByteSwap32 ( uint32_t  x)
inline

Inlined function performing byte swap on 32-bit integer data.

This function unconditionally swaps bytes within an unsigned integer, regardless of the native endianness.

Parameters
[in]xA 32-bit unsigned integer to swap.
Returns
The value of x where bytes were swapped.

◆ ByteSwap64()

uint64_t ts::ByteSwap64 ( uint64_t  x)
inline

Inlined function performing byte swap on 64-bit integer data.

This function unconditionally swaps bytes within an unsigned integer, regardless of the native endianness.

Parameters
[in]xA 64-bit unsigned integer to swap.
Returns
The value of x where bytes were swapped.

◆ CondByteSwap16BE()

uint16_t ts::CondByteSwap16BE ( uint16_t  x)
inline

Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 16-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap16()

uint16_t ts::CondByteSwap16 ( uint16_t  x)
inline

Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 16-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap24BE()

uint32_t ts::CondByteSwap24BE ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 32-bit unsigned integer containing a 24-bit value to conditionally swap.
Returns
On little-endian platforms, return the value of x where the three least significant bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap24()

uint32_t ts::CondByteSwap24 ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 32-bit unsigned integer containing a 24-bit value to conditionally swap.
Returns
On little-endian platforms, return the value of x where the three least significant bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap32BE()

uint32_t ts::CondByteSwap32BE ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 32-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap32()

uint32_t ts::CondByteSwap32 ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 32-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap64BE()

uint64_t ts::CondByteSwap64BE ( uint64_t  x)
inline

Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 64-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap64()

uint64_t ts::CondByteSwap64 ( uint64_t  x)
inline

Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in big endian representation.

Parameters
[in]xA 64-bit unsigned integer to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwap16LE()

uint16_t ts::CondByteSwap16LE ( uint16_t  x)
inline

Inlined function performing conditional byte swap on 16-bit integer data to obtain the data in little endian representation.

Parameters
[in]xA 16-bit unsigned integer to conditionally swap.
Returns
On big-endian platforms, return the value of x where bytes were swapped. On little-endian platforms, return the value of x unmodified.

◆ CondByteSwap24LE()

uint32_t ts::CondByteSwap24LE ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 24-bit integer data to obtain the data in little endian representation.

Parameters
[in]xA 32-bit unsigned integer containing a 24-bit value to conditionally swap.
Returns
On big-endian platforms, return the value of x where the three least significant bytes were swapped. On little-endian platforms, return the value of x unmodified.

◆ CondByteSwap32LE()

uint32_t ts::CondByteSwap32LE ( uint32_t  x)
inline

Inlined function performing conditional byte swap on 32-bit integer data to obtain the data in little endian representation.

Parameters
[in]xA 32-bit unsigned integer to conditionally swap.
Returns
On big-endian platforms, return the value of x where bytes were swapped. On little-endian platforms, return the value of x unmodified.

◆ CondByteSwap64LE()

uint64_t ts::CondByteSwap64LE ( uint64_t  x)
inline

Inlined function performing conditional byte swap on 64-bit integer data to obtain the data in little endian representation.

Parameters
[in]xA 64-bit unsigned integer to conditionally swap.
Returns
On big-endian platforms, return the value of x where bytes were swapped. On little-endian platforms, return the value of x unmodified.

◆ CondByteSwapBE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::CondByteSwapBE ( INT  x)
inline

Template function performing conditional byte swap on integer data to obtain the data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]xAn INT to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ CondByteSwapLE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::CondByteSwapLE ( INT  x)
inline

Template function performing conditional byte swap on integer data to obtain the data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]xAn INT to conditionally swap.
Returns
On big-endian platforms, return the value of x where bytes were swapped. On little-endian platforms, return the value of x unmodified.

◆ CondByteSwap()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::CondByteSwap ( INT  x)
inline

Template function performing conditional byte swap on integer data to obtain the data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]xAn INT to conditionally swap.
Returns
On little-endian platforms, return the value of x where bytes were swapped. On big-endian platforms, return the value of x unmodified.

◆ equal_float()

template<typename T , typename std::enable_if< std::is_floating_point< T >::value, int >::type = 0>
bool ts::equal_float ( a,
b,
epsilon = 2 * std::numeric_limits<T>::epsilon() 
)
inline

This template function compares two floating point values for approximated equality.

Template Parameters
TA floating point type.
Parameters
aFirst value to test.
bSecond value to test.
epsilonThe approximation tolerance.
Returns
True if a and b are approximately equal, false otherwise.

◆ match_ieee_float()

template<typename T , int storage_bits, int exponent_bits, int mantissa_bits, typename std::enable_if< std::is_floating_point< T >::value, int >::type = 0>
constexpr bool ts::match_ieee_float ( )
inlineconstexpr

This template function checks if a floating point type matches a given IEEE represenation.

Template Parameters
TAn floating point type, any size or representation.
storage_bitsExpected size in bits of the type.
exponent_bitsExpected number of bits in the exponent.
mantissa_bitsExpected number of bits in the mantissa.
Returns
True if T matches the expected sizes, false otherwise.

◆ GetFloat32BE()

ieee_float32_t ts::GetFloat32BE ( const void *  p)
inline

Function getting a 32-bit IEEE float from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit IEEE float in big endian representation.
Returns
The 32-bit IEEE float in native byte order, deserialized from p.

◆ GetFloat32LE()

ieee_float32_t ts::GetFloat32LE ( const void *  p)
inline

Function getting a 32-bit IEEE float from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 32-bit IEEE float in little endian representation.
Returns
The 32-bit IEEE float in native byte order, deserialized from p.

◆ GetFloat32()

ieee_float32_t ts::GetFloat32 ( const void *  p)
inline

Function getting a 32-bit IEEE float from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit IEEE float in big endian representation.
Returns
The 32-bit IEEE float in native byte order, deserialized from p.

◆ GetFloat64BE()

ieee_float64_t ts::GetFloat64BE ( const void *  p)
inline

Function getting a 64-bit IEEE float from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit IEEE float in big endian representation.
Returns
The 64-bit IEEE float in native byte order, deserialized from p.

◆ GetFloat64LE()

ieee_float64_t ts::GetFloat64LE ( const void *  p)
inline

Function getting a 64-bit IEEE float from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 64-bit IEEE float in little endian representation.
Returns
The 64-bit IEEE float in native byte order, deserialized from p.

◆ GetFloat64()

ieee_float64_t ts::GetFloat64 ( const void *  p)
inline

Function getting a 64-bit IEEE float from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit IEEE float in big endian representation.
Returns
The 64-bit IEEE float in native byte order, deserialized from p.

◆ PutFloat32BE()

void ts::PutFloat32BE ( void *  p,
ieee_float32_t  f 
)
inline

Function serializing a 32-bit IEEE float data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit IEEE float.
[in]fThe 32-bit IEEE float in native byte order to serialize in big endian representation.

◆ PutFloat32LE()

void ts::PutFloat32LE ( void *  p,
ieee_float32_t  f 
)
inline

Function serializing a 32-bit IEEE float data in little endian representation.

Parameters
[out]pAn address where to serialize the 32-bit IEEE float.
[in]fThe 32-bit IEEE float in native byte order to serialize in little endian representation.

◆ PutFloat32()

void ts::PutFloat32 ( void *  p,
ieee_float32_t  f 
)
inline

Function serializing a 32-bit IEEE float data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit IEEE float.
[in]fThe 32-bit IEEE float in native byte order to serialize in big endian representation.

◆ PutFloat64BE()

void ts::PutFloat64BE ( void *  p,
ieee_float64_t  f 
)
inline

Function serializing a 64-bit IEEE float data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit IEEE float.
[in]fThe 64-bit IEEE float in native byte order to serialize in big endian representation.

◆ PutFloat64LE()

void ts::PutFloat64LE ( void *  p,
ieee_float64_t  f 
)
inline

Function serializing a 64-bit IEEE float data in little endian representation.

Parameters
[out]pAn address where to serialize the 64-bit IEEE float.
[in]fThe 64-bit IEEE float in native byte order to serialize in little endian representation.

◆ PutFloat64()

void ts::PutFloat64 ( void *  p,
ieee_float64_t  f 
)
inline

Function serializing a 64-bit IEEE float data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit IEEE float.
[in]fThe 64-bit IEEE float in native byte order to serialize in big endian representation.

◆ abs()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
INT ts::abs ( INT  a)
inline

Absolute value of integer types, also working on unsigned types.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer value.
Returns
Ansolute value of a.

◆ bound_check()

template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
bool ts::bound_check ( INT2  x)

Integer cross-type bound check.

Template Parameters
INT1An integer type.
INT2An integer type.
Parameters
[in]xAn integer value of type INT2.
Returns
True if the value of x is within the limits of type INT1.

◆ bounded_cast()

template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
INT1 ts::bounded_cast ( INT2  x)

Bounded integer cast.

Template Parameters
INT1An integer type.
INT2An integer type.
Parameters
[in]xAn integer value of type INT2.
Returns
The value of x, within the limits of type INT1.

◆ throw_bound_check()

template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
void ts::throw_bound_check ( INT2  x)

Throw an exception if an integer value does not fall into the range of another integer type.

Template Parameters
INT1An integer type.
INT2An integer type.
Parameters
[in]xAn integer value of type INT2.
Exceptions
std::out_of_rangeWhen the value of x is ouside the limits of type INT1.

◆ debug_throw_bound_check()

template<typename INT1 , typename INT2 , typename std::enable_if< std::is_integral< INT1 >::value &&std::is_integral< INT2 >::value, int >::type = 0>
void ts::debug_throw_bound_check ( INT2  x)
inline

In debug mode, throw an exception if an integer value does not fall into the range of another integer type.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INT1An integer type.
INT2An integer type.
Parameters
[in]xAn integer value of type INT2.
Exceptions
std::out_of_rangeWhen the value of x is ouside the limits of type INT1.

◆ add_overflow() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool ts::add_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Check if an integer addition generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a + b.
Returns
True if a + b generated an overflow.

◆ add_overflow() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool ts::add_overflow ( INT  a,
INT  b 
)

Check if an integer addition generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
Returns
True if a + b generated an overflow.

◆ sub_overflow() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool ts::sub_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Check if an integer substraction generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a - b.
Returns
True if a - b generated an overflow.

◆ sub_overflow() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool ts::sub_overflow ( INT  a,
INT  b 
)

Check if an integer substraction generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
Returns
True if a - b generated an overflow.

◆ neg_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
bool ts::neg_overflow ( INT  a)
inline

Check if the negation (opposite sign) of an integer generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer value.
Returns
True if -a generates an overflow.

◆ mul_overflow() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool ts::mul_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Check if an integer multiplication generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a * b.
Returns
True if a * b generated an overflow.

◆ mul_overflow() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
bool ts::mul_overflow ( INT  a,
INT  b 
)

Check if an integer multiplication generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
Returns
True if a * b generated an overflow.

◆ throw_add_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::throw_add_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Throw an exception if an integer addition generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a + b.
Exceptions
std::overflow_errorWhen a + b generated an overflow.

◆ throw_sub_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::throw_sub_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Throw an exception if an integer substraction generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a - b.
Exceptions
std::overflow_errorWhen a - b generated an overflow.

◆ thow_neg_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::thow_neg_overflow ( INT  a)
inline

Throw an exception if the negation (opposite sign) of an integer generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer value.
Exceptions
std::overflow_errorWhen -a generates an overflow.

◆ throw_mul_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::throw_mul_overflow ( INT  a,
INT  b,
INT  res 
)
inline

Throw an exception if an integer multiplication generates an overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a * b.
Exceptions
std::overflow_errorWhen a * b generated an overflow.

◆ throw_div_zero()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::throw_div_zero ( INT  den)
inline

Throw an exception if the denominator of an integer division is zero.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]denThe denominator of an integer division.
Exceptions
std::underflow_errorWhen den is zero.

◆ debug_throw_add_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::debug_throw_add_overflow ( INT  a,
INT  b,
INT  res 
)
inline

In debug mode, throw an exception if an integer addition generates an overflow.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a + b.
Exceptions
std::overflow_errorWhen a + b generated an overflow.

◆ debug_throw_sub_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::debug_throw_sub_overflow ( INT  a,
INT  b,
INT  res 
)
inline

In debug mode, throw an exception if an integer substraction generates an overflow.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a - b.
Exceptions
std::overflow_errorWhen a - b generated an overflow.

◆ debug_thow_neg_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::debug_thow_neg_overflow ( INT  a)
inline

In debug mode, throw an exception if the negation (opposite sign) of an integer generates an overflow.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer value.
Exceptions
std::overflow_errorWhen -a generates an overflow.

◆ debug_throw_mul_overflow()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::debug_throw_mul_overflow ( INT  a,
INT  b,
INT  res 
)
inline

In debug mode, throw an exception if an integer multiplication generates an overflow.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
[in]resThe result of a * b.
Exceptions
std::overflow_errorWhen a * b generated an overflow.

◆ debug_throw_div_zero()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value, int >::type = 0>
void ts::debug_throw_div_zero ( INT  den)
inline

In debug mode, throw an exception if the denominator of an integer division is zero.

If the macro DEBUG is not defined, this function does nothing.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]denThe denominator of an integer division.
Exceptions
std::underflow_errorWhen den is zero.

◆ rounded_div()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::rounded_div ( INT  a,
INT  b 
)

Integer division with rounding to closest value (instead of truncating).

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer.
[in]bAn integer.
Returns
The value of a / b, rounded to closest value.

◆ is_negative()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
bool ts::is_negative ( INT  a)

Check if an integer value is negative, optimized for signed or unsigned type.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aAn integer.
Returns
True if a is negative.

◆ bounded_add()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::bounded_add ( INT  a,
INT  b 
)

Perform a bounded addition without overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
Returns
The value a + b. The value is bounded, in case of underflow or overflow, the result is the min or max value of the type, respectively.

◆ bounded_sub()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::bounded_sub ( INT  a,
INT  b 
)

Perform a bounded subtraction without overflow.

Template Parameters
INTAn integer type, any size, signed or unsigned.
Parameters
[in]aFirst integer.
[in]bSecond integer.
Returns
The value a - b. The value is bounded, in case of underflow or overflow, the result is the min or max value of the type, respectively.

◆ round_down()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::round_down ( INT  x,
INT  f 
)

Round x down to previous multiple of a factor f.

Template Parameters
INTAn integer type.
Parameters
[in]xAn integer value.
[in]fA factor (its absolute value is used if negative).
Returns
The value x rounded down to previous multiple of f.

◆ round_up()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::round_up ( INT  x,
INT  f 
)

Round x up to next multiple of a factor f.

Template Parameters
INTAn integer type.
Parameters
[in]xAn integer value.
[in]fA factor (its absolute value is used if negative).
Returns
The value x rounded up to next multiple of f.

◆ sign_reduce()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
void ts::sign_reduce ( INT num,
INT den 
)

Reduce the sign of an integer fraction.

Make sure that only the numerator carries the sign. The denominator must remain positive.

Template Parameters
INTAn integer type.
Parameters
[in,out]numFraction numerator.
[in,out]denFraction denominator.

◆ SignExtend()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_signed< INT >::value >::type * = nullptr>
INT ts::SignExtend ( INT  x,
size_t  bits 
)

Perform a sign extension on any subset of a signed integer.

Template Parameters
INTA signed integer type.
Parameters
[in]xAn integer containing a signed value in some number of LSB.
[in]bitsNumber of least significant bits containing a signed value.
Returns
A signed integer containing the same signed value with proper sign extension on the full size of INT.

◆ MaxDecimalWidth()

size_t ts::MaxDecimalWidth ( size_t  typeSize,
size_t  digitSeparatorSize = 0 
)

Compute the maximum width of the decimal representation of an integer type.

Parameters
[in]typeSizeSize of the integer type in bytes (result of sizeof).
[in]digitSeparatorSizeSize in characters of the digit-grouping separator.
Returns
The maximum width in characters.

◆ MaxHexaWidth()

size_t ts::MaxHexaWidth ( size_t  typeSize,
size_t  digitSeparatorSize = 0 
)

Compute the maximum width of the hexadecimal representation of an integer type.

Parameters
[in]typeSizeSize of the integer type in bytes (result of sizeof).
[in]digitSeparatorSizeSize in characters of the digit-grouping separator.
Returns
The maximum width in characters.

◆ BitSize()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
size_t ts::BitSize ( INT  x)

Get the size in bits of an integer value.

This is the minimum number of bits to represent the value up to its most-significant '1' bit.

Template Parameters
INTAn integer type.
Parameters
[in]xAn integer containing a signed value in some number of LSB.
Returns
The minimum number of bits to represent the value up to its most-significant '1' bit. This is never zero, at least one bit is needed to represent the value zero.

◆ SignedDescription()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value, int >::type = 0>
const UChar * ts::SignedDescription ( )
inline

Get the signed/unsigned qualifier of an integer type as a string.

Template Parameters
INTAn integer type.
Returns
Either u"signed" or u"unsigned".

◆ GCD()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value &&std::is_unsigned< INT >::value >::type * = nullptr>
INT ts::GCD ( INT  x,
INT  y 
)

Compute a greatest common denominator (GCD).

Template Parameters
INTAn integer type.
Parameters
[in]xAn integer.
[in]yAn integer.
Returns
The greatest common denominator (GCD) of x and y. Always positive.

◆ Power10()

uint64_t ts::Power10 ( size_t  pow)

Get a power of 10 using a fast lookup table.

Parameters
[in]powThe requested power of 10.
Returns
The requested power of 10. If the value is larger than the largest integer on this platform, the result is undefined.

◆ MemZero()

void ts::MemZero ( void *  addr,
size_t  size 
)
inline

Zeroing a memory area.

Parameters
[out]addrAddress of a memory area to fill with zeroes.
[in]sizeSize in bytes of the memory area.

◆ MemSet()

void ts::MemSet ( void *  addr,
uint8_t  value,
size_t  size 
)
inline

Setting a memory area.

Similar to std::memset() but explicitly does nothing on zero size.

Parameters
[out]addrAddress of a memory area to fill with value.
[in]valueByte value to set in all area.
[in]sizeSize in bytes of the memory area.

◆ MemCopy()

void ts::MemCopy ( void *  dest,
const void *  src,
size_t  size 
)
inline

Copying a memory area.

Similar to std::memcpy() and std::memmove() but explicitly does nothing on zero size. Overlapping source and destination are allowed, as with std::memmove().

Parameters
[out]destBase address of destination area.
[in]srcBase address of source area.
[in]sizeSize in bytes of the memory area.

◆ MemCompare()

int ts::MemCompare ( const void *  addr1,
const void *  addr2,
size_t  size 
)
inline

Comparing two memory areas.

Similar to std::memcmp() but explicitly does nothing on zero size.

Parameters
[in]addr1Base address of first area.
[in]addr2Base address of second area.
[in]sizeSize in bytes of the memory area.
Returns
Same as std::memcmp(). Zero when the twa areas are equal or size is zero.

◆ MemEqual()

bool ts::MemEqual ( const void *  addr1,
const void *  addr2,
size_t  size 
)
inline

Check if two memory areas are identical.

Parameters
[in]addr1Base address of first area.
[in]addr2Base address of second area.
[in]sizeSize in bytes of the memory area.
Returns
True if the twa areas are equal or size is zero, false otherwise.

◆ MemXor()

void ts::MemXor ( void *  dest,
const void *  src1,
const void *  src2,
size_t  size 
)

Compute an exclusive or over memory areas.

The input and output areas can overlap only if they start at the same address.

Parameters
[out]destDestination start address.
[in]src1Start address of the first area.
[in]src2Start address of the second area.
[in]sizeSize in bytes of the memory areas.

◆ StartsWith()

bool ts::StartsWith ( const void *  area,
size_t  area_size,
const void *  prefix,
size_t  prefix_size 
)

Check if a memory area starts with the specified prefix.

Parameters
[in]areaAddress of a memory area to check.
[in]area_sizeSize in bytes of the memory area.
[in]prefixAddress of the content of the prefix to check.
[in]prefix_sizeSize in bytes of the prefix.
Returns
True if area starts with prefix.

◆ LocatePattern()

const uint8_t * ts::LocatePattern ( const void *  area,
size_t  area_size,
const void *  pattern,
size_t  pattern_size 
)

Locate a pattern into a memory area.

Parameters
[in]areaAddress of a memory area to check.
[in]area_sizeSize in bytes of the memory area.
[in]patternAddress of the content of the pattern to check.
[in]pattern_sizeSize in bytes of the pattern.
Returns
Address of the first occurence of pattern in area or the null pointer if not found.

◆ LocateZeroZero()

const uint8_t * ts::LocateZeroZero ( const void *  area,
size_t  area_size,
uint8_t  third 
)

Locate a 3-byte pattern 00 00 XY into a memory area.

This is a specialized version of LocatePattern().

Parameters
[in]areaAddress of a memory area to check.
[in]area_sizeSize in bytes of the memory area.
[in]thirdThird byte of the pattern, after 00 00.
Returns
Address of the first occurence of the 3-byte pattern in area or the null pointer if not found.

◆ IdenticalBytes()

bool ts::IdenticalBytes ( const void *  area,
size_t  area_size 
)

Check if a memory area contains all identical byte values.

Parameters
[in]areaAddress of a memory area to check.
[in]area_sizeSize in bytes of the memory area.
Returns
True if area_size is greater than 1 and all bytes in area are identical.

◆ GetUInt16BE() [1/2]

uint16_t ts::GetUInt16BE ( const void *  p)
inline

Function getting a 16-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in big endian representation.
Returns
The 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32BE() [1/2]

uint32_t ts::GetUInt32BE ( const void *  p)
inline

Function getting a 32-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in big endian representation.
Returns
The 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24BE() [1/2]

uint32_t ts::GetUInt24BE ( const void *  p)

Function getting a 24-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in big endian representation.
Returns
The 24-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64BE() [1/2]

uint64_t ts::GetUInt64BE ( const void *  p)
inline

Function getting a 64-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in big endian representation.
Returns
The 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt40BE()

uint64_t ts::GetUInt40BE ( const void *  p)

Function getting a 40-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 40-bit unsigned integer in big endian representation.
Returns
The 40-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt48BE()

uint64_t ts::GetUInt48BE ( const void *  p)

Function getting a 48-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 48-bit unsigned integer in big endian representation.
Returns
The 48-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt16LE() [1/2]

uint16_t ts::GetUInt16LE ( const void *  p)
inline

Function getting a 16-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in little endian representation.
Returns
The 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32LE() [1/2]

uint32_t ts::GetUInt32LE ( const void *  p)
inline

Function getting a 32-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in little endian representation.
Returns
The 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24LE() [1/2]

uint32_t ts::GetUInt24LE ( const void *  p)

Function getting a 24-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in little endian representation.
Returns
The 24-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64LE() [1/2]

uint64_t ts::GetUInt64LE ( const void *  p)
inline

Function getting a 64-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in little endian representation.
Returns
The 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt40LE()

uint64_t ts::GetUInt40LE ( const void *  p)

Function getting a 40-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 40-bit unsigned integer in little endian representation.
Returns
The 40-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt48LE()

uint64_t ts::GetUInt48LE ( const void *  p)

Function getting a 48-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 48-bit unsigned integer in little endian representation.
Returns
The 48-bit unsigned integer in native byte order, deserialized from p.

◆ PutUInt16BE()

void ts::PutUInt16BE ( void *  p,
uint16_t  i 
)
inline

Function serializing a 16-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 16-bit unsigned integer.
[in]iThe 16-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt32BE()

void ts::PutUInt32BE ( void *  p,
uint32_t  i 
)
inline

Function serializing a 32-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit unsigned integer.
[in]iThe 32-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt64BE()

void ts::PutUInt64BE ( void *  p,
uint64_t  i 
)
inline

Function serializing a 64-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit unsigned integer.
[in]iThe 64-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt16LE()

void ts::PutUInt16LE ( void *  p,
uint16_t  i 
)
inline

Function serializing a 16-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 16-bit unsigned integer.
[in]iThe 16-bit unsigned integer in native byte order to serialize in little endian representation.

◆ PutUInt32LE()

void ts::PutUInt32LE ( void *  p,
uint32_t  i 
)
inline

Function serializing a 32-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 32-bit unsigned integer.
[in]iThe 32-bit unsigned integer in native byte order to serialize in little endian representation.

◆ PutUInt64LE()

void ts::PutUInt64LE ( void *  p,
uint64_t  i 
)
inline

Function serializing a 64-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 64-bit unsigned integer.
[in]iThe 64-bit unsigned integer in native byte order to serialize in little endian representation.

◆ PutUInt24BE()

void ts::PutUInt24BE ( void *  p,
uint32_t  i 
)

Function serializing a 24-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 24-bit unsigned integer.
[in]iThe 24-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt24LE()

void ts::PutUInt24LE ( void *  p,
uint32_t  i 
)

Function serializing a 24-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 24-bit unsigned integer.
[in]iThe 24-bit unsigned integer in native byte order to serialize in little endian representation.

◆ PutUInt40BE()

void ts::PutUInt40BE ( void *  p,
uint64_t  i 
)

Function serializing a 40-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 40-bit unsigned integer.
[in]iThe 40-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt40LE()

void ts::PutUInt40LE ( void *  p,
uint64_t  i 
)

Function serializing a 40-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 40-bit unsigned integer.
[in]iThe 40-bit unsigned integer in native byte order to serialize in little endian representation.

◆ PutUInt48BE()

void ts::PutUInt48BE ( void *  p,
uint64_t  i 
)

Function serializing a 48-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 48-bit unsigned integer.
[in]iThe 48-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt48LE()

void ts::PutUInt48LE ( void *  p,
uint64_t  i 
)

Function serializing a 48-bit unsigned integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 48-bit unsigned integer.
[in]iThe 48-bit unsigned integer in native byte order to serialize in little endian representation.

◆ GetUInt8() [1/2]

uint8_t ts::GetUInt8 ( const void *  p)
inline

Function getting an 8-bit unsigned integer from serialized data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[in]pAn address pointing to an 8-bit unsigned integer.
Returns
The 8-bit unsigned integer at p.

◆ GetUInt16() [1/2]

uint16_t ts::GetUInt16 ( const void *  p)
inline

Function getting a 16-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in big endian representation.
Returns
The 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24() [1/2]

uint32_t ts::GetUInt24 ( const void *  p)
inline

Function getting a 24-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in big endian representation.
Returns
The 24-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32() [1/2]

uint32_t ts::GetUInt32 ( const void *  p)
inline

Function getting a 32-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in big endian representation.
Returns
The 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt40() [1/2]

uint64_t ts::GetUInt40 ( const void *  p)
inline

Function getting a 40-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 40-bit unsigned integer in big endian representation.
Returns
The 40-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt48() [1/2]

uint64_t ts::GetUInt48 ( const void *  p)
inline

Function getting a 48-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 48-bit unsigned integer in big endian representation.
Returns
The 48-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64() [1/2]

uint64_t ts::GetUInt64 ( const void *  p)
inline

Function getting a 64-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in big endian representation.
Returns
The 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetInt8() [1/2]

int8_t ts::GetInt8 ( const void *  p)
inline

Function getting an 8-bit signed integer from serialized data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[in]pAn address pointing to an 8-bit signed integer.
Returns
The 8-bit signed integer at p.

◆ GetInt16() [1/2]

int16_t ts::GetInt16 ( const void *  p)
inline

Function getting a 16-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in big endian representation.
Returns
The 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24() [1/2]

int32_t ts::GetInt24 ( const void *  p)
inline

Function getting a 24-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in big endian representation.
Returns
The 24-bit signed integer in native byte order, deserialized from p.

◆ GetInt32() [1/2]

int32_t ts::GetInt32 ( const void *  p)
inline

Function getting a 32-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in big endian representation.
Returns
The 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt64() [1/2]

int64_t ts::GetInt64 ( const void *  p)
inline

Function getting a 64-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in big endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt16BE() [1/2]

int16_t ts::GetInt16BE ( const void *  p)
inline

Function getting a 16-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in big endian representation.
Returns
The 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24BE() [1/2]

int32_t ts::GetInt24BE ( const void *  p)
inline

Function getting a 24-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in big endian representation.
Returns
The 24-bit signed integer in native byte order, deserialized from p.

◆ GetInt32BE() [1/2]

int32_t ts::GetInt32BE ( const void *  p)
inline

Function getting a 32-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in big endian representation.
Returns
The 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt40BE()

int64_t ts::GetInt40BE ( const void *  p)
inline

Function getting a 40-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 40-bit signed integer in big endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt48BE()

int64_t ts::GetInt48BE ( const void *  p)
inline

Function getting a 48-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 48-bit signed integer in big endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt64BE() [1/2]

int64_t ts::GetInt64BE ( const void *  p)
inline

Function getting a 64-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in big endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt16LE() [1/2]

int16_t ts::GetInt16LE ( const void *  p)
inline

Function getting a 16-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in little endian representation.
Returns
The 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24LE() [1/2]

int32_t ts::GetInt24LE ( const void *  p)
inline

Function getting a 24-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in little endian representation.
Returns
The 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt32LE() [1/2]

int32_t ts::GetInt32LE ( const void *  p)
inline

Function getting a 32-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in little endian representation.
Returns
The 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt40LE()

int64_t ts::GetInt40LE ( const void *  p)
inline

Function getting a 40-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 40-bit signed integer in little endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt48LE()

int64_t ts::GetInt48LE ( const void *  p)
inline

Function getting a 48-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 48-bit signed integer in little endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt64LE() [1/2]

int64_t ts::GetInt64LE ( const void *  p)
inline

Function getting a 64-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in little endian representation.
Returns
The 64-bit signed integer in native byte order, deserialized from p.

◆ GetUInt8() [2/2]

void ts::GetUInt8 ( const void *  p,
uint8_t &  i 
)
inline

Function getting an 8-bit unsigned integer from serialized data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[in]pAn address pointing to an 8-bit unsigned integer.
[out]iThe 8-bit unsigned integer at p.

◆ GetUInt16() [2/2]

void ts::GetUInt16 ( const void *  p,
uint16_t &  i 
)
inline

Function getting a 16-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in big endian representation.
[out]iThe 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24() [2/2]

void ts::GetUInt24 ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 24-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in big endian representation.
[out]iThe 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32() [2/2]

void ts::GetUInt32 ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 32-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in big endian representation.
[out]iThe 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt40() [2/2]

void ts::GetUInt40 ( const void *  p,
uint64_t &  i 
)
inline

Function getting a 40-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 40-bit unsigned integer in big endian representation.
[out]iThe 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt48() [2/2]

void ts::GetUInt48 ( const void *  p,
uint64_t &  i 
)
inline

Function getting a 48-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 48-bit unsigned integer in big endian representation.
[out]iThe 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64() [2/2]

void ts::GetUInt64 ( const void *  p,
uint64_t &  i 
)
inline

Function getting a 64-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in big endian representation.
[out]iThe 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt16BE() [2/2]

void ts::GetUInt16BE ( const void *  p,
uint16_t &  i 
)
inline

Function getting a 16-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in big endian representation.
[out]iThe 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24BE() [2/2]

void ts::GetUInt24BE ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 24-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in big endian representation.
[out]iThe 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32BE() [2/2]

void ts::GetUInt32BE ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 32-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in big endian representation.
[out]iThe 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64BE() [2/2]

void ts::GetUInt64BE ( const void *  p,
uint64_t &  i 
)
inline

Function getting a 64-bit unsigned integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in big endian representation.
[out]iThe 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt16LE() [2/2]

void ts::GetUInt16LE ( const void *  p,
uint16_t &  i 
)
inline

Function getting a 16-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 16-bit unsigned integer in little endian representation.
[out]iThe 16-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt24LE() [2/2]

void ts::GetUInt24LE ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 24-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 24-bit unsigned integer in little endian representation.
[out]iThe 24-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt32LE() [2/2]

void ts::GetUInt32LE ( const void *  p,
uint32_t &  i 
)
inline

Function getting a 32-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 32-bit unsigned integer in little endian representation.
[out]iThe 32-bit unsigned integer in native byte order, deserialized from p.

◆ GetUInt64LE() [2/2]

void ts::GetUInt64LE ( const void *  p,
uint64_t &  i 
)
inline

Function getting a 64-bit unsigned integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 64-bit unsigned integer in little endian representation.
[out]iThe 64-bit unsigned integer in native byte order, deserialized from p.

◆ GetInt8() [2/2]

void ts::GetInt8 ( const void *  p,
int8_t &  i 
)
inline

Function getting an 8-bit signed integer from serialized data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[in]pAn address pointing to an 8-bit signed integer.
[out]iThe 8-bit signed integer at p.

◆ GetInt16() [2/2]

void ts::GetInt16 ( const void *  p,
int16_t &  i 
)
inline

Function getting a 16-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in big endian representation.
[out]iThe 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24() [2/2]

void ts::GetInt24 ( const void *  p,
int32_t &  i 
)
inline

Function getting a 24-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in big endian representation.
[out]iThe 24-bit signed integer in native byte order, deserialized from p.

◆ GetInt32() [2/2]

void ts::GetInt32 ( const void *  p,
int32_t &  i 
)
inline

Function getting a 32-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in big endian representation.
[out]iThe 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt64() [2/2]

void ts::GetInt64 ( const void *  p,
int64_t &  i 
)
inline

Function getting a 64-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in big endian representation.
[out]iThe 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt16BE() [2/2]

void ts::GetInt16BE ( const void *  p,
int16_t &  i 
)
inline

Function getting a 16-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in big endian representation.
[out]iThe 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24BE() [2/2]

void ts::GetInt24BE ( const void *  p,
int32_t &  i 
)
inline

Function getting a 24-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in big endian representation.
[out]iThe 24-bit signed integer in native byte order, deserialized from p.

◆ GetInt32BE() [2/2]

void ts::GetInt32BE ( const void *  p,
int32_t &  i 
)
inline

Function getting a 32-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in big endian representation.
[out]iThe 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt64BE() [2/2]

void ts::GetInt64BE ( const void *  p,
int64_t &  i 
)
inline

Function getting a 64-bit signed integer from serialized data in big endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in big endian representation.
[out]iThe 64-bit signed integer in native byte order, deserialized from p.

◆ GetInt16LE() [2/2]

void ts::GetInt16LE ( const void *  p,
int16_t &  i 
)
inline

Function getting a 16-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 16-bit signed integer in little endian representation.
[out]iThe 16-bit signed integer in native byte order, deserialized from p.

◆ GetInt24LE() [2/2]

void ts::GetInt24LE ( const void *  p,
int32_t &  i 
)
inline

Function getting a 24-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 24-bit signed integer in little endian representation.
[out]iThe 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt32LE() [2/2]

void ts::GetInt32LE ( const void *  p,
int32_t &  i 
)
inline

Function getting a 32-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 32-bit signed integer in little endian representation.
[out]iThe 32-bit signed integer in native byte order, deserialized from p.

◆ GetInt64LE() [2/2]

void ts::GetInt64LE ( const void *  p,
int64_t &  i 
)
inline

Function getting a 64-bit signed integer from serialized data in little endian representation.

Parameters
[in]pAn address pointing to a 64-bit signed integer in little endian representation.
[out]iThe 64-bit signed integer in native byte order, deserialized from p.

◆ PutUInt8()

void ts::PutUInt8 ( void *  p,
uint8_t  i 
)
inline

Function serializing an 8-bit unsigned integer data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[out]pAn address where to serialize the 8-bit unsigned integer.
[in]iThe 8-bit unsigned integer to serialize.

◆ PutUInt16()

void ts::PutUInt16 ( void *  p,
uint16_t  i 
)
inline

Function serializing a 16-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 16-bit unsigned integer.
[in]iThe 16-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt24()

void ts::PutUInt24 ( void *  p,
uint32_t  i 
)
inline

Function serializing a 24-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 24-bit unsigned integer.
[in]iThe 24-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt32()

void ts::PutUInt32 ( void *  p,
uint32_t  i 
)
inline

Function serializing a 32-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit unsigned integer.
[in]iThe 32-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt40()

void ts::PutUInt40 ( void *  p,
uint64_t  i 
)
inline

Function serializing a 40-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 40-bit unsigned integer.
[in]iThe 40-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt48()

void ts::PutUInt48 ( void *  p,
uint64_t  i 
)
inline

Function serializing a 48-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 48-bit unsigned integer.
[in]iThe 48-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutUInt64()

void ts::PutUInt64 ( void *  p,
uint64_t  i 
)
inline

Function serializing a 64-bit unsigned integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit unsigned integer.
[in]iThe 64-bit unsigned integer in native byte order to serialize in big endian representation.

◆ PutInt8()

void ts::PutInt8 ( void *  p,
int8_t  i 
)
inline

Function serializing an 8-bit signed integer data.

Note: There is no byte-swapping in the serialization / deserialization of 8-bit integer data. But this function is provided for consistency.

Parameters
[out]pAn address where to serialize the 8-bit signed integer.
[in]iThe 8-bit signed integer to serialize.

◆ PutInt16()

void ts::PutInt16 ( void *  p,
int16_t  i 
)
inline

Function serializing a 16-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 16-bit signed integer.
[in]iThe 16-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt24()

void ts::PutInt24 ( void *  p,
int32_t  i 
)
inline

Function serializing a 24-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 24-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt32()

void ts::PutInt32 ( void *  p,
int32_t  i 
)
inline

Function serializing a 32-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt64()

void ts::PutInt64 ( void *  p,
int64_t  i 
)
inline

Function serializing a 64-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt16BE()

void ts::PutInt16BE ( void *  p,
int16_t  i 
)
inline

Function serializing a 16-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 16-bit signed integer.
[in]iThe 16-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt24BE()

void ts::PutInt24BE ( void *  p,
int32_t  i 
)
inline

Function serializing a 24-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 24-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt32BE()

void ts::PutInt32BE ( void *  p,
int32_t  i 
)
inline

Function serializing a 32-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 32-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt40BE()

void ts::PutInt40BE ( void *  p,
int64_t  i 
)
inline

Function serializing a 40-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 40-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt48BE()

void ts::PutInt48BE ( void *  p,
int64_t  i 
)
inline

Function serializing a 48-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 48-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt64BE()

void ts::PutInt64BE ( void *  p,
int64_t  i 
)
inline

Function serializing a 64-bit signed integer data in big endian representation.

Parameters
[out]pAn address where to serialize the 64-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in big endian representation.

◆ PutInt16LE()

void ts::PutInt16LE ( void *  p,
int16_t  i 
)
inline

Function serializing a 16-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 16-bit signed integer.
[in]iThe 16-bit signed integer in native byte order to serialize in little endian representation.

◆ PutInt24LE()

void ts::PutInt24LE ( void *  p,
int32_t  i 
)
inline

Function serializing a 24-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 24-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in little endian representation.

◆ PutInt32LE()

void ts::PutInt32LE ( void *  p,
int32_t  i 
)
inline

Function serializing a 32-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 32-bit signed integer.
[in]iThe 32-bit signed integer in native byte order to serialize in little endian representation.

◆ PutInt40LE()

void ts::PutInt40LE ( void *  p,
int64_t  i 
)
inline

Function serializing a 40-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 40-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in little endian representation.

◆ PutInt48LE()

void ts::PutInt48LE ( void *  p,
int64_t  i 
)
inline

Function serializing a 48-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 48-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in little endian representation.

◆ PutInt64LE()

void ts::PutInt64LE ( void *  p,
int64_t  i 
)
inline

Function serializing a 64-bit signed integer data in little endian representation.

Parameters
[out]pAn address where to serialize the 64-bit signed integer.
[in]iThe 64-bit signed integer in native byte order to serialize in little endian representation.

◆ GetIntBE() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetIntBE ( const void *  p)
inline

Template function getting an integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
Returns
The INT value in native byte order, deserialized from p.

◆ GetIntLE() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetIntLE ( const void *  p)
inline

Template function getting an integer from serialized data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in little endian representation.
Returns
The INT value in native byte order, deserialized from p.

◆ GetIntBE() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetIntBE ( const void *  p,
INT i 
)
inline

Template function getting an integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[out]iThe INT value in native byte order, deserialized from p.

◆ GetIntLE() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetIntLE ( const void *  p,
INT i 
)
inline

Template function getting an integer from serialized data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in little endian representation.
[out]iThe INT value in native byte order, deserialized from p.

◆ PutIntBE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutIntBE ( void *  p,
INT  i 
)
inline

Template function serializing an integer data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]iThe INT in native byte order to serialize in big endian representation.

◆ PutIntLE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutIntLE ( void *  p,
INT  i 
)
inline

Template function serializing an integer data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]iThe INT in native byte order to serialize in little endian representation.

◆ GetInt() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetInt ( const void *  p)
inline

Template function getting an integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
Returns
The INT value in native byte order, deserialized from p.

◆ GetInt() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetInt ( const void *  p,
INT i 
)
inline

Template function getting an integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[out]iThe INT value in native byte order, deserialized from p.

◆ PutInt()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutInt ( void *  p,
INT  i 
)
inline

Template function serializing an integer data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]iThe INT in native byte order to serialize in big endian representation.

◆ GetIntVarBE() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetIntVarBE ( const void *  p,
size_t  size 
)
inline

Template function getting a variable-length integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
Returns
The INT value in native byte order, deserialized from p.

◆ GetIntVarLE() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetIntVarLE ( const void *  p,
size_t  size 
)
inline

Template function getting a variable-length integer from serialized data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in little endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
Returns
The INT value in native byte order, deserialized from p.

◆ GetIntVarBE() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetIntVarBE ( const void *  p,
size_t  size,
INT i 
)
inline

Template function getting a variable-length integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[out]iThe INT value in native byte order, deserialized from p.

◆ GetIntVarLE() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetIntVarLE ( const void *  p,
size_t  size,
INT i 
)
inline

Template function getting a variable-length integer from serialized data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in little endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[out]iThe INT value in native byte order, deserialized from p.

◆ PutIntVarBE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutIntVarBE ( void *  p,
size_t  size,
INT  i 
)
inline

Template function serializing a variable-length integer data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[in]iThe INT in native byte order to serialize in big endian representation.

◆ PutIntVarLE()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutIntVarLE ( void *  p,
size_t  size,
INT  i 
)
inline

Template function serializing a variable-length integer data in little endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[in]iThe INT in native byte order to serialize in little endian representation.

◆ GetIntVar() [1/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
INT ts::GetIntVar ( const void *  p,
size_t  size 
)
inline

Template function getting a variable-length integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
Returns
The INT value in native byte order, deserialized from p.

◆ GetIntVar() [2/2]

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::GetIntVar ( const void *  p,
size_t  size,
INT i 
)
inline

Template function getting a variable-length integer from serialized data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[in]pAn address pointing to an INT in big endian representation.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[out]iThe INT value in native byte order, deserialized from p.

◆ PutIntVar()

template<typename INT , typename std::enable_if< std::is_integral< INT >::value >::type * = nullptr>
void ts::PutIntVar ( void *  p,
size_t  size,
INT  i 
)
inline

Template function serializing a variable-length integer data in big endian representation.

Template Parameters
INTSome integer type.
Parameters
[out]pAn address where to serialize the integer.
[in]sizeSize in bytes of the integer. Must be 1 to 8.
[in]iThe INT in native byte order to serialize in big endian representation.

◆ ROL()

uint32_t ts::ROL ( uint32_t  word,
int  i 
)
inline

Inlined function performing 32-bit left-rotate.

Parameters
[in]wordA 32-bit word to rotate.
[in]iThe number of bits by which to rotate word. Can be positive (left-rotate) or negative (right-rotate).
Returns
The value of word left-rotated by i bits.

◆ ROLc()

uint32_t ts::ROLc ( uint32_t  word,
const int  i 
)
inline

Inlined function performing 32-bit left-rotate with a constant value in the range 0..31 for index.

Using ROLc instead of ROL when the number of bits to rotate is a compile-time constant brings some performance gain on platforms where the function in written as inlined assembly code. Although the performance gain is small, it can bring some improvement on cryptographic algorithms for instance.

Note: In debug mode, ROLc reverts to ROL since the routine is not inlined and the constant constraint cannot be checked by the compiler.

Parameters
[in]wordA 32-bit word to rotate.
[in]iThe number of bits by which to rotate word. Must be a constant value in the range 0..31.
Returns
The value of word left-rotated by i bits.

◆ ROR()

uint32_t ts::ROR ( uint32_t  word,
int  i 
)
inline

Inlined function performing 32-bit right-rotate.

Parameters
[in]wordA 32-bit word to rotate.
[in]iThe number of bits by which to rotate word. Can be positive (right-rotate) or negative (left-rotate).
Returns
The value of word right-rotated by i bits.

◆ RORc()

uint32_t ts::RORc ( uint32_t  word,
const int  i 
)
inline

Inlined function performing 32-bit right-rotate with a constant value in the range 0..31 for index.

Using RORc instead of ROR when the number of bits to rotate is a compile-time constant brings some performance gain on platforms where the function in written as inlined assembly code. Although the performance gain is small, it can bring some improvement on cryptographic algorithms for instance.

Note 1: In debug mode, RORc reverts to ROR since the routine is not inlined and the constant constraint cannot be checked by the compiler.

Note 2: With the LLVM compiler, RORc reverts to ROR since the compiled generates an error and does not recognize the operand as a constant.

Parameters
[in]wordA 32-bit word to rotate.
[in]iThe number of bits by which to rotate word. Must be a constant value in the range 0..31.
Returns
The value of word right-rotated by i bits.

◆ ROL64()

uint64_t ts::ROL64 ( uint64_t  word,
int  i 
)
inline

Inlined function performing 64-bit left-rotate.

Parameters
[in]wordA 64-bit word to rotate.
[in]iThe number of bits by which to rotate word. Can be positive (left-rotate) or negative (right-rotate).
Returns
The value of word left-rotated by i bits.

◆ ROL64c()

uint64_t ts::ROL64c ( uint64_t  word,
const int  i 
)
inline

Inlined function performing 64-bit left-rotate with a constant value in the range 0..63 for index.

Using ROL64c instead of ROL64 when the number of bits to rotate is a compile-time constant brings some performance gain on platforms where the function in written as inlined assembly code. Although the performance gain is small, it can bring some improvement on cryptographic algorithms for instance.

Note: In debug mode, ROL64c reverts to ROL64 since the routine is not inlined and the constant constraint cannot be checked by the compiler.

Parameters
[in]wordA 64-bit word to rotate.
[in]iThe number of bits by which to rotate word. Must be a constant value in the range 0..63.
Returns
The value of word left-rotated by i bits.

◆ ROR64()

uint64_t ts::ROR64 ( uint64_t  word,
int  i 
)
inline

Inlined function performing 64-bit right-rotate.

Parameters
[in]wordA 64-bit word to rotate.
[in]iThe number of bits by which to rotate word. Can be positive (right-rotate) or negative (left-rotate).
Returns
The value of word right-rotated by i bits.

◆ ROR64c()

uint64_t ts::ROR64c ( uint64_t  word,
const int  i 
)
inline

Inlined function performing 64-bit right-rotate with a constant value in the range 0..63 for index.

Using ROR64c instead of ROR64 when the number of bits to rotate is a compile-time constant brings some performance gain on platforms where the function in written as inlined assembly code. Although the performance gain is small, it can bring some improvement on cryptographic algorithms for instance.

Note: In debug mode, ROR64c reverts to ROR64 since the routine is not inlined and the constant constraint cannot be checked by the compiler.

Parameters
[in]wordA 64-bit word to rotate.
[in]iThe number of bits by which to rotate word. Must be a constant value in the range 0..63.
Returns
The value of word right-rotated by i bits.

◆ UCharacteristics()

uint32_t ts::UCharacteristics ( UChar  c)

Get the characteristics of a character.

Parameters
[in]cA character.
Returns
Bitmask of the characteristics of c.

◆ IsSpace()

bool ts::IsSpace ( UChar  c)
inline

Check if a character is a space.

Parameters
[in]cA character.
Returns
True if c is a space, tab, new line character.

◆ IsPrintable()

bool ts::IsPrintable ( UChar  c)
inline

Check if a character is printable according to the current C locale.

Parameters
[in]cA character.
Returns
True if c is a printable character.

◆ IsAlpha()

bool ts::IsAlpha ( UChar  c)
inline

Check if a character is a letter.

Parameters
[in]cA character.
Returns
True if c is a letter.

◆ IsDigit()

bool ts::IsDigit ( UChar  c)
inline

Check if a character is a decimal digit.

Parameters
[in]cA character.
Returns
True if c is a decimal digit.

◆ IsAlphaNum()

bool ts::IsAlphaNum ( UChar  c)
inline

Check if a character is alphanumerical.

Parameters
[in]cA character.
Returns
True if c is alphanumerical.

◆ IsHexa()

bool ts::IsHexa ( UChar  c)
inline

Check if a character is an hexadecimal digit.

Parameters
[in]cA character.
Returns
True if c is an hexadecimal digit.

◆ ToDigit()

int ts::ToDigit ( UChar  c,
int  base = 10,
int  defaultValue = -1 
)

Convert a character representing a multi-base integer digit into the corresponding integer value.

Characters '0'..'9' are converted to 0..9. Characters 'a'..'z' and 'A'..'Z' are converted to 10..35. This function can be used to convert decimal digits, hexadecimal and any other base up to base 36.

Parameters
[in]cA character to convert.
[in]baseThe base of the integer representation, must be in the range 2 to 36.
[in]defaultValueThe value to return on invalid character.
Returns
The corresponding integer value or the default value in case of error.

◆ IsLower()

bool ts::IsLower ( UChar  c)

Check if a character is a lower case letter.

Parameters
[in]cA character.
Returns
True if c is a lower case letter.

◆ IsUpper()

bool ts::IsUpper ( UChar  c)

Check if a character is an upper case letter.

Parameters
[in]cA character.
Returns
True if c is an upper case letter.

◆ ToLower()

UChar ts::ToLower ( UChar  c)

Convert a character to lowercase.

Parameters
[in]cA character to convert to lowercase.
Returns
c converted to lowercase.

◆ ToUpper()

UChar ts::ToUpper ( UChar  c)

Convert a character to uppercase.

Parameters
[in]cA character to convert to uppercase.
Returns
c converted to uppercase.

◆ Match()

bool ts::Match ( UChar  c1,
UChar  c2,
CaseSensitivity  cs 
)

Check two characters match, case sensitive or insensitive.

Parameters
[in]c1First character.
[in]c2Second character.
[in]csCase sensitivity of the comparision.
Returns
True if the two characters match.

◆ IsAccented()

bool ts::IsAccented ( UChar  c)

Check if a character contains an accent.

Parameters
[in]cA character.
Returns
True if c contains an accent.

◆ RemoveAccent()

UString ts::RemoveAccent ( UChar  c)

Remove all forms of accent or composition from a character.

Parameters
[in]cA character.
Returns
A string containing c without accent. This is a string and not a char since composed characters can be translated as two characters.

◆ IsCombiningDiacritical()

bool ts::IsCombiningDiacritical ( UChar  c)
inline

Check if a character is a combining diacritical character.

Such a character, when printed, is combined with the preceding character.

Parameters
[in]cA character.
Returns
True if c is a combining diacritical character.

◆ IsLeadingSurrogate()

bool ts::IsLeadingSurrogate ( UChar  c)
inline

Check if a character is a "leading surrogate" value.

In the most general form, a Unicode character needs 21 bits to be represented. However, most characters can be represented using 16 bits and are implemented as only one 16-bit value in UTF-16 or one single UChar. Any Unicode character which cannot be represented within 16 bits needs two consecutive UChar values in an UTF-16 string. These two values are called a "surrogate pair". The first ("leading") and second ("trailing") value of a surrogate pair are specially coded and can be identified as such.

Parameters
[in]cA character.
Returns
True if c is a "leading surrogate" value.
See also
IsTrailingSurrogate()

◆ IsTrailingSurrogate()

bool ts::IsTrailingSurrogate ( UChar  c)
inline

Check if a character is a "trailing surrogate" value.

Parameters
[in]cA character.
Returns
True if c is a "trailing surrogate" value.
See also
IsLeadingSurrogate()

◆ NeedSurrogate()

bool ts::NeedSurrogate ( char32_t  cp)
inline

Check if a 32-bit Unicode code point needs a surrogate pair in UTF-16 representation.

Parameters
[in]cpA 32-bit Unicode code point.
Returns
True if cp needs a surrogate pair.

◆ LeadingSurrogate()

UChar ts::LeadingSurrogate ( char32_t  cp)
inline

Compute the first part of the surrogate pair of a 32-bit Unicode code point (which needs a surrogate pair).

Parameters
[in]cpA 32-bit Unicode code point.
Returns
The first part of its surrogate pair.
See also
NeedSurrogate()

◆ TrailingSurrogate()

UChar ts::TrailingSurrogate ( char32_t  cp)
inline

Compute the second part of the surrogate pair of a 32-bit Unicode code point (which needs a surrogate pair).

Parameters
[in]cpA 32-bit Unicode code point.
Returns
The second part of its surrogate pair.
See also
NeedSurrogate()

◆ FromSurrogatePair()

char32_t ts::FromSurrogatePair ( UChar  lead,
UChar  trail 
)
inline

Build a 32-bit Unicode code point from a surrogate pair.

Parameters
[in]leadFirst part of the surrogate pair.
[in]trailSecond part of the surrogate pair.
Returns
A 32-bit Unicode code point.

◆ ToHTML()

UString ts::ToHTML ( UChar  c)

Convert a character into its corresponding HTML sequence.

Parameters
[in]cA character.
Returns
A string containing the html sequence for c.

◆ FromHTML()

UChar ts::FromHTML ( const UString entity)

Convert the body on an HTML entity into a character.

Parameters
[in]entityThe body on an HTML entity (e.g. "amp" for sequence "\&amp;").
Returns
The corresponding character or CHAR_NULL if not found.

◆ Precombined()

UChar ts::Precombined ( UChar  letter,
UChar  mark 
)

Build a precombined character from its base letter and non-spacing diacritical mark.

Parameters
[in]letterThe base letter.
[in]markThe non-spacing diacritical mark.
Returns
The precombined character or CHAR_NULL if the sequence does not have a precombined equivalent.

◆ DecomposePrecombined()

bool ts::DecomposePrecombined ( UChar  c,
UChar letter,
UChar mark 
)

Decompose a precombined character into its base letter and non-spacing diacritical mark.

Parameters
[in]cA character.
[out]letterThe base letter for c.
[out]markThe non-spacing diacritical mark for c.
Returns
True if c was successfully decomposed into letter and diac, false if c is not a precombined character.

◆ SysCtrlBool()

bool ts::SysCtrlBool ( const std::string &  name)

Get a Unix sysctl(2) boolean value by name.

This function now works on BSD systems only (macOS, FreeBSD, OpenBSD, DragonFlyBSD). Linux no longer supports sysctl(2), replaced by the /proc/sys filesystem.

Parameters
[in]nameName of the data to return.
Returns
The bool value. False if not found.

◆ SysCtrlString()

UString ts::SysCtrlString ( std::initializer_list< int >  oid)

Get a Unix sysctl(2) string value.

This function now works on BSD systems only (macOS, FreeBSD, OpenBSD, DragonFlyBSD). Linux no longer supports sysctl(2), replaced by the /proc/sys filesystem.

Parameters
[in]oidIdentifier of the data to return as a list of int values.
Returns
The string value or empty if not found.

◆ SysCtrlBytes()

ByteBlock ts::SysCtrlBytes ( std::initializer_list< int >  oid)

Get a Unix sysctl(2) binary value.

This function now works on BSD systems only (macOS, FreeBSD, OpenBSD, DragonFlyBSD). Linux no longer supports sysctl(2), replaced by the /proc/sys filesystem.

Parameters
[in]oidIdentifier of the data to return as a list of int values.
Returns
The binary value or empty if not found.

◆ WinErrorMessage()

UString ts::WinErrorMessage ( ::DWORD  code,
const UString moduleName = UString(),
::DWORD  minModuleCode = std::numeric_limits<::DWORD >::min(),
::DWORD  maxModuleCode = std::numeric_limits<::DWORD >::max() 
)

Format a Windows error message (Windows-specific).

Parameters
[in]codeAn error status code.
[in]moduleNameOptional module name (ie. "Wininet.dll") to search for additional messages. If not empty and code is in the range minModuleCode to maxModuleCode, the message is formatted from this module.
[in]minModuleCodeLower bound of error codes in module.
[in]maxModuleCodeUpper bound of error codes in module.
Returns
The corresponding message string.

◆ ComMessage()

UString ts::ComMessage ( ::HRESULT  status)

Format the message for a COM status (Windows-specific).

Parameters
[in]statusA COM status.
Returns
The corresponding message string.

◆ ComSuccess() [1/2]

bool ts::ComSuccess ( ::HRESULT  status,
const UChar message,
Report report 
)

Check a COM status (Windows-specific).

In case of error, report an error message.

Parameters
[in]statusA COM status.
[in]messageApplication message in case of error. The COM message is appended to the application message.
[in,out]reportWhere to report errors.
Returns
True if status is success, false if error.

◆ ComSuccess() [2/2]

bool ts::ComSuccess ( ::HRESULT  status,
const UString message,
Report report 
)

Check a COM status (Windows-specific).

In case of error, report an error message.

Parameters
[in]statusA COM status.
[in]messageApplication message in case of error. The COM message is appended to the application message.
[in,out]reportWhere to report errors.
Returns
True if status is success, false if error.

◆ ComExpose()

bool ts::ComExpose ( ::IUnknown *  object,
const ::IID &  iid 
)

Check if a COM object exposes an interface (Windows-specific).

Parameters
[in]objectObject to query.
[in]iidId of the interface we request in the object.
Returns
True if object exposes the iid interface.

◆ ToString() [1/3]

UString ts::ToString ( const ::VARIANT &  s)

Convert a COM string to Unicode string (Windows-specific).

Parameters
[in]sThe COM string.
Returns
The equivalent C++ string or an empty string on error.

◆ ToString() [2/3]

UString ts::ToString ( const ::BSTR  s)

Convert a Windows string to Unicode string (Windows-specific).

Parameters
[in]sThe COM string.
Returns
The equivalent C++ string or an empty string on error.

◆ ToString() [3/3]

UString ts::ToString ( const ::WCHAR *  s)

Convert a Windows string to Unicode string (Windows-specific).

Parameters
[in]sThe Windows string.
Returns
The equivalent Unicode string or an empty string on error.

◆ FormatGUID()

UString ts::FormatGUID ( const ::GUID &  guid,
bool  with_braces = true 
)

Format a GUID as string (Windows-specific).

Parameters
[in]guidA GUID.
[in]with_bracesIf true, add the surrounding braces "{...}".
Returns
The equivalent string or an empty string on error.

◆ CanonicalGUID() [1/2]

UString ts::CanonicalGUID ( const ::GUID &  guid)

Get a "canonical" version of a GUID (Windows-specific).

Parameters
[in]guidA GUID.
Returns
The equivalent string with only lower-case hexa digits.

◆ CanonicalGUID() [2/2]

UString ts::CanonicalGUID ( const UString guid)

Get a "canonical" version of a GUID string (Windows-specific).

Parameters
[in]guidA GUID string.
Returns
The equivalent string with only lower-case hexa digits.

◆ NameGUID()

UString ts::NameGUID ( const ::GUID &  guid)

Format a GUID as string and resolve a few known names (Windows-specific).

Warning: Very slow, eat CPU time, use with care.

Parameters
[in]guidA GUID.
Returns
The equivalent string or an empty string on error.

◆ GetStringPropertyBag()

UString ts::GetStringPropertyBag ( ::IMoniker *  moniker,
const ::OLECHAR *  property_name,
Report report 
)

Get a string property from the "property bag" of a COM object (Windows-specific).

Parameters
[in,out]monikerMoniker defining the object.
[in]property_nameName of the property to fetch.
[in,out]reportWhere to report errors.
Returns
The property value.

◆ GetHandleFromObject()

::HANDLE ts::GetHandleFromObject ( ::IUnknown *  obj,
Report report 
)

Get the handle of a COM object (Windows-specific).

Parameters
[in]objCOM object.
[in,out]reportWhere to report errors.
Returns
The handle or INVALID_HANDLE_VALUE on error.

◆ WinDeviceName()

UString ts::WinDeviceName ( ::HANDLE  handle)

Get the device or file name from a Windows handle (Windows-specific).

Parameters
[in]handleA Windows handle.
Returns
The device name or an empty string on error.

◆ WinCreateElevatedProcess()

bool ts::WinCreateElevatedProcess ( const UString exeName,
bool  synchronous,
Report report 
)

Start an application with elevated privileges (Windows-specific).

Parameters
[in]exeNamePath name of the executable file to run.
[in]synchronousIf true, wait for the process to terminate.
[in,out]reportWhere to report errors.
Returns
True on success, false on error.

◆ HasDektecSupport()

bool ts::HasDektecSupport ( )

Check if this version of TSDuck was built with Dektec support.

Returns
True is Dektec devices are supported. Always false on macOS or on Windows/Linux on non-Intel platforms.

◆ GetDektecVersions() [1/2]

UString ts::GetDektecVersions ( )

Get the versions of Dektec API and drivers in one single string.

Returns
A string describing the Dektec versions (or the lack of Dektec support).

◆ GetDektecVersions() [2/2]

void ts::GetDektecVersions ( std::map< UString, UString > &  versions)

Get the versions of Dektec API and drivers.

Parameters
[out]versionsAll versions. The map index is the driver or API name and the map value is its version.

◆ TunerTypeOf()

TunerType ts::TunerTypeOf ( DeliverySystem  system)

Get the tuner type of a delivery system.

Parameters
[in]systemDelivery system.
Returns
Corresponding tuner type or DS_UNDEFINED if there is no corresponding tuner type.

◆ StandardsOf()

Standards ts::StandardsOf ( DeliverySystem  system)

Get the list of standards for a delivery system.

Parameters
[in]systemDelivery system.
Returns
Corresponding standards.

◆ IsSatelliteDelivery()

bool ts::IsSatelliteDelivery ( DeliverySystem  sys)

Check if a delivery system is a satellite one.

This can be used to check if dish manipulations are required.

Parameters
[in]sysThe delivery system to check.
Returns
True if sys is a satellite system, false otherwise.

◆ IsTerrestrialDelivery()

bool ts::IsTerrestrialDelivery ( DeliverySystem  sys)

Check if a delivery system is a terrestrial one.

This can be used to validate the use of UHD and VHF bands.

Parameters
[in]sysThe delivery system to check.
Returns
True if sys is a terrestrial system, false otherwise.

◆ BandWidthValueHz()

uint32_t ts::BandWidthValueHz ( BandWidth  bw)
inline

Get the bandwidth value in Hz (deprecated).

This is a legacy function, bandwidths are now integer values in Hz.

Parameters
[in]bwBandwidth in Hz (or legacy bandwidth enumeration value).
Returns
Bandwidth in Hz or zero if unknown.

◆ BandWidthCodeFromHz()

BandWidth ts::BandWidthCodeFromHz ( uint32_t  hz)
inline

Get the bandwidth code from a value in Hz (deprecated).

This is a legacy function, bandwidths are now integer values in Hz.

Parameters
[in]hzBandwidth in Hz.
Returns
Same bandwidth in Hz.

◆ LegacyBandWidthToHz()

bool ts::LegacyBandWidthToHz ( BandWidth bandwidth,
const UString str 
)

Convert a string containing a bandwidth value into an integer value in Hz.

Parameters
[out]bandwidthThe bandwidth value. Unmodified in case of error.
[in]strThe string value containing either a integer value in Hz or a legacy enum value.
Returns
True on success, false on invalid value.

◆ GetLegacyBandWidth()

bool ts::GetLegacyBandWidth ( std::optional< BandWidth > &  bandwidth,
const xml::Element element,
const UString attribute 
)

Get optional bandwidth parameter from an XML element, accepting legacy values.

Parameters
[out]bandwidthReturned value of the attribute in Hz. If the attribute is not present, the variable is reset.
[in]elementXML element containing the optional bandwidth.
[in]attributeName of the attribute.
Returns
True on success, false on error.

◆ DefineLegacyBandWidthArg()

void ts::DefineLegacyBandWidthArg ( Args args,
const UChar name,
UChar  short_name = 0,
BandWidth  dvbt_default = 0,
BandWidth  isdbt_default = 0 
)

Add a command line option definition for bandwidth.

Parameters
[in,out]argsCommand line arguments to update.
[in]nameLong name of option.
[in]short_nameOptional one letter short name.
[in]dvbt_defaultDocumented default value for DVB-T/T2.
[in]isdbt_defaultDocumented default value for ISDB-T.

◆ LoadLegacyBandWidthArg() [1/2]

bool ts::LoadLegacyBandWidthArg ( BandWidth bandwidth,
Args args,
const UChar name,
BandWidth  def_value = 0 
)

Load a bandwidth argument from command line.

Args error indicator is set in case of incorrect arguments.

Parameters
[out]bandwidthReturned bandwidth value.
[in,out]argsCommand line arguments.
[in]nameLong name of option.
[in]def_valueThe value to return if the option is not present or invalid.
Returns
True on success, false on error in argument line.

◆ LoadLegacyBandWidthArg() [2/2]

bool ts::LoadLegacyBandWidthArg ( std::optional< BandWidth > &  bandwidth,
Args args,
const UChar name 
)

Load a bandwidth argument from command line.

Args error indicator is set in case of incorrect arguments.

Parameters
[out]bandwidthReturned bandwidth value.
[in,out]argsCommand line arguments.
[in]nameLong name of option.
Returns
True on success, false on error in argument line.

◆ CheckModEnum()

bool ts::CheckModEnum ( int  value,
const UString name,
const Enumeration conv,
Report report 
)

Check if an enumeration value is supported by the native implementation.

The file tsModulation.h declares several enumeration types relating to modulation features. Whenever possible, all enumerations have identical integer values as their counterparts in the Linux DVB or Windows DirectShow API for faster conversion. When an enum cannot be mapped to a native value (because the feature is not supported by the operating system), a "very negative" value is used. Very negative means "-10 or less" since these values are never used by an implementation.

This function checks that an enumeration value is supported by the native implementation. If it is not, report an error message and return false.

Parameters
[in]valueThe int value of an enumeration value from on the enumeration types in file tsModulation.h.
[in]nameThe name of the feature or enumeration type (eg. "FEC", "guard interval", etc.) Used to report errors.
[in]convThe ts::Enumeration instance for the enumeration type. Used to report errors.
[in]reportWhere to report errors.
Returns
True if value is supported on the operating system. False if the feature is not supported. In this case, an error message is reported to report.

◆ CheckModVar()

template<typename ENUM , typename std::enable_if< std::is_integral< ENUM >::value||std::is_enum< ENUM >::value >::type * = nullptr>
bool ts::CheckModVar ( const std::optional< ENUM > &  value,
const UString name,
const Enumeration conv,
Report report 
)

Check if an optional enumeration value is supported by the native implementation.

Parameters
[in]valueA variable object containing an enumeration value from on the enumeration types in file tsModulation.h.
[in]nameThe name of the feature or enumeration type (eg. "FEC", "guard interval", etc.) Used to report errors.
[in]convThe ts::Enumeration instance for the enumeration type. Used to report errors.
[in]reportWhere to report errors.
Returns
True if either value is not set or its value is supported on the operating system. False if the value is set and the feature is not supported. In this case, an error message is reported to report.
See also
CheckModEnum()

◆ BitsPerSymbol()

uint32_t ts::BitsPerSymbol ( Modulation  mod)

Compute the number of bits per symbol for a specified modulation.

Parameters
[in]modModulation type.
Returns
Number of bits per symbol or zero if unknown.

◆ FECMultiplier()

uint32_t ts::FECMultiplier ( InnerFEC  fec)

Compute the multiplier of a FEC value.

Parameters
[in]fecInner FEC value.
Returns
The multiplier (eg. 9 for FEC_9_10) or zero if unknown.

◆ FECDivider()

uint32_t ts::FECDivider ( InnerFEC  fec)

Compute the divider of a FEC value.

Parameters
[in]fecInner FEC value.
Returns
The divider (eg. 10 for FEC_9_10) or zero if unknown.

◆ GuardIntervalMultiplier()

uint32_t ts::GuardIntervalMultiplier ( GuardInterval  g)

Compute the multiplier of a guard interval value.

Parameters
[in]gGuard interval value.
Returns
The multiplier (eg. 1 for GUARD_1_16) or zero if unknown.

◆ GuardIntervalDivider()

uint32_t ts::GuardIntervalDivider ( GuardInterval  g)

Compute the divider of a guard interval value.

Parameters
[in]gGuard interval value.
Returns
The divider (eg. 16 for GUARD_1_16) or zero if unknown.

◆ PLSCodeGoldToRoot()

uint32_t ts::PLSCodeGoldToRoot ( uint32_t  mode)

Convert a PLS code from GOLD to ROOT mode.

Parameters
[in]modeGOLD PLS mode value.
Returns
Corresponding ROOT PLS mode value.
See also
ETSI EN 302 307-1, section 5.5.4.

◆ PLSCodeRootToGold()

uint32_t ts::PLSCodeRootToGold ( uint32_t  mode)

Convert a PLS code from ROOT to GOLD mode.

Parameters
[in]modeROOT PLS mode value.
Returns
Corresponding GOLD PLS mode value.
See also
ETSI EN 302 307-1, section 5.5.4.

◆ CASFamilyOf()

CASFamily ts::CASFamilyOf ( CASID  ca_system_id)

Return a CAS family from a CA system id.

Useful to analyze CA descriptors.

Parameters
[in]ca_system_idDVB-allocated CA system id.
Returns
A CAS family enumeration value.

◆ GetCASIdRange()

bool ts::GetCASIdRange ( CASFamily  cas,
CASID min,
CASID max 
)

Get the minimum and maximum CA system id in a CAS family.

Parameters
[in]casCAS family.
[out]minFirst DVB-allocated CA system id for cas or CASID_NULL if unknown.
[out]maxLast DVB-allocated CA system id for cas or CASID_NULL if unknown.
Returns
True if cas was found, false otherwise.

◆ FirstCASId()

CASID ts::FirstCASId ( CASFamily  cas)

Get the lowest CA system id in a CAS family.

Parameters
[in]casCAS family.
Returns
First DVB-allocated CA system id for cas or CASID_NULL if unknown.

◆ LastCASId()

CASID ts::LastCASId ( CASFamily  cas)

Get the highest CA system id in a CAS family.

Parameters
[in]casCAS family.
Returns
Last DVB-allocated CA system id for cas or CASID_NULL if unknown.

◆ CASFamilyName()

UString ts::CASFamilyName ( CASFamily  cas)

Name of Conditional Access Families.

Parameters
[in]casCAS family
Returns
The corresponding name.

◆ GetAllCASFamilies()

void ts::GetAllCASFamilies ( std::set< CASFamily > &  cas)

Get the set of all defined Conditional Access Families.

This may include CAS families from extensions.

Parameters
[out]casSet of all CAS families.

◆ CASIdName()

UString ts::CASIdName ( const DuckContext duck,
CASID  casid,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Conditional Access System Id (as in CA Descriptor).

Parameters
[in]duckTSDuck execution context (used to select from other standards).
[in]casidConditional Access System Id.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ CodecTypeIsAudio()

bool ts::CodecTypeIsAudio ( CodecType  ct)

Check if a codec type value indicates an audio stream.

Parameters
[in]ctCodec type.
Returns
True if ct indicates an audio stream.

◆ CodecTypeIsVideo()

bool ts::CodecTypeIsVideo ( CodecType  ct)

Check if a codec type value indicates a video stream.

Parameters
[in]ctCodec type.
Returns
True if ct indicates a video stream.

◆ CodecTypeIsSubtitles()

bool ts::CodecTypeIsSubtitles ( CodecType  ct)

Check if a codec type value indicates a subtitle stream.

Parameters
[in]ctCodec type.
Returns
True if ct indicates a subtitle stream.

◆ AccessUnitTypeName()

UString ts::AccessUnitTypeName ( CodecType  codec,
uint8_t  ut,
NamesFlags  flags = NamesFlags::NAME 
)

Name of AVC/HEVC/VVC access unit (aka "NALunit") type.

Parameters
[in]codecOne of AVC, HEVC, VVC.
[in]utAccess unit type.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ IsVideoSID()

bool ts::IsVideoSID ( uint8_t  sid)
inline

Check if a stream id value indicates a video stream.

Parameters
[in]sidStream id as found in a PES header.
Returns
True if sid indicates a video stream.

◆ IsAudioSID()

bool ts::IsAudioSID ( uint8_t  sid)
inline

Check if a stream id value indicates an audio stream.

Parameters
[in]sidStream id as found in a PES header.
Returns
True if sid indicates an audio stream.

◆ IsLongHeaderSID()

bool ts::IsLongHeaderSID ( uint8_t  sid)

Check if a stream id value indicates a PES packet with long header.

Parameters
[in]sidStream id as found in a PES header.
Returns
True if sid indicates a PES packet with long header.

◆ DIDName()

UString ts::DIDName ( DID  did,
DescriptorContext context,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Descriptor ID.

Parameters
[in]didDescriptor id.
[in]flagsPresentation flags.
[in,out]contextInterpretation context of the descriptor.
Returns
The corresponding name.

◆ XDIDNameMPEG()

UString ts::XDIDNameMPEG ( DID  xdid,
NamesFlags  flags = NamesFlags::NAME 
)

Name of an MPEG extension descriptor ID.

Parameters
[in]xdidMPEG extension descriptor ID.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ XDIDNameDVB()

UString ts::XDIDNameDVB ( DID  xdid,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a DVB extension descriptor ID.

Parameters
[in]xdidDVB extension descriptor ID.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ MJDSize()

size_t ts::MJDSize ( MJDFormat  fmt)
inline

Get the size in bytes of a MJD value, depending on its format.

Parameters
[in]fmtMJD storage format.
Returns
Size in bytes of the MJD values in this format.

◆ DecodeMJD()

bool ts::DecodeMJD ( const uint8_t *  mjd,
MJDFormat  fmt,
Time time 
)

Convert a Modified Julian Date (MJD) into a ts::Time.

Parameters
[in]mjdAddress of a 2-to-5 bytes area, in the format specified by a TDT.
[in]fmtFormat of the MJD in the mjd area.
[out]timeReturn time.
Returns
True on success, false in case of error.

◆ EncodeMJD()

bool ts::EncodeMJD ( const Time time,
uint8_t *  mjd,
MJDFormat  fmt 
)

Convert a ts::Time into a Modified Julian Date (MJD).

Parameters
[in]timeInput time.
[out]mjdAddress of a writeable 2-to-5 bytes area.
[in]fmtFormat of the MJD in the mjd area.
Returns
True on success, false in case of error.

◆ PDSName()

UString ts::PDSName ( PDS  pds,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Private Data Specifier.

Parameters
[in]pdsPrivate Data Specifier.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ MakeREGID()

constexpr REGID ts::MakeREGID ( const char  id[5])
constexpr

Statically build a 32-bit registration id from a 4-character string.

Parameters
[in]idA 4-character string.
Returns
The corresponding 32-bit registration id.

◆ REGIDName()

UString ts::REGIDName ( REGID  regid,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Registration id from an MPEG registration_descriptor.

Parameters
[in]regidRegistration id.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ GetSectionFileFormat()

SectionFormat ts::GetSectionFileFormat ( const UString file_name,
SectionFormat  type = SectionFormat::UNSPECIFIED 
)

Get a section file type, based on a file name.

Parameters
[in]file_nameFile name or inline XML or inline JSON.
[in]typeFile type.
Returns
If type is not SectionFormat::UNSPECIFIED, return type. Otherwise, return the file type based on the file name. If the file name has no known extension, return SectionFormat::UNSPECIFIED.

◆ BuildSectionFileName()

fs::path ts::BuildSectionFileName ( const fs::path &  file_name,
SectionFormat  type 
)

Build a section file name, based on a file type.

Parameters
[in]file_nameFile name.
[in]typeFile type.
Returns
If type is not SectionFormat::UNSPECIFIED, remove the extension from file_name and add the extension corresponding to type.

◆ StreamTypeIsSection()

bool ts::StreamTypeIsSection ( uint8_t  st)

Check if a stream type value indicates a stream carrying sections.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates a stream carrying sections.

◆ StreamTypeIsPES()

bool ts::StreamTypeIsPES ( uint8_t  st)

Check if a stream type value indicates a PES stream.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates a PES stream.

◆ StreamTypeIsVideo()

bool ts::StreamTypeIsVideo ( uint8_t  st)

Check if a stream type value indicates a video stream.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates a video stream.

◆ StreamTypeIsAVC()

bool ts::StreamTypeIsAVC ( uint8_t  st)

Check if a stream type value indicates a video stream using AVC / H.264 encoding.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates an AVC / H.264 video stream.

◆ StreamTypeIsHEVC()

bool ts::StreamTypeIsHEVC ( uint8_t  st)

Check if a stream type value indicates a video stream using HEVC / H.265 encoding.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates an HEVC / H.265 video stream.

◆ StreamTypeIsVVC()

bool ts::StreamTypeIsVVC ( uint8_t  st)

Check if a stream type value indicates a video stream using VVC / H.266 encoding.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates a VVC / H.266 video stream.

◆ StreamTypeIsAudio() [1/3]

bool ts::StreamTypeIsAudio ( uint8_t  st)

Check if a stream type value indicates an audio stream.

Parameters
[in]stStream type as used in the PMT.
Returns
True if st indicates an audio stream.

◆ StreamTypeIsAudio() [2/3]

bool ts::StreamTypeIsAudio ( uint8_t  st,
const std::set< REGID > &  regids 
)

Check if a stream type value indicates an audio stream.

Parameters
[in]stStream type as used in the PMT.
[in]regidsSet of previous registration id from registration descriptors.
Returns
True if st indicates an audio stream.

◆ StreamTypeIsAudio() [3/3]

bool ts::StreamTypeIsAudio ( uint8_t  st,
const DescriptorList dlist 
)

Check if a stream type value indicates an audio stream.

Parameters
[in]stStream type as used in the PMT.
[in]dlistA descriptor list where registration ids are searched.
Returns
True if st indicates an audio stream.

◆ StreamTypeName() [1/3]

UString ts::StreamTypeName ( uint8_t  st,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Stream type value.

Parameters
[in]stStream type (in PMT).
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ StreamTypeName() [2/3]

UString ts::StreamTypeName ( uint8_t  st,
const REGIDVector regids,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Stream type value.

Parameters
[in]stStream type (in PMT).
[in]regidsSet of previous registration id from registration descriptors.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ StreamTypeName() [3/3]

UString ts::StreamTypeName ( uint8_t  st,
const DuckContext duck,
const DescriptorList dlist,
NamesFlags  flags = NamesFlags::NAME 
)

Name of a Stream type value.

Parameters
[in]stStream type (in PMT).
[in]duckTSDuck execution context.
[in]dlistA descriptor list where registration ids are searched.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ TIDName()

UString ts::TIDName ( const DuckContext duck,
TID  tid,
CASID  cas = CASID_NULL,
NamesFlags  flags = NamesFlags::NAME 
)

Get the name of a Table ID.

Parameters
[in]duckTSDuck execution context (used to select from conflicting standards).
[in]tidTable id.
[in]casCAS id for EMM/ECM table ids.
[in]flagsPresentation flags.
Returns
The corresponding name.

◆ StandardsNames()

UString ts::StandardsNames ( Standards  standards)

Return a string representing a list of standards.

Parameters
[in]standardsA bit mask of standards.
Returns
A string representing the standards.

◆ CompatibleStandards()

bool ts::CompatibleStandards ( Standards  std)

Check compatibility between standards.

Some standards are compatible, they can be used together. Example: MPEG and DVB. Some standards are incompatible and cannot be used together. Example: DVB and ATSC.

Parameters
[in]stdSet of standards.
Returns
True if all standards in std are compatible with each other.

◆ SelectBitrate()

BitRate ts::SelectBitrate ( const BitRate bitrate1,
BitRateConfidence  brc1,
const BitRate bitrate2,
BitRateConfidence  brc2 
)

Select a bitrate from two input values with potentially different levels of confidence.

Parameters
[in]bitrate1First bitrate.
[in]brc1Level of confidence for bitrate1.
[in]bitrate2Second bitrate.
[in]brc2Level of confidence for bitrate2.
Returns
The selected bitrate value.

◆ ToBitrate204()

BitRate ts::ToBitrate204 ( const BitRate bitrate188)
inline

Convert 188-byte packet bitrate into 204-byte packet bitrate.

Parameters
[in]bitrate188Bitrate using 188-byte packet as reference.
Returns
Corresponding bitrate using 204-byte packet as reference.

◆ ToBitrate188()

BitRate ts::ToBitrate188 ( const BitRate bitrate204)
inline

Convert 204-byte packet bitrate into 188-byte packet bitrate.

Parameters
[in]bitrate204Bitrate using 204-byte packet as reference.
Returns
Corresponding bitrate using 188-byte packet as reference.

◆ ByteInterval()

template<class DURATION = cn::milliseconds, typename std::enable_if< std::is_integral< typename DURATION::rep >::value, int >::type = 0>
DURATION ts::ByteInterval ( const BitRate bitrate,
std::intmax_t  distance 
)
inline

Compute the interval, in duration, between two bytes in the transport stream.

Template Parameters
DURATIONAn instance of std::chrono::duration (by default, milliseconds).
Parameters
[in]bitrateTS bitrate in bits/second, based on 188-byte packets.
[in]distanceDistance between the two bytes.
Returns
Interval in DURATION units between the two bytes.

◆ PacketInterval()

template<class DURATION = cn::milliseconds, typename std::enable_if< std::is_integral< typename DURATION::rep >::value, int >::type = 0>
DURATION ts::PacketInterval ( const BitRate bitrate,
PacketCounter  distance 
)
inline

Compute the interval, in duration, between two packets.

Template Parameters
DURATIONAn instance of std::chrono::duration (by default, milliseconds).
Parameters
[in]bitrateTS bitrate in bits/second, based on 188-byte packets.
[in]distanceDistance between the two packets: 0 for the same packet, 1 for the next packet, etc.
Returns
Interval in DURATION units between the first byte of the first packet and the first byte of the second packet.

◆ BitDistance()

template<class Rep , class Period >
int64_t ts::BitDistance ( size_t  bits,
const BitRate bitrate,
const cn::duration< Rep, Period > &  duration 
)
inline

Compute the number of "data structures" (bytes, packets, etc) transmitted during a given duration.

Parameters
[in]bitsNumber of bits in the data structure.
[in]bitrateTS bitrate in bits/second, based on 188-byte packets.
[in]durationA duration in any std::chrono::duration units.
Returns
Number of data structures of size bits bits during duration.

◆ ByteDistance()

template<class Rep , class Period >
int64_t ts::ByteDistance ( const BitRate bitrate,
const cn::duration< Rep, Period > &  duration 
)
inline

Compute the number of bytes transmitted during a given duration.

Parameters
[in]bitrateTS bitrate in bits/second, based on 188-byte packets.
[in]durationA duration in any std::chrono::duration units.
Returns
Number of bytes during duration.

◆ PacketDistance()

template<class Rep , class Period >
PacketCounter ts::PacketDistance ( const BitRate bitrate,
const cn::duration< Rep, Period > &  duration 
)
inline

Compute the number of packets transmitted during a given duration.

Parameters
[in]bitrateTS bitrate in bits/second, based on 188-byte packets.
[in]durationA duration in any std::chrono::duration units.
Returns
Number of packets during duration.

◆ BytesBitRate()

template<class Rep , class Period >
BitRate ts::BytesBitRate ( uint64_t  bytes,
const cn::duration< Rep, Period > &  duration 
)
inline

Compute the bitrate from a number of bytes transmitted during a given duration.

Parameters
[in]bytesNumber of bytes during duration.
[in]durationA duration in any std::chrono::duration units.
Returns
TS bitrate in bits/second, based on 188-byte packets.

◆ PacketBitRate()

template<class Rep , class Period >
BitRate ts::PacketBitRate ( PacketCounter  packets,
const cn::duration< Rep, Period > &  duration 
)
inline

Compute the bitrate from a number of packets transmitted during a given duration.

Parameters
[in]packetsNumber of packets during duration.
[in]durationA duration in any std::chrono::duration units.
Returns
TS bitrate in bits/second, based on 188-byte packets.

◆ SectionPacketCount()

PacketCounter ts::SectionPacketCount ( size_t  section_size)
inline

Compute the minimum number of TS packets required to transport a section.

Parameters
[in]section_sizeTotal section size in bytes.
Returns
Number of packets required for the section.

◆ WrapUpPCR()

bool ts::WrapUpPCR ( uint64_t  pcr1,
uint64_t  pcr2 
)
inline

Check if PCR2 follows PCR1 after wrap up.

Parameters
[in]pcr1First PCR.
[in]pcr2Second PCR.
Returns
True if pcr2 is probably following pcr1 after wrapping up. The exact criteria is that pcr2 wraps up after pcr1 and their distance is within 20% of a full PCR range.

◆ NextPCR()

uint64_t ts::NextPCR ( uint64_t  last_pcr,
PacketCounter  distance,
const BitRate bitrate 
)

Compute the PCR of a packet, based on the PCR of a previous packet.

Parameters
[in]last_pcrPCR in a previous packet.
[in]distanceNumber of TS packets since the packet with last_pcr.
[in]bitrateConstant bitrate of the stream in bits per second.
Returns
The PCR of the packet which is at the specified distance from the packet with last_pcr or INVALID_PCR if a parameter is incorrect.

◆ AddPCR()

uint64_t ts::AddPCR ( uint64_t  pcr,
int64_t  offset 
)

Add a signed offset to a PCR.

Parameters
[in]pcrInitial PCR value.
[in]offsetSigned offset.
Returns
The adjusted PCR value or INVALID_PCR if a parameter is incorrect.

◆ DiffPCR()

uint64_t ts::DiffPCR ( uint64_t  pcr1,
uint64_t  pcr2 
)

Compute the difference between PCR2 and PCR1.

Parameters
[in]pcr1First PCR.
[in]pcr2Second PCR.
Returns
The difference between the two values or INVALID_PCR if a parameter is incorrect.

◆ AbsDiffPCR()

uint64_t ts::AbsDiffPCR ( uint64_t  pcr1,
uint64_t  pcr2 
)

Compute the absolute value of the difference between two PCR's, regardless of their order.

Parameters
[in]pcr1First PCR.
[in]pcr2Second PCR.
Returns
The difference between the two values or INVALID_PCR if a parameter is incorrect.

◆ WrapUpPTS()

bool ts::WrapUpPTS ( uint64_t  pts1,
uint64_t  pts2 
)
inline

Check if PTS2 follows PTS1 after wrap up.

Parameters
[in]pts1First PTS.
[in]pts2Second PTS.
Returns
True if pts2 is probably following pts1 after wrapping up at 2^33.

◆ SequencedPTS()

bool ts::SequencedPTS ( uint64_t  pts1,
uint64_t  pts2 
)
inline

Check if two Presentation Time Stamps are in sequence.

In MPEG video, B-frames are transported out-of-sequence. Their PTS is typically lower than the previous D-frame or I-frame in the transport. A "sequenced" PTS is one that is higher than the previous sequenced PTS (with possible wrap up).

Parameters
[in]pts1First PTS.
[in]pts2Second PTS.
Returns
True if pts2 is after pts1, possibly after wrapping up at 2**33.

◆ DiffPTS()

uint64_t ts::DiffPTS ( uint64_t  pts1,
uint64_t  pts2 
)

Compute the difference between PTS2 and PTS1.

Parameters
[in]pts1First PTS.
[in]pts2Second PTS.
Returns
The difference between the two values. or INVALID_PTS if a parameter is incorrect.

◆ PCRToString()

UString ts::PCRToString ( uint64_t  pcr,
bool  hexa = true,
bool  decimal = true,
bool  ms = true 
)

Convert a PCR value to a string.

Parameters
[in]pcrThe PCR value.
[in]hexaIf true (the defaul), include hexadecimal value.
[in]decimalIf true (the defaul), include decimal value.
[in]msIf true (the defaul), include the equivalent duration in milliseconds.
Returns
The formatted string.

◆ PTSToString()

UString ts::PTSToString ( uint64_t  pts,
bool  hexa = true,
bool  decimal = true,
bool  ms = true 
)

Convert a PTS or DTS value to a string.

Parameters
[in]ptsThe PTS or DTS value.
[in]hexaIf true (the defaul), include hexadecimal value.
[in]decimalIf true (the defaul), include decimal value.
[in]msIf true (the defaul), include the equivalent duration in milliseconds.
Returns
The formatted string.

◆ DefineTSPacketFormatInputOption()

void ts::DefineTSPacketFormatInputOption ( Args args,
UChar  short_name = 0,
const UChar name = u"format" 
)

Add the definition of a --format option for TS packet format in input files.

Parameters
[in,out]argsThe set of arguments into which the --format option is added.
[in]short_nameOptional one letter short name.
[in]nameThe full name of the option.

◆ DefineTSPacketFormatOutputOption()

void ts::DefineTSPacketFormatOutputOption ( Args args,
UChar  short_name = 0,
const UChar name = u"format" 
)

Add the definition of a --format option for TS packet format in output files.

Parameters
[in,out]argsThe set of arguments into which the --format option is added.
[in]short_nameOptional one letter short name.
[in]nameThe full name of the option.

◆ LoadTSPacketFormatInputOption()

TSPacketFormat ts::LoadTSPacketFormatInputOption ( const Args args,
const UChar name = u"format" 
)

Get the value of a --format option for TS packet format in input files.

Parameters
[in]argsThe set of arguments into which the --format option was defined.
[in]nameThe full name of the option.
Returns
The value of the --format option.

◆ LoadTSPacketFormatOutputOption()

TSPacketFormat ts::LoadTSPacketFormatOutputOption ( const Args args,
const UChar name = u"format" 
)

Get the value of a --format option for TS packet format in output files.

Parameters
[in]argsThe set of arguments into which the --format option was defined.
[in]nameThe full name of the option.
Returns
The value of the --format option.

◆ EnumerateDevicesByClass()

bool ts::EnumerateDevicesByClass ( const ::CLSID &  clsid,
std::vector< ComPtr<::IMoniker > > &  monikers,
Report report,
::DWORD  flags = 0 
)

Enumerate all devices of the specified class.

Fill a vector of monikers to these objects.

Parameters
[in]clsidDevice class to enumerate.
[out]monikersReturned vector of monikers to all devices of class clsid.
[in,out]reportWhere to report errors.
[in]flagsFlags for CreateClassEnumerator().
Returns
True on success, false on error.

◆ GetTuningSpaceFriendlyName()

UString ts::GetTuningSpaceFriendlyName ( ::ITuningSpace *  tuning,
Report report 
)

Get the user-friendly name of a DirectShow tuning space (Windows-specific).

Parameters
[in]tuningTuning space.
[in,out]reportWhere to report errors.
Returns
Tuning space name or an empty string on error.

◆ GetTuningSpaceUniqueName()

UString ts::GetTuningSpaceUniqueName ( ::ITuningSpace *  tuning,
Report report 
)

Get the unique name of a DirectShow tuning space (Windows-specific).

Parameters
[in]tuningTuning space.
[in,out]reportWhere to report errors.
Returns
Tuning space name or an empty string on error.

◆ GetTuningSpaceClass()

UString ts::GetTuningSpaceClass ( ::ITuningSpace *  tuning,
Report report 
)

Get the class name of a DirectShow tuning space (Windows-specific).

Parameters
[in]tuningTuning space.
[in,out]reportWhere to report errors.
Returns
Tuning space class name or an empty string on error.

◆ GetTuningSpaceDescription()

UString ts::GetTuningSpaceDescription ( ::ITuningSpace *  tuning,
Report report 
)

Get full description of a DirectShow tuning space (Windows-specific).

Parameters
[in]tuningTuning space.
[in,out]reportWhere to report errors.
Returns
Tuning description or an empty string on error.

◆ GetTuningSpaceNetworkType()

UString ts::GetTuningSpaceNetworkType ( ::ITuningSpace *  tuning,
Report report 
)

Get the network type of a DirectShow tuning space (Windows-specific).

Parameters
[in]tuningTuning space.
[in,out]reportWhere to report errors.
Returns
Network type or an empty string on error.

◆ PinDirectionName()

UString ts::PinDirectionName ( ::PIN_DIRECTION  dir)

Get the name for a DirectShow pin direction value (Windows-specific).

Parameters
[in]dirPin direction.
Returns
Corresponding name.

◆ DVBSystemTypeName()

UString ts::DVBSystemTypeName ( ::DVBSystemType  type)

Get the name for a DirectShow DVBSystemType value (Windows-specific).

Parameters
[in]typeDVB system type value.
Returns
Corresponding name.

◆ CreateTuneRequest()

bool ts::CreateTuneRequest ( DuckContext duck,
ComPtr<::ITuneRequest > &  request,
::ITuningSpace *  tuning_space,
const ModulationArgs params 
)

Create a DirectShow tune request object from tuning parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]requestCOM pointer to the ITuneRequest interface of the created object.
[in]tuning_spaceAssociated tuning space.
[in]paramsTuning parameters in portable format.
Returns
True on success, false on error.

◆ CreateLocator()

bool ts::CreateLocator ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create a Locator object for tuning parameters.

A locator object indicates where to find the physical TS, ie. tuning params.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsTuning parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ CreateLocatorDVBS()

bool ts::CreateLocatorDVBS ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create an IDigitalLocator object for DVB-S parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsDVB-S parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ CreateLocatorDVBT()

bool ts::CreateLocatorDVBT ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create an IDigitalLocator object for DVB-T parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsDVB-T parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ CreateLocatorDVBC()

bool ts::CreateLocatorDVBC ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create an IDigitalLocator object for DVB-C parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsDVB-C parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ CreateLocatorATSC()

bool ts::CreateLocatorATSC ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create an IDigitalLocator object for ATSC parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsATSC parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ CreateLocatorISDBS()

bool ts::CreateLocatorISDBS ( DuckContext duck,
ComPtr<::IDigitalLocator > &  locator,
const ModulationArgs params 
)

Create an IDigitalLocator object for ISDB-S parameters.

Parameters
[in,out]duckTSDuck execution context.
[out]locatorCOM pointer to the IDigitalLocator interface of the created object.
[in]paramsDVB-S parameters in portable format. All required parameters must be set.
Returns
True on success, false on error.

◆ DeleteMediaType()

void ts::DeleteMediaType ( ::AM_MEDIA_TYPE *  media_type)

Delete a heap-allocated AM_MEDIA_TYPE structure (Windows-specific).

This is useful when calling IEnumMediaTypes::Next as the interface implementation allocates the structures which you must later delete the format block may also be a pointer to an interface to release.

Parameters
[in]media_typeMedia type to delete.

◆ FreeMediaType()

void ts::FreeMediaType ( ::AM_MEDIA_TYPE &  media_type)

Free an existing media type, ie free resources it holds (Windows-specific).

Parameters
[in]media_typeMedia type to delete.

◆ CopyMediaType()

::HRESULT ts::CopyMediaType ( ::AM_MEDIA_TYPE &  dst,
const ::AM_MEDIA_TYPE &  src 
)

Copy a media type to another (Windows-specific).

Parameters
[out]dstDestination media type.
[in]srcSource media type.
Returns
A COM status code.

◆ InitMediaType()

void ts::InitMediaType ( ::AM_MEDIA_TYPE &  media_type)

Initialize a media type with "null" values (Windows-specific).

Parameters
[out]media_typeDestination media type.

◆ HasVatekSupport()

bool ts::HasVatekSupport ( )

Check if this version of TSDuck was built with VATek support.

Returns
True is VATek devices are supported.

◆ GetVatekVersion()

UString ts::GetVatekVersion ( )

Get the version of VATek library.

Returns
A string describing the VATek version (or the lack of VATek support).

Variable Documentation

◆ NPOS

constexpr size_t ts::NPOS = size_t(-1)
constexpr

Constant meaning "no size", "not found" or "do not resize".

An alternative value for the standard std::string::npos value. Required on Windows to avoid linking issue.

◆ SYS_SOCKET_INVALID

constexpr SysSocketType ts::SYS_SOCKET_INVALID = platform_specific
constexpr

Value of type SysSocketType which is returned by the socket() system call in case of failure.

Example:

SysSocketType sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (sock == SYS_SOCKET_INVALID) {
... error processing ...
}
constexpr SysSocketType SYS_SOCKET_INVALID
Value of type SysSocketType which is returned by the socket() system call in case of failure.
Definition tsIPUtils.h:64
platform_specific SysSocketType
Data type for socket descriptors as returned by the socket() system call.
Definition tsIPUtils.h:46

◆ SYS_SOCKET_SHUT_RDWR

constexpr int ts::SYS_SOCKET_SHUT_RDWR = platform_specific
constexpr

Name of the option for the shutdown() system call which means "close on both directions".

Example:

shutdown(sock, SYS_SOCKET_SHUT_RDWR);
constexpr int SYS_SOCKET_SHUT_RDWR
Name of the option for the shutdown() system call which means "close on both directions".
Definition tsIPUtils.h:337

◆ SYS_SOCKET_SHUT_RD

constexpr int ts::SYS_SOCKET_SHUT_RD = platform_specific
constexpr

Name of the option for the shutdown() system call which means "close on receive side".

Example:

shutdown(sock, SYS_SOCKET_SHUT_RD);
constexpr int SYS_SOCKET_SHUT_RD
Name of the option for the shutdown() system call which means "close on receive side".
Definition tsIPUtils.h:352

◆ SYS_SOCKET_SHUT_WR

constexpr int ts::SYS_SOCKET_SHUT_WR = platform_specific
constexpr

Name of the option for the shutdown() system call which means "close on send side".

Example:

shutdown(sock, SYS_SOCKET_SHUT_WR);
constexpr int SYS_SOCKET_SHUT_WR
Name of the option for the shutdown() system call which means "close on send side".
Definition tsIPUtils.h:367

◆ DEFAULT_CSV_SEPARATOR

constexpr const UChar* ts::DEFAULT_CSV_SEPARATOR = u","
constexpr

Default separator in CSV (comma-separated values) format.

CSV files are suitable for analysis using tools such as Microsoft Excel.

◆ MAX_POWER_10

constexpr size_t ts::MAX_POWER_10 = 19
constexpr

Largest representable power of 10 in integer types.

Assuming that no integer type is larger than 64 bits, 10^19 is the largest unsigned power of 10.

◆ EMPTY_STRING

const EMPTY_STRINGWrapper ts::EMPTY_STRING
extern

A static empty string.

Can be used when a reference to a static empty string is required.

◆ DTA_FIFO_SIZE

const size_t ts::DTA_FIFO_SIZE = 8 * 1024 * 1024

Safe size in bytes of the FIFO of DTA devices.

This is a legacy value, recent devices can report dynamically.

◆ DTA_MAX_IO_SIZE

const size_t ts::DTA_MAX_IO_SIZE = 6 * 1024 * 1024

Maximum I/O size in bytes of DTA devices.

This value is merely an advice, the absolute maximum is the FIFO size.

◆ DTA_MAX_HW_FUNC

const size_t ts::DTA_MAX_HW_FUNC = 75

Maximum number of "hardware functions" per Dektec device.

A hardware function is one input or output channel for instance.

See also
DTAPI documentation

◆ CodecTypeEnum

const CodecTypeEnumWrapper ts::CodecTypeEnum
extern

Enumeration description of ts::CodecType (display).

The version is suitable to display codec names.

See also
CodecTypeArgEnum

◆ CodecTypeArgEnum

const CodecTypeArgEnumWrapper ts::CodecTypeArgEnum
extern

Enumeration description of ts::CodecType (command line argument).

The version is suitable to define command line arguments taking codec names as parameter.

See also
CodecTypeEnum

◆ HEVC_MAX_NUM_SHORT_TERM_REF_PIC_SETS

constexpr size_t ts::HEVC_MAX_NUM_SHORT_TERM_REF_PIC_SETS = 64
constexpr

Maximimum value for HEVC num_short_term_ref_pic_sets.

ITU-T Rec. H.265, section 7.4.3.2.1: "The value of num_short_term_ref_pic_sets shall be in the range of 0 to 64, inclusive".

◆ HEVC_MAX_MAXNUMSUBLAYERSMINUS1

constexpr size_t ts::HEVC_MAX_MAXNUMSUBLAYERSMINUS1 = 64
constexpr

Maximimum value for HEVC maxNumSubLayersMinus1.

Could not find the official limit. Define an arbitrary limit to avoid overflow.

◆ HEVC_MAX_CPB_CNT_MINUS1

constexpr size_t ts::HEVC_MAX_CPB_CNT_MINUS1 = 31
constexpr

Maximimum value for HEVC cpb_cnt_minus1.

ITU-T Rec. H.265, section E.3.2: "The value of cpb_cnt_minus1 shall be in the range of 0 to 31, inclusive".

◆ HEVC_MAX_MAXDPBSIZE

constexpr size_t ts::HEVC_MAX_MAXDPBSIZE = 16
constexpr

Maximimum value for HEVC MaxDpbSize.

ITU-T Rec. H.265, section A.4.2: MaxDpbSize is derived from an algorithm where it is the minimum of 16 and some other value.

◆ HEVC_MAX_SPS_MAX_DEC_PIC_BUFFERING_MINUS1

constexpr size_t ts::HEVC_MAX_SPS_MAX_DEC_PIC_BUFFERING_MINUS1 = HEVC_MAX_MAXDPBSIZE - 1
constexpr

Maximimum value for HEVC sps_max_dec_pic_buffering_minus1.

ITU-T Rec. H.265, section 7.4.3.2.1: "The value of sps_max_dec_pic_buffering_minus1 shall be in the range of 0 to MaxDpbSize−1"

◆ HEVC_MAX_NUM_PICS

constexpr size_t ts::HEVC_MAX_NUM_PICS = HEVC_MAX_SPS_MAX_DEC_PIC_BUFFERING_MINUS1
constexpr

Maximimum value for HEVC num_negative_pics and num_positive_pics.

ITU-T Rec. H.265, section 7.4.8: "the value of num_positive_pics|num_negative_pics shall be in the range of 0 to sps_max_dec_pic_buffering_minus1"

◆ HEVC_MAX_NUMDELTAPOCS

constexpr size_t ts::HEVC_MAX_NUMDELTAPOCS = 2 * HEVC_MAX_NUM_PICS
constexpr

Maximimum value for HEVC NumDeltaPocs and num_positive_pics.

ITU-T Rec. H.265, section 7.4.8: "NumDeltaPocs is derived as follows: NumDeltaPocs = NumNegativePics + NumPositivePics"

◆ MACROBLOCK_WIDTH

constexpr size_t ts::MACROBLOCK_WIDTH = 16
constexpr

Video macroblock width in pixels.

Valid for:

  • ISO 11172-2 (MPEG-1 video)
  • ISO 13818-2 (MPEG-2 video)
  • ISO 14496-10 (MPEG-4 Advanced Video Coding, AVC, ITU H.264)

◆ MACROBLOCK_HEIGHT

constexpr size_t ts::MACROBLOCK_HEIGHT = 16
constexpr

Video macroblock height in pixels.

See also
MACROBLOCK_WIDTH

◆ PrivateDataSpecifierEnum

const PrivateDataSpecifierEnumWrapper ts::PrivateDataSpecifierEnum
extern

Enumeration description of PDS values.

Typically used to implement PDS-related command line options.

◆ SVERSION_MASK

constexpr uint8_t ts::SVERSION_MASK = 0x1F
constexpr

Mask to wrap a section version value.

Section version values wrap at 32.

◆ MJD_EPOCH

constexpr uint32_t ts::MJD_EPOCH = 40587
constexpr

Origin of Modified Julian Dates (MJD).

The origin of MJD is 17 Nov 1858 00:00:00. The UNIX epoch (1 Jan 1970) is 40587 days from julian time origin.

◆ INVALID_NETWORK_ID

constexpr uint16_t ts::INVALID_NETWORK_ID = 0xFFFF
constexpr

A placeholder for "invalid network id" value.

In theory, all 16-bit values can be valid network id. However, this one is "usually" not used.

◆ INVALID_TS_ID

constexpr uint16_t ts::INVALID_TS_ID = 0xFFFF
constexpr

A placeholder for "invalid transport stream id" value.

In theory, all 16-bit values can be valid TS id. However, this one is "usually" not used.

◆ INVALID_SERVICE_ID

constexpr uint16_t ts::INVALID_SERVICE_ID = 0xFFFF
constexpr

A placeholder for "invalid service id" value.

In theory, all 16-bit values can be valid service id. However, this one is "usually" not used.

◆ SpecifiedSectionFormatEnum

const SpecifiedSectionFormatEnumWrapper ts::SpecifiedSectionFormatEnum
extern

Enumeration description of ts::SectionFormat, excluding ts::SectionFormat::UNSPECIFIED.

Useful to declare a parameter value which needs a specific format.

◆ T2_BBHEADER_SIZE

constexpr size_t ts::T2_BBHEADER_SIZE = 10
constexpr

Size in bytes of a DVB-T2 Base Band Header.

See ETSI EN 302 765, section 5.1.7.

◆ TableScopeEnum

const TableScopeEnumWrapper ts::TableScopeEnum
extern

Enumeration description of TableScope values.

Typically used to implement command line options.

◆ PKT_M2TS_SIZE

constexpr size_t ts::PKT_M2TS_SIZE = M2TS_HEADER_SIZE + PKT_SIZE
constexpr

Size in bytes of an TS packet in M2TS files (Blu-ray disc).

There is a leading 4-byte timestamp before the TS packet.

◆ CC_MASK

constexpr uint8_t ts::CC_MASK = 0x0F
constexpr

Mask to wrap a Continuity Counter (CC) value.

CC values wrap at 16.

◆ PCR_BIT_SIZE

constexpr size_t ts::PCR_BIT_SIZE = 42
constexpr

Size in bits of a PCR (Program Clock Reference).

Warning: A PCR value is not a linear value mod 2^42. It is split into PCR_base and PCR_ext (see ISO 13818-1, 2.4.2.2).

◆ PTS_DTS_BIT_SIZE

constexpr size_t ts::PTS_DTS_BIT_SIZE = 33
constexpr

Size in bits of a PTS (Presentation Time Stamp) or DTS (Decoding Time Stamp).

Unlike PCR, PTS and DTS are regular 33-bit binary values, wrapping up at 2^33.

◆ PCR_SCALE

constexpr uint64_t ts::PCR_SCALE = PTS_DTS_SCALE * SYSTEM_CLOCK_SUBFACTOR
constexpr

Scale factor for PCR values.

This is not a power of 2, it does not wrap up at a number of bits. The PCR_base part is equivalent to a PTS/DTS and wraps up at 2**33. The PCR_ext part is a mod 300 value. Note that, since this not a power of 2, there is no possible PCR_MASK value.

◆ EmptyPacket

const TSPacket ts::EmptyPacket
extern

This constant is an empty packet (no payload).

PID and CC shall be updated for use in specific PID's.