Home | History | Annotate | Download | only in video
      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