Chromium Code Reviews| Index: webrtc/media/engine/webrtcvoiceengine.cc |
| diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc |
| index e0d9884e8f1b2939b777b9f61df6e4722636e9ce..67b739206b1876e2b7b4ce3e01fb10206f79abb0 100644 |
| --- a/webrtc/media/engine/webrtcvoiceengine.cc |
| +++ b/webrtc/media/engine/webrtcvoiceengine.cc |
| @@ -959,11 +959,12 @@ void WebRtcVoiceEngine::SetDefaultDevices() { |
| #endif // !WEBRTC_IOS |
| } |
| +// TODO(solenberg): Remove, once AudioMonitor is gone. |
| int WebRtcVoiceEngine::GetInputLevel() { |
| RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| - unsigned int ulevel; |
| - return (voe_wrapper_->volume()->GetSpeechInputLevel(ulevel) != -1) ? |
| - static_cast<int>(ulevel) : -1; |
| + int8_t currentLevel = transmit_mixer()->AudioLevel(); |
|
kwiberg-webrtc
2017/02/28 13:59:18
const? Also, why camelCase?
the sun
2017/03/02 00:36:25
a) Do you mean currentLevel (sic) should be const?
kwiberg-webrtc
2017/03/02 02:37:37
It just says "Use const whenever it makes sense."
|
| + RTC_DCHECK_LE(0, currentLevel); |
| + return currentLevel; |
| } |
| const std::vector<AudioCodec>& WebRtcVoiceEngine::send_codecs() const { |
| @@ -1576,6 +1577,12 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream { |
| return stream_->GetStats(); |
| } |
| + int GetOutputLevel() const { |
| + RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| + RTC_DCHECK(stream_); |
| + return stream_->GetOutputLevel(); |
| + } |
| + |
| int channel() const { |
| RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| return config_.voe_channel_id; |
| @@ -2345,12 +2352,13 @@ bool WebRtcVoiceMediaChannel::SetLocalSource(uint32_t ssrc, |
| return true; |
| } |
| +// TODO(solenberg): Remove, once AudioMonitor is gone. |
| bool WebRtcVoiceMediaChannel::GetActiveStreams( |
| AudioInfo::StreamList* actives) { |
| RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| actives->clear(); |
| for (const auto& ch : recv_streams_) { |
| - int level = GetOutputLevel(ch.second->channel()); |
| + int level = ch.second->GetOutputLevel(); |
| if (level > 0) { |
| actives->push_back(std::make_pair(ch.first, level)); |
| } |
| @@ -2358,11 +2366,12 @@ bool WebRtcVoiceMediaChannel::GetActiveStreams( |
| return true; |
| } |
| +// TODO(solenberg): Remove, once AudioMonitor is gone. |
| int WebRtcVoiceMediaChannel::GetOutputLevel() { |
| RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| int highest = 0; |
| for (const auto& ch : recv_streams_) { |
| - highest = std::max(GetOutputLevel(ch.second->channel()), highest); |
| + highest = std::max(ch.second->GetOutputLevel(), highest); |
| } |
| return highest; |
| } |
| @@ -2643,12 +2652,6 @@ void WebRtcVoiceMediaChannel::SetRawAudioSink( |
| it->second->SetRawAudioSink(std::move(sink)); |
| } |
| -int WebRtcVoiceMediaChannel::GetOutputLevel(int channel) { |
| - unsigned int ulevel = 0; |
| - int ret = engine()->voe()->volume()->GetSpeechOutputLevel(channel, ulevel); |
| - return (ret == 0) ? static_cast<int>(ulevel) : -1; |
| -} |
| - |
| int WebRtcVoiceMediaChannel::GetReceiveChannelId(uint32_t ssrc) const { |
| RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| const auto it = recv_streams_.find(ssrc); |