Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: content/renderer/pepper/pepper_media_stream_video_track_host.cc

Issue 1142063003: content/child: Remove use of MessageLoopProxy and deprecated MessageLoop APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Build fix. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/renderer/pepper/pepper_media_stream_video_track_host.h" 5 #include "content/renderer/pepper/pepper_media_stream_video_track_host.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/rand_util.h" 9 #include "base/rand_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 175
176 } // namespace 176 } // namespace
177 177
178 namespace content { 178 namespace content {
179 179
180 // Internal class used for delivering video frames on the IO-thread to 180 // Internal class used for delivering video frames on the IO-thread to
181 // the MediaStreamVideoSource implementation. 181 // the MediaStreamVideoSource implementation.
182 class PepperMediaStreamVideoTrackHost::FrameDeliverer 182 class PepperMediaStreamVideoTrackHost::FrameDeliverer
183 : public base::RefCountedThreadSafe<FrameDeliverer> { 183 : public base::RefCountedThreadSafe<FrameDeliverer> {
184 public: 184 public:
185 FrameDeliverer( 185 FrameDeliverer(scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
186 const scoped_refptr<base::MessageLoopProxy>& io_message_loop_proxy, 186 const VideoCaptureDeliverFrameCB& new_frame_callback);
187 const VideoCaptureDeliverFrameCB& new_frame_callback);
188 187
189 void DeliverVideoFrame(const scoped_refptr<media::VideoFrame>& frame); 188 void DeliverVideoFrame(const scoped_refptr<media::VideoFrame>& frame);
190 189
191 private: 190 private:
192 friend class base::RefCountedThreadSafe<FrameDeliverer>; 191 friend class base::RefCountedThreadSafe<FrameDeliverer>;
193 virtual ~FrameDeliverer(); 192 virtual ~FrameDeliverer();
194 193
195 void DeliverFrameOnIO(const scoped_refptr<media::VideoFrame>& frame); 194 void DeliverFrameOnIO(const scoped_refptr<media::VideoFrame>& frame);
196 195
197 scoped_refptr<base::MessageLoopProxy> io_message_loop_; 196 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
198 VideoCaptureDeliverFrameCB new_frame_callback_; 197 VideoCaptureDeliverFrameCB new_frame_callback_;
199 198
200 DISALLOW_COPY_AND_ASSIGN(FrameDeliverer); 199 DISALLOW_COPY_AND_ASSIGN(FrameDeliverer);
201 }; 200 };
202 201
203 PepperMediaStreamVideoTrackHost::FrameDeliverer::FrameDeliverer( 202 PepperMediaStreamVideoTrackHost::FrameDeliverer::FrameDeliverer(
204 const scoped_refptr<base::MessageLoopProxy>& io_message_loop_proxy, 203 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
205 const VideoCaptureDeliverFrameCB& new_frame_callback) 204 const VideoCaptureDeliverFrameCB& new_frame_callback)
206 : io_message_loop_(io_message_loop_proxy), 205 : io_task_runner_(io_task_runner), new_frame_callback_(new_frame_callback) {
207 new_frame_callback_(new_frame_callback) {
208 } 206 }
209 207
210 PepperMediaStreamVideoTrackHost::FrameDeliverer::~FrameDeliverer() { 208 PepperMediaStreamVideoTrackHost::FrameDeliverer::~FrameDeliverer() {
211 } 209 }
212 210
213 void PepperMediaStreamVideoTrackHost::FrameDeliverer::DeliverVideoFrame( 211 void PepperMediaStreamVideoTrackHost::FrameDeliverer::DeliverVideoFrame(
214 const scoped_refptr<media::VideoFrame>& frame) { 212 const scoped_refptr<media::VideoFrame>& frame) {
215 io_message_loop_->PostTask( 213 io_task_runner_->PostTask(
216 FROM_HERE, 214 FROM_HERE, base::Bind(&FrameDeliverer::DeliverFrameOnIO, this, frame));
217 base::Bind(&FrameDeliverer::DeliverFrameOnIO, this, frame));
218 } 215 }
219 216
220 void PepperMediaStreamVideoTrackHost::FrameDeliverer::DeliverFrameOnIO( 217 void PepperMediaStreamVideoTrackHost::FrameDeliverer::DeliverFrameOnIO(
221 const scoped_refptr<media::VideoFrame>& frame) { 218 const scoped_refptr<media::VideoFrame>& frame) {
222 DCHECK(io_message_loop_->BelongsToCurrentThread()); 219 DCHECK(io_task_runner_->BelongsToCurrentThread());
223 // The time when this frame is generated is unknown so give a null value to 220 // The time when this frame is generated is unknown so give a null value to
224 // |estimated_capture_time|. 221 // |estimated_capture_time|.
225 new_frame_callback_.Run(frame, base::TimeTicks()); 222 new_frame_callback_.Run(frame, base::TimeTicks());
226 } 223 }
227 224
228 PepperMediaStreamVideoTrackHost::PepperMediaStreamVideoTrackHost( 225 PepperMediaStreamVideoTrackHost::PepperMediaStreamVideoTrackHost(
229 RendererPpapiHost* host, 226 RendererPpapiHost* host,
230 PP_Instance instance, 227 PP_Instance instance,
231 PP_Resource resource, 228 PP_Resource resource,
232 const blink::WebMediaStreamTrack& track) 229 const blink::WebMediaStreamTrack& track)
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 kDefaultOutputFrameRate, 426 kDefaultOutputFrameRate,
430 ToPixelFormat(plugin_frame_format_))); 427 ToPixelFormat(plugin_frame_format_)));
431 callback.Run(formats); 428 callback.Run(formats);
432 } 429 }
433 430
434 void PepperMediaStreamVideoTrackHost::StartSourceImpl( 431 void PepperMediaStreamVideoTrackHost::StartSourceImpl(
435 const media::VideoCaptureFormat& format, 432 const media::VideoCaptureFormat& format,
436 const blink::WebMediaConstraints& constraints, 433 const blink::WebMediaConstraints& constraints,
437 const VideoCaptureDeliverFrameCB& frame_callback) { 434 const VideoCaptureDeliverFrameCB& frame_callback) {
438 output_started_ = true; 435 output_started_ = true;
439 frame_deliverer_ = new FrameDeliverer(io_message_loop(), frame_callback); 436 frame_deliverer_ = new FrameDeliverer(io_task_runner(), frame_callback);
440 } 437 }
441 438
442 void PepperMediaStreamVideoTrackHost::StopSourceImpl() { 439 void PepperMediaStreamVideoTrackHost::StopSourceImpl() {
443 output_started_ = false; 440 output_started_ = false;
444 frame_deliverer_ = NULL; 441 frame_deliverer_ = NULL;
445 } 442 }
446 443
447 void PepperMediaStreamVideoTrackHost::DidConnectPendingHostToResource() { 444 void PepperMediaStreamVideoTrackHost::DidConnectPendingHostToResource() {
448 if (!connected_) { 445 if (!connected_) {
449 MediaStreamVideoSink::AddToVideoTrack( 446 MediaStreamVideoSink::AddToVideoTrack(
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 } 527 }
531 528
532 void PepperMediaStreamVideoTrackHost::OnTrackStarted( 529 void PepperMediaStreamVideoTrackHost::OnTrackStarted(
533 MediaStreamSource* source, 530 MediaStreamSource* source,
534 MediaStreamRequestResult result, 531 MediaStreamRequestResult result,
535 const blink::WebString& result_name) { 532 const blink::WebString& result_name) {
536 DVLOG(3) << "OnTrackStarted result: " << result; 533 DVLOG(3) << "OnTrackStarted result: " << result;
537 } 534 }
538 535
539 } // namespace content 536 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_hung_plugin_filter.cc ('k') | content/renderer/pepper/pepper_platform_audio_input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698