• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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