Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1133)

Unified Diff: media/audio/audio_debug_file_writer.cc

Issue 2582703003: Audio output debug recording. (Closed)
Patch Set: Fix in a unit test. Rebase. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698