Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(975)

Unified Diff: media/base/audio_converter.cc

Issue 13726011: Add vector_math::FMUL. Replace audio_util::AdjustVolume. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/audio_converter.cc
diff --git a/media/base/audio_converter.cc b/media/base/audio_converter.cc
index 5fda460a614843c5405740051830cc10ef6e1dfb..ec74e038a3bc7f4ded3073095fb259d451ec8237 100644
--- a/media/base/audio_converter.cc
+++ b/media/base/audio_converter.cc
@@ -178,11 +178,18 @@ void AudioConverter::SourceCallback(int fifo_frame_delay, AudioBus* dest) {
if (it == transform_inputs_.begin()) {
if (volume == 1.0f) {
mixer_input_audio_bus_->CopyTo(temp_dest);
- continue;
+ } else if (volume > 0) {
+ for (int i = 0; i < mixer_input_audio_bus_->channels(); ++i) {
+ vector_math::FMUL(
+ mixer_input_audio_bus_->channel(i), volume,
+ mixer_input_audio_bus_->frames(), temp_dest->channel(i));
+ }
+ } else {
+ // Zero |temp_dest| otherwise, so we're mixing into a clean buffer.
+ temp_dest->Zero();
}
- // Zero |temp_dest| otherwise, so we're mixing into a clean buffer.
- temp_dest->Zero();
+ continue;
}
// Volume adjust and mix each mixer input into |temp_dest| after rendering.

Powered by Google App Engine
This is Rietveld 408576698