1#ifndef TAG_PARSER_MATROSKASEEKINFO_H
2#define TAG_PARSER_MATROSKASEEKINFO_H
17 const std::vector<std::pair<EbmlElement::IdentifierType, std::uint64_t>> &
info()
const;
18 std::vector<std::pair<EbmlElement::IdentifierType, std::uint64_t>> &
info();
19 void shift(std::uint64_t start, std::int64_t amount);
29 std::vector<EbmlElement *> m_seekHeadElements;
30 std::vector<std::unique_ptr<EbmlElement>> m_additionalSeekHeadElements;
31 std::vector<std::pair<EbmlElement::IdentifierType, std::uint64_t>> m_info;
48 return m_seekHeadElements;
The Diagnostics class is a container for DiagMessage.
The EbmlElement class helps to parse EBML files such as Matroska files.
typename FileElementTraits< EbmlElement >::IdentifierType IdentifierType
void parse(EbmlElement *seekHeadElements, Diagnostics &diag, std::size_t maxIndirection=1)
Parses the specified seekHeadElement and populates info() with the gathered information.
const std::vector< EbmlElement * > & seekHeadElements() const
Returns a pointer to the seek head elements the seek information is composed of.
MatroskaSeekInfo()
Constructs a new MatroskaSeekInfo.
void shift(std::uint64_t start, std::int64_t amount)
Shifts all offsets greater or equal than start by amount bytes.
void clear()
Resets the object to its initial state.
bool push(unsigned int index, EbmlElement::IdentifierType id, std::uint64_t offset)
Pushes the specified offset of an element with the specified id to the info.
void make(std::ostream &stream, Diagnostics &diag)
Writes a "SeekHead" element for the current instance to the specified stream.
std::uint64_t maxSize() const
Returns the maximal number of bytes written when calling the make() method.
std::uint64_t minSize() const
Returns the minimal number of bytes written when calling the make() method.
const std::vector< std::pair< EbmlElement::IdentifierType, std::uint64_t > > & info() const
Returns the seek information gathered when the parse() method was called.
std::uint64_t actualSize() const
Returns the number of bytes which will be written when calling the make() method.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.