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 18 namespace 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. 22 class 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