Tag Parser  6.4.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Media Namespace Reference

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

Namespaces

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

Classes

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 Media::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  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  BitmapInfoHeader
 The BitmapInfoHeader class parses the BITMAPINFOHEADER structure defined by MS. More...
 
struct  CaseInsensitiveCharComparer
 The CaseInsensitiveCharComparer struct defines a method for case-insensivive character comparsion (less). More...
 
struct  CaseInsensitiveStringComparer
 The CaseInsensitiveStringComparer struct defines a method for case-insensivive string comparsion (less). 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  FileDataBlock
 The FileDataBlock class is a reference to a certain data block of a file stream. More...
 
class  FileElementIterator
 The FileElementIterator class helps iterating through the children of a FileElement. 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 Media::AbstractTrack for raw FLAC streams. More...
 
class  FlacToOggMappingHeader
 The FlacToOggMappingHeader class is a FLAC-to-Ogg mapping header parser. More...
 
class  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 strucutre. 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 vise versa. More...
 
class  Id3v1Tag
 Implementation of Media::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 Media::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  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  MatroskaAttachment
 Implementation of Media::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 Media::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 Media::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...
 
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...
 
class  Mp4ExtendedFieldId
 The Mp4ExtendedFieldId specifies parameter for an extended field denoted via Mp4TagAtomIds::Extended. More...
 
class  Mp4Tag
 Implementation of Media::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...
 
class  Mp4Track
 Implementation of Media::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 Media::AbstractTrack MPEG audio streams. More...
 
class  NoDataFoundException
 The exception that is thrown when the data to be parsed holds no parsable information. More...
 
class  Notification
 The Notification class holds a notification message of a certain notification type. More...
 
class  NotImplementedException
 This exception is thrown when the an operation is invoked that has not been implemented yet. More...
 
class  OggContainer
 Implementation of Media::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 Media::AbstractTrack for OGG streams. More...
 
class  OggVorbisComment
 Specialization of Media::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...
 
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...
 
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  StatusProvider
 The StatusProvider class acts as a base class for objects providing status information. 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...
 
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...
 
class  TagTarget
 The TagTarget class specifies the target of a tag. More...
 
class  TagValue
 The TagValue class wraps values of different types. 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 Media::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 Media::AbstractTrack for the RIFF WAVE container format. More...
 
class  WaveFormatHeader
 The WaveFormatHeader class parses the WAVEFORMATEX structure defined by MS. More...
 

Typedefs

typedef uint32 ugolomb
 Type used to store unsigned integer values using golomb coding. More...
 
typedef int32 sgolomb
 Type used to store signed integer values using golomb coding. More...
 
typedef std::list< NotificationNotificationList
 

Enumerations

enum  Mp4TagMediaType : byte {
  Mp4TagMediaType::Movie = 0, Mp4TagMediaType::Music = 1, Mp4TagMediaType::Audiobook = 2, Mp4TagMediaType::MusicVideo = 6,
  Mp4TagMediaType::Movie2 = 9, Mp4TagMediaType::TvShow = 10, Mp4TagMediaType::Booklet = 11, Mp4TagMediaType::Ringtone = 14
}
 Specifies the tag type. More...
 
enum  Mp4TagContentRating : byte { Mp4TagContentRating::None = 0, Mp4TagContentRating::Clean = 2, Mp4TagContentRating::Explicit = 4 }
 Specifies the tag content rating. More...
 
enum  AccountType : byte { AccountType::Itunes = 0, AccountType::Aol = 1, AccountType::Undefined = 255 }
 Specifies the account type. More...
 
enum  CountryCode {
  CountryCode::Usa = 143441, CountryCode::Fra = 143442, CountryCode::Deu = 143443, CountryCode::Gbr = 143444,
  CountryCode::Aut = 143445, CountryCode::Bel = 143446, CountryCode::Fin = 143447, CountryCode::Grc = 143448,
  CountryCode::Irl = 143449, CountryCode::Ita = 143450, CountryCode::Lux = 143451, CountryCode::Nld = 143452,
  CountryCode::Prt = 143453, CountryCode::Esp = 143454, CountryCode::Can = 143455, CountryCode::Swe = 143456,
  CountryCode::Nor = 143457, CountryCode::Dnk = 143458, CountryCode::Che = 143459, CountryCode::Aus = 143460,
  CountryCode::Nzl = 143461, CountryCode::Jpn = 143462, CountryCode::Undefined = 0
}
 Specifies the country. More...
 
enum  ElementPosition { ElementPosition::BeforeData, ElementPosition::AfterData, ElementPosition::Keep }
 
enum  TrackType {
  TrackType::Unspecified, TrackType::MatroskaTrack, TrackType::MpegAudioFrameStream, TrackType::Mp4Track,
  TrackType::WaveAudioStream, TrackType::OggStream, TrackType::AdtsStream, TrackType::FlacStream
}
 Specifies the track type. More...
 
