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 REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ | 5 #ifndef REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ |
6 #define REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ | 6 #define REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
| 9 #include <memory> |
9 | 10 |
10 #include "base/callback.h" | 11 #include "base/callback.h" |
11 #include "base/memory/scoped_ptr.h" | |
12 #include "base/threading/thread_checker.h" | 12 #include "base/threading/thread_checker.h" |
13 #include "remoting/protocol/frame_consumer.h" | 13 #include "remoting/protocol/frame_consumer.h" |
14 #include "remoting/protocol/video_renderer.h" | 14 #include "remoting/protocol/video_renderer.h" |
15 #include "remoting/protocol/video_stub.h" | 15 #include "remoting/protocol/video_stub.h" |
16 | 16 |
17 namespace remoting { | 17 namespace remoting { |
18 namespace protocol { | 18 namespace protocol { |
19 | 19 |
20 class FakeVideoStub : public VideoStub { | 20 class FakeVideoStub : public VideoStub { |
21 public: | 21 public: |
22 FakeVideoStub(); | 22 FakeVideoStub(); |
23 ~FakeVideoStub() override; | 23 ~FakeVideoStub() override; |
24 | 24 |
25 const std::list<scoped_ptr<VideoPacket>>& received_packets() { | 25 const std::list<std::unique_ptr<VideoPacket>>& received_packets() { |
26 return received_packets_; | 26 return received_packets_; |
27 } | 27 } |
28 | 28 |
29 void set_on_frame_callback(base::Closure on_frame_callback); | 29 void set_on_frame_callback(base::Closure on_frame_callback); |
30 | 30 |
31 // VideoStub interface. | 31 // VideoStub interface. |
32 void ProcessVideoPacket(scoped_ptr<VideoPacket> video_packet, | 32 void ProcessVideoPacket(std::unique_ptr<VideoPacket> video_packet, |
33 const base::Closure& done) override; | 33 const base::Closure& done) override; |
| 34 |
34 private: | 35 private: |
35 base::ThreadChecker thread_checker_; | 36 base::ThreadChecker thread_checker_; |
36 | 37 |
37 std::list<scoped_ptr<VideoPacket>> received_packets_; | 38 std::list<std::unique_ptr<VideoPacket>> received_packets_; |
38 base::Closure on_frame_callback_; | 39 base::Closure on_frame_callback_; |
39 }; | 40 }; |
40 | 41 |
41 class FakeFrameConsumer : public FrameConsumer { | 42 class FakeFrameConsumer : public FrameConsumer { |
42 public: | 43 public: |
43 FakeFrameConsumer(); | 44 FakeFrameConsumer(); |
44 ~FakeFrameConsumer() override; | 45 ~FakeFrameConsumer() override; |
45 | 46 |
46 const std::list<scoped_ptr<webrtc::DesktopFrame>>& received_frames() { | 47 const std::list<std::unique_ptr<webrtc::DesktopFrame>>& received_frames() { |
47 return received_frames_; | 48 return received_frames_; |
48 } | 49 } |
49 | 50 |
50 void set_on_frame_callback(base::Closure on_frame_callback); | 51 void set_on_frame_callback(base::Closure on_frame_callback); |
51 | 52 |
52 // FrameConsumer interface. | 53 // FrameConsumer interface. |
53 scoped_ptr<webrtc::DesktopFrame> AllocateFrame( | 54 std::unique_ptr<webrtc::DesktopFrame> AllocateFrame( |
54 const webrtc::DesktopSize& size) override; | 55 const webrtc::DesktopSize& size) override; |
55 void DrawFrame(scoped_ptr<webrtc::DesktopFrame> frame, | 56 void DrawFrame(std::unique_ptr<webrtc::DesktopFrame> frame, |
56 const base::Closure& done) override; | 57 const base::Closure& done) override; |
57 PixelFormat GetPixelFormat() override; | 58 PixelFormat GetPixelFormat() override; |
58 | 59 |
59 private: | 60 private: |
60 base::ThreadChecker thread_checker_; | 61 base::ThreadChecker thread_checker_; |
61 | 62 |
62 std::list<scoped_ptr<webrtc::DesktopFrame>> received_frames_; | 63 std::list<std::unique_ptr<webrtc::DesktopFrame>> received_frames_; |
63 base::Closure on_frame_callback_; | 64 base::Closure on_frame_callback_; |
64 }; | 65 }; |
65 | 66 |
66 class FakeVideoRenderer : public VideoRenderer { | 67 class FakeVideoRenderer : public VideoRenderer { |
67 public: | 68 public: |
68 FakeVideoRenderer(); | 69 FakeVideoRenderer(); |
69 ~FakeVideoRenderer() override; | 70 ~FakeVideoRenderer() override; |
70 | 71 |
71 // VideoRenderer interface. | 72 // VideoRenderer interface. |
72 void OnSessionConfig(const SessionConfig& config) override; | 73 void OnSessionConfig(const SessionConfig& config) override; |
73 FakeVideoStub* GetVideoStub() override; | 74 FakeVideoStub* GetVideoStub() override; |
74 FakeFrameConsumer* GetFrameConsumer() override; | 75 FakeFrameConsumer* GetFrameConsumer() override; |
75 | 76 |
76 private: | 77 private: |
77 base::ThreadChecker thread_checker_; | 78 base::ThreadChecker thread_checker_; |
78 | 79 |
79 FakeVideoStub video_stub_; | 80 FakeVideoStub video_stub_; |
80 FakeFrameConsumer frame_consumer_; | 81 FakeFrameConsumer frame_consumer_; |
81 }; | 82 }; |
82 | 83 |
83 } // namespace protocol | 84 } // namespace protocol |
84 } // namespace remoting | 85 } // namespace remoting |
85 | 86 |
86 #endif // REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ | 87 #endif // REMOTING_PROTOCOL_FAKE_VIDEO_RENDERER_H_ |
OLD | NEW |