- add sources.
[platform/framework/web/crosswalk.git] / src / media / video / mock_video_decode_accelerator.h
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_