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..0485e37819e9c6dc518e7a81ba9e252f0a5fb326 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,20 @@ bool NewAudioConferenceMixerImpl::LimitMixedAudio( |
| } |
| return true; |
| } |
| + |
| +uint32_t NewAudioConferenceMixerImpl::GetOutputAudioLevel() { |
| + int8_t current_level = audio_level_.Level(); |
| + uint32_t level = static_cast<uint32_t>(current_level); |
|
kwiberg-webrtc
2016/08/23 12:58:26
Why two kinds of integers? And again, style guide
aleloi
2016/08/24 07:19:47
Now fixed. Originally, the methods had similar sig
|
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_, |
| + "GetAudioOutputLevel() => level=%u", level); |
| + return level; |
| +} |
| + |
| +uint32_t NewAudioConferenceMixerImpl::GetOutputAudioLevelFullRange() { |
| + int16_t current_level = audio_level_.LevelFullRange(); |
| + uint32_t level = static_cast<uint32_t>(current_level); |
|
kwiberg-webrtc
2016/08/23 12:58:26
Same.
aleloi
2016/08/24 07:19:47
Done.
|
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_, |
| + "GetAudioOutputLevelFullRange() => level=%u", level); |
| + return level; |
| +} |
| } // namespace webrtc |