Tag Parser 12.4.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
TagParser Namespace Reference

Contains all classes and functions of the TagInfo library. More...

Namespaces

namespace  BackupHelper
 Helps to create and restore backup files when rewriting files to apply changed tag information.
 
namespace  EbmlIds
 Encapsulates all EBML ID values.
 
namespace  ExtensionFormats
 Encapsulates extension formats.
 
namespace  FourccIds
 Encapsulates all supported MP4 media format IDs (aka "FOURCCs").
 
namespace  Id3v2FrameIds
 Encapsulates the most common ID3v2 frame IDs and related functions.
 
namespace  MatroskaIds
 Encapsulates the most common Matroska element IDs.
 
namespace  MatroskaTagIds
 Encapsulates Matroska tag IDs.
 
namespace  MatroskaTrackType
 Encapsulates the most common Matroska track IDs.
 
namespace  Mp4AtomIds
 Encapsulates the most common MP4 atom IDs.
 
namespace  Mp4FormatExtensionIds
 Encapsulates all supported MP4 media format description extensions.
 
namespace  Mp4MediaTypeIds
 Encapsulates all supported MP4 media type IDs.
 
namespace  Mp4TagAtomIds
 Encapsulates IDs of MP4 atoms holding tag information.
 
namespace  Mp4TagExtendedMeanIds
 Encapsulates "mean values" used in iTunes style MP4 tags.
 
namespace  Mp4TagExtendedNameIds
 Encapsulates "name values" used in iTunes style MP4 tags.
 
namespace  Mpeg2VideoCodes
 Encapsulates MPEG-2 video codes.
 
namespace  Mpeg4AudioObjectIds
 Encapsulates all supported MPEG-4 audio object type IDs.
 
namespace  Mpeg4ChannelConfigs
 Encapsulates all supported MPEG-4 channel configurations.
 
namespace  Mpeg4DescriptorIds
 Encapsulates all known MPEG-4 descriptor IDs.
 
namespace  Mpeg4ElementaryStreamObjectIds
 Encapsulates all supported MPEG-4 elementary stream object IDs.
 
namespace  Mpeg4ElementaryStreamTypeIds
 Returns the name of the stream type denoted by the specified MPEG-4 stream type ID.
 
namespace  Mpeg4VideoCodes
 Encapsulates MPEG-4 video (14496-2) codes.
 
namespace  RawDataType
 Encapsulates the most common data type IDs of MP4 tag fields.
 
namespace  SubFormats
 Encapsulates sub formats.
 
namespace  VorbisCommentIds
 Encapsulates Vorbis comment field names.
 
namespace  VorbisPackageTypes
 Encapsulates known Vorbis package type IDs.
 

Classes

class  AbortableProgressFeedback
 The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks. More...
 
class  AbstractAttachment
 The AbstractAttachment class parses and stores attachment information. More...
 
struct  AbstractAttachmentPrivate
 The AbstractAttachmentPrivate struct contains private fields of the AbstractAttachment class. More...
 
class  AbstractChapter
 The AbstractChapter class parses chapter information. More...
 
struct  AbstractChapterPrivate
 The AbstractChapterPrivate struct contains private fields of the AbstractChapter class. More...
 
class  AbstractContainer
 The AbstractContainer class provides an interface and common functionality to parse and make a certain container format. More...
 
struct  AbstractContainerPrivate
 The AbstractContainerPrivate struct contains private fields of the AbstractContainer class. More...
 
class  AbstractTrack
 The AbstractTrack class parses and stores technical information about video, audio and other kinds of media tracks. More...
 
struct  AbstractTrackPrivate
 The AbstractTrackPrivate struct contains private fields of the AbstractTrack class. More...
 
class  AdtsFrame
 The AdtsFrame class is used to parse "Audio Data Transport Stream" frames. More...
 
class  AdtsStream
 Implementation of TagParser::AbstractTrack for ADTS streams. More...
 
struct  AspectRatio
 The AspectRatio struct defines an aspect ratio. More...
 
class  Av1Configuration
 The Av1Configuration struct provides a parser for AV1 configuration found in ISOBMFF files. More...
 
class  AvcConfiguration
 The AvcConfiguration struct provides a parser for AVC configuration. More...
 
struct  AvcFrame
 The AvcFrame struct holds an AVC frame. More...
 
class  BasicFileInfo
 The BasicFileInfo class provides basic file information such as file name, extension, directory and size for a specified file. More...
 
class  BasicProgressFeedback
 The BasicProgressFeedback class provides the base for ProgressFeedback and AbortableProgressFeedback. More...
 
class  BitmapInfoHeader
 The BitmapInfoHeader class parses the BITMAPINFOHEADER structure defined by MS. More...
 
struct  CaseInsensitiveCharComparer
 The CaseInsensitiveCharComparer struct defines a method for case-insensivive character comparison (less). More...
 
struct  CaseInsensitiveStringComparer
 The CaseInsensitiveStringComparer struct defines a method for case-insensivive string comparison (less). More...
 
class  DiagMessage
 The DiagMessage class holds an information, warning or error gathered during parsing or making. More...
 
class  Diagnostics
 The Diagnostics class is a container for DiagMessage. More...
 
class  EbmlElement
 The EbmlElement class helps to parse EBML files such as Matroska files. More...
 
class  Failure
 The class inherits from std::exception and serves as base class for exceptions thrown by the elements of the Media namespace. More...
 
class  FieldMapBasedTag
 The FieldMapBasedTag provides a generic implementation of Tag which stores the tag fields using std::multimap. More...
 
class  FieldMapBasedTagTraits
 Defines traits for the specified ImplementationType. More...
 
class  FieldMapBasedTagTraits< Id3v2Tag >
 Defines traits for the TagField implementation of the Id3v2Tag class. More...
 
class  FieldMapBasedTagTraits< MatroskaTag >
 Defines traits for the TagField implementation of the MatroskaTag class. More...
 
class  FieldMapBasedTagTraits< Mp4Tag >
 Defines traits for the TagField implementation of the Mp4Tag class. More...
 
class  FieldMapBasedTagTraits< VorbisComment >
 Defines traits for the TagField implementation of the VorbisComment class. More...
 
class  FileDataBlock
 The FileDataBlock class is a reference to a certain data block of a file stream. More...
 
class  FileElementTraits
 Defines traits for the specified ImplementationType. More...
 
class  FileElementTraits< EbmlElement >
 Defines traits for the GenericFileElement implementation EbmlElement. More...
 
class  FileElementTraits< Mp4Atom >
 Defines traits for the GenericFileElement implementation Mp4Atom. More...
 
class  FileElementTraits< Mpeg4Descriptor >
 Defines traits for the GenericFileElement implementation Mpeg4Descriptor. More...
 
class  FlacMetaDataBlockHeader
 The FlacMetaDataBlockHeader class is a FLAC "METADATA_BLOCK_HEADER" parser and maker. More...
 
class  FlacMetaDataBlockPicture
 The FlacMetaDataBlockPicture class is a FLAC "METADATA_BLOCK_PICTURE" parser and maker. More...
 
class  FlacMetaDataBlockStreamInfo
 The FlacMetaDataBlockStreamInfo class is a FLAC "METADATA_BLOCK_STREAMINFO" parser. More...
 
class  FlacStream
 Implementation of TagParser::AbstractTrack for raw FLAC streams. More...
 
class  FlacToOggMappingHeader
 The FlacToOggMappingHeader class is a FLAC-to-Ogg mapping header parser. More...
 
struct  FrameComparer
 Defines the order which is used to store ID3v2 frames. More...
 
class  GenericContainer
 The GenericContainer class helps parsing header, track, tag and chapter information of a file. More...
 
class  GenericFileElement
 The GenericFileElement class helps to parse binary files which consist of an arboreal element structure. More...
 
struct  HrdParameters
 The HrdParameters struct holds "Hypothetical Reference Decoder" parameters. More...
 
class  Id3Genres
 The Id3Genres class converts pre-defined ID3 genres to strings and vice versa. More...
 
class  Id3v1Tag
 Implementation of TagParser::Tag for ID3v1 tags. More...
 
class  Id3v2Frame
 The Id3v2Frame class is used by Id3v2Tag to store the fields. More...
 
class  Id3v2FrameMaker
 The Id3v2FrameMaker class helps making ID3v2 frames. More...
 
class  Id3v2Tag
 Implementation of TagParser::Tag for ID3v2 tags. More...
 
class  Id3v2TagMaker
 The Id3v2TagMaker class helps writing ID3v2 tags. More...
 
class  InvalidDataException
 The exception that is thrown when the data to be parsed or to be made seems invalid and therefore can not be parsed. More...
 
class  IvfFrame
 The IvfFrame class is used to parse IVF frames. More...
 
class  IvfStream
 Implementation of TagParser::AbstractTrack for IVF streams. More...
 
struct  Locale
 The Locale struct specifies a language and/or a country using one or more LocaleDetail objects. More...
 
class  LocaleAwareString
 The LocaleAwareString class is a standard string with locale information (languages, countries). More...
 
struct  LocaleDetail
 The LocaleDetail struct specifies a language and/or country. More...
 
class  Margin
 The Margin class defines the four margins of a rectangle. More...
 
class  MatroskaAttachment
 Implementation of TagParser::AbstractAttachment for the Matroska container. More...
 
class  MatroskaAttachmentMaker
 The MatroskaAttachmentMaker class helps writing Matroska "AttachedFile"-elements which contain an attachment. More...
 
class  MatroskaChapter
 The MatroskaChapter class provides an implementation of AbstractAttachment for Matroska files. More...
 
class  MatroskaContainer
 Implementation of GenericContainer<MediaFileInfo, MatroskaTag, MatroskaTrack, EbmlElement>. More...
 
class  MatroskaCuePositionUpdater
 The MatroskaCuePositionUpdater class helps to rewrite the "Cues"-element with shifted positions. More...
 
class  MatroskaEditionEntry
 The MatroskaEditionEntry class provides a parser for edition entries in Matroska files. More...
 
