diff options
Diffstat (limited to 'video/test/mock_video_stream_encoder.h')
-rw-r--r-- | video/test/mock_video_stream_encoder.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/video/test/mock_video_stream_encoder.h b/video/test/mock_video_stream_encoder.h new file mode 100644 index 0000000000..55f6063f23 --- /dev/null +++ b/video/test/mock_video_stream_encoder.h @@ -0,0 +1,44 @@ +/* + * Copyright 2018 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ +#ifndef VIDEO_TEST_MOCK_VIDEO_STREAM_ENCODER_H_ +#define VIDEO_TEST_MOCK_VIDEO_STREAM_ENCODER_H_ + +#include "test/gmock.h" +#include "video/video_stream_encoder.h" + +namespace webrtc { + +class MockVideoStreamEncoder : public VideoStreamEncoderInterface { + public: + MOCK_METHOD2(SetSource, + void(rtc::VideoSourceInterface<VideoFrame>*, + const VideoSendStream::DegradationPreference&)); + MOCK_METHOD2(SetSink, void(EncoderSink*, bool)); + MOCK_METHOD1(SetStartBitrate, void(int)); + MOCK_METHOD0(SendKeyFrame, void()); + MOCK_METHOD3(OnBitrateUpdated, void(uint32_t, uint8_t, int64_t)); + MOCK_METHOD1(OnFrame, void(const VideoFrame&)); + MOCK_METHOD1(SetBitrateObserver, void(VideoBitrateAllocationObserver*)); + MOCK_METHOD0(Stop, void()); + + MOCK_METHOD3(MockedConfigureEncoder, + void(const VideoEncoderConfig&, size_t, bool)); + // gtest generates implicit copy which is not allowed on VideoEncoderConfig, + // so we can't mock ConfigureEncoder directly. + void ConfigureEncoder(VideoEncoderConfig config, + size_t max_data_payload_length, + bool nack_enabled) { + MockedConfigureEncoder(config, max_data_payload_length, nack_enabled); + } +}; + +} // namespace webrtc + +#endif // VIDEO_TEST_MOCK_VIDEO_STREAM_ENCODER_H_ |