| Index: media/audio/audio_debug_file_writer.cc
|
| diff --git a/media/audio/audio_debug_file_writer.cc b/media/audio/audio_debug_file_writer.cc
|
| index 85bf3a46c1b9f4a16843ba9fc9b4ad6123e91852..ba181e9e4c24f3f98c27e20d3323e83884f139f2 100644
|
| --- a/media/audio/audio_debug_file_writer.cc
|
| +++ b/media/audio/audio_debug_file_writer.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/ptr_util.h"
|
| #include "base/sys_byteorder.h"
|
| #include "media/base/audio_bus.h"
|
| +#include "media/base/audio_sample_types.h"
|
|
|
| namespace media {
|
|
|
| @@ -170,7 +171,8 @@ class AudioDebugFileWriter::AudioFileWriter {
|
| // Number of written samples.
|
| uint64_t samples_;
|
|
|
| - // Input audio parameters required to build wave header.
|
| + // Audio parameters required to build wave header. Number of channels and
|
| + // sample rate are used.
|
| const AudioParameters params_;
|
|
|
| // Intermediate buffer to be written to file. Interleaved 16 bit audio data.
|
| @@ -230,9 +232,7 @@ AudioDebugFileWriter::AudioFileWriter::AudioFileWriter(
|
| : samples_(0),
|
| params_(params),
|
| interleaved_data_size_(0),
|
| - task_runner_(std::move(task_runner)) {
|
| - DCHECK_EQ(params.bits_per_sample(), kBytesPerSample * 8);
|
| -}
|
| + task_runner_(std::move(task_runner)) {}
|
|
|
| AudioDebugFileWriter::AudioFileWriter::~AudioFileWriter() {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| @@ -242,6 +242,7 @@ AudioDebugFileWriter::AudioFileWriter::~AudioFileWriter() {
|
|
|
| void AudioDebugFileWriter::AudioFileWriter::Write(const AudioBus* data) {
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| + DCHECK_EQ(params_.channels(), data->channels());
|
| if (!file_.IsValid())
|
| return;
|
|
|
| @@ -252,8 +253,8 @@ void AudioDebugFileWriter::AudioFileWriter::Write(const AudioBus* data) {
|
| interleaved_data_size_ = data_size;
|
| }
|
| samples_ += data_size;
|
| - data->ToInterleaved(data->frames(), sizeof(interleaved_data_[0]),
|
| - interleaved_data_.get());
|
| + data->ToInterleaved<media::SignedInt16SampleTypeTraits>(
|
| + data->frames(), interleaved_data_.get());
|
|
|
| #ifndef ARCH_CPU_LITTLE_ENDIAN
|
| static_assert(sizeof(interleaved_data_[0]) == sizeof(uint16_t),
|
| @@ -349,4 +350,8 @@ bool AudioDebugFileWriter::WillWrite() {
|
| return !!file_writer_;
|
| }
|
|
|
| +const base::FilePath::CharType* AudioDebugFileWriter::GetFileNameExtension() {
|
| + return FILE_PATH_LITERAL("wav");
|
| +}
|
| +
|
| } // namspace media
|
|
|