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

Unified Diff: media/base/fake_audio_render_callback.cc

Issue 10698066: Switch to pcm_low_latency and enable resampling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments! Remove RefCount. Squash ARMM changes. Created 8 years, 5 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/base/fake_audio_render_callback.cc
diff --git a/media/base/fake_audio_render_callback.cc b/media/base/fake_audio_render_callback.cc
index 3fc711b4bbf8d409906af17615ccdb2daeb96737..15986fd3c91e9c8fa1bcb43741464da0c041bb85 100644
--- a/media/base/fake_audio_render_callback.cc
+++ b/media/base/fake_audio_render_callback.cc
@@ -11,13 +11,10 @@
namespace media {
-// Arbitrarily chosen prime value for the fake random number generator.
-static const int kFakeRandomSeed = 9440671;
-
-FakeAudioRenderCallback::FakeAudioRenderCallback(const AudioParameters& params)
+FakeAudioRenderCallback::FakeAudioRenderCallback(double step)
: half_fill_(false),
- fill_value_(1.0f),
- audio_parameters_(params) {
+ step_(step) {
+ reset();
}
FakeAudioRenderCallback::~FakeAudioRenderCallback() {}
@@ -27,18 +24,18 @@ int FakeAudioRenderCallback::Render(const std::vector<float*>& audio_data,
int audio_delay_milliseconds) {
if (half_fill_)
number_of_frames /= 2;
- for (size_t i = 0; i < audio_data.size(); ++i)
- std::fill(audio_data[i], audio_data[i] + number_of_frames, fill_value_);
- return number_of_frames;
-}
+ // Fill first channel with a sine wave.
+ for (int i = 0; i < number_of_frames; ++i)
+ audio_data[0][i] = sin(2 * M_PI * (x_ + step_ * i));
+ x_ += number_of_frames * step_;
-void FakeAudioRenderCallback::NextFillValue() {
- // Use irrationality of PI to fake random numbers; square fill_value_ to keep
- // numbers between [0, 1) so range extension to [-1, 1) by 2 * x - 1 works.
- fill_value_ = 2.0f * (static_cast<int>(
- M_PI * fill_value_ * fill_value_ * kFakeRandomSeed) % kFakeRandomSeed) /
- static_cast<float>(kFakeRandomSeed) - 1.0f;
+ // Copy first channel into the rest of the channels.
+ for (size_t i = 1; i < audio_data.size(); ++i)
+ memcpy(audio_data[i], audio_data[0],
+ number_of_frames * sizeof(*audio_data[0]));
+
+ return number_of_frames;
}
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698