Chromium Code Reviews| 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 |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..437c95ae3f830be0d1afa4223a58be2917f446e5 |
| --- /dev/null |
| +++ b/services/video_capture/receiver_mojo_to_media_adapter.cc |
| @@ -0,0 +1,44 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "services/video_capture/receiver_mojo_to_media_adapter.h" |
| + |
| +#include "media/mojo/common/media_type_converters.h" |
| +#include "media/mojo/common/mojo_shared_buffer_video_frame.h" |
| + |
| +namespace video_capture { |
| + |
| +ReceiverMojoToMediaAdapter::ReceiverMojoToMediaAdapter( |
| + mojom::VideoFrameReceiverPtr receiver, |
| + const media::VideoCaptureParams& params) |
| + : receiver_(std::move(receiver)) { |
| + // TODO: remove |params| if not needed |
|
mcasas
2016/10/05 17:24:00
Not needed now, right? Remove.
chfremer
2016/10/05 23:30:28
Done.
|
| +} |
| + |
| +ReceiverMojoToMediaAdapter::~ReceiverMojoToMediaAdapter() = default; |
| + |
| +void ReceiverMojoToMediaAdapter::OnIncomingCapturedVideoFrame( |
| + std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer, |
| + const scoped_refptr<media::VideoFrame>& frame) { |
| + // O: |frame| should already be backed by a MojoSharedBufferVideoFrame |
| + // assuming we have used the correct buffer factory with the pool. |
| + // TODO: what do we do for GPU memory buffers? |
| + auto video_frame_ptr = media::mojom::VideoFrame::From(frame); |
| + receiver_->OnIncomingCapturedVideoFrame(std::move(video_frame_ptr)); |
| +} |
| + |
| +void ReceiverMojoToMediaAdapter::OnError() { |
| + receiver_->OnError(); |
| +} |
| + |
| +void ReceiverMojoToMediaAdapter::OnLog(const std::string& message) { |
| + receiver_->OnLog(message); |
| +} |
| + |
| +void ReceiverMojoToMediaAdapter::OnBufferDestroyed(int buffer_id_to_drop) { |
| + // TODO: is this needed? |
| + // Q: How does client tell service that it is finished with a buffer? |
|
mcasas
2016/10/05 17:24:00
This Qs have to turn into TODOs or, if observation
chfremer
2016/10/05 23:30:28
Done.
|
| +} |
| + |
| +} // namespace video_capture |