1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "remoting/host/desktop_capturer_checker.h" 6 7 #include <stddef.h> 8 9 #include <utility> 10 11 #include "base/bind.h" 12 #include "base/check.h" 13 #include "base/location.h" 14 #include "base/macros.h" 15 #include "base/memory/ptr_util.h" 16 #include "base/single_thread_task_runner.h" 17 #include "base/threading/thread_task_runner_handle.h" 18 #include "build/build_config.h" 19 #include "remoting/host/client_session_control.h" 20 #include "remoting/proto/control.pb.h" 21 #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h" 22 #include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h" 23 #include "third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h" 24 #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" 25 #include "third_party/webrtc/modules/desktop_capture/desktop_region.h" 26 27 namespace remoting { 28 DesktopCapturerChecker()29DesktopCapturerChecker::DesktopCapturerChecker() {} 30 ~DesktopCapturerChecker()31DesktopCapturerChecker::~DesktopCapturerChecker() {} 32 TriggerSingleCapture()33void DesktopCapturerChecker::TriggerSingleCapture() { 34 DCHECK(!capturer_); 35 36 webrtc::DesktopCaptureOptions options = 37 webrtc::DesktopCaptureOptions::CreateDefault(); 38 capturer_ = webrtc::DesktopCapturer::CreateScreenCapturer(options); 39 DCHECK(capturer_) 40 << "Failed to initialize screen capturer for DesktopCapturerChecker."; 41 capturer_->Start(this); 42 capturer_->CaptureFrame(); 43 } 44 OnCaptureResult(webrtc::DesktopCapturer::Result result,std::unique_ptr<webrtc::DesktopFrame> frame)45void DesktopCapturerChecker::OnCaptureResult( 46 webrtc::DesktopCapturer::Result result, 47 std::unique_ptr<webrtc::DesktopFrame> frame) { 48 // Ignore capture result. 49 } 50 51 } // namespace remoting 52