class  MatroskaOffsetStates
 The MatroskaOffsetStates holds an offset within a Matroska file. More...
 
class  MatroskaReferenceOffsetPair
 The MatroskaReferenceOffsetPair holds an offset within a Matroska file plus the reference offset. More...
 
class  MatroskaSeekInfo
 The MatroskaSeekInfo class helps parsing and making "SeekHead"-elements. More...
 
class  MatroskaTag
 Implementation of TagParser::Tag for the Matroska container. More...
 
class  MatroskaTagField
 The MatroskaTagField class is used by MatroskaTag to store the fields. More...
 
class  MatroskaTagFieldMaker
 The MatroskaTagFieldMaker class helps making tag fields. More...
 
class  MatroskaTagMaker
 The MatroskaTagMaker class helps writing Matroska "Tag"-elements storing tag information. More...
 
class  MatroskaTrack
 Implementation of TagParser::AbstractTrack for the Matroska container. More...
 
class  MatroskaTrackHeaderMaker
 The MatroskaTrackHeaderMaker class helps writing Matroska "TrackEntry"-elements storing track header information. More...
 
class  MediaFileInfo
 The MediaFileInfo class allows to read and write tag information providing a container/tag format independent interface. More...
 
struct  MediaFileInfoPrivate
 The MediaFileInfoPrivate struct contains private fields of the MediaFileInfo class. More...
 
class  MediaFormat
 The MediaFormat class specifies the format of media data. More...
 
class  Mp4Atom
 The Mp4Atom class helps to parse MP4 files. More...
 
class  Mp4Container
 Implementation of GenericContainer<MediaFileInfo, Mp4Tag, Mp4Track, Mp4Atom>. More...
 
struct  Mp4ExtendedFieldId
 The Mp4ExtendedFieldId specifies parameter for an extended field denoted via Mp4TagAtomIds::Extended. More...
 
class  Mp4Tag
 Implementation of TagParser::Tag for the MP4 container. More...
 
class  Mp4TagField
 The Mp4TagField class is used by Mp4Tag to store the fields. More...
 
class  Mp4TagFieldMaker
 The Mp4TagFieldMaker class helps making tag fields. More...
 
class  Mp4TagMaker
 The Mp4TagMaker class helps writing MP4 tags. More...
 
struct  Mp4Timings
 The Mp4Timings struct holds timing values found in multiple MP4 atoms. More...
 
class  Mp4Track
 Implementation of TagParser::AbstractTrack for the MP4 container. More...
 
class  Mpeg4AudioSpecificConfig
 The Mpeg4AudioSpecificConfig class holds MPEG-4 audio specific config parsed using Mp4Track::parseAudioSpecificConfig(). More...
 
class  Mpeg4Descriptor
 The Mpeg4Descriptor class helps to parse MPEG-4 descriptors. More...
 
class  Mpeg4ElementaryStreamInfo
 The Mpeg4ElementaryStreamInfo class holds MPEG-4 elementary stream info parsed using Mp4Track::parseMpeg4ElementaryStreamInfo(). More...
 
class  Mpeg4VideoSpecificConfig
 The Mpeg4VideoSpecificConfig class holds MPEG-4 video specific config parsed using Mp4Track::parseVideoSpecificConfig(). More...
 
class  MpegAudioFrame
 The MpegAudioFrame class is used to parse MPEG audio frames. More...
 
class  MpegAudioFrameStream
 Implementation of TagParser::AbstractTrack MPEG audio streams. More...
 
