1// Copyright 2013 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#ifndef MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 6#define MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 7 8#include "video_decode_accelerator.h" 9 10#include <vector> 11 12#include "base/basictypes.h" 13#include "media/base/bitstream_buffer.h" 14#include "media/base/video_decoder_config.h" 15#include "media/video/picture.h" 16#include "testing/gmock/include/gmock/gmock.h" 17 18namespace media { 19 20// Remember to use the default action of Destroy() when using EXPECT_CALL. 21// Otherwise, the mock will be leaked and the test runner will complain. 22class MockVideoDecodeAccelerator : public VideoDecodeAccelerator { 23 public: 24 MockVideoDecodeAccelerator(); 25 virtual ~MockVideoDecodeAccelerator(); 26 27 MOCK_METHOD2(Initialize, bool(VideoCodecProfile profile, Client* client)); 28 MOCK_METHOD1(Decode, void(const BitstreamBuffer& bitstream_buffer)); 29 MOCK_METHOD1(AssignPictureBuffers, 30 void(const std::vector<PictureBuffer>& buffers)); 31 MOCK_METHOD1(ReusePictureBuffer, void(int32 picture_buffer_id)); 32 MOCK_METHOD0(Flush, void()); 33 MOCK_METHOD0(Reset, void()); 34 MOCK_METHOD0(Destroy, void()); 35 MOCK_METHOD0(CanDecodeOnIOThread, bool()); 36 37 private: 38 void DeleteThis(); 39 DISALLOW_COPY_AND_ASSIGN(MockVideoDecodeAccelerator); 40}; 41 42} // namespace media 43 44#endif // MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 45