Tag Parser  7.1.0
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
Implementation of TagParser::AbstractTrack for the RIFF WAVE container format.
The MediaFormat class specifies the format of media data.
Definition: mediaformat.h:243
TAG_PARSER_EXPORT const char * bitrate()
The track's bit rate in bits per second.
The WaveFormatHeader class parses the WAVEFORMATEX structure defined by MS.
uint32 bitrate() const
Calculates the bitrate from the header data.
The AbstractTrack class parses and stores technical information about video, audio and other kinds of...
Definition: abstracttrack.h:39
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.
TrackType
Specifies the track type.
Definition: abstracttrack.h:28
The Diagnostics class is a container for DiagMessage.
Definition: diagnostics.h:154