1 // Copyright 2012 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.
4 
5 #include "cc/test/fake_video_frame_provider.h"
6 
7 #include "components/viz/common/frame_sinks/begin_frame_args.h"
8 
9 namespace cc {
10 
FakeVideoFrameProvider()11 FakeVideoFrameProvider::FakeVideoFrameProvider()
12     : frame_(nullptr), client_(nullptr), put_current_frame_count_(0) {}
13 
~FakeVideoFrameProvider()14 FakeVideoFrameProvider::~FakeVideoFrameProvider() {
15   if (client_)
16     client_->StopUsingProvider();
17 }
18 
UpdateCurrentFrame(base::TimeTicks deadline_min,base::TimeTicks deadline_max)19 bool FakeVideoFrameProvider::UpdateCurrentFrame(base::TimeTicks deadline_min,
20                                                 base::TimeTicks deadline_max) {
21   return HasCurrentFrame();
22 }
23 
SetVideoFrameProviderClient(Client * client)24 void FakeVideoFrameProvider::SetVideoFrameProviderClient(Client* client) {
25   client_ = client;
26 }
27 
HasCurrentFrame()28 bool FakeVideoFrameProvider::HasCurrentFrame() {
29   return static_cast<bool>(frame_);
30 }
31 
GetCurrentFrame()32 scoped_refptr<media::VideoFrame> FakeVideoFrameProvider::GetCurrentFrame() {
33   return frame_;
34 }
35 
PutCurrentFrame()36 void FakeVideoFrameProvider::PutCurrentFrame() {
37   ++put_current_frame_count_;
38 }
39 
GetPreferredRenderInterval()40 base::TimeDelta FakeVideoFrameProvider::GetPreferredRenderInterval() {
41   return viz::BeginFrameArgs::MinInterval();
42 }
43 
44 }  // namespace cc
45