Change a disabled MediaStreamVideoTrack to output black video frames for each incomin...
[chromium-blink-merge.git] / content / renderer / media / mock_media_stream_video_sink.cc
blob7a054ab3f715ff1d3ee22422a2470ca0c0f5a22a
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
3 // found in the LICENSE file.
5 #include "content/renderer/media/mock_media_stream_video_sink.h"
7 #include "media/base/bind_to_current_loop.h"
9 namespace content {
11 MockMediaStreamVideoSink::MockMediaStreamVideoSink()
12 : number_of_frames_(0),
13 enabled_(true),
14 format_(media::VideoFrame::UNKNOWN),
15 state_(blink::WebMediaStreamSource::ReadyStateLive),
16 weak_factory_(this) {
19 MockMediaStreamVideoSink::~MockMediaStreamVideoSink() {
22 VideoCaptureDeliverFrameCB
23 MockMediaStreamVideoSink::GetDeliverFrameCB() {
24 return media::BindToCurrentLoop(
25 base::Bind(
26 &MockMediaStreamVideoSink::DeliverVideoFrame,
27 weak_factory_.GetWeakPtr()));
30 void MockMediaStreamVideoSink::DeliverVideoFrame(
31 const scoped_refptr<media::VideoFrame>& frame,
32 const media::VideoCaptureFormat& format,
33 const base::TimeTicks& estimated_capture_time) {
34 last_frame_ = frame;
35 ++number_of_frames_;
36 format_ = frame->format();
37 frame_size_ = frame->natural_size();
38 OnVideoFrame();
41 void MockMediaStreamVideoSink::OnReadyStateChanged(
42 blink::WebMediaStreamSource::ReadyState state) {
43 state_ = state;
46 void MockMediaStreamVideoSink::OnEnabledChanged(bool enabled) {
47 enabled_ = enabled;
50 } // namespace content