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

Side by Side Diff: content/renderer/media/mock_media_stream_video_sink.cc

Issue 264363005: Cast: deliver video frames on the IO thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged Created 6 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 | Annotate | Revision Log
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/media/mock_media_stream_video_sink.h" 5 #include "content/renderer/media/mock_media_stream_video_sink.h"
6 6
7 #include "media/base/bind_to_current_loop.h"
8
7 namespace content { 9 namespace content {
8 10
9 MockMediaStreamVideoSink::MockMediaStreamVideoSink() 11 MockMediaStreamVideoSink::MockMediaStreamVideoSink()
10 : number_of_frames_(0), 12 : number_of_frames_(0),
11 enabled_(true), 13 enabled_(true),
12 format_(media::VideoFrame::UNKNOWN), 14 format_(media::VideoFrame::UNKNOWN),
13 state_(blink::WebMediaStreamSource::ReadyStateLive) { 15 state_(blink::WebMediaStreamSource::ReadyStateLive),
16 weak_factory_(this) {
perkj_chrome 2014/05/08 08:15:08 Can you add thread checks to this class? Just to m
14 } 17 }
15 18
16 MockMediaStreamVideoSink::~MockMediaStreamVideoSink() { 19 MockMediaStreamVideoSink::~MockMediaStreamVideoSink() {
17 } 20 }
18 21
19 void MockMediaStreamVideoSink::OnVideoFrame( 22 VideoCaptureDeliverFrameCB
20 const scoped_refptr<media::VideoFrame>& frame) { 23 MockMediaStreamVideoSink::GetDeliverFrameCB() {
24 return media::BindToCurrentLoop(
25 base::Bind(
26 &MockMediaStreamVideoSink::DeliverVideoFrame,
27 weak_factory_.GetWeakPtr()));
28 }
29
30 void MockMediaStreamVideoSink::DeliverVideoFrame(
31 const scoped_refptr<media::VideoFrame>& frame,
32 const media::VideoCaptureFormat& format) {
21 ++number_of_frames_; 33 ++number_of_frames_;
22 format_ = frame->format(); 34 format_ = frame->format();
23 frame_size_ = frame->natural_size(); 35 frame_size_ = frame->natural_size();
24 OnVideoFrame(); 36 OnVideoFrame();
25 } 37 }
26 38
27 void MockMediaStreamVideoSink::OnReadyStateChanged( 39 void MockMediaStreamVideoSink::OnReadyStateChanged(
28 blink::WebMediaStreamSource::ReadyState state) { 40 blink::WebMediaStreamSource::ReadyState state) {
29 state_ = state; 41 state_ = state;
30 } 42 }
31 43
32 void MockMediaStreamVideoSink::OnEnabledChanged(bool enabled) { 44 void MockMediaStreamVideoSink::OnEnabledChanged(bool enabled) {
33 enabled_ = enabled; 45 enabled_ = enabled;
34 } 46 }
35 47
36 } // namespace content 48 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698