| Index: media/base/audio_bus_unittest.cc
|
| diff --git a/media/base/audio_bus_unittest.cc b/media/base/audio_bus_unittest.cc
|
| index 8c3a59f4efa103eb406302f7204c19e3d8350495..f3db1191532bc354bd9733daba41b6190bbe1c71 100644
|
| --- a/media/base/audio_bus_unittest.cc
|
| +++ b/media/base/audio_bus_unittest.cc
|
| @@ -356,4 +356,40 @@ TEST_F(AudioBusTest, ToInterleavedPartial) {
|
| kPartialFrames * sizeof(*kTestVectorInt16) * kTestVectorChannels), 0);
|
| }
|
|
|
| +TEST_F(AudioBusTest, AdjustVolume) {
|
| + scoped_ptr<AudioBus> bus = AudioBus::Create(kChannels, kFrameCount);
|
| +
|
| + // Fill the bus with dummy data.
|
| + static const float kFillValue = 1;
|
| + for (int i = 0; i < bus->channels(); ++i)
|
| + std::fill(bus->channel(i), bus->channel(i) + bus->frames(), kFillValue);
|
| +
|
| + // Adjust by an invalid volume and ensure volume is unchanged.
|
| + bus->AdjustVolume(1.5);
|
| + for (int i = 0; i < bus->channels(); ++i) {
|
| + SCOPED_TRACE("Invalid Volume Adjust");
|
| + VerifyValue(bus->channel(i), bus->frames(), kFillValue);
|
| + }
|
| + bus->AdjustVolume(-1);
|
| + for (int i = 0; i < bus->channels(); ++i) {
|
| + SCOPED_TRACE("Invalid Volume Adjust");
|
| + VerifyValue(bus->channel(i), bus->frames(), kFillValue);
|
| + }
|
| +
|
| + // Verify correct volume adjustment.
|
| + static const float kVolume = 0.5;
|
| + bus->AdjustVolume(kVolume);
|
| + for (int i = 0; i < bus->channels(); ++i) {
|
| + SCOPED_TRACE("First Volume Adjust");
|
| + VerifyValue(bus->channel(i), bus->frames(), kFillValue * kVolume);
|
| + }
|
| +
|
| + // Verify zero volume case.
|
| + bus->AdjustVolume(0);
|
| + for (int i = 0; i < bus->channels(); ++i) {
|
| + SCOPED_TRACE("Invalid Volume Adjust");
|
| + VerifyValue(bus->channel(i), bus->frames(), 0);
|
| + }
|
| +}
|
| +
|
| } // namespace media
|
|
|