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); |