| 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..c6ff5e72e20ad54022764752dfc5705220730b16 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::GetAudioOutputLevel() {
|
| + int8_t current_level = audio_level_.Level();
|
| + uint32_t level = static_cast<uint32_t>(current_level);
|
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_,
|
| + "GetAudioOutputLevel() => level=%u", level);
|
| + return level;
|
| +}
|
| +
|
| +uint32_t NewAudioConferenceMixerImpl::GetAudioOutputLevelFullRange() {
|
| + int16_t current_level = audio_level_.LevelFullRange();
|
| + uint32_t level = static_cast<uint32_t>(current_level);
|
| + WEBRTC_TRACE(kTraceStateInfo, kTraceAudioMixerServer, id_,
|
| + "GetAudioOutputLevelFullRange() => level=%u", level);
|
| + return level;
|
| +}
|
| } // namespace webrtc
|
|
|