mock_video_decode_accelerator.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifndef MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_
  5. #define MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_
  6. #include "video_decode_accelerator.h"
  7. #include <stdint.h>
  8. #include <vector>
  9. #include "media/base/bitstream_buffer.h"
  10. #include "media/base/video_decoder_config.h"
  11. #include "media/video/picture.h"
  12. #include "testing/gmock/include/gmock/gmock.h"
  13. namespace media {
  14. // Remember to use the default action of Destroy() when using EXPECT_CALL.
  15. // Otherwise, the mock will be leaked and the test runner will complain.
  16. class MockVideoDecodeAccelerator : public VideoDecodeAccelerator {
  17. public:
  18. MockVideoDecodeAccelerator();
  19. MockVideoDecodeAccelerator(const MockVideoDecodeAccelerator&) = delete;
  20. MockVideoDecodeAccelerator& operator=(const MockVideoDecodeAccelerator&) =
  21. delete;
  22. ~MockVideoDecodeAccelerator() override;
  23. MOCK_METHOD2(Initialize, bool(const Config& config, Client* client));
  24. MOCK_METHOD1(Decode, void(BitstreamBuffer bitstream_buffer));
  25. MOCK_METHOD2(Decode,
  26. void(scoped_refptr<DecoderBuffer> buffer, int32_t bitstream_id));
  27. MOCK_METHOD1(AssignPictureBuffers,
  28. void(const std::vector<PictureBuffer>& buffers));
  29. MOCK_METHOD1(ReusePictureBuffer, void(int32_t picture_buffer_id));
  30. MOCK_METHOD0(Flush, void());
  31. MOCK_METHOD0(Reset, void());
  32. MOCK_METHOD0(Destroy, void());
  33. MOCK_METHOD2(TryToSetupDecodeOnSeparateThread,
  34. bool(const base::WeakPtr<Client>&,
  35. const scoped_refptr<base::SingleThreadTaskRunner>&));
  36. private:
  37. void DeleteThis();
  38. };
  39. } // namespace media
  40. #endif // MEDIA_VIDEO_MOCK_VIDEO_DECODE_ACCELERATOR_H_