Run simulcast adapter test ConcurrentEncodeAndOnEncodedImage on TSAN.

The test case
TestSimulcastEncoderAdapterFake.ConcurrentEncodeAndOnEncodedImage was
added to repro a tricky race condition. But the test doesn't make much
sense unless TSAN thread sanitizer is enabled - otherwise it mostly
wastes resources. This CL disables it unless TSAN is on.

Bug: webrtc:467444018
Change-Id: I7350483892dfa2a9b3003d09a3013368d83ced2f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/458681
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47225}
diff --git a/media/engine/simulcast_encoder_adapter_unittest.cc b/media/engine/simulcast_encoder_adapter_unittest.cc
index df2894c..5c10aee 100644
--- a/media/engine/simulcast_encoder_adapter_unittest.cc
+++ b/media/engine/simulcast_encoder_adapter_unittest.cc
@@ -2840,7 +2840,18 @@
             adapter_->Encode(input_frame, &frame_types));
 }
 
-TEST_F(TestSimulcastEncoderAdapterFake, ConcurrentEncodeAndOnEncodedImage) {
+// Only run this test under TSAN, otherwise it doesn't make much sense and
+// mostly wastes CPU resources.
+#if defined(THREAD_SANITIZER)
+#define MAYBE_ConcurrentEncodeAndOnEncodedImage \
+  ConcurrentEncodeAndOnEncodedImage
+#else
+#define MAYBE_ConcurrentEncodeAndOnEncodedImage \
+  DISABLED_ConcurrentEncodeAndOnEncodedImage
+#endif
+
+TEST_F(TestSimulcastEncoderAdapterFake,
+       MAYBE_ConcurrentEncodeAndOnEncodedImage) {
   // The test setup here is quite complex, but that is needed in order to make
   // sure tools like TSAN is able to reliable detect issue in the wrapper
   // encoder instances used for each stream. The code below makes sure that