Tag Parser: TagParser Namespace Reference

Tag Parser 12.5.3 C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags

Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
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 | Id3v2FrameIds
| Encapsulates the most common ID3v2 frame IDs and related functions.
namespace | EbmlIds
| Encapsulates all EBML ID values.
namespace | MatroskaIds
| Encapsulates the most common Matroska element IDs.
namespace | MatroskaTrackType
| Encapsulates the most common Matroska track IDs.
namespace | MatroskaTagIds
| Encapsulates Matroska tag IDs.
namespace | SubFormats
| Encapsulates sub formats.
namespace | ExtensionFormats
| Encapsulates extension formats.
namespace | Mp4AtomIds
| Encapsulates the most common MP4 atom 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 | Mp4MediaTypeIds
| Encapsulates all supported MP4 media type IDs.
namespace | FourccIds
| Encapsulates all supported MP4 media format IDs (aka "FOURCCs").
namespace | Mp4FormatExtensionIds
| Encapsulates all supported MP4 media format description extensions.
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 | Mpeg4DescriptorIds
| Encapsulates all known MPEG-4 descriptor IDs.
namespace | Mpeg4AudioObjectIds
| Encapsulates all supported MPEG-4 audio object type IDs.
namespace | Mpeg4ChannelConfigs
| Encapsulates all supported MPEG-4 channel configurations.
namespace | Mpeg4VideoCodes
| Encapsulates MPEG-4 video (14496-2) codes.
namespace | Mpeg2VideoCodes
| Encapsulates MPEG-2 video codes.
namespace | RawDataType
| Encapsulates the most common data type IDs of MP4 tag fields.
namespace | VorbisCommentIds
| Encapsulates Vorbis comment field names.
namespace | VorbisPackageTypes
| Encapsulates known Vorbis package type IDs.

