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 <hta@webrtc.org>
Auto-Submit: Tony Herre <herre@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39288}
diff --git a/api/test/mock_transformable_video_frame.h b/api/test/mock_transformable_video_frame.h
index 18b3de5..d326b2f 100644
--- a/api/test/mock_transformable_video_frame.h
+++ b/api/test/mock_transformable_video_frame.h
@@ -35,8 +35,11 @@
SetMetadata,
(const webrtc::VideoFrameMetadata&),
(override));
+ MOCK_METHOD(uint8_t, GetPayloadType, (), (const, override));
};
+static_assert(!std::is_abstract_v<MockTransformableVideoFrame>, "");
+
} // 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 046a279..91c4c64 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -702,20 +702,21 @@
"//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 1a78c6d..3b2c112 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::Return;
using testing::ReturnRef;
-class MockTransformableVideoFrame
- : public webrtc::TransformableVideoFrameInterface {
- public:
- MOCK_METHOD(rtc::ArrayView<const uint8_t>, GetData, (), (const override));
- MOCK_METHOD(void, SetData, (rtc::ArrayView<const uint8_t> 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<uint8_t>, GetAdditionalData, (), (const, override));
- MOCK_METHOD(const webrtc::VideoFrameMetadata&,
- GetMetadata,
- (),
- (const, override));
- MOCK_METHOD(void,
- SetMetadata,
- (const webrtc::VideoFrameMetadata&),
- (override));
-};
-
TEST(FrameTransformerFactory, CloneVideoFrame) {
NiceMock<MockTransformableVideoFrame> original_frame;
uint8_t data[10];