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