/* * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef MODULES_DESKTOP_CAPTURE_BLANK_DETECTOR_DESKTOP_CAPTURER_WRAPPER_H_ #define MODULES_DESKTOP_CAPTURE_BLANK_DETECTOR_DESKTOP_CAPTURER_WRAPPER_H_ #include <memory> #include "modules/desktop_capture/desktop_capture_types.h" #include "modules/desktop_capture/desktop_capturer.h" #include "modules/desktop_capture/desktop_frame.h" #include "modules/desktop_capture/rgba_color.h" #include "modules/desktop_capture/shared_memory.h" namespace webrtc { // A DesktopCapturer wrapper detects the return value of its owned // DesktopCapturer implementation. If sampled pixels returned by the // DesktopCapturer implementation all equal to the blank pixel, this wrapper // returns ERROR_TEMPORARY. If the DesktopCapturer implementation fails for too // many times, this wrapper returns ERROR_PERMANENT. class BlankDetectorDesktopCapturerWrapper final : public DesktopCapturer, public DesktopCapturer::Callback { … }; } // namespace webrtc #endif // MODULES_DESKTOP_CAPTURE_BLANK_DETECTOR_DESKTOP_CAPTURER_WRAPPER_H_