// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_TEST_TEST_VIDEO_RENDERER_H_ #define REMOTING_TEST_TEST_VIDEO_RENDERER_H_ #include "base/callback.h" #include "base/memory/scoped_ptr.h" #include "remoting/client/video_renderer.h" #include "remoting/protocol/video_stub.h" namespace remoting { namespace test { // Processes video packets as they are received from the remote host. class TestVideoRenderer : public VideoRenderer, public protocol::VideoStub { public: TestVideoRenderer(); ~TestVideoRenderer() override; // VideoRenderer interface. void OnSessionConfig(const protocol::SessionConfig& config) override; ChromotingStats* GetStats() override; protocol::VideoStub* GetVideoStub() override; private: // protocol::VideoStub interface. void ProcessVideoPacket(scoped_ptr video_packet, const base::Closure& done) override; // Track the number of populated video frames which have been received. int video_frames_processed_; DISALLOW_COPY_AND_ASSIGN(TestVideoRenderer); }; } // namespace test } // namespace remoting #endif // REMOTING_TEST_TEST_VIDEO_RENDERER_H_