OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <limits> | 5 #include <limits> |
6 | 6 |
7 #include "base/stringprintf.h" | 7 #include "base/stringprintf.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "media/audio/audio_parameters.h" | 9 #include "media/audio/audio_parameters.h" |
10 #include "media/base/audio_bus.h" | 10 #include "media/base/audio_bus.h" |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 } | 349 } |
350 | 350 |
351 int16 test_array[arraysize(kTestVectorInt16)]; | 351 int16 test_array[arraysize(kTestVectorInt16)]; |
352 expected->ToInterleavedPartial( | 352 expected->ToInterleavedPartial( |
353 kPartialStart, kPartialFrames, sizeof(*kTestVectorInt16), test_array); | 353 kPartialStart, kPartialFrames, sizeof(*kTestVectorInt16), test_array); |
354 ASSERT_EQ(memcmp( | 354 ASSERT_EQ(memcmp( |
355 test_array, kTestVectorInt16 + kPartialStart * kTestVectorChannels, | 355 test_array, kTestVectorInt16 + kPartialStart * kTestVectorChannels, |
356 kPartialFrames * sizeof(*kTestVectorInt16) * kTestVectorChannels), 0); | 356 kPartialFrames * sizeof(*kTestVectorInt16) * kTestVectorChannels), 0); |
357 } | 357 } |
358 | 358 |
| 359 TEST_F(AudioBusTest, AdjustVolume) { |
| 360 scoped_ptr<AudioBus> bus = AudioBus::Create(kChannels, kFrameCount); |
| 361 |
| 362 // Fill the bus with dummy data. |
| 363 static const float kFillValue = 1; |
| 364 for (int i = 0; i < bus->channels(); ++i) |
| 365 std::fill(bus->channel(i), bus->channel(i) + bus->frames(), kFillValue); |
| 366 |
| 367 // Adjust by an invalid volume and ensure volume is unchanged. |
| 368 bus->AdjustVolume(1.5); |
| 369 for (int i = 0; i < bus->channels(); ++i) { |
| 370 SCOPED_TRACE("Invalid Volume Adjust"); |
| 371 VerifyValue(bus->channel(i), bus->frames(), kFillValue); |
| 372 } |
| 373 bus->AdjustVolume(-1); |
| 374 for (int i = 0; i < bus->channels(); ++i) { |
| 375 SCOPED_TRACE("Invalid Volume Adjust"); |
| 376 VerifyValue(bus->channel(i), bus->frames(), kFillValue); |
| 377 } |
| 378 |
| 379 // Verify correct volume adjustment. |
| 380 static const float kVolume = 0.5; |
| 381 bus->AdjustVolume(kVolume); |
| 382 for (int i = 0; i < bus->channels(); ++i) { |
| 383 SCOPED_TRACE("First Volume Adjust"); |
| 384 VerifyValue(bus->channel(i), bus->frames(), kFillValue * kVolume); |
| 385 } |
| 386 |
| 387 // Verify zero volume case. |
| 388 bus->AdjustVolume(0); |
| 389 for (int i = 0; i < bus->channels(); ++i) { |
| 390 SCOPED_TRACE("Invalid Volume Adjust"); |
| 391 VerifyValue(bus->channel(i), bus->frames(), 0); |
| 392 } |
| 393 } |
| 394 |
359 } // namespace media | 395 } // namespace media |
OLD | NEW |