diff --git a/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc b/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc index 061aab07a8..cf2d03de03 100644 --- a/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc +++ b/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc @@ -32,8 +32,8 @@ BlankDetectorDesktopCapturerWrapper::~BlankDetectorDesktopCapturerWrapper() = void BlankDetectorDesktopCapturerWrapper::Start( DesktopCapturer::Callback* callback) { - capturer_->Start(this); callback_ = callback; + capturer_->Start(this); } void BlankDetectorDesktopCapturerWrapper::SetSharedMemoryFactory( diff --git a/modules/desktop_capture/capture_result_desktop_capturer_wrapper.cc b/modules/desktop_capture/capture_result_desktop_capturer_wrapper.cc index 5e0d264cc2..e1d4b993e0 100644 --- a/modules/desktop_capture/capture_result_desktop_capturer_wrapper.cc +++ b/modules/desktop_capture/capture_result_desktop_capturer_wrapper.cc @@ -30,6 +30,7 @@ CaptureResultDesktopCapturerWrapper::~CaptureResultDesktopCapturerWrapper() = void CaptureResultDesktopCapturerWrapper::Start(Callback* callback) { if ((callback_ == nullptr) != (callback == nullptr)) { if (callback) { + callback_ = callback; base_capturer_->Start(this); } else { base_capturer_->Start(nullptr); diff --git a/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc b/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc index 5f60f1e3ea..48ee6e2fda 100644 --- a/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc +++ b/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc @@ -80,6 +80,7 @@ FallbackDesktopCapturerWrapper::~FallbackDesktopCapturerWrapper() = default; void FallbackDesktopCapturerWrapper::Start( DesktopCapturer::Callback* callback) { + callback_ = callback; // FallbackDesktopCapturerWrapper catchs the callback of the main capturer, // and checks its return value to decide whether the secondary capturer should // be involved. @@ -88,7 +89,6 @@ void FallbackDesktopCapturerWrapper::Start( // FallbackDesktopCapturerWrapper won't check its return value any more. It // will directly return to the input |callback|. secondary_capturer_->Start(callback); - callback_ = callback; } void FallbackDesktopCapturerWrapper::SetSharedMemoryFactory(