enum  MpegChannelMode {
  MpegChannelMode::Stereo, MpegChannelMode::JointStereo, MpegChannelMode::DualChannel, MpegChannelMode::SingleChannel,
  MpegChannelMode::Unspecifed
}
 Specifies the channel mode. More...
 
enum  XingHeaderFlags {
  XingHeaderFlags::None = 0x0u, XingHeaderFlags::HasFramesField = 0x1u, XingHeaderFlags::HasBytesField = 0x2u, XingHeaderFlags::HasTocField = 0x4u,
  XingHeaderFlags::HasQualityIndicator = 0x8u
}
 
enum  NotificationType {
  NotificationType::None = 0, NotificationType::Debug = 1, NotificationType::Information = 2, NotificationType::Warning = 3,
  NotificationType::Critical = 4
}
 Specifies the notification type. More...
 
enum  FlacMetaDataBlockType : byte {
  FlacMetaDataBlockType::StreamInfo = 0, FlacMetaDataBlockType::Padding, FlacMetaDataBlockType::Application, FlacMetaDataBlockType::SeekTable,
  FlacMetaDataBlockType::VorbisComment, FlacMetaDataBlockType::CuseSheet, FlacMetaDataBlockType::Picture
}
 The FlacMetaDataBlockType enum specifies the type of FlacMetaDataBlockHeader. More...
 
enum  ContainerFormat {
  ContainerFormat::Unknown, ContainerFormat::Ac3Frames, Adts, Ar,
  ContainerFormat::Asf, Bzip2, Dirac, Ebml,
  Elf, Flac, ContainerFormat::FlashVideo, Gif87a,
  Gif89a, Gzip, ContainerFormat::Id2v2Tag, JavaClassFile,
  Jpeg, Lha, Lzip, Lzw,
  ContainerFormat::Matroska, Mp4, MpegAudioFrames, Ogg,
  PhotoshopDocument, Png, PortableExecutable, QuickTime,
  Rar, Riff, RiffAvi, RiffWave,
  SevenZ, ContainerFormat::Tar, TiffBigEndian, TiffLittleEndian,
  Utf16Text, Utf32Text, Utf8Text, ContainerFormat::Webm,
  WindowsBitmap, WindowsIcon, ContainerFormat::Zip, Xz
}
 Specifies the container format. More...
 
enum  TagType : unsigned int {
  TagType::Unspecified = 0x00, TagType::Id3v1Tag = 0x01, TagType::Id3v2Tag = 0x02, TagType::Mp4Tag = 0x04,
  TagType::MatroskaTag = 0x08, TagType::VorbisComment = 0x10, TagType::OggVorbisComment = 0x20
}
 Specifies the tag type. More...
 
enum  KnownField : unsigned int {
  KnownField::Invalid = static_cast<unsigned int>(-1), KnownField::Title = 0, KnownField::Album, KnownField::Artist,
  KnownField::Genre, KnownField::Year, KnownField::Comment, KnownField::Bpm,
  KnownField::Bps, KnownField::Lyricist, KnownField::TrackPosition, KnownField::DiskPosition,
  KnownField::PartNumber, KnownField::TotalParts, KnownField::Encoder, KnownField::RecordDate,
  KnownField::Performers, KnownField::Length, KnownField::Language, KnownField::EncoderSettings,
  KnownField::Lyrics, KnownField::SynchronizedLyrics, KnownField::Grouping, KnownField::RecordLabel,
  KnownField::Cover, KnownField::Composer, KnownField::Rating, KnownField::Description,
  KnownField::Vendor
}
 Specifies the field. More...
 
enum  TagTargetLevel : unsigned char {
  TagTargetLevel::Unspecified, TagTargetLevel::Shot, TagTargetLevel::Subtrack, TagTargetLevel::Track,
  TagTargetLevel::Part, TagTargetLevel::Album, TagTargetLevel::Edition, TagTargetLevel::Collection
}
 The TagTargetLevel enum specifies tag target levels. More...
 
enum  TagTextEncoding : unsigned int {
  TagTextEncoding::Latin1, TagTextEncoding::Utf8, TagTextEncoding::Utf16LittleEndian, TagTextEncoding::Utf16BigEndian,
  TagTextEncoding::Unspecified
}
 Specifies the text encoding. More...
 
enum  TagDataType : unsigned int {
  TagDataType::Text, TagDataType::Integer, TagDataType::PositionInSet, TagDataType::StandardGenreIndex,
  TagDataType::TimeSpan, TagDataType::DateTime, TagDataType::Picture, TagDataType::Binary,
  TagDataType::Undefined
}
 Specifies the data type. More...
 
