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

Unified Diff: media/base/multi_channel_resampler_unittest.cc

Issue 10918098: Introduce AudioOutputResampler for browser side resampling. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Unittests! Bugs! Created 8 years, 3 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/multi_channel_resampler_unittest.cc
diff --git a/media/base/multi_channel_resampler_unittest.cc b/media/base/multi_channel_resampler_unittest.cc
index d32396eb3e3a3173faab091871a92c6b63fb45a3..623c9ef3dc096a2e39baa8c564796a7d8600291a 100644
--- a/media/base/multi_channel_resampler_unittest.cc
+++ b/media/base/multi_channel_resampler_unittest.cc
@@ -48,10 +48,11 @@ class MultiChannelResamplerTest
// MultiChannelResampler::MultiChannelAudioSourceProvider implementation, just
// fills the provided audio_data with |kFillValue|.
virtual void ProvideInput(AudioBus* audio_bus) {
+ float fill_value = fill_junk_values_ ? (1 / kFillValue) : kFillValue;
EXPECT_EQ(audio_bus->channels(), audio_bus_->channels());
for (int i = 0; i < audio_bus->channels(); ++i)
for (int j = 0; j < audio_bus->frames(); ++j)
- audio_bus->channel(i)[j] = kFillValue;
+ audio_bus->channel(i)[j] = fill_value;
}
void MultiChannelTest(int channels, int frames, double expected_max_rms_error,
@@ -61,6 +62,12 @@ class MultiChannelResamplerTest
channels, kScaleFactor, base::Bind(
&MultiChannelResamplerTest::ProvideInput,
base::Unretained(this)));
+ // First prime the resampler with some junk data, so we can verify Flush().
+ fill_junk_values_ = true;
+ resampler.Resample(audio_bus_.get(), 1);
+ resampler.Flush();
+ fill_junk_values_ = false;
+ // If Flush() didn't work, the rest of the tests will fail.
resampler.Resample(audio_bus_.get(), frames);
TestValues(expected_max_rms_error, expected_max_error);
}
@@ -99,6 +106,7 @@ class MultiChannelResamplerTest
protected:
int frames_;
+ bool fill_junk_values_;
scoped_ptr<AudioBus> audio_bus_;
DISALLOW_COPY_AND_ASSIGN(MultiChannelResamplerTest);

Powered by Google App Engine
This is Rietveld 408576698