| 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
|
|
|