diff --git a/call/BUILD.gn b/call/BUILD.gn index 999ff21c3a..a9037c3819 100644 --- a/call/BUILD.gn +++ b/call/BUILD.gn @@ -429,6 +429,7 @@ if (rtc_include_tests) { "../test:encoder_settings", "../test:fake_video_codecs", "../test:field_trial", + "../test:mock_frame_transformer", "../test:mock_transport", "../test:test_common", "../test:test_support", diff --git a/call/rtp_video_sender_unittest.cc b/call/rtp_video_sender_unittest.cc index d7d70342e1..20c6b54e73 100644 --- a/call/rtp_video_sender_unittest.cc +++ b/call/rtp_video_sender_unittest.cc @@ -26,6 +26,7 @@ #include "test/field_trial.h" #include "test/gmock.h" #include "test/gtest.h" +#include "test/mock_frame_transformer.h" #include "test/mock_transport.h" #include "test/scenario/scenario.h" #include "test/time_controller/simulated_time_controller.h" @@ -825,17 +826,6 @@ TEST(RtpVideoSenderTest, CanSetZeroBitrateWithoutOverhead) { } TEST(RtpVideoSenderTest, SimulcastSenderRegistersFrameTransformers) { - class MockFrameTransformer : public FrameTransformerInterface { - public: - MOCK_METHOD3(TransformFrame, - void(std::unique_ptr frame, - std::vector additional_data, - uint32_t ssrc)); - MOCK_METHOD2(RegisterTransformedFrameSinkCallback, - void(rtc::scoped_refptr, uint32_t)); - MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t)); - }; - rtc::scoped_refptr transformer = new rtc::RefCountedObject(); diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 9f889cde8d..edad7cef1a 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -543,6 +543,7 @@ if (rtc_include_tests) { "../../rtc_base:task_queue_for_test", "../../system_wrappers", "../../test:field_trial", + "../../test:mock_frame_transformer", "../../test:mock_transport", "../../test:rtp_test_utils", "../../test:test_common", diff --git a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc index 6799fe9573..c79cffd910 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc @@ -36,6 +36,7 @@ #include "rtc_base/rate_limiter.h" #include "test/gmock.h" #include "test/gtest.h" +#include "test/mock_frame_transformer.h" namespace webrtc { @@ -873,20 +874,9 @@ TEST_P(RtpSenderVideoTest, PopulatesPlayoutDelay) { EXPECT_EQ(received_delay, kExpectedDelay); } -class MockFrameTransformer : public FrameTransformerInterface { - public: - MOCK_METHOD3(TransformFrame, - void(std::unique_ptr frame, - std::vector additional_data, - uint32_t ssrc)); - MOCK_METHOD2(RegisterTransformedFrameSinkCallback, - void(rtc::scoped_refptr, uint32_t)); - MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t)); -}; - TEST_P(RtpSenderVideoTest, SendEncodedImageWithFrameTransformer) { rtc::scoped_refptr transformer = - new rtc::RefCountedObject(); + new rtc::RefCountedObject>(); RTPSenderVideo::Config config; config.clock = &fake_clock_; config.rtp_sender = rtp_module_->RtpSender(); diff --git a/test/BUILD.gn b/test/BUILD.gn index a78b5adbb2..ef6f8d6b7e 100644 --- a/test/BUILD.gn +++ b/test/BUILD.gn @@ -873,6 +873,16 @@ rtc_source_set("test_renderer") { } } +rtc_library("mock_frame_transformer") { + visibility = [ "*" ] + testonly = true + sources = [ "mock_frame_transformer.h" ] + deps = [ + "../api:frame_transformer_interface", + "../test:test_support", + ] +} + if (is_mac) { rtc_library("test_renderer_objc") { testonly = true diff --git a/test/mock_frame_transformer.h b/test/mock_frame_transformer.h new file mode 100644 index 0000000000..2b3b94e459 --- /dev/null +++ b/test/mock_frame_transformer.h @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2020 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 TEST_MOCK_FRAME_TRANSFORMER_H_ +#define TEST_MOCK_FRAME_TRANSFORMER_H_ + +#include +#include + +#include "api/frame_transformer_interface.h" +#include "test/gmock.h" + +namespace webrtc { + +class MockFrameTransformer : public FrameTransformerInterface { + public: + MOCK_METHOD(void, + TransformFrame, + (std::unique_ptr, + std::vector, + uint32_t), + (override)); + MOCK_METHOD(void, + Transform, + (std::unique_ptr), + (override)); + MOCK_METHOD(void, + RegisterTransformedFrameCallback, + (rtc::scoped_refptr), + (override)); + MOCK_METHOD(void, + RegisterTransformedFrameSinkCallback, + (rtc::scoped_refptr, uint32_t), + (override)); + MOCK_METHOD(void, UnregisterTransformedFrameCallback, (), (override)); + MOCK_METHOD(void, + UnregisterTransformedFrameSinkCallback, + (uint32_t), + (override)); +}; + +} // namespace webrtc + +#endif // TEST_MOCK_FRAME_TRANSFORMER_H_ diff --git a/video/BUILD.gn b/video/BUILD.gn index 28647df14b..db041ce3e5 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -622,6 +622,7 @@ if (rtc_include_tests) { "../test:field_trial", "../test:fileutils", "../test:frame_utils", + "../test:mock_frame_transformer", "../test:mock_transport", "../test:null_transport", "../test:perf_test", diff --git a/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc b/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc index 3b507dc8da..7fe725339c 100644 --- a/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc +++ b/video/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc @@ -23,6 +23,7 @@ #include "rtc_base/task_utils/to_queued_task.h" #include "test/gmock.h" #include "test/gtest.h" +#include "test/mock_frame_transformer.h" #include "video/rtp_video_stream_receiver.h" namespace webrtc { @@ -108,25 +109,6 @@ class TestRtpVideoStreamReceiver : public TestRtpVideoStreamReceiverInitializer, (override)); }; -class MockFrameTransformer : public FrameTransformerInterface { - public: - ~MockFrameTransformer() override = default; - MOCK_METHOD(void, - TransformFrame, - (std::unique_ptr, - std::vector, - uint32_t), - (override)); - MOCK_METHOD(void, - RegisterTransformedFrameSinkCallback, - (rtc::scoped_refptr, uint32_t), - (override)); - MOCK_METHOD(void, - UnregisterTransformedFrameSinkCallback, - (uint32_t), - (override)); -}; - TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest, RegisterTransformedFrameCallbackSinkOnInit) { TestRtpVideoStreamReceiver receiver; @@ -157,7 +139,7 @@ TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest, TEST(RtpVideoStreamReceiverFrameTransformerDelegateTest, TransformFrame) { TestRtpVideoStreamReceiver receiver; rtc::scoped_refptr frame_transformer( - new rtc::RefCountedObject()); + new rtc::RefCountedObject>()); rtc::scoped_refptr delegate( new rtc::RefCountedObject( &receiver, frame_transformer, rtc::Thread::Current(), diff --git a/video/rtp_video_stream_receiver_unittest.cc b/video/rtp_video_stream_receiver_unittest.cc index 40d63ae77f..9c7b891679 100644 --- a/video/rtp_video_stream_receiver_unittest.cc +++ b/video/rtp_video_stream_receiver_unittest.cc @@ -36,6 +36,7 @@ #include "test/field_trial.h" #include "test/gmock.h" #include "test/gtest.h" +#include "test/mock_frame_transformer.h" using ::testing::_; using ::testing::ElementsAre; @@ -134,17 +135,6 @@ class MockRtpPacketSink : public RtpPacketSinkInterface { MOCK_METHOD1(OnRtpPacket, void(const RtpPacketReceived&)); }; -class MockFrameTransformer : public FrameTransformerInterface { - public: - MOCK_METHOD3(TransformFrame, - void(std::unique_ptr frame, - std::vector additional_data, - uint32_t ssrc)); - MOCK_METHOD2(RegisterTransformedFrameSinkCallback, - void(rtc::scoped_refptr, uint32_t)); - MOCK_METHOD1(UnregisterTransformedFrameSinkCallback, void(uint32_t)); -}; - constexpr uint32_t kSsrc = 111; constexpr uint16_t kSequenceNumber = 222; constexpr int kPayloadType = 100; @@ -1126,7 +1116,7 @@ TEST_F(RtpVideoStreamReceiverTest, RepeatedSecondarySinkDisallowed) { TEST_F(RtpVideoStreamReceiverTest, TransformFrame) { rtc::scoped_refptr mock_frame_transformer = - new rtc::RefCountedObject(); + new rtc::RefCountedObject>(); EXPECT_CALL(*mock_frame_transformer, RegisterTransformedFrameSinkCallback(_, config_.rtp.remote_ssrc)); auto receiver = std::make_unique(