Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(654)

Unified Diff: webrtc/media/engine/webrtcvoiceengine.cc

Issue 1830213002: Remove WVoE::SetAudioDeviceModule() - it is now set in ctor. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: removed Construct() method Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/media/engine/webrtcvoiceengine.cc
diff --git a/webrtc/media/engine/webrtcvoiceengine.cc b/webrtc/media/engine/webrtcvoiceengine.cc
index fbaab675ec58d6a78b60cf9ac62e7c93955047ca..7ae7062f63fda5a0d2c0d2284b8271836e1f8f5b 100644
--- a/webrtc/media/engine/webrtcvoiceengine.cc
+++ b/webrtc/media/engine/webrtcvoiceengine.cc
@@ -519,68 +519,57 @@ bool WebRtcVoiceEngine::ToCodecInst(const AudioCodec& in,
return WebRtcVoiceCodecs::ToCodecInst(in, out);
}
-WebRtcVoiceEngine::WebRtcVoiceEngine()
- : voe_wrapper_(new VoEWrapper()),
- audio_state_(webrtc::AudioState::Create(MakeAudioStateConfig(voe()))) {
- Construct();
+WebRtcVoiceEngine::WebRtcVoiceEngine(webrtc::AudioDeviceModule* adm)
+ : WebRtcVoiceEngine(adm, new VoEWrapper()) {
+ audio_state_ = webrtc::AudioState::Create(MakeAudioStateConfig(voe()));
}
-WebRtcVoiceEngine::WebRtcVoiceEngine(VoEWrapper* voe_wrapper)
+WebRtcVoiceEngine::WebRtcVoiceEngine(webrtc::AudioDeviceModule* adm,
+ VoEWrapper* voe_wrapper)
: voe_wrapper_(voe_wrapper) {
- Construct();
-}
-
-void WebRtcVoiceEngine::Construct() {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
LOG(LS_VERBOSE) << "WebRtcVoiceEngine::WebRtcVoiceEngine";
signal_thread_checker_.DetachFromThread();
- std::memset(&default_agc_config_, 0, sizeof(default_agc_config_));
- voe_config_.Set<webrtc::VoicePacing>(new webrtc::VoicePacing(true));
-
- webrtc::Trace::set_level_filter(kDefaultTraceFilter);
webrtc::Trace::SetTraceCallback(this);
-
- // Load our audio codec list.
- codecs_ = WebRtcVoiceCodecs::SupportedCodecs();
+ std::memset(&default_agc_config_, 0, sizeof(default_agc_config_));
+ adm_ = adm;
+ if (adm_) {
+ adm_->AddRef();
pthatcher1 2016/03/25 23:23:21 Should we use a scoped_refptr for adm_?
Taylor Brandstetter 2016/03/29 00:49:23 +1
the sun 2016/03/29 21:46:40 Done.
the sun 2016/03/29 21:46:40 Done.
+ }
}
WebRtcVoiceEngine::~WebRtcVoiceEngine() {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
LOG(LS_VERBOSE) << "WebRtcVoiceEngine::~WebRtcVoiceEngine";
if (adm_) {
- voe_wrapper_.reset();
Taylor Brandstetter 2016/03/29 00:49:23 Is there a reason this was called here, and if so,
the sun 2016/03/29 21:46:40 Looks like it wasn't needed; VoE's ADM reference s
adm_->Release();
- adm_ = NULL;
}
webrtc::Trace::SetTraceCallback(nullptr);
}
-bool WebRtcVoiceEngine::Init(rtc::Thread* worker_thread) {
+bool WebRtcVoiceEngine::Init() {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
- RTC_DCHECK(worker_thread == rtc::Thread::Current());
LOG(LS_INFO) << "WebRtcVoiceEngine::Init";
- bool res = InitInternal();
- if (res) {
- LOG(LS_INFO) << "WebRtcVoiceEngine::Init Done!";
- } else {
- LOG(LS_ERROR) << "WebRtcVoiceEngine::Init failed";
- Terminate();
- }
- return res;
-}
+ LOG(LS_INFO) << webrtc::VoiceEngine::GetVersionString();
+
+ voe_config_.Set<webrtc::VoicePacing>(new webrtc::VoicePacing(true));
-bool WebRtcVoiceEngine::InitInternal() {
- RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
// Temporarily turn logging level up for the Init call.
webrtc::Trace::set_level_filter(kElevatedTraceFilter);
- LOG(LS_INFO) << webrtc::VoiceEngine::GetVersionString();
if (voe_wrapper_->base()->Init(adm_) == -1) {
LOG_RTCERR0_EX(Init, voe_wrapper_->error());
return false;
}
webrtc::Trace::set_level_filter(kDefaultTraceFilter);
+ // No ADM supplied? Get the default one from VoE.
+ if (!adm_) {
+ adm_ = voe_wrapper_->base()->audio_device_module();
+ adm_->AddRef();
+ }
+ RTC_DCHECK(adm_);
+
// Save the default AGC configuration settings. This must happen before
// calling ApplyOptions or the default will be overwritten.
if (voe_wrapper_->processing()->GetAgcConfig(default_agc_config_) == -1) {
@@ -610,24 +599,22 @@ bool WebRtcVoiceEngine::InitInternal() {
}
// Print our codec list again for the call diagnostic log.
- LOG(LS_INFO) << "WebRtc VoiceEngine codecs:";
+ LOG(LS_INFO) << "Supported codecs in order of preference:";
+ codecs_ = WebRtcVoiceCodecs::SupportedCodecs();
for (const AudioCodec& codec : codecs_) {
LOG(LS_INFO) << ToString(codec);
}
SetDefaultDevices();
- initialized_ = true;
+ LOG(LS_INFO) << "WebRtcVoiceEngine::Init Done!";
return true;
}
void WebRtcVoiceEngine::Terminate() {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
LOG(LS_INFO) << "WebRtcVoiceEngine::Terminate";
- initialized_ = false;
-
StopAecDump();
-
voe_wrapper_->base()->Terminate();
}
@@ -1052,23 +1039,6 @@ bool WebRtcVoiceEngine::AdjustAgcLevel(int delta) {
return true;
}
-bool WebRtcVoiceEngine::SetAudioDeviceModule(webrtc::AudioDeviceModule* adm) {
- RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
- if (initialized_) {
- LOG(LS_WARNING) << "SetAudioDeviceModule can not be called after Init.";
- return false;
- }
- if (adm_) {
- adm_->Release();
- adm_ = NULL;
- }
- if (adm) {
- adm_ = adm;
- adm_->AddRef();
- }
- return true;
-}
-
bool WebRtcVoiceEngine::StartAecDump(rtc::PlatformFile file,
int64_t max_size_bytes) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());

Powered by Google App Engine
This is Rietveld 408576698