enum  VorbisCommentFlags : byte { VorbisCommentFlags::None = 0x0, VorbisCommentFlags::NoSignature = 0x1, VorbisCommentFlags::NoFramingByte = 0x2, VorbisCommentFlags::NoCovers = 0x4 }
 The VorbisCommentFlags enum specifies flags which controls parsing and making of Vorbis comments. More...
 
enum  TagUsage { TagUsage::Always, TagUsage::KeepExisting, TagUsage::Never }
 The TagUsage enum specifies the usage of a certain tag type. More...
 
enum  ParsingStatus : byte { ParsingStatus::NotParsedYet, ParsingStatus::Ok, ParsingStatus::NotSupported, ParsingStatus::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  MediaType {
  MediaType::Unknown, MediaType::Audio, MediaType::Video, MediaType::Text,
  MediaType::Buttons, MediaType::Control, MediaType::Hint
}
 The MediaType enum specifies the type of media data (audio, video, text, ...). More...
 
enum  GeneralMediaFormat {
  GeneralMediaFormat::Unknown, GeneralMediaFormat::Aac, Ac3, GeneralMediaFormat::Ac4,
  GeneralMediaFormat::AdpcmAcm, GeneralMediaFormat::AfxStream, GeneralMediaFormat::Alac, GeneralMediaFormat::Als,
  GeneralMediaFormat::Amr, GeneralMediaFormat::Avc, GeneralMediaFormat::Bitmap, Dirac,
  GeneralMediaFormat::Dts, GeneralMediaFormat::DtsHd, GeneralMediaFormat::EAc3, GeneralMediaFormat::Evrc,
  Flac, GeneralMediaFormat::FontDataStream, GeneralMediaFormat::Gif, GeneralMediaFormat::Gpp2Cmf,
  GeneralMediaFormat::Hevc, GeneralMediaFormat::ImaadpcmAcm, GeneralMediaFormat::ImageSubtitle, GeneralMediaFormat::InteractionStream,
  Jpeg, GeneralMediaFormat::OggKate, GeneralMediaFormat::Opus, GeneralMediaFormat::MicrosoftAudioCodecManager,
  GeneralMediaFormat::MicrosoftMpeg4, GeneralMediaFormat::MicrosoftVideoCodecManager, GeneralMediaFormat::DolbyMlp, GeneralMediaFormat::Mpeg1Audio,
  GeneralMediaFormat::Mpeg1Video, GeneralMediaFormat::Mpeg2Audio, GeneralMediaFormat::Mpeg2Video, GeneralMediaFormat::Mpeg4Video,
  GeneralMediaFormat::Mpeg4TimedText, GeneralMediaFormat::Mpc, GeneralMediaFormat::Pcm, Png,
  GeneralMediaFormat::ProRes, GeneralMediaFormat::Qcelp, GeneralMediaFormat::QuicktimeAudio, GeneralMediaFormat::QuicktimeVideo,
  GeneralMediaFormat::RealAudio, GeneralMediaFormat::RealVideo, GeneralMediaFormat::Sa0c, GeneralMediaFormat::Smv,
  GeneralMediaFormat::StreamingTextStream, GeneralMediaFormat::SynthesizedTextureStream, GeneralMediaFormat::Systems, GeneralMediaFormat::TextSubtitle,
  GeneralMediaFormat::Theora, GeneralMediaFormat::Tiff, GeneralMediaFormat::TimedText, GeneralMediaFormat::Tta,
  GeneralMediaFormat::UncompressedVideoFrames, GeneralMediaFormat::Vc1, GeneralMediaFormat::VobBtn, GeneralMediaFormat::VobSub,
  GeneralMediaFormat::Vorbis, GeneralMediaFormat::Vp8, GeneralMediaFormat::Vp9, GeneralMediaFormat::WavPack,
  GeneralMediaFormat::WindowsMediaAudio, GeneralMediaFormat::WindowsMediaVideo, GeneralMediaFormat::DvbSub
}
 The GeneralMediaFormat enum specifies the general format of media data (PCM, MPEG-4, PNG, ...). More...
 
enum  Sig64 : uint64 {
  Ar = 0x213C617263683E0A, Ar, Asf1 = 0x3026B2758E66CF11ul, Asf2 = 0xA6D900AA0062CE6Cul,
  Png = 0x89504E470D0A1A0Aul, Png, Png, RiffAvi = 0x415649204C495354ul,
  RiffAvi
}
 Holds 64-bit signatures. More...
 
enum  Sig56 : uint64 { Rar = 0x526172211A0700ul, Rar }
 Holds 52-bit signatures. More...
 
enum  Sig48 : uint64 {
  Gif87a = 0x474946383761ul, Gif87a, Gif89a = 0x474946383961ul, Gif89a,
  SevenZ = 0x377ABCAF271Cul, SevenZ, Xz = 0xFD377A585A00ul, Xz
}
 Holds 48-bit signatures. More...
 
enum  Sig32 : uint32 {
  Dirac = 0x42424344u, Dirac, Dirac, Elf = 0x7F454C46u,
  Elf, Flac = 0x664C6143u, Flac, Flac,
  JavaClassFile = 0xCAFEBABEu, JavaClassFile, Ebml = 0x1A45DFA3u, Ebml,
  Mp4 = 0x66747970u, Mp4, Ogg = 0x4F676753u, Ogg,
  PhotoshopDocument = 0x38425053u, PhotoshopDocument, QuickTime = 0x6D6F6F76u, QuickTime,
  Riff = 0x52494646u, Riff, RiffWave =0x57415645u, RiffWave,
  TiffBigEndian = 0x4D4D002Au, TiffBigEndian, TiffLittleEndian = 0x49492A00u, TiffLittleEndian,
  Utf32Text = 0xFFFE0000u, Utf32Text, WindowsIcon = 0x00000100u, WindowsIcon,
  Lzip = 0x4C5A4950u, Lzip, Zip1 = 0x504B0304u, Zip2 = 0x504B0506u,
  Zip3 = 0x504B0708u
}
 Holds 32-bit signatures. More...
 
enum  Sig24 : uint32 {
  Bzip2 = 0x425A68u, Bzip2, Flv = 0x464C56u, Gzip = 0x1F8B08u,
  Gzip, Id3v2 = 0x494433u, Utf8Text = 0xEFBBBFu, Utf8Text
}
 Holds 24-bit signatures. More...
 
enum  Sig16 : uint16 {
  Ac3 = 0x0B77u, Ac3, Adts = 0xFFF0u, Adts,
  AdtsMask = 0xFFF6u, Jpeg = 0xffd8u, Jpeg, Jpeg,
  Lha = 0x1FA0u, Lha, Lzw = 0x1F9Du, Lzw,
  MpegAudioFrames = 0x7FFu, MpegAudioFrames, PortableExecutable = 0x4D5Au, PortableExecutable,
  Utf16Text = 0xFFFEu, Utf16Text, WindowsBitmap = 0x424du, WindowsBitmap
}
 Holds 16-bit signatures. More...
 

Functions

TAG_PARSER_EXPORT const char * mpegChannelModeString (MpegChannelMode channelMode)
 Returns the string representation for the specified channelMode. More...
 
XingHeaderFlags operator| (XingHeaderFlags lhs, XingHeaderFlags rhs)
 
XingHeaderFlags operator& (XingHeaderFlags lhs, XingHeaderFlags rhs)
 
NotificationTypeoperator|= (NotificationType &lhs, const NotificationType &rhs)
 Sets lhs to rhs if rhs is worse than lhs and returns lhs. More...
 
constexpr bool operator== (byte lhs, FlacMetaDataBlockType type)
 
constexpr bool operator!= (byte lhs, FlacMetaDataBlockType type)
 
