Tag Parser
9.1.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
|
Go to the documentation of this file. 1 #ifndef TAG_PARSER_MATROSKATAG_H
2 #define TAG_PARSER_MATROSKATAG_H
7 #include "../fieldbasedtag.h"
18 void make(std::ostream &stream)
const;
20 std::uint64_t requiredSize()
const;
26 std::uint64_t m_targetsSize;
27 std::uint64_t m_simpleTagsSize;
28 std::vector<MatroskaTagFieldMaker> m_maker;
29 std::uint64_t m_tagSize;
30 std::uint64_t m_totalSize;
55 using Compare = std::less<typename FieldType::IdentifierType>;
65 static constexpr
const char *tagName =
"Matroska tag";
68 bool supportsTarget()
const override;
69 bool supportsMultipleValues(
KnownField field)
const override;
77 IdentifierType internallyGetFieldId(
KnownField field)
const;
78 KnownField internallyGetKnownField(
const IdentifierType &
id)
const;
145 #endif // TAG_PARSER_MATROSKATAG_H
std::uint64_t level() const
Returns the level.
constexpr TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel(std::uint64_t targetLevelValue)
Returns the general TagTargetLevel for the Matroska specific targetLevelValue.
TagTextEncoding
Specifies the text encoding.
The Diagnostics class is a container for DiagMessage.
TagTargetLevel
The TagTargetLevel enum specifies tag target levels.
bool supportsTarget() const override
Returns an indication whether a target is supported by the tag.
Contains all classes and functions of the TagInfo library.
The MatroskaTagMaker class helps writing Matroska "Tag"-elements storing tag information.
std::uint64_t requiredSize() const
Returns the number of bytes which will be written when making the tag.
std::less< typename FieldType::IdentifierType > Compare
The EbmlElement class helps to parse EBML files such as Matroska files.
The MatroskaTagField class is used by MatroskaTag to store the fields.
bool canEncodingBeUsed(TagTextEncoding encoding) const override
Returns an indication whether the specified encoding can be used to provide string values for the tag...
bool supportsMultipleValues(KnownField field) const override
Allows multiple values for all fields.
void make(std::ostream &stream) const
Saves the tag (specified when constructing the object) to the specified stream (makes a "Tag"-element...
KnownField
Specifies the field.
TagTargetLevel targetLevel() const override
Returns the name of the current tag target level.
The FieldMapBasedTag provides a generic implementation of Tag which stores the tag fields using std::...
Implementation of TagParser::Tag for the Matroska container.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
const MatroskaTag & tag() const
Returns the associated tag.
Defines traits for the specified ImplementationType.
MatroskaTagMaker prepareMaking(Diagnostics &diag)
Prepares making.
void make(std::ostream &stream, Diagnostics &diag)
Writes tag information to the specified stream (makes a "Tag"-element).
TagType
Specifies the tag type.
MatroskaTag()
Constructs a new tag.