## Classes
class | StreamDataBlock
| The StreamDataBlock class is a reference to a certain data block of a stream. More...
class | FileDataBlock
| The FileDataBlock class is a reference to a certain data block of a file stream. More...
class | AbstractAttachment
| The AbstractAttachment class parses and stores attachment information. More...
class | AbstractChapter
| The AbstractChapter class parses chapter information. More...
class | AbstractContainer
| The AbstractContainer class provides an interface and common functionality to parse and make a certain container format. More...
class | AbstractTrack
| The AbstractTrack class parses and stores technical information about video, audio and other kinds of media tracks. 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 | AvcConfiguration
| The AvcConfiguration struct provides a parser for AVC configuration. More...
struct | TimingInfo
| The TimingInfo struct holds timing information (part of SPS info). More...
struct | HrdParameters
| The HrdParameters struct holds "Hypothetical Reference Decoder" parameters. More...
struct | SpsInfo
| The SpsInfo struct holds the sequence parameter set. More...
struct | PpsInfo
| The PpsInfo struct holds the picture parameter set. More...
struct | SliceInfo
| The SliceInfo struct holds the slice information of an AVC frame. More...
struct | AvcFrame
| The AvcFrame struct holds an AVC frame. More...
class | BitmapInfoHeader
| The BitmapInfoHeader class parses the BITMAPINFOHEADER structure defined by MS. More...
class | BasicFileInfo
| The BasicFileInfo class provides basic file information such as file name, extension, directory and size for a specified file. 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 | Failure
| The class inherits from std::exception and serves as base class for exceptions thrown by the elements of the Media namespace. More...
class | NoDataFoundException
| The exception that is thrown when the data to be parsed holds no parsable information (e.g. 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 | 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 | TruncatedDataException
| The exception that is thrown when the data to be parsed is truncated and therefore can not be parsed at all. 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 | VersionNotSupportedException
| The exception that is thrown when an operation fails because the detected or specified version is not supported by the implementation. More...
class | NotImplementedException
| This exception is thrown when the an operation is invoked that has not been implemented yet. More...
class | FieldMapBasedTagTraits
| Defines traits for the specified ImplementationType. More...
class | FieldMapBasedTag
| The FieldMapBasedTag provides a generic implementation of Tag which stores the tag fields using std::multimap. More...
class | FlacMetaDataBlockHeader
| The FlacMetaDataBlockHeader class is a FLAC "METADATA_BLOCK_HEADER" parser and maker. More...
class | FlacMetaDataBlockStreamInfo
| The FlacMetaDataBlockStreamInfo class is a FLAC "METADATA_BLOCK_STREAMINFO" parser. More...
class | FlacMetaDataBlockPicture
| The FlacMetaDataBlockPicture class is a FLAC "METADATA_BLOCK_PICTURE" parser and maker. 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...
class | GenericContainer
| The GenericContainer class helps parsing header, track, tag and chapter information of a file. More...
class | FileElementTraits
| Defines traits for the specified ImplementationType. More...
class | GenericFileElement
| The GenericFileElement class helps to parse binary files which consist of an arboreal element structure. 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 | 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 | Id3v2FrameMaker
| The Id3v2FrameMaker class helps making ID3v2 frames. More...
class | TagFieldTraits< Id3v2Frame >
| Defines traits for the TagField implementation of the Id3v2Frame class. More...
class | Id3v2Frame
| The Id3v2Frame class is used by Id3v2Tag to store the fields. More...
class | FrameComparer
| Defines the order which is used to store ID3v2 frames. More...
class | Id3v2TagMaker
| The Id3v2TagMaker class helps writing ID3v2 tags. More...
class | FieldMapBasedTagTraits< Id3v2Tag >
| Defines traits for the TagField implementation of the Id3v2Tag class. More...
class | Id3v2Tag
| Implementation of TagParser::Tag for ID3v2 tags. More...
class | IvfFrame
| The IvfFrame class is used to parse IVF frames. More...
class | IvfStream
| Implementation of TagParser::AbstractTrack for IVF streams. More...
struct | LocaleDetail
| The LocaleDetail struct specifies a language and/or country. 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...
class | Margin
| The Margin class defines the four margins of a rectangle. More...
class | FileElementTraits< EbmlElement >
| Defines traits for the GenericFileElement implementation EbmlElement. More...
class | EbmlElement
| The EbmlElement class helps to parse EBML files such as Matroska files. More...
class | MatroskaAttachmentMaker
| The MatroskaAttachmentMaker class helps writing Matroska "AttachedFile"-elements which contain an attachment. More...
class | MatroskaAttachment
| Implementation of TagParser::AbstractAttachment for the Matroska container. 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 | 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 | 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 | MatroskaSeekInfo
| The MatroskaSeekInfo class helps parsing and making "SeekHead"-elements. More...
class | MatroskaTagMaker
| The MatroskaTagMaker class helps writing Matroska "Tag"-elements storing tag information. More...
class | FieldMapBasedTagTraits< MatroskaTag >
| Defines traits for the TagField implementation of the MatroskaTag class. More...
class | MatroskaTag
| Implementation of TagParser::Tag for the Matroska container. More...
class | TagFieldTraits< MatroskaTagField >
| Defines traits for the TagField implementation of the MatroskaTagField class. More...
class | MatroskaTagFieldMaker
| The MatroskaTagFieldMaker class helps making tag fields. More...
class | MatroskaTagField
| The MatroskaTagField class is used by MatroskaTag to store the fields. More...
class | MatroskaTrackHeaderMaker
| The MatroskaTrackHeaderMaker class helps writing Matroska "TrackEntry"-elements storing track header information. More...
class | MatroskaTrack
| Implementation of TagParser::AbstractTrack for the Matroska container. More...
class | MediaFileInfo
| The MediaFileInfo class allows to read and write tag information providing a container/tag format independent interface. More...
class | MediaFormat
| The MediaFormat class specifies the format of media data. More...
class | FileElementTraits< Mp4Atom >
| Defines traits for the GenericFileElement implementation Mp4Atom. More...
class | Mp4Atom
| The Mp4Atom class helps to parse MP4 files. More...
class | Mp4Container
| Implementation of GenericContainer<MediaFileInfo, Mp4Tag, Mp4Track, Mp4Atom>. More...
class | Mp4ExtendedFieldId
| The Mp4ExtendedFieldId specifies parameter for an extended field denoted via Mp4TagAtomIds::Extended. More...
class | Mp4TagMaker
| The Mp4TagMaker class helps writing MP4 tags. More...
class | FieldMapBasedTagTraits< Mp4Tag >
| Defines traits for the TagField implementation of the Mp4Tag class. More...
class | Mp4Tag
| Implementation of TagParser::Tag for the MP4 container. More...
class | TagFieldTraits< Mp4TagField >
| Defines traits for the TagField implementation of the Mp4TagField class. More...
class | Mp4TagFieldMaker
| The Mp4TagFieldMaker class helps making tag fields. More...
class | Mp4TagField
| The Mp4TagField class is used by Mp4Tag to store the fields. More...
class | Mpeg4AudioSpecificConfig
| The Mpeg4AudioSpecificConfig class holds MPEG-4 audio specific config parsed using Mp4Track::parseAudioSpecificConfig(). More...
class | Mpeg4VideoSpecificConfig
| The Mpeg4VideoSpecificConfig class holds MPEG-4 video specific config parsed using Mp4Track::parseVideoSpecificConfig(). More...
class | Mpeg4ElementaryStreamInfo
| The Mpeg4ElementaryStreamInfo class holds MPEG-4 elementary stream info parsed using Mp4Track::parseMpeg4ElementaryStreamInfo(). More...
class | Mp4Track
| Implementation of TagParser::AbstractTrack for the MP4 container. More...
class | FileElementTraits< Mpeg4Descriptor >
| Defines traits for the GenericFileElement implementation Mpeg4Descriptor. More...
class | Mpeg4Descriptor
| The Mpeg4Descriptor class helps to parse MPEG-4 descriptors. More...
class | MpegAudioFrame
| The MpegAudioFrame class is used to parse MPEG audio frames. More...
class | MpegAudioFrameStream
| Implementation of TagParser::AbstractTrack MPEG audio streams. More...
struct | OggParameter
| The OggParameter struct holds the Ogg parameter for a VorbisComment. More...
class | OggVorbisComment
| Specialization of TagParser::VorbisComment for Vorbis comments inside an Ogg stream. 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...
class | OggStream
| Implementation of TagParser::AbstractTrack for Ogg streams. More...
class | OpusIdentificationHeader
| The OpusIdentificationHeader class is an Opus identification header parser. More...
class | PositionInSet
| The PositionInSet class describes the position of an element in a set which consists of a certain number of elements. More...
class | BasicProgressFeedback
| The BasicProgressFeedback class provides the base for ProgressFeedback and AbortableProgressFeedback. More...
class | ProgressFeedback
| The ProgressFeedback class provides feedback about an ongoing operation via callbacks. More...
class | AbortableProgressFeedback
| The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks. More...
struct | TagCreationSettings
| The TagSettings struct contains settings which can be passed to MediaFileInfo::createAppropriateTags(). More...
class | Size
| The Size class defines the size of a two-dimensional object using integer point precision. More...
class | Tag
| The Tag class is used to store, read and write tag information. More...
class | TagTarget
| The TagTarget class specifies the target of a tag. More...
class | Popularity
| The Popularity class contains a value for ID3v2's "Popularimeter" field. More...
class | TagValue
| The TagValue class wraps values of different types. More...
class | FieldMapBasedTagTraits< VorbisComment >
| Defines traits for the TagField implementation of the VorbisComment class. More...
class | VorbisComment
| Implementation of TagParser::Tag for Vorbis comments. More...
class | TagFieldTraits< VorbisCommentField >
| Defines traits for the TagField implementation of the VorbisCommentField class. 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 | WaveFormatHeader
| The WaveFormatHeader class parses the WAVEFORMATEX structure defined by MS. More...
class | WaveAudioStream
| Implementation of TagParser::AbstractTrack for the RIFF WAVE container format. More...
struct | AbstractAttachmentPrivate
| The AbstractAttachmentPrivate struct contains private fields of the AbstractAttachment class. More...
struct | AbstractChapterPrivate
| The AbstractChapterPrivate struct contains private fields of the AbstractChapter class. More...
struct | AbstractContainerPrivate
| The AbstractContainerPrivate struct contains private fields of the AbstractContainer class. More...
struct | AbstractTrackPrivate
| The AbstractTrackPrivate struct contains private fields of the AbstractTrack class. More...
class | Av1Configuration
| The Av1Configuration struct provides a parser for AV1 configuration found in ISOBMFF files. More...
struct | SegmentData
| The private SegmentData struct is used in MatroskaContainer::internalMakeFile() to store segment specific data. More...
struct | MediaFileInfoPrivate
| The MediaFileInfoPrivate struct contains private fields of the MediaFileInfo class. More...
struct | Mp4Timings
| The Mp4Timings struct holds timing values found in multiple MP4 atoms. 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...
struct | TagPrivate
| The TagPrivate struct contains private fields of the Tag class. More...
struct | TagValuePrivate
| The TagValuePrivate struct contains private fields of the TagValue class. 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 DiagLevel & | operator|= (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< Mp4TagMediaType > | mp4TagMediaTypeId (std::string_view tagMediaTypeName)
TAG_PARSER_EXPORT std::string_view | mp4TagContentRatingName (Mp4TagContentRatingId tagContentRatingId)
TAG_PARSER_EXPORT std::optional< Mp4TagContentRating > | mp4TagContentRatingId (std::string_view tagContentRatingName)
TAG_PARSER_EXPORT std::string_view | mp4TagAccountTypeName (Mp4TagAccountTypeId tagContentRatingId)
TAG_PARSER_EXPORT std::optional< AccountType > | mp4TagAccountTypeId (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.
TAG_PARSER_EXPORT std::string_view | containerFormatAbbreviation (ContainerFormat containerFormat, MediaType mediaType, unsigned int version)
| Returns the abbreviation of the container format considering the specified media type and version.
TAG_PARSER_EXPORT std::string_view | containerFormatSubversion (ContainerFormat containerFormat)
| Returns the subversion of the container format.
TAG_PARSER_EXPORT std::string_view | containerMimeType (ContainerFormat containerFormat, MediaType mediaType)
| Returns the MIME-type of the container format.
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 713 of file mp4ids.h.

## ◆ Mp4TagContentRatingId

using TagParser::Mp4TagContentRatingId = std::uint8_t

Definition at line 699 of file mp4ids.h.

## ◆ Mp4TagMediaTypeId

using TagParser::Mp4TagMediaTypeId = std::uint8_t

Definition at line 677 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

enum class TagParser::AccountType : Mp4TagAccountTypeId
| strong

Specifies the account type.

Todo
  v13 rename to Mp4TagAccountType

Enumerator
Itunes |
Aol |
Undefined |

Definition at line 719 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 727 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 or "long description", e.g. podcast description or episode description
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

enum class TagParser::Mp4TagContentRating : Mp4TagContentRatingId
| strong

Specifies the tag content rating.

Enumerator
None | None
Clean | Clean
Explicit | Explicit

Definition at line 704 of file mp4ids.h.

## ◆ Mp4TagMediaType

enum class TagParser::Mp4TagMediaType : Mp4TagMediaTypeId
| strong

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 683 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 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 268 of file signature.cpp.

## ◆ containerFormatName()

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

Returns the name of the specified container format.

Remarks
  Returns "unknown" if no name is available.

Definition at line 393 of file signature.cpp.

## ◆ containerFormatSubversion()

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

Returns the subversion of the container format.

Remarks
  Returns an empty string if there is no subversion available.

Definition at line 505 of file signature.cpp.

## ◆ containerMimeType()

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

Returns the MIME-type of the container format.

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

Definition at line 525 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 600 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 614 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 1061 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

  buffer | Specifies the buffer to read the signature from.
  bufferSize | Specifies 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.