Tag Parser  7.0.3
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
waveaudiostream.h
Go to the documentation of this file.
1 #ifndef TAG_PARSER_WAVEAUDIOSTREAM_H
2 #define TAG_PARSER_WAVEAUDIOSTREAM_H
3 
4 #include "../abstracttrack.h"
5 
6 namespace TagParser {
7 
9 public:
11 
12  void parse(IoUtilities::BinaryReader &reader);
13  MediaFormat format() const;
14  uint32 bitrate() const;
15 
16  uint16 formatTag;
17  uint16 channelCount;
18  uint16 sampleRate;
20  uint16 chunkSize;
21  uint16 bitsPerSample;
22 };
23 
27 inline uint32 WaveFormatHeader::bitrate() const
28 {
30 }
31 
33 public:
34  WaveAudioStream(std::iostream &stream, uint64 startOffset);
35  ~WaveAudioStream() override;
36 
37  TrackType type() const override;
38 
39  static void addInfo(const WaveFormatHeader &waveHeader, AbstractTrack &track);
40 
41 protected:
42  void internalParseHeader(Diagnostics &diag) override;
43 
44 private:
45  uint64 m_dataOffset;
46 };
47 
48 } // namespace TagParser
49 
50 #endif // TAG_PARSER_WAVEAUDIOSTREAM_H
TAG_PARSER_EXPORT const char * bitrate()
The track's bit rate in bits per second.
uint32 bitrate() const
Calculates the bitrate from the header data.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
TrackType
Specifies the track type.
Definition: abstracttrack.h:28