 DECLARE_ENUM_CLASS (TagTargetLevel, byte)
 
TAG_PARSER_EXPORT ContainerFormat parseSignature (const char *buffer, int bufferSize)
 Parses the signature read from the specified buffer. More...
 
TAG_PARSER_EXPORT const char * containerFormatName (ContainerFormat containerFormat)
 Returns the name of the specified container format as C-style string. More...
 
TAG_PARSER_EXPORT const char * 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. More...
 
TAG_PARSER_EXPORT const char * containerFormatSubversion (ContainerFormat containerFormat)
 Returns the subversion of the container format as C-style string. More...
 
TAG_PARSER_EXPORT const char * containerMimeType (ContainerFormat containerFormat, MediaType mediaType)
 Returns the MIME-type of the container format as C-style string. More...
 
TAG_PARSER_EXPORT TagTargetLevel containerTargetLevel (ContainerFormat containerFormat, uint64 targetLevelValue)
 Returns the general TagTargetLevel for the specified container format and raw targetLevelValue. More...
 
TAG_PARSER_EXPORT uint64 containerTargetLevelValue (ContainerFormat containerFormat, TagTargetLevel targetLevel)
 Returns the raw target level value for the specified containerFormat and general targetLevel. More...
 
constexpr KnownField nextKnownField (KnownField field)
 Returns the next known field. More...
 
TAG_PARSER_EXPORT const char * tagTargetLevelName (TagTargetLevel tagTargetLevel)
 Returns a string representation for the specified tagTargetLevel. More...
 
int characterSize (TagTextEncoding encoding)
 Returns the size of one character for the specified encoding in bytes. More...
 
bool operator& (VorbisCommentFlags lhs, VorbisCommentFlags rhs)
 
VorbisCommentFlags operator| (VorbisCommentFlags lhs, VorbisCommentFlags rhs)
 
TAG_PARSER_EXPORT const char * matroskaIdName (uint32 matroskaId)
 Returns a string for the specified matroskaId if known; otherwise returns an empty string. More...
 
TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel (uint64 targetLevelValue)
 Returns the general TagTargetLevel for the Matroska specific targetLevelValue. More...
 
TAG_PARSER_EXPORT uint64 matroskaTagTargetLevelValue (TagTargetLevel targetLevel)
 Returns the Matroska specific target level value for the specified general targetLevel. More...
 
