| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ |
| #define MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ |
| |
| #include "video_decode_accelerator.h" |
| |
| #include <stdint.h> |
| |
| #include <vector> |
| |
| #include "base/macros.h" |
| #include "media/base/bitstream_buffer.h" |
| #include "media/base/video_decoder_config.h" |
| #include "media/video/picture.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| |
| namespace media { |
| |
| // Remember to use the default action of Destroy() when using EXPECT_CALL. |
| // Otherwise, the mock will be leaked and the test runner will complain. |
| class MockVideoDecodeAccelerator : public VideoDecodeAccelerator { |
| public: |
| MockVideoDecodeAccelerator(); |
| |
| MockVideoDecodeAccelerator(const MockVideoDecodeAccelerator&) = delete; |
| MockVideoDecodeAccelerator& operator=(const MockVideoDecodeAccelerator&) = |
| delete; |
| |
| ~MockVideoDecodeAccelerator() override; |
| |
| MOCK_METHOD2(Initialize, bool(const Config& config, Client* client)); |
| MOCK_METHOD1(Decode, void(BitstreamBuffer bitstream_buffer)); |
| MOCK_METHOD2(Decode, |
| void(scoped_refptr<DecoderBuffer> buffer, int32_t bitstream_id)); |
| MOCK_METHOD1(AssignPictureBuffers, |
| void(const std::vector<PictureBuffer>& buffers)); |
| MOCK_METHOD1(ReusePictureBuffer, void(int32_t picture_buffer_id)); |
| MOCK_METHOD0(Flush, void()); |
| MOCK_METHOD0(Reset, void()); |
| MOCK_METHOD0(Destroy, void()); |
| MOCK_METHOD2(TryToSetupDecodeOnSeparateThread, |
| bool(const base::WeakPtr<Client>&, |
| const scoped_refptr<base::SingleThreadTaskRunner>&)); |
| |
| private: |
| void DeleteThis(); |
| }; |
| |
| } // namespace media |
| |
| #endif // MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_ |