Chromium Code Reviews| Index: webrtc/modules/audio_mixer/new_audio_conference_mixer_impl.cc |
| diff --git a/webrtc/modules/audio_mixer/new_audio_conference_mixer_impl.cc b/webrtc/modules/audio_mixer/new_audio_conference_mixer_impl.cc |
| index 48380fc550129a6ea62882fe96941a5148473701..988cfa74a9a1de6e64ac1a945b8b63b2b13b7375 100644 |
| --- a/webrtc/modules/audio_mixer/new_audio_conference_mixer_impl.cc |
| +++ b/webrtc/modules/audio_mixer/new_audio_conference_mixer_impl.cc |
| @@ -73,7 +73,6 @@ void RemixFrame(AudioFrame* frame, size_t number_of_channels) { |
| // |mixed_frame| always has at least as many channels as |frame|. Supports |
| // stereo at most. |
| // |
| -// TODO(andrew): consider not modifying |frame| here. |
| void MixFrames(AudioFrame* mixed_frame, AudioFrame* frame, bool use_limiter) { |
| RTC_DCHECK_GE(mixed_frame->num_channels_, frame->num_channels_); |
| if (use_limiter) { |
| @@ -237,8 +236,7 @@ void NewAudioConferenceMixerImpl::Mix(int sample_rate, |
| time_stamp_ += static_cast<uint32_t>(sample_size_); |
| - use_limiter_ = num_mixed_audio_sources_ > 1 && |
| - output_frequency_ <= AudioProcessing::kMaxNativeSampleRateHz; |
| + use_limiter_ = num_mixed_audio_sources_ > 1; |
| // We only use the limiter if it supports the output sample rate and |
| // we're actually mixing multiple streams. |
| @@ -257,6 +255,10 @@ void NewAudioConferenceMixerImpl::Mix(int sample_rate, |
| LimitMixedAudio(audio_frame_for_mixing); |
| } |
| } |
| + |
| + // Pass the final result to the level indicator. |
| + audio_level_.ComputeLevel(*audio_frame_for_mixing); |
| + |
| return; |
| } |
| @@ -591,4 +593,18 @@ bool NewAudioConferenceMixerImpl::LimitMixedAudio( |
| } |
| return true; |
| } |
| + |
| +int NewAudioConferenceMixerImpl::GetOutputAudioLevel() { |
| + int level = audio_level_.Level(); |
|
kwiberg-webrtc
2016/08/24 08:04:38
It's a good habit to make local variables const if
aleloi
2016/08/24 08:15:16
Done, thanks for the tip!
|
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_, |
| + "GetAudioOutputLevel() => level=%d", level); |
| + return level; |
| +} |
| + |
| +int NewAudioConferenceMixerImpl::GetOutputAudioLevelFullRange() { |
| + int level = audio_level_.LevelFullRange(); |
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_, |
| + "GetAudioOutputLevelFullRange() => level=%d", level); |
| + return level; |
| +} |
| } // namespace webrtc |