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

Unified Diff: content/browser/renderer_host/media/audio_debug_file_writer.cc

Issue 2582703003: Audio output debug recording. (Closed)
Patch Set: Code review (dalecurtis@ and maxmorin@). Created 3 years, 11 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: content/browser/renderer_host/media/audio_debug_file_writer.cc
diff --git a/content/browser/renderer_host/media/audio_debug_file_writer.cc b/content/browser/renderer_host/media/audio_debug_file_writer.cc
index 1656a1cca232a2d020da4a5df59f96eb597bafdf..f72871a8b012bc646edd1a754aa68e50d966e91a 100644
--- a/content/browser/renderer_host/media/audio_debug_file_writer.cc
+++ b/content/browser/renderer_host/media/audio_debug_file_writer.cc
@@ -13,6 +13,7 @@
#include "base/sys_byteorder.h"
#include "content/public/browser/browser_thread.h"
#include "media/base/audio_bus.h"
+#include "media/base/audio_sample_types.h"
namespace content {
@@ -63,7 +64,9 @@ class CharBufferWriter {
size_ += data_size;
}
- void Write(const char(&data)[4]) { Write(static_cast<const char*>(data), 4); }
+ void Write(const char (&data)[4]) {
+ Write(static_cast<const char*>(data), 4);
+ }
void WriteLE16(uint16_t data) {
uint16_t val = base::ByteSwapToLE16(data);
@@ -186,9 +189,7 @@ AudioDebugFileWriter::AudioFileWriter::Create(
AudioDebugFileWriter::AudioFileWriter::AudioFileWriter(
const media::AudioParameters& params)
- : samples_(0), params_(params), interleaved_data_size_(0) {
- DCHECK_EQ(params.bits_per_sample(), kBytesPerSample * 8);
o1ka 2017/01/20 11:36:25 Have you fixed the logic to deal with other bytes-
Henrik Grunell 2017/01/26 10:25:08 It will convert to signed int 16 in Write(). I'll
-}
+ : samples_(0), params_(params), interleaved_data_size_(0) {}
AudioDebugFileWriter::AudioFileWriter::~AudioFileWriter() {
DCHECK_CURRENTLY_ON(BrowserThread::FILE);
@@ -196,8 +197,7 @@ AudioDebugFileWriter::AudioFileWriter::~AudioFileWriter() {
WriteHeader();
}
-void AudioDebugFileWriter::AudioFileWriter::Write(
- const media::AudioBus* data) {
+void AudioDebugFileWriter::AudioFileWriter::Write(const media::AudioBus* data) {
DCHECK_CURRENTLY_ON(BrowserThread::FILE);
if (!file_.IsValid())
return;
@@ -209,8 +209,8 @@ void AudioDebugFileWriter::AudioFileWriter::Write(
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),
@@ -260,8 +260,7 @@ void AudioDebugFileWriter::AudioFileWriter::CreateRecordingFile(
<< file_.error_details();
}
-AudioDebugFileWriter::AudioDebugFileWriter(
- const media::AudioParameters& params)
+AudioDebugFileWriter::AudioDebugFileWriter(const media::AudioParameters& params)
: params_(params) {
client_sequence_checker_.DetachFromSequence();
}
@@ -305,4 +304,12 @@ bool AudioDebugFileWriter::WillWrite() {
return !!file_writer_;
}
+// static
+std::unique_ptr<media::AudioFileWriter>
+AudioDebugFileWriter::CreateAudioDebugFileWriter(
+ const media::AudioParameters& params) {
+ return std::unique_ptr<media::AudioFileWriter>(
+ new AudioDebugFileWriter(params));
+}
+
} // namspace content

Powered by Google App Engine
This is Rietveld 408576698