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_METHOD1(Initialize, bool(VideoCodecProfile profile)); 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 36 private: 37 void DeleteThis(); 38 DISALLOW_COPY_AND_ASSIGN(MockVideoDecodeAccelerator); 39}; 40 41} // namespace media 42 43#endif // MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ 44