Tag Parser  8.0.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
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 <c++utilities/conversion/types.h>
7 
8 namespace TagParser {
9 
10 class OggIterator;
11 
13 public:
14  constexpr OpusIdentificationHeader();
15 
16  void parseHeader(OggIterator &iterator);
17 
18  constexpr byte version() const;
19  constexpr byte channels() const;
20  constexpr uint16 preSkip() const;
21  constexpr uint32 sampleRate() const;
22  constexpr uint16 outputGain() const;
23  constexpr byte channelMap() const;
24 
25 private:
26  byte m_version;
27  byte m_channels;
28  uint16 m_preSkip;
29  uint32 m_sampleRate;
30  uint16 m_outputGain;
31  byte 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 
50 constexpr byte OpusIdentificationHeader::version() const
51 {
52  return m_version;
53 }
54 
58 constexpr byte OpusIdentificationHeader::channels() const
59 {
60  return m_channels;
61 }
62 
70 constexpr uint16 OpusIdentificationHeader::preSkip() const
71 {
72  return m_preSkip;
73 }
74 
80 constexpr uint32 OpusIdentificationHeader::sampleRate() const
81 {
82  return m_sampleRate;
83 }
84 
91 constexpr uint16 OpusIdentificationHeader::outputGain() const
92 {
93  return m_outputGain;
94 }
95 
104 {
105  return m_channelMap;
106 }
107 
108 } // namespace TagParser
109 
110 #endif // TAG_PARSER_OPUSIDENTIFICATIONHEADER_H
constexpr byte channels() const
Returns the number of channels for the Opus stream.
constexpr TAG_PARSER_EXPORT const char * version()
The OggIterator class helps iterating through all segments of an OGG bitstream.
Definition: oggiterator.h:11
constexpr OpusIdentificationHeader()
Constructs a new Opus identification header.
constexpr uint32 sampleRate() const
Returns the INPUT sample rate.
The OpusIdentificationHeader class is an Opus identification header parser.
constexpr uint16 preSkip() const
Returns "pre-skip" value for the Opus stream.
constexpr byte channelMap() const
Returns the channel mapping family.
constexpr uint16 outputGain() const
Returns the output gain.
constexpr byte version() const
Returns the version (which should be 1 currently).
Contains all classes and functions of the TagInfo library.
Definition: aaccodebook.h:9
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.