OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "remoting/client/plugin/pepper_video_renderer_2d.h" | 5 #include "remoting/client/plugin/pepper_video_renderer_2d.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/callback_helpers.h" | 12 #include "base/callback_helpers.h" |
| 13 #include "base/memory/ptr_util.h" |
13 #include "base/strings/string_util.h" | 14 #include "base/strings/string_util.h" |
14 #include "base/task_runner_util.h" | 15 #include "base/task_runner_util.h" |
15 #include "ppapi/cpp/completion_callback.h" | 16 #include "ppapi/cpp/completion_callback.h" |
16 #include "ppapi/cpp/image_data.h" | 17 #include "ppapi/cpp/image_data.h" |
17 #include "ppapi/cpp/instance.h" | 18 #include "ppapi/cpp/instance.h" |
18 #include "ppapi/cpp/point.h" | 19 #include "ppapi/cpp/point.h" |
19 #include "ppapi/cpp/rect.h" | 20 #include "ppapi/cpp/rect.h" |
20 #include "ppapi/cpp/size.h" | 21 #include "ppapi/cpp/size.h" |
21 #include "remoting/base/util.h" | 22 #include "remoting/base/util.h" |
22 #include "remoting/client/client_context.h" | 23 #include "remoting/client/client_context.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 114 |
114 return software_video_renderer_->GetVideoStub(); | 115 return software_video_renderer_->GetVideoStub(); |
115 } | 116 } |
116 | 117 |
117 protocol::FrameConsumer* PepperVideoRenderer2D::GetFrameConsumer() { | 118 protocol::FrameConsumer* PepperVideoRenderer2D::GetFrameConsumer() { |
118 DCHECK(thread_checker_.CalledOnValidThread()); | 119 DCHECK(thread_checker_.CalledOnValidThread()); |
119 | 120 |
120 return software_video_renderer_->GetFrameConsumer(); | 121 return software_video_renderer_->GetFrameConsumer(); |
121 } | 122 } |
122 | 123 |
123 scoped_ptr<webrtc::DesktopFrame> PepperVideoRenderer2D::AllocateFrame( | 124 std::unique_ptr<webrtc::DesktopFrame> PepperVideoRenderer2D::AllocateFrame( |
124 const webrtc::DesktopSize& size) { | 125 const webrtc::DesktopSize& size) { |
125 DCHECK(thread_checker_.CalledOnValidThread()); | 126 DCHECK(thread_checker_.CalledOnValidThread()); |
126 | 127 |
127 pp::ImageData buffer_data(instance_, PP_IMAGEDATAFORMAT_BGRA_PREMUL, | 128 pp::ImageData buffer_data(instance_, PP_IMAGEDATAFORMAT_BGRA_PREMUL, |
128 pp::Size(size.width(), size.height()), false); | 129 pp::Size(size.width(), size.height()), false); |
129 return make_scoped_ptr(new PepperDesktopFrame(buffer_data)); | 130 return base::WrapUnique(new PepperDesktopFrame(buffer_data)); |
130 } | 131 } |
131 | 132 |
132 void PepperVideoRenderer2D::DrawFrame(scoped_ptr<webrtc::DesktopFrame> frame, | 133 void PepperVideoRenderer2D::DrawFrame( |
133 const base::Closure& done) { | 134 std::unique_ptr<webrtc::DesktopFrame> frame, |
| 135 const base::Closure& done) { |
134 DCHECK(thread_checker_.CalledOnValidThread()); | 136 DCHECK(thread_checker_.CalledOnValidThread()); |
135 | 137 |
136 if (!frame_received_) { | 138 if (!frame_received_) { |
137 event_handler_->OnVideoFirstFrameReceived(); | 139 event_handler_->OnVideoFirstFrameReceived(); |
138 frame_received_ = true; | 140 frame_received_ = true; |
139 } | 141 } |
140 | 142 |
141 bool size_changed = !source_size_.equals(frame->size()); | 143 bool size_changed = !source_size_.equals(frame->size()); |
142 if (size_changed) { | 144 if (size_changed) { |
143 source_size_ = frame->size(); | 145 source_size_ = frame->size(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 flush_pending_ = false; | 208 flush_pending_ = false; |
207 | 209 |
208 // Call all callbacks for the frames we've just flushed. | 210 // Call all callbacks for the frames we've just flushed. |
209 flushing_frames_done_callbacks_.clear(); | 211 flushing_frames_done_callbacks_.clear(); |
210 | 212 |
211 // Flush again if necessary. | 213 // Flush again if necessary. |
212 Flush(); | 214 Flush(); |
213 } | 215 } |
214 | 216 |
215 } // namespace remoting | 217 } // namespace remoting |
OLD | NEW |