mock_video_encode_accelerator.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2016 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_ENCODE_ACCELERATOR_H_
  5. #define MEDIA_VIDEO_MOCK_VIDEO_ENCODE_ACCELERATOR_H_
  6. #include "media/video/video_encode_accelerator.h"
  7. #include "media/base/bitstream_buffer.h"
  8. #include "testing/gmock/include/gmock/gmock.h"
  9. namespace media {
  10. class MockVideoEncodeAccelerator : public VideoEncodeAccelerator {
  11. public:
  12. MockVideoEncodeAccelerator();
  13. MockVideoEncodeAccelerator(const MockVideoEncodeAccelerator&) = delete;
  14. MockVideoEncodeAccelerator& operator=(const MockVideoEncodeAccelerator&) =
  15. delete;
  16. ~MockVideoEncodeAccelerator() override;
  17. MOCK_METHOD0(GetSupportedProfiles,
  18. VideoEncodeAccelerator::SupportedProfiles());
  19. MOCK_METHOD3(Initialize,
  20. bool(const VideoEncodeAccelerator::Config& config,
  21. VideoEncodeAccelerator::Client* client,
  22. std::unique_ptr<MediaLog> media_log));
  23. MOCK_METHOD2(Encode,
  24. void(scoped_refptr<VideoFrame> frame, bool force_keyframe));
  25. MOCK_METHOD1(UseOutputBitstreamBuffer, void(BitstreamBuffer buffer));
  26. MOCK_METHOD2(RequestEncodingParametersChange,
  27. void(const Bitrate& bitrate, uint32_t framerate));
  28. MOCK_METHOD0(Destroy, void());
  29. private:
  30. void DeleteThis();
  31. };
  32. } // namespace media
  33. #endif // MEDIA_VIDEO_MOCK_VIDEO_ENCODE_ACCELERATOR_H_