summaryrefslogtreecommitdiff
path: root/media/base/audio_bus_unittest.cc
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-03-28 15:31:22 +0000
committerTorne (Richard Coles) <torne@google.com>2013-03-28 15:31:22 +0000
commit2a99a7e74a7f215066514fe81d2bfa6639d9eddd (patch)
tree7c2d04841fcd599fd83b0f0bb1100e1c89a35bae /media/base/audio_bus_unittest.cc
parent61c449bbbb53310a8c041d8cefdd6b01a126cc7e (diff)
downloadchromium_org-2a99a7e74a7f215066514fe81d2bfa6639d9eddd.tar.gz
Merge from Chromium at DEPS revision r190564
This commit was generated by merge_to_master.py. Change-Id: Icadecbce29854b8fa25fd335b2c1949b5ca5d170
Diffstat (limited to 'media/base/audio_bus_unittest.cc')
-rw-r--r--media/base/audio_bus_unittest.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/media/base/audio_bus_unittest.cc b/media/base/audio_bus_unittest.cc
index 476c82ed15..8c3a59f4ef 100644
--- a/media/base/audio_bus_unittest.cc
+++ b/media/base/audio_bus_unittest.cc
@@ -22,7 +22,7 @@ static const int kSampleRate = 48000;
class AudioBusTest : public testing::Test {
public:
AudioBusTest() {}
- ~AudioBusTest() {
+ virtual ~AudioBusTest() {
for (size_t i = 0; i < data_.size(); ++i)
base::AlignedFree(data_[i]);
}
@@ -334,4 +334,26 @@ TEST_F(AudioBusTest, ToInterleaved) {
}
}
+// Verify ToInterleavedPartial() interleaves audio correctly.
+TEST_F(AudioBusTest, ToInterleavedPartial) {
+ // Only interleave the middle two frames in each channel.
+ static const int kPartialStart = 1;
+ static const int kPartialFrames = 2;
+ ASSERT_LE(kPartialStart + kPartialFrames, kTestVectorFrames);
+
+ scoped_ptr<AudioBus> expected = AudioBus::Create(
+ kTestVectorChannels, kTestVectorFrames);
+ for (int ch = 0; ch < kTestVectorChannels; ++ch) {
+ memcpy(expected->channel(ch), kTestVectorResult[ch],
+ kTestVectorFrames * sizeof(*expected->channel(ch)));
+ }
+
+ int16 test_array[arraysize(kTestVectorInt16)];
+ expected->ToInterleavedPartial(
+ kPartialStart, kPartialFrames, sizeof(*kTestVectorInt16), test_array);
+ ASSERT_EQ(memcmp(
+ test_array, kTestVectorInt16 + kPartialStart * kTestVectorChannels,
+ kPartialFrames * sizeof(*kTestVectorInt16) * kTestVectorChannels), 0);
+}
+
} // namespace media