Tag Parser: opus/opusidentificationheader.h Source File

Tag Parser 12.5.3 C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags

Loading...
Searching...
No Matches
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
12 class 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
37 constexpr OpusIdentificationHeader::OpusIdentificationHeader()
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
50 constexpr std::uint8_t OpusIdentificationHeader::version() const
51{
52 return m_version;
53}
54
58 constexpr std::uint8_t OpusIdentificationHeader::channels() const
59{
60 return m_channels;
61}
62
70 constexpr std::uint16_t OpusIdentificationHeader::preSkip() const
71{
72 return m_preSkip;
73}
74
80 constexpr std::uint32_t OpusIdentificationHeader::sampleRate() const
81{
82 return m_sampleRate;
83}
84
91 constexpr std::uint16_t OpusIdentificationHeader::outputGain() const
92{
93 return m_outputGain;
94}
95
103 constexpr std::uint8_t OpusIdentificationHeader::channelMap() const
104{
105 return m_channelMap;
106}
107
108} // namespace TagParser
109
110#endif // TAG_PARSER_OPUSIDENTIFICATIONHEADER_H
TagParser::OggIterator
The OggIterator class helps iterating through all segments of an Ogg bitstream.
Definition oggiterator.h:11
TagParser::OpusIdentificationHeader::preSkip
constexpr std::uint16_t preSkip() const
Returns "pre-skip" value for the Opus stream.
Definition opusidentificationheader.h:70
TagParser::OpusIdentificationHeader::channels
constexpr std::uint8_t channels() const
Returns the number of channels for the Opus stream.
Definition opusidentificationheader.h:58
TagParser::OpusIdentificationHeader::OpusIdentificationHeader
constexpr OpusIdentificationHeader()
Constructs a new Opus identification header.
Definition opusidentificationheader.h:37
TagParser::OpusIdentificationHeader::channelMap
constexpr std::uint8_t channelMap() const
Returns the channel mapping family.
Definition opusidentificationheader.h:103
TagParser::OpusIdentificationHeader::version
constexpr std::uint8_t version() const
Returns the version (which should be 1 currently).
Definition opusidentificationheader.h:50
TagParser::OpusIdentificationHeader::sampleRate
constexpr std::uint32_t sampleRate() const
Returns the INPUT sample rate.
Definition opusidentificationheader.h:80
TagParser::OpusIdentificationHeader::outputGain
constexpr std::uint16_t outputGain() const
Returns the output gain.
Definition opusidentificationheader.h:91
TagParser::OpusIdentificationHeader::parseHeader
void parseHeader(OggIterator &iterator)
Parses the Opus identification header which is read using the specified iterator.
Definition opusidentificationheader.cpp:24
global.h
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Definition global.h:14
TagParser
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10