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 |