33 explicit WavReader(std::istream* binary_stream);
36 bool IsHeaderValid()
const;
40 size_t GetNumTotalSamples()
const;
43 size_t GetNumChannels()
const;
46 int GetSampleRateHz()
const;
54 int64 SeekToFrame(
const uint64 frame_position);
61 size_t ReadSamples(
size_t num_samples, int16_t* target_buffer);
74 size_t ReadBinaryDataFromStream(
void* target_ptr,
size_t size);
77 std::istream* binary_stream_;
89 size_t num_total_samples_;
92 size_t num_remaining_samples_;
95 size_t bytes_per_sample_;
98 uint64 pcm_offset_bytes_;