#include "remoting/host/linux/wayland_desktop_capturer.h"
#include "base/threading/platform_thread.h"
#include "base/time/time.h"
#include "remoting/base/logging.h"
#include "remoting/host/linux/remote_desktop_portal.h"
#include "remoting/host/linux/wayland_manager.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/portal/xdg_session_details.h"
namespace remoting {
DesktopCaptureOptions;
#if defined(WEBRTC_USE_GIO)
DesktopCaptureMetadata;
#endif
RequestResponse;
SessionDetails;
WaylandDesktopCapturer::WaylandDesktopCapturer(
const DesktopCaptureOptions& options)
: … { … }
WaylandDesktopCapturer::~WaylandDesktopCapturer() { … }
void WaylandDesktopCapturer::Start(Callback* callback) { … }
void WaylandDesktopCapturer::CaptureFrame() { … }
bool WaylandDesktopCapturer::GetSourceList(SourceList* sources) { … }
bool WaylandDesktopCapturer::SelectSource(SourceId id) { … }
void WaylandDesktopCapturer::SetScreenResolution(ScreenResolution resolution,
webrtc::ScreenId screen_id) { … }
void WaylandDesktopCapturer::SetMaxFrameRate(uint32_t max_frame_rate) { … }
#if defined(WEBRTC_USE_GIO)
webrtc::DesktopCaptureMetadata WaylandDesktopCapturer::GetMetadata() { … }
#endif
void WaylandDesktopCapturer::OnScreenCastRequestResult(RequestResponse result,
uint32_t stream_node_id,
int fd) { … }
void WaylandDesktopCapturer::OnScreenCastSessionClosed() { … }
bool WaylandDesktopCapturer::SupportsFrameCallbacks() { … }
}