 DECLARE_ENUM_CLASS (TagType, unsigned int)
 
const char *TAG_PARSER_EXPORT mediaTypeName (MediaType mediaType)
 Returns the string representation for the specified mediaType. More...
 
pair< const char *, float > encodingParameter (TagTextEncoding tagTextEncoding)
 Returns the encoding parameter (name of the character set and bytes per character) for the specified tagTextEncoding. More...
 
template<class stringtype >
int parseGenreIndex (const stringtype &denotation)
 Helper function to parse the genre index. More...
 
bool sameOffset (uint64 offset, const EbmlElement *element)
 Returns an indication whether offset equals the start offset of element. More...
 
bool excludesOffset (const vector< EbmlElement *> &elements, uint64 offset)
 Returns whether none of the specified elements have the specified offset. More...
 

Variables

uint32 mpeg4SamplingFrequencyTable [13]
 
constexpr KnownField firstKnownField = KnownField::Title
 The first valid entry in the Media::KnownField enum. More...
 
constexpr KnownField lastKnownField = KnownField::Vendor
 The last valid entry in the Media::KnownField enum. More...
 
constexpr unsigned int knownFieldArraySize = static_cast<unsigned int>(lastKnownField) + 1
 The number of valid entries in the Media::KnownField enum. More...
 
const DateTime startDate = DateTime::fromDate(1904, 1, 1)
 Dates within MP4 tracks are expressed as the number of seconds since this date. More...
 
constexpr const char appInfo [] = APP_NAME " v" APP_VERSION
 
constexpr uint64 appInfoElementDataSize = sizeof(appInfo) - 1
 
constexpr uint64 appInfoElementTotalSize = 2 + 1 + appInfoElementDataSize
 

Detailed Description

Contains all classes and functions of the TagInfo library.

Typedef Documentation

◆ NotificationList

Definition at line 39 of file notification.h.

◆ sgolomb

typedef int32 Media::sgolomb

Type used to store signed integer values using golomb coding.

Definition at line 23 of file avcinfo.h.

◆ ugolomb

typedef uint32 Media::ugolomb

Type used to store unsigned integer values using golomb coding.

Definition at line 18 of file avcinfo.h.

Enumeration Type Documentation

◆ AccountType

enum Media::AccountType : byte
strong

Specifies the account type.

Enumerator
Itunes 
Aol 
Undefined 

Definition at line 675 of file mp4ids.h.

◆ ContainerFormat

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

Id2v2Tag 

file holding an ID2v2 tag only

JavaClassFile 

Java class file

Jpeg 

JPEG File Interchange Format

Lha 

LHA

Lzip 

lz compressed file

Lzw 

LZW

Matroska 

Matroska (subset of EBML)

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

Webm 

WebM (subset of Matroska)

WindowsBitmap 

Microsoft Windows Bitmap

WindowsIcon 

Microsoft Windows Icon

Zip 

ZIP archive

Xz 

xz compressed file

Definition at line 17 of file signature.h.

◆ CountryCode

enum Media::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 685 of file mp4ids.h.

◆ ElementPosition

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 27 of file abstractcontainer.h.

◆ FlacMetaDataBlockType

enum Media::FlacMetaDataBlockType : byte
strong

The FlacMetaDataBlockType enum specifies the type of FlacMetaDataBlockHeader.

Enumerator
StreamInfo 
Padding 
Application 
SeekTable 
VorbisComment 
CuseSheet 
Picture 

Definition at line 17 of file flacmetadata.h.

◆ GeneralMediaFormat

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

Bitmap 

Windows Bitmap

Dirac 

Dirac

Dts 

DTS

DtsHd 

DTS-HD

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

OggKate 

Karaoke And Text Encapsulation

Opus 

Opus

MicrosoftAudioCodecManager 

Microsoft Audio Codec Manager (ACM)

MicrosoftMpeg4 

Microsoft MPEG-4

MicrosoftVideoCodecManager 

Microsoft Video Codec Manager (VCM)

DolbyMlp 

Dolby MLP

Mpeg1Audio 

MPEG-1 Audio

Mpeg1Video 

MPEG-1 Vudio

Mpeg2Audio 

MPEG-2 Audio

Mpeg2Video 

MPEG-2 Video

Mpeg4Video 

MPEG-4 Video

Mpeg4TimedText 

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

Mpc 

Musepack

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

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

Vc1 

VC-1

VobBtn 

VobBtn

VobSub 

VobSub

Vorbis 

Vorbis

Vp8 

VP8

Vp9 

VP9

WavPack 

WavPack

WindowsMediaAudio 

Windows Media Audio

WindowsMediaVideo 

Windows Media Video

DvbSub 

DVBSUB

Definition at line 29 of file mediaformat.h.

◆ KnownField

enum Media::KnownField : unsigned int
strong

Specifies the field.

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

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

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

Year 

year

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

Definition at line 42 of file tag.h.

◆ MediaType

enum Media::MediaType
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

Definition at line 13 of file mediaformat.h.

◆ Mp4TagContentRating

enum Media::Mp4TagContentRating : byte
strong

Specifies the tag content rating.

Enumerator
None 

None

Clean 

Clean

Explicit 

Explicit

Definition at line 666 of file mp4ids.h.

◆ Mp4TagMediaType

enum Media::Mp4TagMediaType : byte
strong

Specifies the tag type.

Enumerator
Movie 

Movie

Music 

Music

Audiobook 

Audiobook

MusicVideo 

MusicVideo

Movie2 

Movie

TvShow 

TvShow

Booklet 

Booklet

Ringtone 

Ringtone

Definition at line 652 of file mp4ids.h.

◆ MpegChannelMode

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 20 of file mpegaudioframe.h.

◆ NotificationType

Specifies the notification type.

The notification types are ordered by their troublesomeness.

Enumerator
None 

indicates that no notifications are present; should not be used when constructing a notfication

Debug 

indicates a debbuging notification

Information 

indicates an informal notification

Warning 

indicates a warning

Critical 

indicates a critical notification

Definition at line 18 of file notification.h.

◆ ParsingStatus

enum Media::ParsingStatus : byte
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 occured

NotSupported 

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

CriticalFailure 

tried to parse the part, but critical errors occured

Definition at line 45 of file mediafileinfo.h.

◆ Sig16

enum Media::Sig16 : uint16

Holds 16-bit signatures.

Enumerator
Ac3 
Ac3 

Dolby Digital

Adts 
Adts 

Audio Data Transport Stream

AdtsMask 
Jpeg 
Jpeg 

JPEG File Interchange Format

Jpeg 

JPEG

Lha 
Lha 

LHA

Lzw 
Lzw 

LZW

MpegAudioFrames 
MpegAudioFrames 

MPEG-1 Layer 1/2/3 frames

PortableExecutable 
PortableExecutable 

Portable Executable

Utf16Text 
Utf16Text 

UTF-16 text

WindowsBitmap 
WindowsBitmap 

Microsoft Windows Bitmap

Definition at line 82 of file signature.cpp.

◆ Sig24

enum Media::Sig24 : uint32

Holds 24-bit signatures.

Enumerator
Bzip2 
Bzip2 

bzip2 compressed file

Flv 
Gzip 
Gzip 

gzip compressed file

Id3v2 
Utf8Text 
Utf8Text 

UTF-8 text

Definition at line 70 of file signature.cpp.

◆ Sig32

enum Media::Sig32 : uint32

Holds 32-bit signatures.

Enumerator
Dirac 
Dirac 

raw Dirac

Dirac 

Dirac

Elf 
Elf 

Executable and Linkable Format

Flac 
Flac 

raw Free Lossless Audio Codec

Flac 

FLAC

JavaClassFile 
JavaClassFile 

Java class file

Ebml 
Ebml 

EBML

Mp4 
Mp4 

MPEG-4 Part 14 (subset of QuickTime container)

Ogg 
Ogg 

Ogg

PhotoshopDocument 
PhotoshopDocument 

Photoshop document

QuickTime 
QuickTime 

QuickTime container

Riff 
Riff 

Resource Interchange File Format

RiffWave 
RiffWave 

WAVE (subset of RIFF)

TiffBigEndian 
TiffBigEndian 

Tagged Image File Format (big endian)

TiffLittleEndian 
TiffLittleEndian 

Tagged Image File Format (little endian)

Utf32Text 
Utf32Text 

UTF-32 text

WindowsIcon 
WindowsIcon 

Microsoft Windows Icon

Lzip 
Lzip 

lz compressed file

Zip1 
Zip2 
Zip3 

Definition at line 44 of file signature.cpp.

◆ Sig48

enum Media::Sig48 : uint64

Holds 48-bit signatures.

Enumerator
Gif87a 
Gif87a 

Graphics Interchange Format (1987)

Gif89a 
Gif89a 

Graphics Interchange Format (1989)

SevenZ 
SevenZ 

7z archive

Xz 
Xz 

xz compressed file

Definition at line 33 of file signature.cpp.

◆ Sig56

enum Media::Sig56 : uint64

Holds 52-bit signatures.

Enumerator
Rar 
Rar 

RAR Archive

Definition at line 25 of file signature.cpp.

◆ Sig64

enum Media::Sig64 : uint64

Holds 64-bit signatures.

Enumerator
Ar 
Ar 

"GNU ar" archive

Asf1 
Asf2 
Png 
Png 

Portable Network Graphics

Png 

PNG

RiffAvi 
RiffAvi 

Audio Video Interleave (subset of RIFF)

Definition at line 13 of file signature.cpp.

◆ TagDataType

enum Media::TagDataType : unsigned int
strong

Specifies the data type.

Enumerator
Text 

text/string

Integer 

integer

PositionInSet 

position in set, see Media::PositionInSet

StandardGenreIndex 

pre-defined genre name denoted by numerical code

TimeSpan 

time span, see ChronoUtils::TimeSpan

DateTime 

date time, see ChronoUtils::DateTime

Picture 

picture file

Binary 

unspecified binary data

Undefined 

undefined/invalid data type

Definition at line 51 of file tagvalue.h.

◆ TagTargetLevel

enum Media::TagTargetLevel : unsigned char
strong

The TagTargetLevel enum specifies tag target levels.

Enumerator
Unspecified 
Shot 
Subtrack 
Track 
Part 
Album 
Edition 
Collection 

Definition at line 17 of file tagtarget.h.

◆ TagTextEncoding

enum Media::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 22 of file tagvalue.h.

◆ TagType

enum Media::TagType : unsigned int
strong

Specifies the tag type.

See also
Tag::type()
Enumerator
Unspecified 

The tag type is unspecified.

Id3v1Tag 

The tag is a Media::Id3v1Tag.

Id3v2Tag 

The tag is a Media::Id3v2Tag.

Mp4Tag 

The tag is a Media::Mp4Tag.

MatroskaTag 

The tag is a Media::MatroskaTag.

VorbisComment 

The tag is a Media::VorbisComment.

OggVorbisComment 

The tag is a Media::OggVorbisComment.

Definition at line 21 of file tag.h.

◆ TagUsage

enum Media::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 34 of file mediafileinfo.h.

◆ TrackType

enum Media::TrackType
strong

Specifies the track type.

Enumerator
Unspecified 

The track type is not specified.

MatroskaTrack 

The track is a Media::MatroskaTrack.

MpegAudioFrameStream 

The track is a Media::MpegAudioFrameStream.

Mp4Track 

The track is a Media::Mp4Track.

WaveAudioStream 

The track is a Media::WaveAudioStream.

OggStream 

The track is a Media::OggStream.

AdtsStream 

The track is a Media::AdtsStream.

FlacStream 

The track is a Media::FlacStream.

Definition at line 28 of file abstracttrack.h.

◆ VorbisCommentFlags

enum Media::VorbisCommentFlags : byte
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.

Definition at line 17 of file vorbiscommentfield.h.

◆ XingHeaderFlags

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 31 of file mpegaudioframe.h.

Function Documentation

◆ characterSize()

int Media::characterSize ( TagTextEncoding  encoding)
inline

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 35 of file tagvalue.h.

◆ containerFormatAbbreviation()

const char * Media::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 243 of file signature.cpp.

◆ containerFormatName()

const char * Media::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 322 of file signature.cpp.

◆ containerFormatSubversion()

const char * Media::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 417 of file signature.cpp.

◆ containerMimeType()

const char * Media::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 438 of file signature.cpp.

◆ containerTargetLevel()

TagTargetLevel Media::containerTargetLevel ( ContainerFormat  containerFormat,
uint64  targetLevelValue 
)

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

Definition at line 509 of file signature.cpp.

◆ containerTargetLevelValue()

uint64 Media::containerTargetLevelValue ( ContainerFormat  containerFormat,
TagTargetLevel  targetLevel 
)

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

Definition at line 523 of file signature.cpp.

◆ DECLARE_ENUM_CLASS() [1/2]

Media::DECLARE_ENUM_CLASS ( TagTargetLevel  ,
byte   
)

◆ DECLARE_ENUM_CLASS() [2/2]

Media::DECLARE_ENUM_CLASS ( TagType  ,
unsigned  int 
)

◆ encodingParameter()

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

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

Definition at line 334 of file tagvalue.cpp.

◆ excludesOffset()

bool Media::excludesOffset ( const vector< EbmlElement *> &  elements,
uint64  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 286 of file matroskacontainer.cpp.

◆ matroskaIdName()

const char * Media::matroskaIdName ( uint32  matroskaId)

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

Definition at line 24 of file matroskaid.cpp.

◆ matroskaTagTargetLevel()

TAG_PARSER_EXPORT TagTargetLevel Media::matroskaTagTargetLevel ( uint64  targetLevelValue)
inline

Returns the general TagTargetLevel for the Matroska specific targetLevelValue.

Definition at line 374 of file matroskatagid.h.

◆ matroskaTagTargetLevelValue()

TAG_PARSER_EXPORT uint64 Media::matroskaTagTargetLevelValue ( TagTargetLevel  targetLevel)
inline

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

Definition at line 382 of file matroskatagid.h.

◆ mediaTypeName()

const char * Media::mediaTypeName ( MediaType  mediaType)

Returns the string representation for the specified mediaType.

Definition at line 601 of file mediaformat.cpp.

◆ mpegChannelModeString()

const char * Media::mpegChannelModeString ( MpegChannelMode  channelMode)

Returns the string representation for the specified channelMode.

Definition at line 15 of file mpegaudioframe.cpp.

◆ nextKnownField()

constexpr KnownField Media::nextKnownField ( KnownField  field)

Returns the next known field.

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

Definition at line 93 of file tag.h.

◆ operator!=()

constexpr bool Media::operator!= ( byte  lhs,
FlacMetaDataBlockType  type 
)

Definition at line 33 of file flacmetadata.h.

◆ operator&() [1/2]

bool Media::operator & ( VorbisCommentFlags  lhs,
VorbisCommentFlags  rhs 
)
inline

Definition at line 25 of file vorbiscommentfield.h.

◆ operator&() [2/2]

XingHeaderFlags Media::operator & ( XingHeaderFlags  lhs,
XingHeaderFlags  rhs 
)
inline

Definition at line 153 of file mpegaudioframe.h.

◆ operator==()

constexpr bool Media::operator== ( byte  lhs,
FlacMetaDataBlockType  type 
)

Definition at line 28 of file flacmetadata.h.

◆ operator|() [1/2]

VorbisCommentFlags Media::operator| ( VorbisCommentFlags  lhs,
VorbisCommentFlags  rhs 
)
inline

Definition at line 30 of file vorbiscommentfield.h.

◆ operator|() [2/2]

XingHeaderFlags Media::operator| ( XingHeaderFlags  lhs,
XingHeaderFlags  rhs 
)
inline

Definition at line 148 of file mpegaudioframe.h.

◆ operator|=()

NotificationType& Media::operator|= ( NotificationType lhs,
const NotificationType rhs 
)
inline

Sets lhs to rhs if rhs is worse than lhs and returns lhs.

Definition at line 31 of file notification.h.

◆ parseGenreIndex()

template<class stringtype >
int Media::parseGenreIndex ( const stringtype &  denotation)

Helper function to parse the genre index.

Returns
Returns the genre index or -1 if the specified string does not denote a genre index.

Definition at line 68 of file id3v2frame.cpp.

◆ parseSignature()

ContainerFormat Media::parseSignature ( const char *  buffer,
int  bufferSize 
)

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

◆ sameOffset()

bool Media::sameOffset ( uint64  offset,
const EbmlElement element 
)

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

Definition at line 278 of file matroskacontainer.cpp.

◆ tagTargetLevelName()

const char * Media::tagTargetLevelName ( TagTargetLevel  tagTargetLevel)

Returns a string representation for the specified tagTargetLevel.

Definition at line 17 of file tagtarget.cpp.

Variable Documentation

◆ appInfo

constexpr const char Media::appInfo[] = APP_NAME " v" APP_VERSION

Definition at line 33 of file matroskacontainer.cpp.

◆ appInfoElementDataSize

constexpr uint64 Media::appInfoElementDataSize = sizeof(appInfo) - 1

Definition at line 34 of file matroskacontainer.cpp.

◆ appInfoElementTotalSize

constexpr uint64 Media::appInfoElementTotalSize = 2 + 1 + appInfoElementDataSize

Definition at line 35 of file matroskacontainer.cpp.

◆ firstKnownField

constexpr KnownField Media::firstKnownField = KnownField::Title

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

Definition at line 78 of file tag.h.

◆ knownFieldArraySize

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

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

Definition at line 88 of file tag.h.

◆ lastKnownField

constexpr KnownField Media::lastKnownField = KnownField::Vendor

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

Definition at line 83 of file tag.h.

◆ mpeg4SamplingFrequencyTable

uint32 Media::mpeg4SamplingFrequencyTable
Initial value:
= {
96000, 88200, 64000, 48000, 44100, 32000,
24000, 22050, 16000, 12000, 11025, 8000, 7350
}

Definition at line 302 of file mp4ids.cpp.

◆ startDate

const DateTime Media::startDate = DateTime::fromDate(1904, 1, 1)

Dates within MP4 tracks are expressed as the number of seconds since this date.

Definition at line 70 of file mp4track.cpp.