| Index: webrtc/modules/desktop_capture/screen_capturer_win.cc
 | 
| diff --git a/webrtc/modules/desktop_capture/screen_capturer_win.cc b/webrtc/modules/desktop_capture/screen_capturer_win.cc
 | 
| index 1aec5aaa0f1c984137090c10678a52e07564b11f..93cea7492ef58d20f8fa347397735198bd8e3a60 100644
 | 
| --- a/webrtc/modules/desktop_capture/screen_capturer_win.cc
 | 
| +++ b/webrtc/modules/desktop_capture/screen_capturer_win.cc
 | 
| @@ -11,23 +11,38 @@
 | 
|  #include <memory>
 | 
|  #include <utility>
 | 
|  
 | 
| +#include "webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h"
 | 
|  #include "webrtc/modules/desktop_capture/desktop_capturer.h"
 | 
|  #include "webrtc/modules/desktop_capture/desktop_capture_options.h"
 | 
| +#include "webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
 | 
| +#include "webrtc/modules/desktop_capture/rgba_color.h"
 | 
|  #include "webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h"
 | 
|  #include "webrtc/modules/desktop_capture/win/screen_capturer_win_gdi.h"
 | 
|  #include "webrtc/modules/desktop_capture/win/screen_capturer_win_magnifier.h"
 | 
|  
 | 
|  namespace webrtc {
 | 
|  
 | 
| +namespace {
 | 
| +
 | 
| +std::unique_ptr<DesktopCapturer> CreateScreenCapturerWinDirectx(
 | 
| +    const DesktopCaptureOptions& options) {
 | 
| +  std::unique_ptr<DesktopCapturer> capturer(
 | 
| +      new ScreenCapturerWinDirectx(options));
 | 
| +  capturer.reset(new BlankDetectorDesktopCapturerWrapper(
 | 
| +      std::move(capturer), RgbaColor(0, 0, 0, 0), -1));
 | 
| +  return capturer;
 | 
| +}
 | 
| +
 | 
| +}  // namespace
 | 
| +
 | 
|  // static
 | 
|  std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
 | 
|      const DesktopCaptureOptions& options) {
 | 
| -  std::unique_ptr<DesktopCapturer> capturer;
 | 
| +  std::unique_ptr<DesktopCapturer> capturer(new ScreenCapturerWinGdi(options));
 | 
|    if (options.allow_directx_capturer() &&
 | 
|        ScreenCapturerWinDirectx::IsSupported()) {
 | 
| -    capturer.reset(new ScreenCapturerWinDirectx(options));
 | 
| -  } else {
 | 
| -    capturer.reset(new ScreenCapturerWinGdi(options));
 | 
| +    capturer.reset(new FallbackDesktopCapturerWrapper(
 | 
| +        CreateScreenCapturerWinDirectx(options), std::move(capturer)));
 | 
|    }
 | 
|  
 | 
|    if (options.allow_use_magnification_api()) {
 | 
| 
 |