#include "components/mirroring/service/video_capture_client.h"
#include "base/functional/bind.h"
#include "base/memory/read_only_shared_memory_region.h"
#include "base/task/bind_post_task.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
#include "media/base/video_frame.h"
#include "media/base/video_frame_pool.h"
#include "media/capture/mojom/video_capture_buffer.mojom.h"
#include "media/capture/mojom/video_capture_types.mojom.h"
namespace mirroring {
namespace {
const base::UnguessableToken& DeviceId() { … }
const base::UnguessableToken& SessionId() { … }
}
VideoCaptureClient::VideoCaptureClient(
const media::VideoCaptureParams& params,
mojo::PendingRemote<media::mojom::VideoCaptureHost> host)
: … { … }
VideoCaptureClient::~VideoCaptureClient() { … }
void VideoCaptureClient::Start(FrameDeliverCallback deliver_callback,
base::OnceClosure error_callback) { … }
void VideoCaptureClient::Stop() { … }
void VideoCaptureClient::Pause() { … }
void VideoCaptureClient::Resume(FrameDeliverCallback deliver_callback) { … }
void VideoCaptureClient::RequestRefreshFrame() { … }
void VideoCaptureClient::SwitchVideoCaptureHost(
mojo::PendingRemote<media::mojom::VideoCaptureHost> host) { … }
void VideoCaptureClient::OnStateChanged(
media::mojom::VideoCaptureResultPtr result) { … }
void VideoCaptureClient::OnNewBuffer(
int32_t buffer_id,
media::mojom::VideoBufferHandlePtr buffer_handle) { … }
void VideoCaptureClient::OnBufferReady(media::mojom::ReadyBufferPtr buffer) { … }
void VideoCaptureClient::OnBufferDestroyed(int32_t buffer_id) { … }
void VideoCaptureClient::OnFrameDropped(
media::VideoCaptureFrameDropReason reason) { … }
void VideoCaptureClient::OnNewSubCaptureTargetVersion(
uint32_t sub_capture_target_version) { … }
void VideoCaptureClient::OnClientBufferFinished(int buffer_id,
MappingKeepAlive mapping) { … }
void VideoCaptureClient::DidFinishConsumingFrame(
BufferFinishedCallback callback) { … }
void VideoCaptureClient::ProcessFeedback(
const media::VideoCaptureFeedback& feedback) { … }
}