#include "remoting/host/ipc_video_frame_capturer.h"
#include "base/check.h"
#include "base/notreached.h"
#include "remoting/host/desktop_session_proxy.h"
#include "remoting/host/video_memory_utils.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
#include "third_party/webrtc/modules/desktop_capture/shared_memory.h"
namespace remoting {
IpcVideoFrameCapturer::IpcVideoFrameCapturer(
scoped_refptr<DesktopSessionProxy> desktop_session_proxy)
: … { … }
IpcVideoFrameCapturer::~IpcVideoFrameCapturer() = default;
void IpcVideoFrameCapturer::OnCreateVideoCapturerResult(
mojom::CreateVideoCapturerResultPtr result) { … }
base::WeakPtr<IpcVideoFrameCapturer> IpcVideoFrameCapturer::GetWeakPtr() { … }
void IpcVideoFrameCapturer::Start(Callback* callback) { … }
void IpcVideoFrameCapturer::CaptureFrame() { … }
bool IpcVideoFrameCapturer::GetSourceList(SourceList* sources) { … }
bool IpcVideoFrameCapturer::SelectSource(SourceId id) { … }
void IpcVideoFrameCapturer::OnSharedMemoryRegionCreated(
int id,
base::ReadOnlySharedMemoryRegion region,
uint32_t size) { … }
void IpcVideoFrameCapturer::OnSharedMemoryRegionReleased(int id) { … }
void IpcVideoFrameCapturer::OnCaptureResult(mojom::CaptureResultPtr result) { … }
void IpcVideoFrameCapturer::OnDisconnect() { … }
scoped_refptr<IpcSharedBufferCore> IpcVideoFrameCapturer::GetSharedBufferCore(
int id) { … }
}