#include "remoting/host/mojo_video_capturer.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/task/bind_post_task.h"
#include "remoting/base/auto_thread_task_runner.h"
#include "remoting/host/video_memory_utils.h"
#include "remoting/protocol/desktop_capturer.h"
#include "third_party/webrtc/modules/desktop_capture/shared_memory.h"
namespace remoting {
MojoVideoCapturer::MojoVideoCapturer(
std::unique_ptr<DesktopCapturer> capturer,
scoped_refptr<AutoThreadTaskRunner> caller_task_runner)
: … { … }
MojoVideoCapturer::~MojoVideoCapturer() = default;
void MojoVideoCapturer::SetDisconnectHandler(base::OnceClosure handler) { … }
mojom::CreateVideoCapturerResultPtr MojoVideoCapturer::Start() { … }
void MojoVideoCapturer::CaptureFrame() { … }
void MojoVideoCapturer::SetComposeEnabled(bool enabled) { … }
void MojoVideoCapturer::SetMouseCursor(
std::unique_ptr<webrtc::MouseCursor> mouse_cursor) { … }
void MojoVideoCapturer::SetMouseCursorPosition(
const webrtc::DesktopVector& position) { … }
void MojoVideoCapturer::OnCaptureResult(
webrtc::DesktopCapturer::Result result,
std::unique_ptr<webrtc::DesktopFrame> frame) { … }
void MojoVideoCapturer::OnSharedMemoryRegionCreated(
int id,
base::ReadOnlySharedMemoryRegion region,
uint32_t size) { … }
void MojoVideoCapturer::OnSharedMemoryRegionReleased(int id) { … }
}