Index: talk/media/webrtc/webrtcvoiceengine.cc |
diff --git a/talk/media/webrtc/webrtcvoiceengine.cc b/talk/media/webrtc/webrtcvoiceengine.cc |
index 1d12fbf2ffbac76cf1fbc9c927923ecf32eae546..58612342877a96b02bd626158e94e52f209e6bc0 100644 |
--- a/talk/media/webrtc/webrtcvoiceengine.cc |
+++ b/talk/media/webrtc/webrtcvoiceengine.cc |
@@ -393,9 +393,7 @@ std::string GetEnableString(bool enable) { |
WebRtcVoiceEngine::WebRtcVoiceEngine() |
: voe_wrapper_(new VoEWrapper()), |
tracing_(new VoETraceWrapper()), |
- adm_(NULL), |
- log_filter_(SeverityToFilter(kDefaultLogSeverity)), |
- is_dumping_aec_(false) { |
+ log_filter_(SeverityToFilter(kDefaultLogSeverity)) { |
Construct(); |
} |
@@ -403,25 +401,17 @@ WebRtcVoiceEngine::WebRtcVoiceEngine(VoEWrapper* voe_wrapper, |
VoETraceWrapper* tracing) |
: voe_wrapper_(voe_wrapper), |
tracing_(tracing), |
- adm_(NULL), |
- log_filter_(SeverityToFilter(kDefaultLogSeverity)), |
- is_dumping_aec_(false) { |
+ log_filter_(SeverityToFilter(kDefaultLogSeverity)) { |
Construct(); |
} |
void WebRtcVoiceEngine::Construct() { |
SetTraceFilter(log_filter_); |
- initialized_ = false; |
LOG(LS_VERBOSE) << "WebRtcVoiceEngine::WebRtcVoiceEngine"; |
SetTraceOptions(""); |
if (tracing_->SetTraceCallback(this) == -1) { |
LOG_RTCERR0(SetTraceCallback); |
} |
- if (voe_wrapper_->base()->RegisterVoiceEngineObserver(*this) == -1) { |
- LOG_RTCERR0(RegisterVoiceEngineObserver); |
- } |
- // Clear the default agc state. |
- memset(&default_agc_config_, 0, sizeof(default_agc_config_)); |
// Load our audio codec list. |
ConstructCodecs(); |
@@ -509,9 +499,6 @@ bool WebRtcVoiceEngine::GetVoeCodec(int index, webrtc::CodecInst* codec) { |
WebRtcVoiceEngine::~WebRtcVoiceEngine() { |
LOG(LS_VERBOSE) << "WebRtcVoiceEngine::~WebRtcVoiceEngine"; |
- if (voe_wrapper_->base()->DeRegisterVoiceEngineObserver() == -1) { |
- LOG_RTCERR0(DeRegisterVoiceEngineObserver); |
- } |
if (adm_) { |
voe_wrapper_.reset(); |
adm_->Release(); |
@@ -1201,28 +1188,15 @@ void WebRtcVoiceEngine::Print(webrtc::TraceLevel level, const char* trace, |
} |
} |
-void WebRtcVoiceEngine::CallbackOnError(int channel_id, int err_code) { |
- RTC_DCHECK(channel_id == -1); |
- LOG(LS_WARNING) << "VoiceEngine error " << err_code << " reported on channel " |
- << channel_id << "."; |
- rtc::CritScope lock(&channels_cs_); |
- for (WebRtcVoiceMediaChannel* channel : channels_) { |
- channel->OnError(err_code); |
- } |
-} |
- |
void WebRtcVoiceEngine::RegisterChannel(WebRtcVoiceMediaChannel* channel) { |
- RTC_DCHECK(channel != NULL); |
- rtc::CritScope lock(&channels_cs_); |
+ RTC_DCHECK(channel); |
channels_.push_back(channel); |
} |
void WebRtcVoiceEngine::UnregisterChannel(WebRtcVoiceMediaChannel* channel) { |
- rtc::CritScope lock(&channels_cs_); |
auto it = std::find(channels_.begin(), channels_.end(), channel); |
- if (it != channels_.end()) { |
- channels_.erase(it); |
- } |
+ RTC_DCHECK(it != channels_.end()); |
+ channels_.erase(it); |
} |
// Adjusts the default AGC target level by the specified delta. |
@@ -1434,20 +1408,9 @@ class WebRtcVoiceMediaChannel::WebRtcAudioReceiveStream { |
WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel(WebRtcVoiceEngine* engine, |
const AudioOptions& options, |
webrtc::Call* call) |
- : engine_(engine), |
- send_bitrate_setting_(false), |
- send_bitrate_bps_(0), |
- options_(), |
- dtmf_allowed_(false), |
- desired_playout_(false), |
- nack_enabled_(false), |
- playout_(false), |
- typing_noise_detected_(false), |
- desired_send_(SEND_NOTHING), |
- send_(SEND_NOTHING), |
- call_(call) { |
+ : engine_(engine), call_(call) { |
LOG(LS_VERBOSE) << "WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel"; |
- RTC_DCHECK(nullptr != call); |
+ RTC_DCHECK(call); |
engine->RegisterChannel(this); |
SetOptions(options); |
} |
@@ -2652,9 +2615,8 @@ bool WebRtcVoiceMediaChannel::GetStats(VoiceMediaInfo* info) { |
sinfo.echo_delay_std_ms = stats.echo_delay_std_ms; |
sinfo.echo_return_loss = stats.echo_return_loss; |
sinfo.echo_return_loss_enhancement = stats.echo_return_loss_enhancement; |
- sinfo.typing_noise_detected = typing_noise_detected_; |
- // TODO(solenberg): Move to AudioSendStream. |
- // sinfo.typing_noise_detected = stats.typing_noise_detected; |
+ sinfo.typing_noise_detected = |
+ (send_ == SEND_NOTHING ? false : stats.typing_noise_detected); |
info->senders.push_back(sinfo); |
} |
@@ -2694,17 +2656,6 @@ bool WebRtcVoiceMediaChannel::GetStats(VoiceMediaInfo* info) { |
return true; |
} |
-void WebRtcVoiceMediaChannel::OnError(int error) { |
- if (send_ == SEND_NOTHING) { |
- return; |
- } |
- if (error == VE_TYPING_NOISE_WARNING) { |
- typing_noise_detected_ = true; |
- } else if (error == VE_TYPING_NOISE_OFF_WARNING) { |
- typing_noise_detected_ = false; |
- } |
-} |
- |
int WebRtcVoiceMediaChannel::GetOutputLevel(int channel) { |
unsigned int ulevel = 0; |
int ret = engine()->voe()->volume()->GetSpeechOutputLevel(channel, ulevel); |
@@ -2787,39 +2738,6 @@ bool WebRtcVoiceMediaChannel::SetPlayout(int channel, bool playout) { |
return true; |
} |
-// Convert VoiceEngine error code into VoiceMediaChannel::Error enum. |
-VoiceMediaChannel::Error |
- WebRtcVoiceMediaChannel::WebRtcErrorToChannelError(int err_code) { |
- switch (err_code) { |
- case 0: |
- return ERROR_NONE; |
- case VE_CANNOT_START_RECORDING: |
- case VE_MIC_VOL_ERROR: |
- case VE_GET_MIC_VOL_ERROR: |
- case VE_CANNOT_ACCESS_MIC_VOL: |
- return ERROR_REC_DEVICE_OPEN_FAILED; |
- case VE_SATURATION_WARNING: |
- return ERROR_REC_DEVICE_SATURATION; |
- case VE_REC_DEVICE_REMOVED: |
- return ERROR_REC_DEVICE_REMOVED; |
- case VE_RUNTIME_REC_WARNING: |
- case VE_RUNTIME_REC_ERROR: |
- return ERROR_REC_RUNTIME_ERROR; |
- case VE_CANNOT_START_PLAYOUT: |
- case VE_SPEAKER_VOL_ERROR: |
- case VE_GET_SPEAKER_VOL_ERROR: |
- case VE_CANNOT_ACCESS_SPEAKER_VOL: |
- return ERROR_PLAY_DEVICE_OPEN_FAILED; |
- case VE_RUNTIME_PLAY_WARNING: |
- case VE_RUNTIME_PLAY_ERROR: |
- return ERROR_PLAY_RUNTIME_ERROR; |
- case VE_TYPING_NOISE_WARNING: |
- return ERROR_REC_TYPING_NOISE_DETECTED; |
- default: |
- return VoiceMediaChannel::ERROR_OTHER; |
- } |
-} |
- |
bool WebRtcVoiceMediaChannel::SetHeaderExtension(ExtensionSetterFunction setter, |
int channel_id, const RtpHeaderExtension* extension) { |
bool enable = false; |