From dab50c6fe8f13a19f4dee31a5338ad70a81f4f74 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Mon, 16 May 2022 13:40:26 +0000 Subject: [PATCH] Revert "Use ADM internal state for init state check." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 0e2221eb2f02ed950f4fd9c7fea40b382ea0a0c8. Reason for revert: Speculative revert, breaks downstream. Original change's description: > Use ADM internal state for init state check. > > When ADM is terminated and its state requires reinitialized, VoipCore::initialized_ field will falsely skip required reinitializing. > > Bug: webrtc:14054 > Change-Id: Ibeb4987a7e9763b8e40926acc4d7eaabde7a3478 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261924 > Reviewed-by: Per Ã…hgren > Reviewed-by: Tim Na > Commit-Queue: Tim Na > Cr-Commit-Position: refs/heads/main@{#36893} Bug: webrtc:14054 Change-Id: I1fa0a1ff440b9619aba60ec25970ce88a67739db Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262660 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com Owners-Override: Mirko Bonadei Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#36896} --- audio/voip/voip_core.cc | 4 +++- audio/voip/voip_core.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/audio/voip/voip_core.cc b/audio/voip/voip_core.cc index 30868946fd..8df1c594aa 100644 --- a/audio/voip/voip_core.cc +++ b/audio/voip/voip_core.cc @@ -61,7 +61,7 @@ bool VoipCore::InitializeIfNeeded() { // introduced in the future. MutexLock lock(&lock_); - if (audio_device_module_->Initialized()) { + if (initialized_) { return true; } @@ -116,6 +116,8 @@ bool VoipCore::InitializeIfNeeded() { RTC_LOG(LS_WARNING) << "Unable to register audio callback."; } + initialized_ = true; + return true; } diff --git a/audio/voip/voip_core.h b/audio/voip/voip_core.h index 6df7d4edb0..6c3aec6fa2 100644 --- a/audio/voip/voip_core.h +++ b/audio/voip/voip_core.h @@ -164,6 +164,9 @@ class VoipCore : public VoipEngine, // ChannelId. std::unordered_map> channels_ RTC_GUARDED_BY(lock_); + + // Boolean flag to ensure initialization only occurs once. + bool initialized_ RTC_GUARDED_BY(lock_) = false; }; } // namespace webrtc