diff --git a/webrtc/modules/desktop_capture/window_capturer_win.cc b/webrtc/modules/desktop_capture/window_capturer_win.cc index c6555de4b9..ac0ee7a774 100644 --- a/webrtc/modules/desktop_capture/window_capturer_win.cc +++ b/webrtc/modules/desktop_capture/window_capturer_win.cc @@ -173,6 +173,17 @@ void WindowCapturerWin::Capture(const DesktopRegion& region) { return; } + // Return a 2x2 black frame if the window is minimized. The size is 2x2 so it + // can be subsampled to I420 downstream. + if (IsIconic(window_)) { + BasicDesktopFrame* frame = new BasicDesktopFrame(DesktopSize(2, 2)); + memset(frame->data(), 0, frame->stride() * frame->size().height()); + + previous_size_ = frame->size(); + callback_->OnCaptureCompleted(frame); + return; + } + DesktopRect original_rect; DesktopRect cropped_rect; if (!GetCroppedWindowRect(window_, &cropped_rect, &original_rect)) {