12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CC_TEST_FAKE_VIDEO_FRAME_PROVIDER_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_TEST_FAKE_VIDEO_FRAME_PROVIDER_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/layers/video_frame_provider.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "media/base/video_frame.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc { 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Fake video frame provider that always provides the same VideoFrame. 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class FakeVideoFrameProvider : public VideoFrameProvider { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) FakeVideoFrameProvider(); 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~FakeVideoFrameProvider(); 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetVideoFrameProviderClient(Client* client) OVERRIDE; 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual scoped_refptr<media::VideoFrame> GetCurrentFrame() OVERRIDE; 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void PutCurrentFrame(const scoped_refptr<media::VideoFrame>&) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OVERRIDE {} 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch Client* client() { return client_; } 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void set_frame(const scoped_refptr<media::VideoFrame>& frame) { 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) frame_ = frame; 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) scoped_refptr<media::VideoFrame> frame_; 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Client* client_; 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace cc 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CC_TEST_FAKE_VIDEO_FRAME_PROVIDER_H_ 38