From 6564ea3b46ac9cb1a3f59d4d39350edcaf7fdc4d Mon Sep 17 00:00:00 2001 From: Zijie He Date: Thu, 14 Sep 2017 08:28:58 -0700 Subject: [PATCH] FallbackDesktopCapturerWrapper should set permanent_error if main_capturer_->SelectSource() failed http://crbug.com/732224 should be able to be covered by FallbackDesktopCapturerWrapper if its SelectSource() behaves like this. This change also adds histogram to track the failure of SelectSource(). This change was reviewed at https://chromium-review.googlesource.com/c/external/webrtc/+/662906. Bug: chromium:732224 Change-Id: I6cffe745a48d77acb703bfb0a0d042b170d8a937 TBR: jamiewalch@chromium.org Reviewed-on: https://webrtc-review.googlesource.com/1380 Reviewed-by: Zijie He Commit-Queue: Zijie He Cr-Commit-Position: refs/heads/master@{#19839} --- .../fallback_desktop_capturer_wrapper.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc b/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc index 8051026ffd..e6fa9d5f32 100644 --- a/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc +++ b/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc @@ -130,8 +130,15 @@ bool FallbackDesktopCapturerWrapper::SelectSource(SourceId id) { if (main_capturer_permanent_error_) { return secondary_capturer_->SelectSource(id); } - return main_capturer_->SelectSource(id) && - secondary_capturer_->SelectSource(id); + const bool main_capturer_result = main_capturer_->SelectSource(id); + RTC_HISTOGRAM_BOOLEAN( + "WebRTC.DesktopCapture.PrimaryCapturerSelectSourceError", + main_capturer_result); + if (!main_capturer_result) { + main_capturer_permanent_error_ = true; + } + + return secondary_capturer_->SelectSource(id); } bool FallbackDesktopCapturerWrapper::FocusOnSelectedSource() {