Allow multiple Init() calls on FakeAudioDevice

This is temporarily needed while landing https://webrtc-review.googlesource.com/c/src/+/23820 and updating clients.

Bug: webrtc:4690
Change-Id: Ib0bd6a6a063a8a54c80b73853b2c042dfb02c44a
Reviewed-on: https://webrtc-review.googlesource.com/24501
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20791}
diff --git a/test/fake_audio_device.cc b/test/fake_audio_device.cc
index eef8bfd..fa3f1f4 100644
--- a/test/fake_audio_device.cc
+++ b/test/fake_audio_device.cc
@@ -303,9 +303,13 @@
 }
 
 int32_t FakeAudioDevice::Init() {
-  RTC_CHECK(tick_->StartTimer(true, kFrameLengthMs / speed_));
-  thread_.Start();
-  thread_.SetPriority(rtc::kHighPriority);
+  // TODO(solenberg): Temporarily allow multiple init calls.
+  if (!inited_) {
+    RTC_CHECK(tick_->StartTimer(true, kFrameLengthMs / speed_));
+    thread_.Start();
+    thread_.SetPriority(rtc::kHighPriority);
+    inited_ = true;
+  }
   return 0;
 }
 
diff --git a/test/fake_audio_device.h b/test/fake_audio_device.h
index f71fd01..4d90619 100644
--- a/test/fake_audio_device.h
+++ b/test/fake_audio_device.h
@@ -137,6 +137,7 @@
 
   std::unique_ptr<EventTimerWrapper> tick_;
   rtc::PlatformThread thread_;
+  bool inited_ = false;
 };
 }  // namespace test
 }  // namespace webrtc