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

Unified Diff: media/audio/fake_audio_input_stream.cc

Issue 344583002: Modifies AudioInputCallback::OnData and use media::AudioBus instead of plain byte vector (Relanding) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added extra non-pure OnData API Created 6 years, 6 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
« no previous file with comments | « media/audio/fake_audio_input_stream.h ('k') | media/audio/mac/audio_input_mac.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/audio/fake_audio_input_stream.cc
diff --git a/media/audio/fake_audio_input_stream.cc b/media/audio/fake_audio_input_stream.cc
index e05b257997e300db425736f5b380deeb2b250a4b..384adcb411cbd3b6f9c05403712b05ed4a3c0011 100644
--- a/media/audio/fake_audio_input_stream.cc
+++ b/media/audio/fake_audio_input_stream.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/lazy_instance.h"
#include "media/audio/audio_manager_base.h"
+#include "media/base/audio_bus.h"
using base::TimeTicks;
using base::TimeDelta;
@@ -48,17 +49,20 @@ FakeAudioInputStream::FakeAudioInputStream(AudioManagerBase* manager,
: audio_manager_(manager),
callback_(NULL),
buffer_size_((params.channels() * params.bits_per_sample() *
- params.frames_per_buffer()) / 8),
+ params.frames_per_buffer()) /
+ 8),
params_(params),
thread_("FakeAudioRecordingThread"),
callback_interval_(base::TimeDelta::FromMilliseconds(
(params.frames_per_buffer() * 1000) / params.sample_rate())),
- beep_duration_in_buffers_(
- kBeepDurationMilliseconds * params.sample_rate() /
- params.frames_per_buffer() / 1000),
+ beep_duration_in_buffers_(kBeepDurationMilliseconds *
+ params.sample_rate() /
+ params.frames_per_buffer() /
+ 1000),
beep_generated_in_buffers_(0),
beep_period_in_frames_(params.sample_rate() / kBeepFrequency),
- frames_elapsed_(0) {
+ frames_elapsed_(0),
+ audio_bus_(AudioBus::Create(params)) {
}
FakeAudioInputStream::~FakeAudioInputStream() {}
@@ -66,6 +70,7 @@ FakeAudioInputStream::~FakeAudioInputStream() {}
bool FakeAudioInputStream::Open() {
buffer_.reset(new uint8[buffer_size_]);
memset(buffer_.get(), 0, buffer_size_);
+ audio_bus_->Zero();
return true;
}
@@ -141,7 +146,9 @@ void FakeAudioInputStream::DoCallback() {
beep_generated_in_buffers_ = 0;
}
- callback_->OnData(this, buffer_.get(), buffer_size_, buffer_size_, 1.0);
+ audio_bus_->FromInterleaved(
+ buffer_.get(), audio_bus_->frames(), params_.bits_per_sample() / 8);
+ callback_->OnData(this, audio_bus_.get(), buffer_size_, 1.0);
frames_elapsed_ += params_.frames_per_buffer();
thread_.message_loop()->PostDelayedTask(
« no previous file with comments | « media/audio/fake_audio_input_stream.h ('k') | media/audio/mac/audio_input_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698