| Index: media/base/audio_buffer_unittest.cc
|
| diff --git a/media/base/audio_buffer_unittest.cc b/media/base/audio_buffer_unittest.cc
|
| index c40c076bd5e8ee73c224df4db6b972f0c00fea84..09da83e5fa45973c2ab8da63f6c60b2ee31c3068 100644
|
| --- a/media/base/audio_buffer_unittest.cc
|
| +++ b/media/base/audio_buffer_unittest.cc
|
| @@ -358,4 +358,49 @@ TEST(AudioBufferTest, Trim) {
|
| EXPECT_EQ(buffer->duration(), base::TimeDelta::FromSeconds(0));
|
| }
|
|
|
| +TEST(AudioBufferTest, TrimRange) {
|
| + const ChannelLayout channel_layout = CHANNEL_LAYOUT_4_0;
|
| + const int channels = ChannelLayoutToChannelCount(channel_layout);
|
| + const int frames = 100;
|
| + const base::TimeDelta start_time;
|
| + const base::TimeDelta duration = base::TimeDelta::FromSeconds(frames);
|
| + const float step = 1.0f;
|
| + scoped_refptr<AudioBuffer> buffer =
|
| + MakeAudioBuffer<float>(kSampleFormatPlanarF32,
|
| + channel_layout,
|
| + channels,
|
| + kSampleRate,
|
| + 0,
|
| + step,
|
| + frames,
|
| + start_time,
|
| + duration);
|
| + EXPECT_EQ(frames, buffer->frame_count());
|
| + EXPECT_EQ(start_time, buffer->timestamp());
|
| + EXPECT_EQ(frames, buffer->duration().InSeconds());
|
| +
|
| + scoped_ptr<AudioBus> bus = AudioBus::Create(channels, frames);
|
| +
|
| + const int trim_start = 25;
|
| + const int trim_length = 50;
|
| +
|
| + // Verify the first 25 frames before trimming.
|
| + buffer->ReadFrames(trim_start, 0, 0, bus.get());
|
| + VerifyResult(bus->channel(0), trim_start, 0, step);
|
| +
|
| + // Trim frames from the middle of the buffer.
|
| + buffer->TrimRange(trim_start, trim_start + trim_length);
|
| + EXPECT_EQ(buffer->frame_count(), frames - trim_length);
|
| + EXPECT_EQ(buffer->timestamp(), start_time);
|
| + EXPECT_EQ(buffer->duration(), base::TimeDelta::FromSeconds(50));
|
| +
|
| + // Verify the first 25 frames.
|
| + buffer->ReadFrames(trim_start, 0, 0, bus.get());
|
| + VerifyResult(bus->channel(0), trim_start, 0, step);
|
| +
|
| + // Verify the next 25 frames.
|
| + buffer->ReadFrames(trim_start, trim_start, 0, bus.get());
|
| + VerifyResult(bus->channel(0), trim_start, trim_start + trim_length, step);
|
| +}
|
| +
|
| } // namespace media
|
|
|