1 #ifndef ABSTRACTTRACK_H 2 #define ABSTRACTTRACK_H 10 #include <c++utilities/conversion/types.h> 11 #include <c++utilities/io/binaryreader.h> 12 #include <c++utilities/io/binarywriter.h> 13 #include <c++utilities/chrono/datetime.h> 14 #include <c++utilities/chrono/timespan.h> 50 std::istream &inputStream();
51 void setInputStream(std::istream &stream);
52 std::ostream &outputStream();
53 void setOutputStream(std::ostream &stream);
54 IoUtilities::BinaryReader &reader();
55 IoUtilities::BinaryWriter &writer();
56 uint64 startOffset()
const;
59 const char *formatName()
const;
60 const char *formatAbbreviation()
const;
61 const std::string &formatId()
const;
68 void setId(uint64
id);
69 const std::string name()
const;
70 void setName(
const std::string &name);
73 double maxBitrate()
const;
77 void setLanguage(
const std::string &
language);
78 uint32 samplingFrequency()
const;
79 uint32 extensionSamplingFrequency()
const;
80 uint16 bitsPerSample()
const;
82 byte channelConfig()
const;
84 byte extensionChannelConfig()
const;
85 const char *extensionChannelConfigString()
const;
86 uint64 sampleCount()
const;
88 const Size &pixelSize()
const;
89 const Size &displaySize()
const;
90 const Size &resolution()
const;
91 const std::string &compressorName()
const;
92 void setCompressorName(
const std::string &compressorName);
95 const char *chromaFormat()
const;
97 bool isInterlaced()
const;
98 uint32 timeScale()
const;
99 bool isEnabled()
const;
100 void setEnabled(
bool enabled);
101 bool isDefault()
const;
102 void setDefault(
bool isDefault);
103 bool isForced()
const;
104 void setForced(
bool forced);
105 bool hasLacing()
const;
106 bool isEncrypted()
const;
107 uint32 colorSpace()
const;
108 const Margin &cropping()
const;
109 std::string
label()
const;
113 bool isHeaderValid()
const;
116 AbstractTrack(std::istream &inputStream, std::ostream &outputStream, uint64 startOffset);
118 virtual void internalParseHeader() = 0;
689 #endif // ABSTRACTTRACK_H
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.