| Index: services/video_capture/receiver_mojo_to_media_adapter.cc
|
| diff --git a/services/video_capture/receiver_mojo_to_media_adapter.cc b/services/video_capture/receiver_mojo_to_media_adapter.cc
|
| index 769c3f9a874c7e5743c8f130c8b96ed96c71d989..f3a199d597401e0183626162fc75e5f234ad27c4 100644
|
| --- a/services/video_capture/receiver_mojo_to_media_adapter.cc
|
| +++ b/services/video_capture/receiver_mojo_to_media_adapter.cc
|
| @@ -27,12 +27,81 @@ class ScopedAccessPermissionMediaToMojoAdapter
|
|
|
| namespace video_capture {
|
|
|
| +ReceiverOnTaskRunner::ReceiverOnTaskRunner(
|
| + std::unique_ptr<media::VideoFrameReceiver> receiver,
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner)
|
| + : receiver_(std::move(receiver)), task_runner_(std::move(task_runner)) {}
|
| +
|
| +ReceiverOnTaskRunner::~ReceiverOnTaskRunner() {
|
| + task_runner_->DeleteSoon(FROM_HERE, receiver_.release());
|
| +}
|
| +
|
| +// media::VideoFrameReceiver:
|
| +void ReceiverOnTaskRunner::OnNewBufferHandle(
|
| + int buffer_id,
|
| + std::unique_ptr<media::VideoCaptureDevice::Client::Buffer::HandleProvider>
|
| + handle_provider) {
|
| + task_runner_->PostTask(
|
| + FROM_HERE, base::Bind(&media::VideoFrameReceiver::OnNewBufferHandle,
|
| + base::Unretained(receiver_.get()), buffer_id,
|
| + base::Passed(&handle_provider)));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnFrameReadyInBuffer(
|
| + int buffer_id,
|
| + int frame_feedback_id,
|
| + std::unique_ptr<
|
| + media::VideoCaptureDevice::Client::Buffer::ScopedAccessPermission>
|
| + buffer_read_permission,
|
| + media::mojom::VideoFrameInfoPtr frame_info) {
|
| + task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&media::VideoFrameReceiver::OnFrameReadyInBuffer,
|
| + base::Unretained(receiver_.get()), buffer_id,
|
| + frame_feedback_id, base::Passed(&buffer_read_permission),
|
| + base::Passed(&frame_info)));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnBufferRetired(int buffer_id) {
|
| + task_runner_->PostTask(
|
| + FROM_HERE, base::Bind(&media::VideoFrameReceiver::OnBufferRetired,
|
| + base::Unretained(receiver_.get()), buffer_id));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnError() {
|
| + task_runner_->PostTask(FROM_HERE,
|
| + base::Bind(&media::VideoFrameReceiver::OnError,
|
| + base::Unretained(receiver_.get())));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnLog(const std::string& message) {
|
| + task_runner_->PostTask(
|
| + FROM_HERE, base::Bind(&media::VideoFrameReceiver::OnLog,
|
| + base::Unretained(receiver_.get()), message));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnStarted() {
|
| + task_runner_->PostTask(FROM_HERE,
|
| + base::Bind(&media::VideoFrameReceiver::OnStarted,
|
| + base::Unretained(receiver_.get())));
|
| +}
|
| +
|
| +void ReceiverOnTaskRunner::OnStartedUsingGpuDecode() {
|
| + task_runner_->PostTask(
|
| + FROM_HERE, base::Bind(&media::VideoFrameReceiver::OnStartedUsingGpuDecode,
|
| + base::Unretained(receiver_.get())));
|
| +}
|
| +
|
| ReceiverMojoToMediaAdapter::ReceiverMojoToMediaAdapter(
|
| mojom::ReceiverPtr receiver)
|
| : receiver_(std::move(receiver)) {}
|
|
|
| ReceiverMojoToMediaAdapter::~ReceiverMojoToMediaAdapter() = default;
|
|
|
| +void ReceiverMojoToMediaAdapter::ResetConnectionErrorHandler() {
|
| + receiver_.set_connection_error_handler(base::Closure());
|
| +}
|
| +
|
| void ReceiverMojoToMediaAdapter::OnNewBufferHandle(
|
| int buffer_id,
|
| std::unique_ptr<media::VideoCaptureDevice::Client::Buffer::HandleProvider>
|
|
|