| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ | 5 #ifndef SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ |
| 6 #define SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ | 6 #define SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ |
| 7 | 7 |
| 8 #include "media/capture/video/video_frame_receiver.h" | 8 #include "media/capture/video/video_frame_receiver.h" |
| 9 #include "services/video_capture/public/interfaces/video_frame_receiver.mojom.h" | 9 #include "services/video_capture/public/interfaces/video_frame_receiver.mojom.h" |
| 10 | 10 |
| 11 namespace media { | |
| 12 class MojoSharedBufferVideoFrame; | |
| 13 } | |
| 14 | |
| 15 namespace video_capture { | 11 namespace video_capture { |
| 16 | 12 |
| 17 // Adapter that allows a mojom::VideoFrameReceiver to be used in place of | 13 // Adapter that allows a mojom::VideoFrameReceiver to be used in place of |
| 18 // a media::VideoFrameReceiver. | 14 // a media::VideoFrameReceiver. |
| 19 class ReceiverMojoToMediaAdapter : public media::VideoFrameReceiver { | 15 class ReceiverMojoToMediaAdapter : public media::VideoFrameReceiver { |
| 20 public: | 16 public: |
| 21 ReceiverMojoToMediaAdapter(mojom::VideoFrameReceiverPtr receiver, | 17 ReceiverMojoToMediaAdapter(mojom::VideoFrameReceiverPtr receiver, |
| 22 const media::VideoCaptureParams& params); | 18 const media::VideoCaptureParams& params); |
| 23 ~ReceiverMojoToMediaAdapter() override; | 19 ~ReceiverMojoToMediaAdapter() override; |
| 24 | 20 |
| 25 // media::VideoFrameReceiver: | 21 // media::VideoFrameReceiver: |
| 26 void OnIncomingCapturedVideoFrame( | 22 void OnIncomingCapturedVideoFrame( |
| 27 std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer, | 23 std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer, |
| 28 scoped_refptr<media::VideoFrame> frame) override; | 24 scoped_refptr<media::VideoFrame> frame) override; |
| 29 void OnError() override; | 25 void OnError() override; |
| 30 void OnLog(const std::string& message) override; | 26 void OnLog(const std::string& message) override; |
| 31 void OnBufferDestroyed(int buffer_id_to_drop) override; | 27 void OnBufferDestroyed(int buffer_id_to_drop) override; |
| 32 | 28 |
| 33 private: | 29 private: |
| 34 mojom::VideoFrameReceiverPtr receiver_; | 30 mojom::VideoFrameReceiverPtr receiver_; |
| 35 scoped_refptr<media::MojoSharedBufferVideoFrame> shared_buffer_frame_; | |
| 36 }; | 31 }; |
| 37 | 32 |
| 38 } // namespace video_capture | 33 } // namespace video_capture |
| 39 | 34 |
| 40 #endif // SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ | 35 #endif // SERVICES_VIDEO_CAPTURE_RECEIVER_MOJO_TO_MEDIA_ADAPTER_H_ |
| OLD | NEW |