Synchronize is_screencast_ state in AndroidVideoTrackSource.

Follow up to https://webrtc-review.googlesource.com/c/src/+/159689.

Bug: None
Change-Id: I3f2b481db091d405c1b00ca18c2e7ce5f3375607
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159702
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29790}
diff --git a/sdk/android/src/jni/android_video_track_source.cc b/sdk/android/src/jni/android_video_track_source.cc
index b9e0562..f8455c9 100644
--- a/sdk/android/src/jni/android_video_track_source.cc
+++ b/sdk/android/src/jni/android_video_track_source.cc
@@ -52,7 +52,7 @@
 AndroidVideoTrackSource::~AndroidVideoTrackSource() = default;
 
 bool AndroidVideoTrackSource::is_screencast() const {
-  return is_screencast_;
+  return is_screencast_.load();
 }
 
 absl::optional<bool> AndroidVideoTrackSource::needs_denoising() const {
@@ -88,7 +88,7 @@
 
 void AndroidVideoTrackSource::SetIsScreencast(JNIEnv* env,
                                               jboolean j_is_screencast) {
-  is_screencast_ = j_is_screencast;
+  is_screencast_.store(j_is_screencast);
 }
 
 ScopedJavaLocalRef<jobject> AndroidVideoTrackSource::AdaptFrame(
diff --git a/sdk/android/src/jni/android_video_track_source.h b/sdk/android/src/jni/android_video_track_source.h
index 6fcf5cd..378d380 100644
--- a/sdk/android/src/jni/android_video_track_source.h
+++ b/sdk/android/src/jni/android_video_track_source.h
@@ -89,7 +89,7 @@
  private:
   rtc::Thread* signaling_thread_;
   std::atomic<SourceState> state_;
-  bool is_screencast_;
+  std::atomic<bool> is_screencast_;
   rtc::TimestampAligner timestamp_aligner_;
   const bool align_timestamps_;
 };