From fd877d996f395ae85bcd0719b85f84a35ca1fb5c Mon Sep 17 00:00:00 2001 From: Tony Herre Date: Thu, 9 Feb 2023 15:39:19 +0100 Subject: [PATCH] Consolidate TransformableVideoFrame mocks used inside webrtc Also move the frame_transformer_factory_unittest build target into the if(rtc_include_tests) block, so it's not compiled without the mock. Bug: chromium:1414370 Change-Id: I12653b173b419ec20bfad904e24a4d965e7e7830 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292863 Commit-Queue: Harald Alvestrand Auto-Submit: Tony Herre Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#39288} --- api/test/mock_transformable_video_frame.h | 3 ++ modules/rtp_rtcp/BUILD.gn | 31 ++++++++++--------- .../frame_transformer_factory_unittest.cc | 25 +-------------- 3 files changed, 20 insertions(+), 39 deletions(-) diff --git a/api/test/mock_transformable_video_frame.h b/api/test/mock_transformable_video_frame.h index 18b3de534e..d326b2f8a8 100644 --- a/api/test/mock_transformable_video_frame.h +++ b/api/test/mock_transformable_video_frame.h @@ -35,8 +35,11 @@ class MockTransformableVideoFrame SetMetadata, (const webrtc::VideoFrameMetadata&), (override)); + MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override)); }; +static_assert(!std::is_abstract_v, ""); + } // namespace webrtc #endif // API_TEST_MOCK_TRANSFORMABLE_VIDEO_FRAME_H_ diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 046a279955..91c4c64011 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -702,20 +702,21 @@ if (rtc_include_tests) { "//third_party/abseil-cpp/absl/types:optional", ] } -} -rtc_source_set("frame_transformer_factory_unittest") { - testonly = true - sources = [ "source/frame_transformer_factory_unittest.cc" ] - deps = [ - "../../api:frame_transformer_factory", - "../../api:transport_api", - "../../call:video_stream_api", - "../../modules/rtp_rtcp", - "../../rtc_base:rtc_event", - "../../test:mock_frame_transformer", - "../../test:test_support", - "../../video", - ] - absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] + rtc_source_set("frame_transformer_factory_unittest") { + testonly = true + sources = [ "source/frame_transformer_factory_unittest.cc" ] + deps = [ + "../../api:frame_transformer_factory", + "../../api:mock_transformable_video_frame", + "../../api:transport_api", + "../../call:video_stream_api", + "../../modules/rtp_rtcp", + "../../rtc_base:rtc_event", + "../../test:mock_frame_transformer", + "../../test:test_support", + "../../video", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] + } } diff --git a/modules/rtp_rtcp/source/frame_transformer_factory_unittest.cc b/modules/rtp_rtcp/source/frame_transformer_factory_unittest.cc index 1a78c6deaa..3b2c112b54 100644 --- a/modules/rtp_rtcp/source/frame_transformer_factory_unittest.cc +++ b/modules/rtp_rtcp/source/frame_transformer_factory_unittest.cc @@ -17,6 +17,7 @@ #include "absl/memory/memory.h" #include "api/call/transport.h" +#include "api/test/mock_transformable_video_frame.h" #include "call/video_receive_stream.h" #include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" #include "rtc_base/event.h" @@ -31,30 +32,6 @@ using testing::NiceMock; using testing::Return; using testing::ReturnRef; -class MockTransformableVideoFrame - : public webrtc::TransformableVideoFrameInterface { - public: - MOCK_METHOD(rtc::ArrayView, GetData, (), (const override)); - MOCK_METHOD(void, SetData, (rtc::ArrayView data), (override)); - MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override)); - MOCK_METHOD(uint32_t, GetSsrc, (), (const, override)); - MOCK_METHOD(uint32_t, GetTimestamp, (), (const, override)); - MOCK_METHOD(TransformableFrameInterface::Direction, - GetDirection, - (), - (const, override)); - MOCK_METHOD(bool, IsKeyFrame, (), (const, override)); - MOCK_METHOD(std::vector, GetAdditionalData, (), (const, override)); - MOCK_METHOD(const webrtc::VideoFrameMetadata&, - GetMetadata, - (), - (const, override)); - MOCK_METHOD(void, - SetMetadata, - (const webrtc::VideoFrameMetadata&), - (override)); -}; - TEST(FrameTransformerFactory, CloneVideoFrame) { NiceMock original_frame; uint8_t data[10];