From 98cbb22911a8bf60648b957fbc854b1c36cb2b70 Mon Sep 17 00:00:00 2001 From: philipel Date: Fri, 14 Jun 2019 11:28:51 +0200 Subject: [PATCH] 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 Commit-Queue: Philip Eliasson Cr-Commit-Position: refs/heads/master@{#28283} --- media/engine/webrtc_video_engine.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/media/engine/webrtc_video_engine.h b/media/engine/webrtc_video_engine.h index 971cab52af..da078354f5 100644 --- a/media/engine/webrtc_video_engine.h +++ b/media/engine/webrtc_video_engine.h @@ -349,7 +349,6 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport { RTC_EXCLUSIVE_LOCKS_REQUIRED(&thread_checker_); rtc::ThreadChecker thread_checker_; - rtc::AsyncInvoker invoker_; rtc::Thread* worker_thread_; const std::vector ssrcs_ RTC_GUARDED_BY(&thread_checker_); const std::vector ssrc_groups_ RTC_GUARDED_BY(&thread_checker_); @@ -373,6 +372,11 @@ class WebRtcVideoChannel : public VideoMediaChannel, public webrtc::Transport { 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