Index: webrtc/modules/desktop_capture/screen_capturer_unittest.cc |
diff --git a/webrtc/modules/desktop_capture/screen_capturer_unittest.cc b/webrtc/modules/desktop_capture/screen_capturer_unittest.cc |
index 0236e3b6683193f16e6f3645a6f60063fc2b651f..5c3671672a63693894dd6cfcedafd54da39b4979 100644 |
--- a/webrtc/modules/desktop_capture/screen_capturer_unittest.cc |
+++ b/webrtc/modules/desktop_capture/screen_capturer_unittest.cc |
@@ -129,15 +129,21 @@ class ScreenCapturerTest : public testing::Test { |
} |
#if defined(WEBRTC_WIN) |
+ // Enable allow_directx_capturer in DesktopCaptureOptions, but let |
+ // ScreenCapturer::Create to decide whether a DirectX capturer should be used. |
+ void MaybeCreateDirectxCapturer() { |
+ DesktopCaptureOptions options(DesktopCaptureOptions::CreateDefault()); |
+ options.set_allow_directx_capturer(true); |
+ capturer_.reset(ScreenCapturer::Create(options)); |
+ } |
+ |
bool CreateDirectxCapturer() { |
if (!ScreenCapturerWinDirectx::IsSupported()) { |
LOG(LS_WARNING) << "Directx capturer is not supported"; |
return false; |
} |
- DesktopCaptureOptions options(DesktopCaptureOptions::CreateDefault()); |
- options.set_allow_directx_capturer(true); |
- capturer_.reset(ScreenCapturer::Create(options)); |
+ MaybeCreateDirectxCapturer(); |
return true; |
} |
@@ -382,6 +388,16 @@ TEST_F(ScreenCapturerTest, DISABLED_TwoMagnifierCapturers) { |
TestCaptureUpdatedRegion({capturer_.get(), capturer2.get()}); |
} |
+// Disabled due to being flaky due to the fact that it useds rendering / UI, |
+// see webrtc/6366. |
+TEST_F(ScreenCapturerTest, |
+ DISABLED_MaybeCaptureUpdatedRegionWithDirectxCapturer) { |
+ // Even DirectX capturer is not supported in current system, we should be able |
+ // to select a usable capturer. |
+ MaybeCreateDirectxCapturer(); |
+ TestCaptureUpdatedRegion(); |
+} |
+ |
#endif // defined(WEBRTC_WIN) |
} // namespace webrtc |