Moved AsyncInvoker to be destructed first in WebRtcVideoSendStream.
Bug: none
Change-Id: Ie90c9d6fd415678affcc4acefdd045334d83d8b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140864
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28283}
diff --git a/media/engine/webrtc_video_engine.h b/media/engine/webrtc_video_engine.h
index 971cab5..da07835 100644
--- a/media/engine/webrtc_video_engine.h
+++ b/media/engine/webrtc_video_engine.h
@@ -349,7 +349,6 @@
RTC_EXCLUSIVE_LOCKS_REQUIRED(&thread_checker_);
rtc::ThreadChecker thread_checker_;
- rtc::AsyncInvoker invoker_;
rtc::Thread* worker_thread_;
const std::vector<uint32_t> ssrcs_ RTC_GUARDED_BY(&thread_checker_);
const std::vector<SsrcGroup> ssrc_groups_ RTC_GUARDED_BY(&thread_checker_);
@@ -373,6 +372,11 @@
webrtc::RtpParameters rtp_parameters_ RTC_GUARDED_BY(&thread_checker_);
bool sending_ RTC_GUARDED_BY(&thread_checker_);
+
+ // In order for the |invoker_| to protect other members from being
+ // destructed as they are used in asynchronous tasks it has to be destructed
+ // first.
+ rtc::AsyncInvoker invoker_;
};
// Wrapper for the receiver part, contains configs etc. that are needed to