Tag Parser 12.4.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
opusidentificationheader.h
Go to the documentation of this file.
1#ifndef TAG_PARSER_OPUSIDENTIFICATIONHEADER_H
2#define TAG_PARSER_OPUSIDENTIFICATIONHEADER_H
3
4#include "../global.h"
5
6#include <cstdint>
7
8namespace TagParser {
9
10class OggIterator;
11
12class TAG_PARSER_EXPORT OpusIdentificationHeader {
13public:
14 constexpr OpusIdentificationHeader();
15
16 void parseHeader(OggIterator &iterator);
17
18 constexpr std::uint8_t version() const;
19 constexpr std::uint8_t channels() const;
20 constexpr std::uint16_t preSkip() const;
21 constexpr std::uint32_t sampleRate() const;
22 constexpr std::uint16_t outputGain() const;
23 constexpr std::uint8_t channelMap() const;
24
25private:
26 std::uint8_t m_version;
27 std::uint8_t m_channels;
28 std::uint16_t m_preSkip;
29 std::uint32_t m_sampleRate;
30 std::uint16_t m_outputGain;
31 std::uint8_t m_channelMap;
32};
33
38 : m_version(0)
39 , m_channels(0)
40 , m_preSkip(0)
41 , m_sampleRate(0)
42 , m_outputGain(0)
43 , m_channelMap(0)
44{
45}
46
50constexpr std::uint8_t OpusIdentificationHeader::version() const
51{
52 return m_version;
53}
54
58constexpr std::uint8_t OpusIdentificationHeader::channels() const
59{
60 return m_channels;
61}
62
70constexpr std::uint16_t OpusIdentificationHeader::preSkip() const
71{
72 return m_preSkip;
73}
74
80constexpr std::uint32_t OpusIdentificationHeader::sampleRate() const
81{
82 return m_sampleRate;
83}
84
91constexpr std::uint16_t OpusIdentificationHeader::outputGain() const
92{
93 return m_outputGain;
94}
95
103constexpr std::uint8_t OpusIdentificationHeader::channelMap() const
104{
105 return m_channelMap;
106}
107
108} // namespace TagParser
109
110#endif // TAG_PARSER_OPUSIDENTIFICATIONHEADER_H
constexpr std::uint16_t preSkip() const
Returns "pre-skip" value for the Opus stream.
constexpr std::uint8_t channels() const
Returns the number of channels for the Opus stream.
constexpr OpusIdentificationHeader()
Constructs a new Opus identification header.
constexpr std::uint8_t channelMap() const
Returns the channel mapping family.
constexpr std::uint8_t version() const
Returns the version (which should be 1 currently).
constexpr std::uint32_t sampleRate() const
Returns the INPUT sample rate.
constexpr std::uint16_t outputGain() const
Returns the output gain.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
constexpr TAG_PARSER_EXPORT std::string_view version()
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10