Index: media/base/audio_bus.cc |
diff --git a/media/base/audio_bus.cc b/media/base/audio_bus.cc |
index 0dc3300b8defc9e3964555df11d049e8892715ab..9e3266ee577590154ef1e9246230dae7d36b5d51 100644 |
--- a/media/base/audio_bus.cc |
+++ b/media/base/audio_bus.cc |
@@ -9,6 +9,7 @@ |
#include "base/logging.h" |
#include "media/audio/audio_parameters.h" |
#include "media/base/limits.h" |
+#include "media/base/vector_math.h" |
namespace media { |
@@ -307,4 +308,13 @@ void AudioBus::CopyTo(AudioBus* dest) const { |
memcpy(dest->channel(i), channel(i), sizeof(*channel(i)) * frames()); |
} |
+void AudioBus::Scale(float volume) { |
+ if (volume > 0 && volume < 1) { |
henrika (OOO until Aug 14)
2013/04/08 18:41:09
Add special case for volume = 1.o where we do noth
DaleCurtis
2013/04/08 19:11:40
Whoops, done!
|
+ for (int i = 0; i < channels(); ++i) |
+ vector_math::FMUL(channel(i), volume, frames(), channel(i)); |
+ } else if (volume == 0) { |
+ Zero(); |
+ } |
+} |
+ |
} // namespace media |