#include "remoting/host/desktop_capturer_wrapper.h"
#include <memory>
#include <utility>
#include "base/logging.h"
#include "build/build_config.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
#if BUILDFLAG(IS_LINUX)
#include "remoting/host/linux/wayland_desktop_capturer.h"
#include "remoting/host/linux/wayland_utils.h"
#endif
namespace remoting {
DesktopCapturerWrapper::DesktopCapturerWrapper() { … }
DesktopCapturerWrapper::~DesktopCapturerWrapper() { … }
void DesktopCapturerWrapper::CreateCapturer(
const webrtc::DesktopCaptureOptions& options,
SourceId id) { … }
void DesktopCapturerWrapper::Start(Callback* callback) { … }
void DesktopCapturerWrapper::SetSharedMemoryFactory(
std::unique_ptr<webrtc::SharedMemoryFactory> shared_memory_factory) { … }
void DesktopCapturerWrapper::CaptureFrame() { … }
bool DesktopCapturerWrapper::GetSourceList(SourceList* sources) { … }
bool DesktopCapturerWrapper::SelectSource(SourceId id) { … }
void DesktopCapturerWrapper::OnFrameCaptureStart() { … }
void DesktopCapturerWrapper::OnCaptureResult(
webrtc::DesktopCapturer::Result result,
std::unique_ptr<webrtc::DesktopFrame> frame) { … }
bool DesktopCapturerWrapper::SupportsFrameCallbacks() { … }
void DesktopCapturerWrapper::SetMaxFrameRate(uint32_t max_frame_rate) { … }
#if defined(WEBRTC_USE_GIO)
void DesktopCapturerWrapper::GetMetadataAsync(
base::OnceCallback<void(webrtc::DesktopCaptureMetadata)> callback) { … }
#endif
}