diff options
Diffstat (limited to 'webrtc/common_audio/wav_file.h')
-rw-r--r-- | webrtc/common_audio/wav_file.h | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/webrtc/common_audio/wav_file.h b/webrtc/common_audio/wav_file.h index 2eadd3f775..e656eb8643 100644 --- a/webrtc/common_audio/wav_file.h +++ b/webrtc/common_audio/wav_file.h @@ -27,8 +27,11 @@ class WavFile { virtual ~WavFile() {} virtual int sample_rate() const = 0; - virtual int num_channels() const = 0; - virtual uint32_t num_samples() const = 0; + virtual size_t num_channels() const = 0; + virtual size_t num_samples() const = 0; + + // Returns a human-readable string containing the audio format. + std::string FormatAsString() const; }; // Simple C++ class for writing 16-bit PCM WAV files. All error handling is @@ -36,7 +39,7 @@ class WavFile { class WavWriter final : public WavFile { public: // Open a new WAV file for writing. - WavWriter(const std::string& filename, int sample_rate, int num_channels); + WavWriter(const std::string& filename, int sample_rate, size_t num_channels); // Close the WAV file, after writing its header. ~WavWriter(); @@ -48,14 +51,14 @@ class WavWriter final : public WavFile { void WriteSamples(const int16_t* samples, size_t num_samples); int sample_rate() const override { return sample_rate_; } - int num_channels() const override { return num_channels_; } - uint32_t num_samples() const override { return num_samples_; } + size_t num_channels() const override { return num_channels_; } + size_t num_samples() const override { return num_samples_; } private: void Close(); const int sample_rate_; - const int num_channels_; - uint32_t num_samples_; // Total number of samples written to file. + const size_t num_channels_; + size_t num_samples_; // Total number of samples written to file. FILE* file_handle_; // Output file, owned by this class RTC_DISALLOW_COPY_AND_ASSIGN(WavWriter); @@ -76,15 +79,15 @@ class WavReader final : public WavFile { size_t ReadSamples(size_t num_samples, int16_t* samples); int sample_rate() const override { return sample_rate_; } - int num_channels() const override { return num_channels_; } - uint32_t num_samples() const override { return num_samples_; } + size_t num_channels() const override { return num_channels_; } + size_t num_samples() const override { return num_samples_; } private: void Close(); int sample_rate_; - int num_channels_; - uint32_t num_samples_; // Total number of samples in the file. - uint32_t num_samples_remaining_; + size_t num_channels_; + size_t num_samples_; // Total number of samples in the file. + size_t num_samples_remaining_; FILE* file_handle_; // Input file, owned by this class. RTC_DISALLOW_COPY_AND_ASSIGN(WavReader); @@ -99,14 +102,14 @@ extern "C" { typedef struct rtc_WavWriter rtc_WavWriter; rtc_WavWriter* rtc_WavOpen(const char* filename, int sample_rate, - int num_channels); + size_t num_channels); void rtc_WavClose(rtc_WavWriter* wf); void rtc_WavWriteSamples(rtc_WavWriter* wf, const float* samples, size_t num_samples); int rtc_WavSampleRate(const rtc_WavWriter* wf); -int rtc_WavNumChannels(const rtc_WavWriter* wf); -uint32_t rtc_WavNumSamples(const rtc_WavWriter* wf); +size_t rtc_WavNumChannels(const rtc_WavWriter* wf); +size_t rtc_WavNumSamples(const rtc_WavWriter* wf); #ifdef __cplusplus } // extern "C" |