1#ifndef TAG_PARSER_MATROSKATRACK_H
2#define TAG_PARSER_MATROSKATRACK_H
9class MatroskaContainer;
17 void make(std::ostream &stream)
const;
19 std::uint64_t requiredSize()
const;
25 const std::string &m_language;
26 const std::string &m_languageIETF;
27 std::uint64_t m_dataSize;
28 std::uint64_t m_requiredSize;
29 std::uint8_t m_sizeDenotationLength;
45 return m_requiredSize;
58 static MediaFormat codecIdToMediaFormat(
const std::string &codecId);
59 void readStatisticsFromTags(
const std::vector<std::unique_ptr<MatroskaTag>> &tags,
Diagnostics &diag);
61 void makeHeader(std::ostream &stream,
Diagnostics &diag)
const;
67 template <
typename PropertyType,
typename ConversionFunction>
68 void assignPropertyFromTagValue(
const std::unique_ptr<MatroskaTag> &tag, std::string_view fieldId, PropertyType &integer,
69 const ConversionFunction &conversionFunction,
Diagnostics &diag);
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
The Diagnostics class is a container for DiagMessage.
The EbmlElement class helps to parse EBML files such as Matroska files.
Implementation of GenericContainer<MediaFileInfo, MatroskaTag, MatroskaTrack, EbmlElement>.
Implementation of TagParser::AbstractTrack for the Matroska container.
MatroskaTrackHeaderMaker prepareMakingHeader(Diagnostics &diag) const
Prepares making header.
void makeHeader(std::ostream &stream, Diagnostics &diag) const
Writes header information to the specified stream (makes a "TrackEntry"-element).
friend class MatroskaTrackHeaderMaker
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.
TrackType
The TrackType enum specifies the underlying file type of a track and the concrete class of the track ...