class  NoDataFoundException
 The exception that is thrown when the data to be parsed holds no parsable information (e.g. More...
 
class  NoDataProvidedException
 The exception that is thrown when the value to be written is empty but that is not allowed in that context (e.g. More...
 
class  NotImplementedException
 This exception is thrown when the an operation is invoked that has not been implemented yet. More...
 
class  OggContainer
 Implementation of TagParser::AbstractContainer for Ogg files. More...
 
class  OggIterator
 The OggIterator class helps iterating through all segments of an Ogg bitstream. More...
 
class  OggPage
 The OggPage class is used to parse Ogg pages. More...
 
struct  OggParameter
 The OggParameter struct holds the Ogg parameter for a VorbisComment. More...
 
class  OggStream
 Implementation of TagParser::AbstractTrack for Ogg streams. More...
 
class  OggVorbisComment
 Specialization of TagParser::VorbisComment for Vorbis comments inside an Ogg stream. More...
 
class  OperationAbortedException
 The exception that is thrown when an operation has been stopped and thus not successfully completed because it has been aborted. More...
 
class  OpusIdentificationHeader
 The OpusIdentificationHeader class is an Opus identification header parser. More...
 
struct  Popularity
 The Popularity class contains a value for ID3v2's "Popularimeter" field. More...
 
class  PositionInSet
 The PositionInSet class describes the position of an element in a set which consists of a certain number of elements. More...
 
struct  PpsInfo
 The PpsInfo struct holds the picture parameter set. More...
 
class  ProgressFeedback
 The ProgressFeedback class provides feedback about an ongoing operation via callbacks. More...
 
struct  SegmentData
 The private SegmentData struct is used in MatroskaContainer::internalMakeFile() to store segment specific data. More...
 
class  Size
 The Size class defines the size of a two-dimensional object using integer point precision. More...
 
struct  SliceInfo
 The SliceInfo struct holds the slice information of an AVC frame. More...
 
struct  SpsInfo
 The SpsInfo struct holds the sequence parameter set. More...
 
class  StreamDataBlock
 The StreamDataBlock class is a reference to a certain data block of a stream. More...
 
class  Tag
 The Tag class is used to store, read and write tag information. More...
 
struct  TagCreationSettings
 The TagSettings struct contains settings which can be passed to MediaFileInfo::createAppropriateTags(). More...
 
class  TagField
 The TagField class is used by FieldMapBasedTag to store the fields. More...
 
class  TagFieldTraits
 Defines traits for the specified ImplementationType. More...
 
class  TagFieldTraits< Id3v2Frame >
 Defines traits for the TagField implementation of the Id3v2Frame class. More...
 
class  TagFieldTraits< MatroskaTagField >
 Defines traits for the TagField implementation of the MatroskaTagField class. More...
 
class  TagFieldTraits< Mp4TagField >
 Defines traits for the TagField implementation of the Mp4TagField class. More...
 
class  TagFieldTraits< VorbisCommentField >
 Defines traits for the TagField implementation of the VorbisCommentField class. More...
 
struct  TagPrivate
 The TagPrivate struct contains private fields of the Tag class. More...
 
class  TagTarget
 The TagTarget class specifies the target of a tag. More...
 
class  TagValue
 The TagValue class wraps values of different types. More...
 
struct  TagValuePrivate
 The TagValuePrivate struct contains private fields of the TagValue class. More...
 
struct  TimingInfo
 The TimingInfo struct holds timing information (part of SPS info). More...
 
struct  TrackHeaderInfo
 The TrackHeaderInfo struct holds information about the present track header (tkhd atom) and information for making a new track header based on it. More...
 
class  TruncatedDataException
 The exception that is thrown when the data to be parsed is truncated and therefore can not be parsed at all. More...
 
class  VersionNotSupportedException
 The exception that is thrown when an operation fails because the detected or specified version is not supported by the implementation. More...
 
class  VorbisComment
 Implementation of TagParser::Tag for Vorbis comments. More...
 
class  VorbisCommentField
 The VorbisCommentField class is used by VorbisComment to store the fields. More...
 
class  VorbisIdentificationHeader
 The VorbisIdentificationHeader class is a Vorbis identification header parser. More...
 
class  WaveAudioStream
 Implementation of TagParser::AbstractTrack for the RIFF WAVE container format. More...
 
class  WaveFormatHeader
 The WaveFormatHeader class parses the WAVEFORMATEX structure defined by MS. More...
 

Typedefs

using ugolomb = std::uint32_t
 Type used to store unsigned integer values using golomb coding.
 
using sgolomb = std::int32_t
 Type used to store signed integer values using golomb coding.
 
using Mp4TagMediaTypeId = std::uint8_t
 
using Mp4TagContentRatingId = std::uint8_t
 
using Mp4TagAccountTypeId = std::uint8_t
 

Enumerations

enum class  TrackType {
  Unspecified , MatroskaTrack , MpegAudioFrameStream , Mp4Track ,
  WaveAudioStream , OggStream , AdtsStream , FlacStream ,
  IvfStream
}
 The TrackType enum specifies the underlying file type of a track and the concrete class of the track object. More...
 
enum class  TrackFlags : std::uint64_t {
  None = 0 , HeaderValid = (1 << 0) , Enabled = (1 << 2) , Default = (1 << 3) ,
  Forced = (1 << 4) , Lacing = (1 << 5) , Encrypted = (1 << 6) , UsedInPresentation = (1 << 7) ,
  UsedWhenPreviewing = (1 << 8) , Interlaced = (1 << 9)
}
 The TrackFlags enum specifies miscellaneous boolean properties of a track. More...
 
enum class  FieldOrder : std::uint64_t {
  Progressive = 0 , Tff = 1 , Undetermined = 2 , Bff = 6 ,
  BffSwapped = 9 , TffSwapped = 14
}
 The FieldOrder enum declares the field ordering of the video. More...
 
enum class  StereoMode : std::uint64_t { Unknown = std::numeric_limits<std::uint64_t>::max() }
 The StereoMode enum specifies the Stereo-3D video mode. More...
 
enum class  AlphaMode : std::uint64_t { Unknown = std::numeric_limits<std::uint64_t>::max() }
 The AlphaMode enum specifies the alpha video mode. More...
 
enum class  DisplayUnit : std::uint64_t {
  Pixels , Centimeters , Inches , DisplayAspectRatio ,
  Unknown
}
 The DisplayUnit enum specifies how display width and heigh are interpreted. More...
 
enum class  AspectRatioType : std::uint64_t { FreeResizing , KeepAspectRatio , Fixed , Unknown = std::numeric_limits<std::uint64_t>::max() }
 The AspectRatioType enum specifies the possible modifications to the aspect ratio. More...
 
enum class  DiagLevel {
  None = 0 , Debug = 1 , Information = 2 , Warning = 3 ,
  Critical = 4 , Fatal = 5
}
 Specifies the level of the diagnostic message. More...
 
enum class  FlacMetaDataBlockType : std::uint8_t {
  StreamInfo = 0 , Padding , Application , SeekTable ,
  VorbisComment , CuseSheet , Picture
}
 The FlacMetaDataBlockType enum specifies the type of FlacMetaDataBlockHeader. More...
 
enum class  Id3v2HandlingFlags : std::uint64_t { None = 0 , ConvertRecordDateFields = (1 << 1) , Defaults = ConvertRecordDateFields }
 The Id3v2Flags enum specifies flags which controls parsing and making of ID3v2 tags. More...
 
enum class  LocaleFormat : std::uint64_t {
  Unknown , DomainCountry , ISO_639_1 , ISO_639_2_T ,
  ISO_639_2_B , BCP_47
}
 The LocaleFormat enum class specifies the format used by a LocaleDetail. More...
 
enum class  MatroskaElementLevel : std::uint8_t {
  TopLevel = 0x0 , Level1 , Level2 , Level3 ,
  Level4 , Level5 , Level6 , Global = 0xFE ,
  Unknown = 0xFF
}
 
enum class  MatroskaTagFlags : std::uint64_t { None = 0x0 , NormalizeKnownFieldIds = 0x1 }
 The MatroskaTagFlags enum specifies flags which controls parsing and making of Matroska tags. More...
 
enum class  ParsingStatus : std::uint8_t { NotParsedYet , Ok , NotSupported , CriticalFailure }
 The ParsingStatus enum specifies whether a certain part of the file (tracks, tags, ...) has been parsed yet and if what the parsing result is. More...
 
enum class  MediaFileStructureFlags : std::uint64_t { None , ActualExistingId3v1Tag = (1 << 0) }
 The MediaFileStructureFlags enum specifies flags which describing the structure of a media file. More...
 
enum class  MediaFileHandlingFlags : std::uint64_t {
  None , ForceFullParse = (1 << 0) , ForceRewrite = (1 << 1) , ForceTagPosition = (1 << 2) ,
  ForceIndexPosition = (1 << 3) , NormalizeKnownTagFieldIds = (1 << 4) , PreserveRawTimingValues = (1 << 8) , PreserveMuxingApplication = (1 << 9) ,
  PreserveWritingApplication = (1 << 10) , ConvertTotalFields = (1 << 11)
}
 The MediaFileHandlingFlags enum specifies flags which controls the behavior of MediaFileInfo objects. More...
 
enum class  MediaType : unsigned int {
  Unknown , Audio , Video , Text ,
  Buttons , Control , Hint , Meta
}
 The MediaType enum specifies the type of media data (audio, video, text, ...). More...
 
enum class  GeneralMediaFormat : unsigned int {
  Unknown , Aac , Ac3 , Ac4 ,
  AdpcmAcm , AfxStream , Alac , Als ,
  Amr , Avc , Av1 , Bitmap ,
  Daala , Dirac , DolbyMlp , Dts ,
  DtsHd , DvbSub , EAc3 , Evrc ,
  Flac , FontDataStream , Gif , Gpp2Cmf ,
  Hevc , ImaadpcmAcm , ImageSubtitle , InteractionStream ,
  Jpeg , MicrosoftAudioCodecManager , MicrosoftMpeg4 , MicrosoftVideoCodecManager ,
  MonkeysAudio , Mpc , Mpeg1Audio , Mpeg1Video ,
  Mpeg2Audio , Mpeg2Video , Mpeg4TimedText , Mpeg4Video ,
  OggKate , Opus , Pcm , Png ,
  ProRes , Qcelp , QuicktimeAudio , QuicktimeVideo ,
  RealAudio , RealVideo , Sa0c , Smv ,
  Speex , StreamingTextStream , SynthesizedTextureStream , Systems ,
  TextSubtitle , Theora , Tiff , TimedText ,
  Tta , UncompressedVideoFrames , Vc1 , VobBtn ,
  VobSub , Vorbis , Vp8 , Vp9 ,
  WavPack , WindowsMediaAudio , WindowsMediaVideo , Vcc
}
 The GeneralMediaFormat enum specifies the general format of media data (PCM, MPEG-4, PNG, ...). More...
 
enum class  Mp4TagMediaType : Mp4TagMediaTypeId {
  Movie = 0 , Music = 1 , Audiobook = 2 , WhackedBookmark = 5 ,
  MusicVideo = 6 , Movie2 = 9 , TvShow = 10 , Booklet = 11 ,
  Ringtone = 14 , Podcast = 21
}
 Specifies the tag type. More...
 
enum class  Mp4TagContentRating : Mp4TagContentRatingId { None = 0 , Clean = 2 , Explicit = 4 }
 Specifies the tag content rating. More...
 
enum class  AccountType : Mp4TagAccountTypeId { Itunes = 0 , Aol = 1 , Undefined = 255 }
 Specifies the account type. More...
 
enum class  CountryCode {
  Usa = 143441 , Fra = 143442 , Deu = 143443 , Gbr = 143444 ,
  Aut = 143445 , Bel = 143446 , Fin = 143447 , Grc = 143448 ,
  Irl = 143449 , Ita = 143450 , Lux = 143451 , Nld = 143452 ,
  Prt = 143453 , Esp = 143454 , Can = 143455 , Swe = 143456 ,
  Nor = 143457 , Dnk = 143458 , Che = 143459 , Aus = 143460 ,
  Nzl = 143461 , Jpn = 143462 , Undefined = 0
}
 Specifies the country. More...
 
enum class  MpegChannelMode {
  Stereo , JointStereo , DualChannel , SingleChannel ,
  Unspecifed
}
 Specifies the channel mode. More...
 
enum class  XingHeaderFlags {
  None = 0x0u , HasFramesField = 0x1u , HasBytesField = 0x2u , HasTocField = 0x4u ,
  HasQualityIndicator = 0x8u
}
 
enum class  ElementPosition { BeforeData , AfterData , Keep }
 
enum class  TagUsage { Always , KeepExisting , Never }
 The TagUsage enum specifies the usage of a certain tag type. More...
 
enum class  TagCreationFlags : std::uint64_t {
  None = 0 , TreatUnknownFilesAsMp3Files = 1 << 0 , Id3InitOnCreate = 1 << 1 , Id3TransferValuesOnRemoval = 1 << 2 ,
  MergeMultipleSuccessiveId3v2Tags = 1 << 3 , KeepExistingId3v2Version = 1 << 4
}
 The Flags enum contains options to control the tag creation via MediaFileInfo::createAppropriateTags(). More...
 
enum class  ContainerFormat : unsigned int {
  Unknown , Ac3Frames , Adts , Ar ,
  Asf , Bzip2 , Dirac , Ebml ,
  Elf , Flac , FlashVideo , Gif87a ,
  Gif89a , Gzip , Id3v2Tag , Ivf ,
  JavaClassFile , Jpeg , Lha , Lzip ,
  Lzw , Matroska , Midi , MonkeysAudio ,
  Mp4 , MpegAudioFrames , Ogg , PhotoshopDocument ,
  Png , PortableExecutable , QuickTime , Rar ,
  Riff , RiffAvi , RiffWave , SevenZ ,
  Tar , TiffBigEndian , TiffLittleEndian , Utf16Text ,
  Utf32Text , Utf8Text , WavPack , Webm ,
  WindowsBitmap , WindowsIcon , Xz , YUV4Mpeg2 ,
  Zip , Aiff , Zstd , ApeTag
}
 Specifies the container format. More...
 
enum class  KnownField : unsigned int {
  Invalid = std::numeric_limits<unsigned int>::max() , Title = 0 , Album , Artist ,
  Genre , Comment , Bpm , Bps ,
  Lyricist , TrackPosition , DiskPosition , PartNumber ,
  TotalParts , Encoder , RecordDate , Performers ,
  Length , Language , EncoderSettings , Lyrics ,
  SynchronizedLyrics , Grouping , RecordLabel , Cover ,
  Composer , Rating , Description , Vendor ,
  AlbumArtist , ReleaseDate , Subtitle , LeadPerformer ,
  Arranger , Conductor , Director , AssistantDirector ,
  DirectorOfPhotography , SoundEngineer , ArtDirector , ProductionDesigner ,
  Choregrapher , CostumeDesigner , Actor , Character ,
  WrittenBy , ScreenplayBy , EditedBy , Producer ,
  Coproducer , ExecutiveProducer , DistributedBy , MasteredBy ,
  EncodedBy , MixedBy , RemixedBy , ProductionStudio ,
  ThanksTo , Publisher , Mood , OriginalMediaType ,
  ContentType , Subject , Keywords , Summary ,
  Synopsis , InitialKey , Period , LawRating ,
  EncodingDate , TaggingDate , OriginalReleaseDate , DigitalizationDate ,
  WritingDate , PurchasingDate , RecordingLocation , CompositionLocation ,
  ComposerNationality , PlayCounter , Measure , Tuning ,
  ISRC , MCDI , ISBN , Barcode ,
  CatalogNumber , LabelCode , LCCN , IMDB ,
  TMDB , TVDB , PurchaseItem , PurchaseInfo ,
  PurchaseOwner , PurchasePrice , PurchaseCurrency , Copyright ,
  ProductionCopyright , License , TermsOfUse , PublisherWebpage ,
  StoreDescription , MediaType , PerformerWebpage , ContentRating
}
 Specifies the field. More...
 
enum class  TagTargetLevel : unsigned char {
  Unspecified , Shot , Subtrack , Track ,
  Part , Album , Edition , Collection
}
 The TagTargetLevel enum specifies tag target levels. More...
 
enum class  TagType : unsigned int {
  Unspecified = 0x00 , Id3v1Tag = 0x01 , Id3v2Tag = 0x02 , Mp4Tag = 0x04 ,
  MatroskaTag = 0x08 , VorbisComment = 0x10 , OggVorbisComment = 0x20
}
 Specifies the tag type. More...
 
enum class  TagTextEncoding : unsigned int {
  Latin1 , Utf8 , Utf16LittleEndian , Utf16BigEndian ,
  Unspecified
}
 Specifies the text encoding. More...
 
enum class  TagValueFlags : std::uint64_t { None , ReadOnly }
 Specifies additional flags about the tag value. More...
 
enum class  TagDataType : unsigned int {
  Text , Integer , PositionInSet , StandardGenreIndex ,
  TimeSpan , DateTime , Picture , Binary ,
  Undefined , Popularity , UnsignedInteger , DateTimeExpression
}
 Specifies the data type. More...
 
enum class  TagValueComparisionFlags : unsigned int { None , CaseInsensitive = 0x1 , IgnoreMetaData = 0x2 }
 The TagValueComparisionOption enum specifies options for TagValue::compareTo(). More...
 
enum class  VorbisCommentFlags : std::uint8_t {
  None = 0x0 , NoSignature = 0x1 , NoFramingByte = 0x2 , NoCovers = 0x4 ,
  ConvertTotalFields = 0x8
}
 The VorbisCommentFlags enum specifies flags which controls parsing and making of Vorbis comments. More...
 
enum  Sig64 : std::uint64_t {
  ApeTag = 0x4150455441474558ul , Ar = 0x213C617263683E0A , Asf1 = 0x3026B2758E66CF11ul , Asf2 = 0xA6D900AA0062CE6Cul ,
  Png = 0x89504E470D0A1A0Aul , RiffAvi = 0x415649204C495354ul , YUV4Mpeg2 = 0x595556344D504547ul
}
 Holds 64-bit signatures. More...
 
enum  Sig56 : std::uint64_t { Rar = 0x526172211A0700ul }
 Holds 52-bit signatures. More...
 
enum  Sig48 : std::uint64_t { Gif87a = 0x474946383761ul , Gif89a = 0x474946383961ul , SevenZ = 0x377ABCAF271Cul , Xz = 0xFD377A585A00ul }
 Holds 48-bit signatures. More...
 
enum  Sig40 : std::uint64_t { Aiff = 0x464F524D00ul }
 Holds 40-bit signatures. More...
 
enum  Sig32 : std::uint32_t {
  Dirac = 0x42424344u , Elf = 0x7F454C46u , Flac = 0x664C6143u , Ivf = 0x444B4946u ,
  JavaClassFile = 0xCAFEBABEu , Ebml = 0x1A45DFA3u , Midi = 0x4D546864u , MonkeysAudio = 0x4D414320u ,
  Mp4 = 0x66747970u , Ogg = 0x4F676753u , PhotoshopDocument = 0x38425053u , QuickTime = 0x6D6F6F76u ,
  Riff = 0x52494646u , RiffWave = 0x57415645u , TiffBigEndian = 0x4D4D002Au , TiffLittleEndian = 0x49492A00u ,
  Utf32Text = 0xFFFE0000u , WavPack = 0x7776706Bu , WindowsIcon = 0x00000100u , Lzip = 0x4C5A4950u ,
  Zip1 = 0x504B0304u , Zip2 = 0x504B0506u , Zip3 = 0x504B0708u , Zstd = 0x28b52ffdu
}
 Holds 32-bit signatures. More...
 
enum  Sig24 : std::uint32_t {
  Bzip2 = 0x425A68u , Flv = 0x464C56u , Gzip = 0x1F8B08u , Id3v2 = 0x494433u ,
  Utf8Text = 0xEFBBBFu
}
 Holds 24-bit signatures. More...
 
enum  Sig16 : std::uint16_t {
  Ac3 = 0x0B77u , Adts = 0xFFF0u , AdtsMask = 0xFFF6u , Jpeg = 0xffd8u ,
  Lha = 0x1FA0u , Lzw = 0x1F9Du , MpegAudioFrames = 0x7FFu , PortableExecutable = 0x4D5Au ,
  Utf16Text = 0xFFFEu , WindowsBitmap = 0x424du
}
 Holds 16-bit signatures. More...
 

Functions

TAG_PARSER_EXPORT std::string_view diagLevelName (DiagLevel diagLevel)
 Returns the string representation of the specified diagLevel.
 
constexpr DiagLeveloperator|= (DiagLevel &lhs, const DiagLevel &rhs)
 Sets lhs to rhs if rhs is more critical than lhs and returns lhs.
 
constexpr bool operator== (std::uint8_t lhs, FlacMetaDataBlockType type)
 
constexpr bool operator!= (std::uint8_t lhs, FlacMetaDataBlockType type)
 
constexpr bool operator> (MatroskaElementLevel lhs, MatroskaElementLevel rhs)
 
constexpr bool operator> (std::uint8_t lhs, MatroskaElementLevel rhs)
 
constexpr bool operator< (MatroskaElementLevel lhs, MatroskaElementLevel rhs)
 
constexpr bool operator>= (MatroskaElementLevel lhs, MatroskaElementLevel rhs)
 
constexpr bool operator<= (MatroskaElementLevel lhs, MatroskaElementLevel rhs)
 
TAG_PARSER_EXPORT std::string_view matroskaIdName (std::uint32_t matroskaId)
 Returns a string for the specified matroskaId if known; otherwise returns an empty string.
 
TAG_PARSER_EXPORT MatroskaElementLevel matroskaIdLevel (std::uint32_t matroskaId)
 Returns the level at which elements with the specified matroskaId are supposed to occur in a Matroska file.
 
constexpr TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel (std::uint64_t targetLevelValue)
 Returns the general TagTargetLevel for the Matroska specific targetLevelValue.
 
constexpr TAG_PARSER_EXPORT std::uint64_t matroskaTagTargetLevelValue (TagTargetLevel targetLevel)
 Returns the Matroska specific target level value for the specified general targetLevel.
 
TAG_PARSER_EXPORT std::string_view mediaTypeName (MediaType mediaType)
 Returns the string representation for the specified mediaType.
 
TAG_PARSER_EXPORT std::string_view mp4TagMediaTypeName (Mp4TagMediaTypeId tagMediaTypeId)
 
TAG_PARSER_EXPORT std::optional< Mp4TagMediaTypemp4TagMediaTypeId (std::string_view tagMediaTypeName)
 
TAG_PARSER_EXPORT std::string_view mp4TagContentRatingName (Mp4TagContentRatingId tagContentRatingId)
 
TAG_PARSER_EXPORT std::optional< Mp4TagContentRatingmp4TagContentRatingId (std::string_view tagContentRatingName)
 
TAG_PARSER_EXPORT std::string_view mp4TagAccountTypeName (Mp4TagAccountTypeId tagContentRatingId)
 
TAG_PARSER_EXPORT std::optional< AccountTypemp4TagAccountTypeId (std::string_view tagContentRatingName)
 
TAG_PARSER_EXPORT std::string_view mpegChannelModeString (MpegChannelMode channelMode)
 Returns the string representation for the specified channelMode.
 
constexpr XingHeaderFlags operator| (XingHeaderFlags lhs, XingHeaderFlags rhs)
 
constexpr XingHeaderFlags operator& (XingHeaderFlags lhs, XingHeaderFlags rhs)
 
TAG_PARSER_EXPORT ContainerFormat parseSignature (const char *buffer, std::size_t bufferSize)
 
TAG_PARSER_EXPORT ContainerFormat parseSignature (std::string_view buffer)
 Parses the signature read from the specified buffer.
 
TAG_PARSER_EXPORT std::string_view containerFormatName (ContainerFormat containerFormat)
 Returns the name of the specified container format as C-style string.
 
TAG_PARSER_EXPORT std::string_view containerFormatAbbreviation (ContainerFormat containerFormat, MediaType mediaType, unsigned int version)
 Returns the abbreviation of the container format as C-style string considering the specified media type and version.
 
TAG_PARSER_EXPORT std::string_view containerFormatSubversion (ContainerFormat containerFormat)
 Returns the subversion of the container format as C-style string.
 
TAG_PARSER_EXPORT std::string_view containerMimeType (ContainerFormat containerFormat, MediaType mediaType)
 Returns the MIME-type of the container format as C-style string.
 
TAG_PARSER_EXPORT TagTargetLevel containerTargetLevel (ContainerFormat containerFormat, std::uint64_t targetLevelValue)
 Returns the general TagTargetLevel for the specified container format and raw targetLevelValue.
 
TAG_PARSER_EXPORT std::uint64_t containerTargetLevelValue (ContainerFormat containerFormat, TagTargetLevel targetLevel)
 Returns the raw target level value for the specified containerFormat and general targetLevel.
 
constexpr bool isKnownFieldDeprecated (KnownField field)
 Returns whether the specified field is deprecated and should not be used anymore.
 
constexpr KnownField nextKnownField (KnownField field)
 Returns the next known field skipping any deprecated fields.
 
TAG_PARSER_EXPORT std::string_view tagTargetLevelName (TagTargetLevel tagTargetLevel)
 Returns a string representation for the specified tagTargetLevel.
 
constexpr int characterSize (TagTextEncoding encoding)
 Returns the size of one character for the specified encoding in bytes.
 
TAG_PARSER_EXPORT std::string_view tagDataTypeString (TagDataType dataType)
 Returns the string representation of the specified dataType.
 
constexpr auto maxId3v2FrameDataSize (numeric_limits< std::uint32_t >::max() - 15)
 The maximum (supported) size of an ID3v2Frame.
 
bool sameOffset (std::uint64_t offset, const EbmlElement *element)
 Returns an indication whether offset equals the start offset of element.
 
bool excludesOffset (const vector< EbmlElement * > &elements, std::uint64_t offset)
 Returns whether none of the specified elements have the specified offset.
 
pair< const char *, float > encodingParameter (TagTextEncoding tagTextEncoding)
 Returns the encoding parameter (name of the character set and bytes per character) for the specified tagTextEncoding.
 

Variables

constexpr auto worstDiagLevel = DiagLevel::Fatal
 The worst diag level.
 
std::uint32_t mpeg4SamplingFrequencyTable [13] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 }
 
constexpr KnownField firstKnownField = KnownField::Title
 The first valid entry in the TagParser::KnownField enum.
 
constexpr KnownField lastKnownField = KnownField::ContentRating
 The last valid entry in the TagParser::KnownField enum.
 
constexpr unsigned int knownFieldArraySize = static_cast<unsigned int>(lastKnownField) + 1
 The number of valid entries in the TagParser::KnownField enum.
 

Detailed Description

Contains all classes and functions of the TagInfo library.

Typedef Documentation

◆ Mp4TagAccountTypeId

using TagParser::Mp4TagAccountTypeId = std::uint8_t

Definition at line 712 of file mp4ids.h.

◆ Mp4TagContentRatingId

using TagParser::Mp4TagContentRatingId = std::uint8_t

Definition at line 698 of file mp4ids.h.

◆ Mp4TagMediaTypeId

using TagParser::Mp4TagMediaTypeId = std::uint8_t

Definition at line 676 of file mp4ids.h.

◆ sgolomb

using TagParser::sgolomb = std::int32_t

Type used to store signed integer values using golomb coding.

Definition at line 23 of file avcinfo.h.

◆ ugolomb

using TagParser::ugolomb = std::uint32_t

Type used to store unsigned integer values using golomb coding.

Definition at line 18 of file avcinfo.h.

Enumeration Type Documentation

◆ AccountType

Specifies the account type.

Todo
v13 rename to Mp4TagAccountType
Enumerator
Itunes 
Aol 
Undefined 

Definition at line 718 of file mp4ids.h.

◆ AlphaMode

enum class TagParser::AlphaMode : std::uint64_t
strong

The AlphaMode enum specifies the alpha video mode.

Enumerator
Unknown 

Definition at line 83 of file abstracttrack.h.

◆ AspectRatioType

enum class TagParser::AspectRatioType : std::uint64_t
strong

The AspectRatioType enum specifies the possible modifications to the aspect ratio.

Enumerator
FreeResizing 
KeepAspectRatio 
Fixed 
Unknown 

Definition at line 95 of file abstracttrack.h.

◆ ContainerFormat

enum class TagParser::ContainerFormat : unsigned int
strong

Specifies the container format.

Raw streams like ADTS or raw FLAC count as container format in this context.

Enumerator
Unknown 

unknown container format

Ac3Frames 

raw AC-3/Dolby Digital frames

Adts 

Audio Data Transport Stream

Ar 

"GNU ar" archive

Asf 

Advanced Systems Format

Bzip2 

bzip2 compressed file

Dirac 

raw Dirac

Ebml 

EBML

Elf 

Executable and Linkable Format

Flac 

raw Free Lossless Audio Codec

FlashVideo 

Flash (FLV)

Gif87a 

Graphics Interchange Format (1987)

Gif89a 

Graphics Interchange Format (1989)

Gzip 

gzip compressed file

Id3v2Tag 

file holding an ID3v2 tag only

Ivf 

IVF (simple file format that transports raw VP8/VP9/AV1 data)

JavaClassFile 

Java class file

Jpeg 

JPEG File Interchange Format

Lha 

LHA

Lzip 

lz compressed file

Lzw 

LZW

Matroska 

Matroska (subset of EBML)

Midi 

Musical Instrument Digital Interface (MIDI)

MonkeysAudio 

Monkey's Audio

Mp4 

MPEG-4 Part 14 (subset of QuickTime container)

MpegAudioFrames 

MPEG-1 Layer 1/2/3 frames

Ogg 

Ogg

PhotoshopDocument 

Photoshop document

Png 

Portable Network Graphics

PortableExecutable 

Portable Executable

QuickTime 

QuickTime container

Rar 

RAR Archive

Riff 

Resource Interchange File Format

RiffAvi 

Audio Video Interleave (subset of RIFF)

RiffWave 

WAVE (subset of RIFF)

SevenZ 

7z archive

Tar 

Tar archive

TiffBigEndian 

Tagged Image File Format (big endian)

TiffLittleEndian 

Tagged Image File Format (little endian)

Utf16Text 

UTF-16 text

Utf32Text 

UTF-32 text

Utf8Text 

UTF-8 text

WavPack 

WavPack

Webm 

WebM (subset of Matroska)

WindowsBitmap 

Microsoft Windows Bitmap

WindowsIcon 

Microsoft Windows Icon

Xz 

xz compressed file

YUV4Mpeg2 

YUV4MPEG2

Zip 

ZIP archive

Aiff 

Audio Interchange File Format

Zstd 

Zstandard-compressed data

ApeTag 

APE tag

Definition at line 18 of file signature.h.

◆ CountryCode

enum class TagParser::CountryCode
strong

Specifies the country.

Enumerator
Usa 
Fra 
Deu 
Gbr 
Aut 
Bel 
Fin 
Grc 
Irl 
Ita 
Lux 
Nld 
Prt 
Esp 
Can 
Swe 
Nor 
Dnk 
Che 
Aus 
Nzl 
Jpn 
Undefined 

Definition at line 726 of file mp4ids.h.

◆ DiagLevel

enum class TagParser::DiagLevel
strong

Specifies the level of the diagnostic message.

Enumerator
None 

indicates that no diagnostic messages are present; should not be used when constructing a diagnostic message

Debug 

indicates a debbuging message

Information 

indicates an informal message

Warning 

indicates a warning

Critical 

indicates a critical error

Fatal 

indicates a fatal error (note that this level is currently not used)

Definition at line 16 of file diagnostics.h.

◆ DisplayUnit

enum class TagParser::DisplayUnit : std::uint64_t
strong

The DisplayUnit enum specifies how display width and heigh are interpreted.

Enumerator
Pixels 
Centimeters 
Inches 
DisplayAspectRatio 
Unknown 

Definition at line 90 of file abstracttrack.h.

◆ ElementPosition

enum class TagParser::ElementPosition
strong
Enumerator
BeforeData 

the element is positioned before the actual data

AfterData 

the element is positioned after the actual data

Keep 

the element is placed where it was before

Definition at line 13 of file settings.h.

◆ FieldOrder

enum class TagParser::FieldOrder : std::uint64_t
strong

The FieldOrder enum declares the field ordering of the video.

Enumerator
Progressive 
Tff 
Undetermined 
Bff 
BffSwapped 
TffSwapped 

Definition at line 63 of file abstracttrack.h.

◆ FlacMetaDataBlockType

enum class TagParser::FlacMetaDataBlockType : std::uint8_t
strong

The FlacMetaDataBlockType enum specifies the type of FlacMetaDataBlockHeader.

Enumerator
StreamInfo 
Padding 
Application 
SeekTable 
VorbisComment 
CuseSheet 
Picture 

Definition at line 16 of file flacmetadata.h.

◆ GeneralMediaFormat

enum class TagParser::GeneralMediaFormat : unsigned int
strong

The GeneralMediaFormat enum specifies the general format of media data (PCM, MPEG-4, PNG, ...).

Enumerator
Unknown 

the format is unknown

Aac 

Advanced Video Coding

Ac3 

Dolby Digital

Ac4 

AC-4

AdpcmAcm 

ADPCM ACM

AfxStream 

AFX Stream

Alac 

Apple Lossless Audio Codec

Als 

ALS

Amr 

AMR

Avc 

Advanced Video Coding

Av1 

AOMedia Video 1 (AV1)

Bitmap 

Windows Bitmap

Daala 

Daala ("next-generation video codec" by Xiph)

Dirac 

Dirac

DolbyMlp 

Dolby MLP

Dts 

DTS

DtsHd 

DTS-HD

DvbSub 

DVBSUB

EAc3 

Dolby Digital Plus

Evrc 

EVRC

Flac 

FLAC

FontDataStream 

Font Data Stream

Gif 

GIF

Gpp2Cmf 

3GPP2 Compact Multimedia Format (CMF)

Hevc 

H.265/High Efficiency Video Coding

ImaadpcmAcm 

IMAADPCM ACM

ImageSubtitle 

Image subtitle

InteractionStream 

Interaction Stream

Jpeg 

JPEG

MicrosoftAudioCodecManager 

Microsoft Audio Codec Manager (ACM)

MicrosoftMpeg4 

Microsoft MPEG-4

MicrosoftVideoCodecManager 

Microsoft Video Codec Manager (VCM)

MonkeysAudio 

Monkey's Audio

Mpc 

Musepack

Mpeg1Audio 

MPEG-1 Audio

Mpeg1Video 

MPEG-1 Vudio

Mpeg2Audio 

MPEG-2 Audio

Mpeg2Video 

MPEG-2 Video

Mpeg4TimedText 

MPEG-4 Timed Text / Streaming text format / Part 17

Mpeg4Video 

MPEG-4 Video

OggKate 

Karaoke And Text Encapsulation

Opus 

Opus

Pcm 

Pulse Code Modulation

Png 

PNG

ProRes 

ProRes

Qcelp 

QCELP

QuicktimeAudio 

Quicktime Audio

QuicktimeVideo 

Quicktime Video

RealAudio 

Real Audio

RealVideo 

Real Video

Sa0c 

SAOC

Smv 

SMV

Speex 

Speex

StreamingTextStream 

Streaming Text Stream

SynthesizedTextureStream 

Synthesized Texture Stream

Systems 

Systems

TextSubtitle 

Text subtitle

Theora 

Theora

Tiff 

TIFF

TimedText 

Timed Text

Tta 

The True Audio lessles audio compressor

UncompressedVideoFrames 

uncompressed RGB or YCbCr

Vc1 

VC-1

VobBtn 

VobBtn

VobSub 

VobSub

Vorbis 

Vorbis

Vp8 

VP8

Vp9 

VP9

WavPack 

WavPack

WindowsMediaAudio 

Windows Media Audio

WindowsMediaVideo 

Windows Media Video

Vcc 

H.266/Versatile Video Coding

Definition at line 30 of file mediaformat.h.

◆ Id3v2HandlingFlags

enum class TagParser::Id3v2HandlingFlags : std::uint64_t
strong

The Id3v2Flags enum specifies flags which controls parsing and making of ID3v2 tags.

Enumerator
None 

Regular parsing/making.

ConvertRecordDateFields 

whether record date fields should be converted when parsing/making

Defaults 

set of flags considered good defaults

Definition at line 17 of file id3v2tag.h.

◆ KnownField

enum class TagParser::KnownField : unsigned int
strong

Specifies the field.

These "known" fields are used to specify a field without using the field identifier used by the underlying tag type.

Not all fields are supported by all tag types (see Tag::supportsField()).

Mapping proposed by HAK: https://wiki.hydrogenaud.io/index.php?title=Tag_Mapping

There is a great overlap between KnownField::ContentType found in Matroska tags and KnownField::MediaType found in MP4/iTunes tags. They don't seem to be quite identical especially since KnownField::MediaType is just a (quite format specific enumeration). So these fields are treated distinctly.

There is an overlap between KnownField::LawRating found in Matroska tags and KnownField::ContentRating found in MP4/iTunes tags. They don't seem to be quite identical especially since KnownField::ContentRating is just a (quite format specific enumeration). So these fields are treated distinctly.

See also
Tag::type()
Enumerator
Invalid 

invalid field name, do not map this value when subclassing Tag

Title 

title

Album 

album/collection

Artist 

artist/band

Genre 

genre

Comment 

comment

Bpm 

beats per minute

Bps 

beats per second

Lyricist 

lyricist

TrackPosition 

track/part number and total track/part count

DiskPosition 

disk number and total disk count

PartNumber 

track/part number

TotalParts 

total track/part count

Encoder 

encoder

RecordDate 

record date

Performers 

performers

Length 

length

Language 

language

EncoderSettings 

encoder settings

Lyrics 

lyrics

SynchronizedLyrics 

synchronized lyrics

Grouping 

grouping

RecordLabel 

record label

Cover 

cover

Composer 

composer

Rating 

rating

Description 

description

Vendor 

vendor

AlbumArtist 

album artist

ReleaseDate 

release date

Subtitle 

subtitle

LeadPerformer 
Arranger 

lead performer

Conductor 

the person who arranged the piece

Director 

conductor

AssistantDirector 

director

DirectorOfPhotography 

assistant director

SoundEngineer 

director of photography

ArtDirector 

sound engineer

ProductionDesigner 

art director

Choregrapher 

production designer

CostumeDesigner 

choregrapher

Actor 

costume designer

Character 

actor

WrittenBy 

character

ScreenplayBy 

written by

EditedBy 

screenplay by

Producer 

edited by

Coproducer 

producer

ExecutiveProducer 

coproducer

DistributedBy 

executive producer

MasteredBy 

distributed by

EncodedBy 

mastered by

MixedBy 

encoded by

RemixedBy 

mixed by

ProductionStudio 

remixed by

ThanksTo 

production studio

Publisher 

thanks to

Mood 

publisher

OriginalMediaType 

mood

ContentType 

original media type, e.g. DVD, CD, drawing, ...

Subject 

content type, e.g. documentary vs. cartoon vs. music video (only used by Matroska so far)

Keywords 

subject

Summary 

keywords

Synopsis 

summary

InitialKey 

synopsis

Period 

initial key

LawRating 

period

EncodingDate 

law rating, e.g. P, R, X in the USA or an age in other countries or a URI defining a logo

TaggingDate 

encoding date

OriginalReleaseDate 

tagging date

DigitalizationDate 

original release date

WritingDate 

digitalization date

PurchasingDate 

writing date

RecordingLocation 

purchasing date

CompositionLocation 

recording location

ComposerNationality 

composition location

PlayCounter 

composer nationality

Measure 

play counter

Tuning 

measure

ISRC 

tuning

MCDI 

International Standard Recording Code

ISBN 

binary dump of the TOC of the CDROM that this item was taken from

Barcode 

International Standard Book Number

CatalogNumber 

barcode

LabelCode 

catalog number

LCCN 

label code

IMDB 

Library of Congress Control Number

TMDB 

Internet Movie Database ID

TVDB 

The Movie DB “movie_id” or “tv_id” identifier for movies/TV shows

PurchaseItem 

The TV Database “Series ID” or “Episode ID” identifier for TV shows

PurchaseInfo 

purchase item URL

PurchaseOwner 

purchase info

PurchasePrice 

purchase owner

PurchaseCurrency 

purchase price

Copyright 

purchase currency

ProductionCopyright 

copyright

License 

production copyright

TermsOfUse 

license

PublisherWebpage 

terms of use

StoreDescription 

the publisher's official webpage

MediaType 

store description

PerformerWebpage 

the media type, e.g. movie vs. music vs. audiobook (only used by MP4 so far)

ContentRating 

the URL to the performer's website or a website generally related to the tagged file

Definition at line 37 of file tag.h.

◆ LocaleFormat

enum class TagParser::LocaleFormat : std::uint64_t
strong

The LocaleFormat enum class specifies the format used by a LocaleDetail.

Enumerator
Unknown 

the format is unknown

DomainCountry 

a country as used by Internet domains (e.g. "de" for Germany or "at" for Austria)

ISO_639_1 

a language specified via ISO-639-1 code (e.g. "de" for German)

ISO_639_2_T 

a language specified via ISO-639-2/T code (terminological, e.g. "deu" for German)

ISO_639_2_B 

a language specified via ISO-639-2/B code (bibliographic, e.g. "ger" for German)

BCP_47 

a language and/or country according to BCP 47 using the IANA Language Subtag Registry (e.g. "de_DE" for the language/country German/Germany or "de_AT" for German/Austria)

Definition at line 14 of file localehelper.h.

◆ MatroskaElementLevel

enum class TagParser::MatroskaElementLevel : std::uint8_t
strong
Enumerator
TopLevel 
Level1 
Level2 
Level3 
Level4 
Level5 
Level6 
Global 
Unknown 

Definition at line 414 of file matroskaid.h.

◆ MatroskaTagFlags

enum class TagParser::MatroskaTagFlags : std::uint64_t
strong

The MatroskaTagFlags enum specifies flags which controls parsing and making of Matroska tags.

Enumerator
None 

Regular parsing/making.

NormalizeKnownFieldIds 

Normalize known field IDs when parsing.

Definition at line 17 of file matroskatag.h.

◆ MediaFileHandlingFlags

enum class TagParser::MediaFileHandlingFlags : std::uint64_t
strong

The MediaFileHandlingFlags enum specifies flags which controls the behavior of MediaFileInfo objects.

Enumerator
None 

all flags disabled

ForceFullParse 

causes the parser to analyse the file structure as deep as possible; might cause long loading times for big files

ForceRewrite 

enforces a re-write of the file when applying changes

ForceTagPosition 

enforces the tag position when applying changes, see remarks of MediaFileInfo::setTagPosition()

ForceIndexPosition 

enforces the index position when applying changes, see remarks of MediaFileInfo::setIndexPosition()

NormalizeKnownTagFieldIds 

normalizes known tag field IDs when parsing to match the tag specification's recommendations

PreserveRawTimingValues 

preverves raw timing values (so far only used when making MP4 tracks)

PreserveMuxingApplication 

preverves the muxing application (so far only used when making Matroska container)

PreserveWritingApplication 

preverves the writing application (so far only used when making Matroska container)

ConvertTotalFields 

ensures fields usually holding PositionInSet values such as KnownField::TrackPosition are actually stored as such (and not as two separate fields for the position and total values); currently only relevant for Vorbis Comments

See also
VorbisCommentFlags::ConvertTotalFields

Definition at line 58 of file mediafileinfo.h.

◆ MediaFileStructureFlags

enum class TagParser::MediaFileStructureFlags : std::uint64_t
strong

The MediaFileStructureFlags enum specifies flags which describing the structure of a media file.

Enumerator
None 

all flags disabled

ActualExistingId3v1Tag 

whether an ID3v1 tag was found when parsing the file

Definition at line 50 of file mediafileinfo.h.

◆ MediaType

enum class TagParser::MediaType : unsigned int
strong

The MediaType enum specifies the type of media data (audio, video, text, ...).

Enumerator
Unknown 

the type is unknown

Audio 

audio/sound

Video 

video

Text 

text/subtitle

Buttons 

buttons

Control 

control

Hint 

hint

Meta 

(timed) metadata

Definition at line 14 of file mediaformat.h.

◆ Mp4TagContentRating

Specifies the tag content rating.

Enumerator
None 

None

Clean 

Clean

Explicit 

Explicit

Definition at line 703 of file mp4ids.h.

◆ Mp4TagMediaType

Specifies the tag type.

See also
https://github.com/MediaArea/MediaInfoLib/blob/master/Source/MediaInfo/Multiple/File_Mpeg4_Elements.cpp
Enumerator
Movie 

Movie

Music 

Music

Audiobook 

Audiobook

WhackedBookmark 

Whacked Bookmark

MusicVideo 

Music Video

Movie2 

Short Film

Todo
v13 rename to ShortFilm
TvShow 

TV Show

Booklet 

Booklet

Ringtone 

Ringtone

Podcast 

Podcast

Definition at line 682 of file mp4ids.h.

◆ MpegChannelMode

enum class TagParser::MpegChannelMode
strong

Specifies the channel mode.

Enumerator
Stereo 

stereo

JointStereo 

joint stereo

DualChannel 

dual channel

SingleChannel 

single channel/mono

Unspecifed 

used to indicate that the channel mode is unknown

Definition at line 19 of file mpegaudioframe.h.

◆ ParsingStatus

enum class TagParser::ParsingStatus : std::uint8_t
strong

The ParsingStatus enum specifies whether a certain part of the file (tracks, tags, ...) has been parsed yet and if what the parsing result is.

Enumerator
NotParsedYet 

the part has not been parsed yet

Ok 

the part has been parsed and no critical errors occurred

NotSupported 

tried to parse the part, but the format is not supported

CriticalFailure 

tried to parse the part, but critical errors occurred

Definition at line 40 of file mediafileinfo.h.

◆ Sig16

enum TagParser::Sig16 : std::uint16_t

Holds 16-bit signatures.

Enumerator
Ac3 
Adts 
AdtsMask 
Jpeg 
Lha 
Lzw 
MpegAudioFrames 
PortableExecutable 
Utf16Text 
WindowsBitmap 

Definition at line 93 of file signature.cpp.

◆ Sig24

enum TagParser::Sig24 : std::uint32_t

Holds 24-bit signatures.

Enumerator
Bzip2 
Flv 
Gzip 
Id3v2 
Utf8Text 

Definition at line 82 of file signature.cpp.

◆ Sig32

enum TagParser::Sig32 : std::uint32_t

Holds 32-bit signatures.

Enumerator
Dirac 
Elf 
Flac 
Ivf 
JavaClassFile 
Ebml 
Midi 
MonkeysAudio 
Mp4 
Ogg 
PhotoshopDocument 
QuickTime 
Riff 
RiffWave 
TiffBigEndian 
TiffLittleEndian 
Utf32Text 
WavPack 
WindowsIcon 
Lzip 
Zip1 
Zip2 
Zip3 
Zstd 

Definition at line 52 of file signature.cpp.

◆ Sig40

enum TagParser::Sig40 : std::uint64_t

Holds 40-bit signatures.

Enumerator
Aiff 

Definition at line 45 of file signature.cpp.

◆ Sig48

enum TagParser::Sig48 : std::uint64_t

Holds 48-bit signatures.

Enumerator
Gif87a 
Gif89a 
SevenZ 
Xz 

Definition at line 35 of file signature.cpp.

◆ Sig56

enum TagParser::Sig56 : std::uint64_t

Holds 52-bit signatures.

Enumerator
Rar 

Definition at line 28 of file signature.cpp.

◆ Sig64

enum TagParser::Sig64 : std::uint64_t

Holds 64-bit signatures.

Enumerator
ApeTag 
Ar 
Asf1 
Asf2 
Png 
RiffAvi 
YUV4Mpeg2 

Definition at line 15 of file signature.cpp.

◆ StereoMode

enum class TagParser::StereoMode : std::uint64_t
strong

The StereoMode enum specifies the Stereo-3D video mode.

See also
https://matroska.org/technical/notes.html#multi-planar-and-3d-videos
Enumerator
Unknown 

Definition at line 76 of file abstracttrack.h.

◆ TagCreationFlags

enum class TagParser::TagCreationFlags : std::uint64_t
strong

The Flags enum contains options to control the tag creation via MediaFileInfo::createAppropriateTags().

Enumerator
None 

no flags present

TreatUnknownFilesAsMp3Files 

treat unknown file formats as MP3 (might make those files unusable)

Id3InitOnCreate 

initialize newly created ID3 tags with the values of the already present ID3 tags

Id3TransferValuesOnRemoval 

transfer values of removed ID3 tags to remaining ID3 tags (no values will be overwritten)

MergeMultipleSuccessiveId3v2Tags 

merge multiple successive ID3v2 tags (see MediaFileInfo::mergeId3v2Tags())

KeepExistingId3v2Version 

keep version of existing ID3v2 tags so TagSettings::id3v2version is only used when creating a new ID3v2 tag

Definition at line 31 of file settings.h.

◆ TagDataType

enum class TagParser::TagDataType : unsigned int
strong

Specifies the data type.

Enumerator
Text 

text/string

Integer 

integer

PositionInSet 

position in set, see TagParser::PositionInSet

StandardGenreIndex 

pre-defined genre name denoted by numerical code

TimeSpan 

time span, see CppUtilities::TimeSpan

DateTime 

date time, see CppUtilities::DateTime

Picture 

picture file

Binary 

unspecified binary data

Undefined 

undefined/invalid data type

Popularity 

rating with user info and play counter (as in ID3v2's "Popularimeter")

UnsignedInteger 

unsigned integer

DateTimeExpression 

date time expression, see CppUtilities::DateTimeExpression

Definition at line 119 of file tagvalue.h.

◆ TagTargetLevel

enum class TagParser::TagTargetLevel : unsigned char
strong

The TagTargetLevel enum specifies tag target levels.

Enumerator
Unspecified 
Shot 
Subtrack 
Track 
Part 
Album 
Edition 
Collection 

Definition at line 16 of file tagtarget.h.

◆ TagTextEncoding

enum class TagParser::TagTextEncoding : unsigned int
strong

Specifies the text encoding.

Enumerator
Latin1 

ISO/IEC 8859-1 aka "Latin 1"

Utf8 

UTF-8

Utf16LittleEndian 

UTF-16 (little endian)

Utf16BigEndian 

UTF-16 (big endian)

Unspecified 

unspecified encoding

Definition at line 29 of file tagvalue.h.

◆ TagType

enum class TagParser::TagType : unsigned int
strong

Specifies the tag type.

See also
Tag::type()
Enumerator
Unspecified 

The tag type is unspecified.

Id3v1Tag 

The tag is a TagParser::Id3v1Tag.

Id3v2Tag 

The tag is a TagParser::Id3v2Tag.

Mp4Tag 

The tag is a TagParser::Mp4Tag.

MatroskaTag 

The tag is a TagParser::MatroskaTag.

VorbisComment 

The tag is a TagParser::VorbisComment.

OggVorbisComment 

The tag is a TagParser::OggVorbisComment.

Definition at line 11 of file tagtype.h.

◆ TagUsage

enum class TagParser::TagUsage
strong

The TagUsage enum specifies the usage of a certain tag type.

Enumerator
Always 

a tag of the type is always used; a new tag is created if none exists yet

KeepExisting 

existing tags of the type are kept and updated but no new tag is created

Never 

tags of the type are never used; a possibly existing tag of the type is removed

Definition at line 22 of file settings.h.

◆ TagValueComparisionFlags

enum class TagParser::TagValueComparisionFlags : unsigned int
strong

The TagValueComparisionOption enum specifies options for TagValue::compareTo().

Enumerator
None 

no special behavior

CaseInsensitive 

string-comparisons are case-insensitive (does not affect non-string comparisons)

IgnoreMetaData 

do not take meta-data like description and MIME-types into account

Definition at line 139 of file tagvalue.h.

◆ TagValueFlags

enum class TagParser::TagValueFlags : std::uint64_t
strong

Specifies additional flags about the tag value.

Remarks
It depends on the tag format whether these flags can be present. When setting a flag which is not supported by the tag format, the tag implementation for that tag format is supposed to ignore these flags.
Enumerator
None 

no flags present

ReadOnly 

the tag value is labeled as read-only

Definition at line 43 of file tagvalue.h.

◆ TrackFlags

enum class TagParser::TrackFlags : std::uint64_t
strong

The TrackFlags enum specifies miscellaneous boolean properties of a track.

Enumerator
None 

No flags present

HeaderValid 

The track header is valid. Set by AbstractTrack::parseHeader() on success.

Enabled 

The track is marked as enabled.

Default 

The track is marked as default.

Forced 

The track is marked as forced.

Lacing 

The track has lacing.

Encrypted 

The track is encrypted.

UsedInPresentation 

The track is supposed to be used in presentation.

UsedWhenPreviewing 

The track is supposed to be used when previewing.

Interlaced 

The video is interlaced.

Definition at line 47 of file abstracttrack.h.

◆ TrackType

enum class TagParser::TrackType
strong

The TrackType enum specifies the underlying file type of a track and the concrete class of the track object.

Enumerator
Unspecified 

The track type is not specified.

MatroskaTrack 

The track is a TagParser::MatroskaTrack.

MpegAudioFrameStream 

The track is a TagParser::MpegAudioFrameStream.

Mp4Track 

The track is a TagParser::Mp4Track.

WaveAudioStream 

The track is a TagParser::WaveAudioStream.

OggStream 

The track is a TagParser::OggStream.

AdtsStream 

The track is a TagParser::AdtsStream.

FlacStream 

The track is a TagParser::FlacStream.

IvfStream 

The track is a TagParser::IvfStream.

Definition at line 32 of file abstracttrack.h.

◆ VorbisCommentFlags

enum class TagParser::VorbisCommentFlags : std::uint8_t
strong

The VorbisCommentFlags enum specifies flags which controls parsing and making of Vorbis comments.

Enumerator
None 

Regular parsing/making.

NoSignature 

Skips the signature when parsing and making.

NoFramingByte 

Doesn't expect the framing bit to be present when parsing; does not make the framing bit when making.

NoCovers 

Skips all covers when making.

ConvertTotalFields 

Converts TRACKTOTAL/DISCTOTAL/PARTTOTAL to be included in the TRACKNUMBER/DISCNUMBER/PARTNUMBER fields.

Definition at line 18 of file vorbiscommentfield.h.

◆ XingHeaderFlags

enum class TagParser::XingHeaderFlags
strong
Enumerator
None 

No Xing frames are present

HasFramesField 

Xing frames field is present

HasBytesField 

Xing bytes field is present

HasTocField 

Xing TOC field is present

HasQualityIndicator 

Xing quality indicator is present

Definition at line 29 of file mpegaudioframe.h.

Function Documentation

◆ characterSize()

int TagParser::characterSize ( TagTextEncoding encoding)
constexpr

Returns the size of one character for the specified encoding in bytes.

Remarks
For variable-width encoding the minimum size is returned.

Definition at line 58 of file tagvalue.h.

◆ containerFormatAbbreviation()

std::string_view TagParser::containerFormatAbbreviation ( ContainerFormat containerFormat,
MediaType mediaType,
unsigned int version )

Returns the abbreviation of the container format as C-style string considering the specified media type and version.

Remarks
The abbreviation might be used as file extension.
Returns
Returns an empty string if no abbreviation is available.

Definition at line 269 of file signature.cpp.

◆ containerFormatName()

std::string_view TagParser::containerFormatName ( ContainerFormat containerFormat)

Returns the name of the specified container format as C-style string.

Returns "unknown" if no name is available.

Definition at line 395 of file signature.cpp.

◆ containerFormatSubversion()

std::string_view TagParser::containerFormatSubversion ( ContainerFormat containerFormat)

Returns the subversion of the container format as C-style string.

Returns an empty string if there is no subversion available.

Definition at line 508 of file signature.cpp.

◆ containerMimeType()

std::string_view TagParser::containerMimeType ( ContainerFormat containerFormat,
MediaType mediaType )

Returns the MIME-type of the container format as C-style string.

Returns an empty string if there is no MIME-type available.

Definition at line 529 of file signature.cpp.

◆ containerTargetLevel()

TagTargetLevel TagParser::containerTargetLevel ( ContainerFormat containerFormat,
std::uint64_t targetLevelValue )

Returns the general TagTargetLevel for the specified container format and raw targetLevelValue.

Definition at line 604 of file signature.cpp.

◆ containerTargetLevelValue()

std::uint64_t TagParser::containerTargetLevelValue ( ContainerFormat containerFormat,
TagTargetLevel targetLevel )

Returns the raw target level value for the specified containerFormat and general targetLevel.

Definition at line 618 of file signature.cpp.

◆ diagLevelName()

std::string_view TagParser::diagLevelName ( DiagLevel diagLevel)

Returns the string representation of the specified diagLevel.

Definition at line 22 of file diagnostics.cpp.

◆ encodingParameter()

pair< const char *, float > TagParser::encodingParameter ( TagTextEncoding tagTextEncoding)

Returns the encoding parameter (name of the character set and bytes per character) for the specified tagTextEncoding.

Definition at line 64 of file tagvalue.cpp.

◆ excludesOffset()

bool TagParser::excludesOffset ( const vector< EbmlElement * > & elements,
std::uint64_t offset )
inline

Returns whether none of the specified elements have the specified offset.

Remarks
This method is used when gathering elements to avoid adding the same element twice.

Definition at line 309 of file matroskacontainer.cpp.

◆ isKnownFieldDeprecated()

bool TagParser::isKnownFieldDeprecated ( KnownField field)
constexpr

Returns whether the specified field is deprecated and should not be used anymore.

Definition at line 162 of file tag.h.

◆ matroskaIdLevel()

MatroskaElementLevel TagParser::matroskaIdLevel ( std::uint32_t matroskaId)

Returns the level at which elements with the specified matroskaId are supposed to occur in a Matroska file.

Definition at line 529 of file matroskaid.cpp.

◆ matroskaIdName()

std::string_view TagParser::matroskaIdName ( std::uint32_t matroskaId)

Returns a string for the specified matroskaId if known; otherwise returns an empty string.

Definition at line 22 of file matroskaid.cpp.

◆ matroskaTagTargetLevel()

TAG_PARSER_EXPORT TagTargetLevel TagParser::matroskaTagTargetLevel ( std::uint64_t targetLevelValue)
constexpr

Returns the general TagTargetLevel for the Matroska specific targetLevelValue.

Definition at line 524 of file matroskatagid.h.

◆ matroskaTagTargetLevelValue()

TAG_PARSER_EXPORT std::uint64_t TagParser::matroskaTagTargetLevelValue ( TagTargetLevel targetLevel)
constexpr

Returns the Matroska specific target level value for the specified general targetLevel.

Definition at line 532 of file matroskatagid.h.

◆ maxId3v2FrameDataSize()

auto TagParser::maxId3v2FrameDataSize ( numeric_limits< std::uint32_t >::max() - 15)
constexpr

The maximum (supported) size of an ID3v2Frame.

◆ mediaTypeName()

std::string_view TagParser::mediaTypeName ( MediaType mediaType)

Returns the string representation for the specified mediaType.

Definition at line 1065 of file mediaformat.cpp.

◆ mp4TagAccountTypeId()

std::optional< AccountType > TagParser::mp4TagAccountTypeId ( std::string_view tagContentRatingName)

Definition at line 589 of file mp4ids.cpp.

◆ mp4TagAccountTypeName()

std::string_view TagParser::mp4TagAccountTypeName ( Mp4TagAccountTypeId tagContentRatingId)

Definition at line 575 of file mp4ids.cpp.

◆ mp4TagContentRatingId()

std::optional< Mp4TagContentRating > TagParser::mp4TagContentRatingId ( std::string_view tagContentRatingName)

Definition at line 564 of file mp4ids.cpp.

◆ mp4TagContentRatingName()

std::string_view TagParser::mp4TagContentRatingName ( Mp4TagContentRatingId tagContentRatingId)

Definition at line 552 of file mp4ids.cpp.

◆ mp4TagMediaTypeId()

std::optional< Mp4TagMediaType > TagParser::mp4TagMediaTypeId ( std::string_view tagMediaTypeName)

Definition at line 530 of file mp4ids.cpp.

◆ mp4TagMediaTypeName()

std::string_view TagParser::mp4TagMediaTypeName ( Mp4TagMediaTypeId tagMediaTypeId)

Definition at line 502 of file mp4ids.cpp.

◆ mpegChannelModeString()

std::string_view TagParser::mpegChannelModeString ( MpegChannelMode channelMode)

Returns the string representation for the specified channelMode.

Definition at line 17 of file mpegaudioframe.cpp.

◆ nextKnownField()

KnownField TagParser::nextKnownField ( KnownField field)
constexpr

Returns the next known field skipping any deprecated fields.

Returns KnownField::Invalid if there is not next field.

Definition at line 171 of file tag.h.

◆ operator!=()

bool TagParser::operator!= ( std::uint8_t lhs,
FlacMetaDataBlockType type )
constexpr

Definition at line 23 of file flacmetadata.h.

◆ operator&()

XingHeaderFlags TagParser::operator& ( XingHeaderFlags lhs,
XingHeaderFlags rhs )
constexpr

Definition at line 151 of file mpegaudioframe.h.

◆ operator<()

bool TagParser::operator< ( MatroskaElementLevel lhs,
MatroskaElementLevel rhs )
constexpr

Definition at line 440 of file matroskaid.h.

◆ operator<=()

bool TagParser::operator<= ( MatroskaElementLevel lhs,
MatroskaElementLevel rhs )
constexpr

Definition at line 452 of file matroskaid.h.

◆ operator==()

bool TagParser::operator== ( std::uint8_t lhs,
FlacMetaDataBlockType type )
constexpr

Definition at line 18 of file flacmetadata.h.

◆ operator>() [1/2]

bool TagParser::operator> ( MatroskaElementLevel lhs,
MatroskaElementLevel rhs )
constexpr

Definition at line 426 of file matroskaid.h.

◆ operator>() [2/2]

bool TagParser::operator> ( std::uint8_t lhs,
MatroskaElementLevel rhs )
constexpr

Definition at line 433 of file matroskaid.h.

◆ operator>=()

bool TagParser::operator>= ( MatroskaElementLevel lhs,
MatroskaElementLevel rhs )
constexpr

Definition at line 447 of file matroskaid.h.

◆ operator|()

XingHeaderFlags TagParser::operator| ( XingHeaderFlags lhs,
XingHeaderFlags rhs )
constexpr

Definition at line 146 of file mpegaudioframe.h.

◆ operator|=()

DiagLevel & TagParser::operator|= ( DiagLevel & lhs,
const DiagLevel & rhs )
constexpr

Sets lhs to rhs if rhs is more critical than lhs and returns lhs.

Definition at line 33 of file diagnostics.h.

◆ parseSignature() [1/2]

ContainerFormat TagParser::parseSignature ( const char * buffer,
std::size_t bufferSize )
inline

Definition at line 83 of file signature.h.

◆ parseSignature() [2/2]

ContainerFormat TagParser::parseSignature ( std::string_view buffer)

Parses the signature read from the specified buffer.

Parameters
bufferSpecifies the buffer to read the signature from.
bufferSizeSpecifies the size of buffer.
Returns
Returns the container format denoted by the signature. If the signature is unknown ContainerFormat::Unknown is returned.

Definition at line 113 of file signature.cpp.

◆ sameOffset()

bool TagParser::sameOffset ( std::uint64_t offset,
const EbmlElement * element )

Returns an indication whether offset equals the start offset of element.

Definition at line 300 of file matroskacontainer.cpp.

◆ tagDataTypeString()

std::string_view TagParser::tagDataTypeString ( TagDataType dataType)

Returns the string representation of the specified dataType.

Definition at line 31 of file tagvalue.cpp.

◆ tagTargetLevelName()

std::string_view TagParser::tagTargetLevelName ( TagTargetLevel tagTargetLevel)

Returns a string representation for the specified tagTargetLevel.

Definition at line 17 of file tagtarget.cpp.

Variable Documentation

◆ firstKnownField

KnownField TagParser::firstKnownField = KnownField::Title
constexpr

The first valid entry in the TagParser::KnownField enum.

Definition at line 147 of file tag.h.

◆ knownFieldArraySize

unsigned int TagParser::knownFieldArraySize = static_cast<unsigned int>(lastKnownField) + 1
constexpr

The number of valid entries in the TagParser::KnownField enum.

Definition at line 157 of file tag.h.

◆ lastKnownField

KnownField TagParser::lastKnownField = KnownField::ContentRating
constexpr

The last valid entry in the TagParser::KnownField enum.

Definition at line 152 of file tag.h.

◆ mpeg4SamplingFrequencyTable

std::uint32_t TagParser::mpeg4SamplingFrequencyTable = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 }

Definition at line 429 of file mp4ids.cpp.

◆ worstDiagLevel

auto TagParser::worstDiagLevel = DiagLevel::Fatal
constexpr

The worst diag level.

Definition at line 26 of file diagnostics.h.